@opendatalabs/vana-sdk 0.1.0-alpha.d44f792 → 0.1.0-alpha.dd95ac2

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.
@@ -236,8 +236,10 @@ interface GrantPermissionParams$1 {
236
236
  grantee: Address;
237
237
  /** The class of computation, e.g., "llm_inference" */
238
238
  operation: string;
239
- /** Array of file IDs to grant permission for.
240
- * Obtain file IDs from `vana.data.getUserFiles()` or from upload results via `vana.data.upload().fileId`. */
239
+ /**
240
+ * Array of file IDs to grant permission for.
241
+ * Obtain file IDs from `vana.data.getUserFiles()` or from upload results via `vana.data.upload().fileId`.
242
+ */
241
243
  files: number[];
242
244
  /** The full, off-chain parameters (e.g., LLM prompt) */
243
245
  parameters: Record<string, unknown>;
@@ -356,6 +358,8 @@ interface PermissionGrantMessage {
356
358
  interface PermissionInputMessage {
357
359
  /** Nonce */
358
360
  nonce: bigint;
361
+ /** Grantee ID */
362
+ granteeId: bigint;
359
363
  /** Grant URL */
360
364
  grant: string;
361
365
  /** File IDs */
@@ -384,14 +388,18 @@ interface PermissionInfo {
384
388
  grantor: Address;
385
389
  /** Nonce used when creating */
386
390
  nonce: bigint;
391
+ /** Grantee ID */
392
+ granteeId: bigint;
387
393
  /** Grant URL */
388
394
  grant: string;
389
- /** Signature bytes */
390
- signature: `0x${string}`;
391
- /** Whether the permission is active */
392
- isActive: boolean;
395
+ /** Signature bytes (removed in newer contract versions) */
396
+ signature?: `0x${string}`;
397
+ /** Start block */
398
+ startBlock: bigint;
399
+ /** End block */
400
+ endBlock: bigint;
393
401
  /** File IDs associated with this permission */
394
- fileIds: bigint[];
402
+ fileIds: readonly bigint[];
395
403
  }
396
404
  /**
397
405
  * EIP-712 Permission message structure (simplified future format)
@@ -592,19 +600,58 @@ interface PermissionAnalytics {
592
600
  * @category Permissions
593
601
  */
594
602
  interface Server {
603
+ /** Server ID (numeric) */
604
+ id: number;
605
+ /** Server owner address */
606
+ owner: Address;
595
607
  /** Server URL */
596
608
  url: string;
609
+ /** Server address */
610
+ serverAddress: Address;
611
+ /** Server public key */
612
+ publicKey: string;
597
613
  }
598
614
  /**
599
- * Parameters for trusting a server
615
+ * Contract ServerInfo structure returned from the contract
600
616
  *
601
617
  * @category Permissions
602
618
  */
603
- interface TrustServerParams {
604
- /** Server ID (address) */
605
- serverId: Address;
619
+ interface ServerInfo {
620
+ /** Server ID */
621
+ id: bigint;
622
+ /** Server owner address */
623
+ owner: Address;
624
+ /** Server address */
625
+ serverAddress: Address;
626
+ /** Server public key */
627
+ publicKey: string;
628
+ /** Server URL */
629
+ url: string;
630
+ }
631
+ /**
632
+ * Parameters for adding and trusting a server
633
+ *
634
+ * @category Permissions
635
+ */
636
+ interface AddAndTrustServerParams {
637
+ /** Server owner address */
638
+ owner: Address;
639
+ /** Server address */
640
+ serverAddress: Address;
606
641
  /** Server URL */
607
642
  serverUrl: string;
643
+ /** Server public key */
644
+ publicKey: string;
645
+ }
646
+ /**
647
+ * Parameters for trusting a server (legacy)
648
+ *
649
+ * @category Permissions
650
+ * @deprecated Use AddAndTrustServerParams instead
651
+ */
652
+ interface TrustServerParams {
653
+ /** Server ID (numeric) */
654
+ serverId: number;
608
655
  }
609
656
  /**
610
657
  * Parameters for untrusting a server
@@ -612,21 +659,37 @@ interface TrustServerParams {
612
659
  * @category Permissions
613
660
  */
614
661
  interface UntrustServerParams {
615
- /** Server ID (address) */
616
- serverId: Address;
662
+ /** Server ID (numeric) */
663
+ serverId: number;
617
664
  }
618
665
  /**
619
- * Input for trusting a server with signature (gasless)
666
+ * Input for adding and trusting a server with signature (gasless)
620
667
  *
621
668
  * @category Permissions
622
669
  */
623
- interface TrustServerInput {
670
+ interface AddAndTrustServerInput {
624
671
  /** User nonce */
625
672
  nonce: bigint;
626
- /** Server ID (address) */
627
- serverId: Address;
673
+ /** Server owner address */
674
+ owner: Address;
675
+ /** Server address */
676
+ serverAddress: Address;
628
677
  /** Server URL */
629
678
  serverUrl: string;
679
+ /** Server public key */
680
+ publicKey: string;
681
+ }
682
+ /**
683
+ * Input for trusting a server with signature (gasless)
684
+ *
685
+ * @category Permissions
686
+ * @deprecated Use AddAndTrustServerInput instead
687
+ */
688
+ interface TrustServerInput {
689
+ /** User nonce */
690
+ nonce: bigint;
691
+ /** Server ID (numeric) */
692
+ serverId: number;
630
693
  }
631
694
  /**
632
695
  * Input for untrusting a server with signature (gasless)
@@ -636,13 +699,34 @@ interface TrustServerInput {
636
699
  interface UntrustServerInput {
637
700
  /** User nonce */
638
701
  nonce: bigint;
639
- /** Server ID (address) */
640
- serverId: Address;
702
+ /** Server ID (numeric) */
703
+ serverId: number;
704
+ }
705
+ /**
706
+ * EIP-712 typed data for AddAndTrustServer
707
+ *
708
+ * @category Permissions
709
+ */
710
+ interface AddAndTrustServerTypedData {
711
+ /** EIP-712 domain */
712
+ domain: PermissionGrantDomain;
713
+ /** EIP-712 types */
714
+ types: {
715
+ AddAndTrustServer: Array<{
716
+ name: string;
717
+ type: string;
718
+ }>;
719
+ };
720
+ /** Primary type */
721
+ primaryType: "AddAndTrustServer";
722
+ /** Message to sign */
723
+ message: AddAndTrustServerInput;
641
724
  }
642
725
  /**
643
726
  * EIP-712 typed data for TrustServer
644
727
  *
645
728
  * @category Permissions
729
+ * @deprecated Use AddAndTrustServerTypedData instead
646
730
  */
647
731
  interface TrustServerTypedData {
648
732
  /** EIP-712 domain */
@@ -702,14 +786,20 @@ interface PermissionEvent {
702
786
  * @category Permissions
703
787
  */
704
788
  interface TrustedServerInfo {
705
- /** Server ID (address) */
706
- serverId: Address;
789
+ /** Server ID */
790
+ id: bigint;
791
+ /** Server owner address */
792
+ owner: Address;
793
+ /** Server address */
794
+ serverAddress: Address;
795
+ /** Server public key */
796
+ publicKey: string;
707
797
  /** Server URL */
708
798
  url: string;
709
- /** Whether this server is trusted by the user */
710
- isTrusted: boolean;
711
- /** Index in user's trusted server list (if trusted) */
712
- trustIndex?: number;
799
+ /** Start block when trust relationship began */
800
+ startBlock: bigint;
801
+ /** End block when trust relationship ended (0 if still active) */
802
+ endBlock: bigint;
713
803
  }
714
804
  /**
715
805
  * Paginated result for trusted server queries
@@ -717,8 +807,8 @@ interface TrustedServerInfo {
717
807
  * @category Permissions
718
808
  */
719
809
  interface PaginatedTrustedServers {
720
- /** Array of server addresses */
721
- servers: Address[];
810
+ /** Array of server IDs (numeric) */
811
+ servers: number[];
722
812
  /** Total number of trusted servers */
723
813
  total: number;
724
814
  /** Offset used for this query */
@@ -750,11 +840,9 @@ interface TrustedServerQueryOptions {
750
840
  */
751
841
  interface BatchServerInfoResult {
752
842
  /** Successfully retrieved server info */
753
- servers: Map<Address, {
754
- url: string;
755
- }>;
843
+ servers: Map<number, Server>;
756
844
  /** Server IDs that failed to retrieve */
757
- failed: Address[];
845
+ failed: number[];
758
846
  }
759
847
  /**
760
848
  * Server trust status information
@@ -762,13 +850,181 @@ interface BatchServerInfoResult {
762
850
  * @category Permissions
763
851
  */
764
852
  interface ServerTrustStatus {
765
- /** Server ID being checked */
766
- serverId: Address;
853
+ /** Server ID being checked (numeric) */
854
+ serverId: number;
767
855
  /** Whether the server is trusted by the user */
768
856
  isTrusted: boolean;
769
857
  /** Index in user's trusted server list (if trusted) */
770
858
  trustIndex?: number;
771
859
  }
860
+ /**
861
+ * Grantee information
862
+ *
863
+ * @category Permissions
864
+ */
865
+ interface Grantee {
866
+ /** Grantee ID (numeric) */
867
+ id: number;
868
+ /** Grantee owner address */
869
+ owner: Address;
870
+ /** Grantee address */
871
+ address: Address;
872
+ /** Grantee public key */
873
+ publicKey: string;
874
+ /** Permission IDs associated with this grantee */
875
+ permissionIds: number[];
876
+ }
877
+ /**
878
+ * Contract GranteeInfo structure returned from the contract
879
+ *
880
+ * @category Permissions
881
+ */
882
+ interface GranteeInfo {
883
+ /** Grantee owner address */
884
+ owner: Address;
885
+ /** Grantee address */
886
+ granteeAddress: Address;
887
+ /** Grantee public key */
888
+ publicKey: string;
889
+ /** Permission IDs associated with this grantee */
890
+ permissionIds: readonly bigint[];
891
+ }
892
+ /**
893
+ * Parameters for registering a grantee
894
+ *
895
+ * @category Permissions
896
+ */
897
+ interface RegisterGranteeParams {
898
+ /** Grantee owner address */
899
+ owner: Address;
900
+ /** Grantee address */
901
+ granteeAddress: Address;
902
+ /** Grantee public key */
903
+ publicKey: string;
904
+ }
905
+ /**
906
+ * Input for registering a grantee with signature (gasless)
907
+ *
908
+ * @category Permissions
909
+ */
910
+ interface RegisterGranteeInput extends Record<string, unknown> {
911
+ /** User nonce */
912
+ nonce: bigint;
913
+ /** Grantee owner address */
914
+ owner: Address;
915
+ /** Grantee address */
916
+ granteeAddress: Address;
917
+ /** Grantee public key */
918
+ publicKey: string;
919
+ }
920
+ /**
921
+ * EIP-712 typed data for RegisterGrantee
922
+ *
923
+ * @category Permissions
924
+ */
925
+ interface RegisterGranteeTypedData {
926
+ /** EIP-712 domain */
927
+ domain: PermissionGrantDomain;
928
+ /** EIP-712 types */
929
+ types: {
930
+ RegisterGrantee: Array<{
931
+ name: string;
932
+ type: string;
933
+ }>;
934
+ };
935
+ /** Primary type */
936
+ primaryType: "RegisterGrantee";
937
+ /** Message to sign */
938
+ message: RegisterGranteeInput;
939
+ }
940
+ /**
941
+ * Options for querying grantees
942
+ *
943
+ * @category Permissions
944
+ */
945
+ interface GranteeQueryOptions {
946
+ /** Maximum number of grantees to return */
947
+ limit?: number;
948
+ /** Offset for pagination */
949
+ offset?: number;
950
+ /** Whether to include permission info or just basic info */
951
+ includePermissions?: boolean;
952
+ }
953
+ /**
954
+ * Paginated result for grantee queries
955
+ *
956
+ * @category Permissions
957
+ */
958
+ interface PaginatedGrantees {
959
+ /** Array of grantees */
960
+ grantees: Grantee[];
961
+ /** Total number of grantees */
962
+ total: number;
963
+ /** Offset used for this query */
964
+ offset: number;
965
+ /** Limit used for this query */
966
+ limit: number;
967
+ /** Whether there are more grantees beyond this page */
968
+ hasMore: boolean;
969
+ }
970
+ /**
971
+ * Contract Permission structure as used in ServerFilesAndPermissionInput
972
+ *
973
+ * @category Permissions
974
+ */
975
+ interface Permission {
976
+ /** Account address for the permission */
977
+ account: Address;
978
+ /** Permission key */
979
+ key: string;
980
+ }
981
+ /**
982
+ * Parameters for server files and permissions operations
983
+ *
984
+ * @category Permissions
985
+ */
986
+ interface ServerFilesAndPermissionParams {
987
+ /** Grantee ID */
988
+ granteeId: bigint;
989
+ /** Grant URL or grant data */
990
+ grant: string;
991
+ /** File URLs */
992
+ fileUrls: string[];
993
+ /** Server address */
994
+ serverAddress: Address;
995
+ /** Server URL */
996
+ serverUrl: string;
997
+ /** Server public key */
998
+ serverPublicKey: string;
999
+ /** File permissions array - permissions for each file */
1000
+ filePermissions: Permission[][];
1001
+ }
1002
+ /**
1003
+ * EIP-712 typed data for server files and permissions messages
1004
+ *
1005
+ * @category Permissions
1006
+ */
1007
+ interface ServerFilesAndPermissionTypedData extends GenericTypedData {
1008
+ /** Message data structure */
1009
+ message: {
1010
+ /** User nonce */
1011
+ nonce: bigint;
1012
+ /** Grantee ID */
1013
+ granteeId: bigint;
1014
+ /** Grant URL */
1015
+ grant: string;
1016
+ /** File URLs */
1017
+ fileUrls: string[];
1018
+ /** Server address */
1019
+ serverAddress: Address;
1020
+ /** Server URL */
1021
+ serverUrl: string;
1022
+ /** Server public key */
1023
+ serverPublicKey: string;
1024
+ /** File permissions array - permissions for each file */
1025
+ filePermissions: Permission[][];
1026
+ };
1027
+ }
772
1028
 
773
1029
  /**
774
1030
  * Marker interface to indicate that a Vana instance has storage configured.
@@ -879,6 +1135,14 @@ interface RelayerCallbacks {
879
1135
  * @returns Promise resolving to the transaction hash
880
1136
  */
881
1137
  submitUntrustServer?: (typedData: UntrustServerTypedData, signature: Hash) => Promise<Hash>;
1138
+ /**
1139
+ * Submit a signed add and trust server transaction for relay
1140
+ *
1141
+ * @param typedData - The EIP-712 typed data that was signed
1142
+ * @param signature - The user's signature
1143
+ * @returns Promise resolving to the transaction hash
1144
+ */
1145
+ submitAddAndTrustServer?: (typedData: AddAndTrustServerTypedData, signature: Hash) => Promise<Hash>;
882
1146
  /**
883
1147
  * Submit a file addition for relay
884
1148
  *
@@ -1118,6 +1382,13 @@ interface BaseConfig {
1118
1382
  * @example ['https://gateway.pinata.cloud', 'https://ipfs.io']
1119
1383
  */
1120
1384
  ipfsGateways?: string[];
1385
+ /**
1386
+ * Default personal server base URL for server operations.
1387
+ * Required for ServerController methods like getIdentity(), createOperation(), etc.
1388
+ *
1389
+ * @example 'https://my-personal-server.example.com'
1390
+ */
1391
+ defaultPersonalServerUrl?: string;
1121
1392
  }
1122
1393
  /**
1123
1394
  * Base configuration interface that requires storage for storage-dependent operations
@@ -1146,6 +1417,13 @@ interface BaseConfigWithStorage {
1146
1417
  * @example ['https://gateway.pinata.cloud', 'https://ipfs.io']
1147
1418
  */
1148
1419
  ipfsGateways?: string[];
1420
+ /**
1421
+ * Default personal server base URL for server operations.
1422
+ * Required for ServerController methods like getIdentity(), createOperation(), etc.
1423
+ *
1424
+ * @example 'https://my-personal-server.example.com'
1425
+ */
1426
+ defaultPersonalServerUrl?: string;
1149
1427
  }
1150
1428
  /**
1151
1429
  * Configuration with wallet client
@@ -1366,7 +1644,7 @@ interface ConfigValidationResult {
1366
1644
  /**
1367
1645
  * Union type of all canonical Vana contract names
1368
1646
  */
1369
- type VanaContractName = "DataPermissions" | "DataRegistry" | "TeePool" | "ComputeEngine" | "TeePoolPhala" | "DataRefinerRegistry" | "QueryEngine" | "ComputeInstructionRegistry" | "TeePoolEphemeralStandard" | "TeePoolPersistentStandard" | "TeePoolPersistentGpu" | "TeePoolDedicatedStandard" | "TeePoolDedicatedGpu" | "VanaEpoch" | "DLPRegistry" | "DLPRegistryTreasury" | "DLPPerformance" | "DLPRewardDeployer" | "DLPRewardDeployerTreasury" | "DLPRewardSwap" | "SwapHelper" | "VanaPoolStaking" | "VanaPoolEntity" | "VanaPoolTreasury" | "DAT" | "DATFactory" | "DATPausable" | "DATVotes" | "DataLiquidityPool" | "DLPRoot";
1647
+ type VanaContractName = "DataPortabilityPermissions" | "DataPortabilityServers" | "DataPortabilityGrantees" | "DataRegistry" | "TeePool" | "ComputeEngine" | "TeePoolPhala" | "DataRefinerRegistry" | "QueryEngine" | "ComputeInstructionRegistry" | "TeePoolEphemeralStandard" | "TeePoolPersistentStandard" | "TeePoolPersistentGpu" | "TeePoolDedicatedStandard" | "TeePoolDedicatedGpu" | "VanaEpoch" | "DLPRegistry" | "DLPRegistryTreasury" | "DLPPerformance" | "DLPRewardDeployer" | "DLPRewardDeployerTreasury" | "DLPRewardSwap" | "SwapHelper" | "VanaPoolStaking" | "VanaPoolEntity" | "VanaPoolTreasury" | "DAT" | "DATFactory" | "DATPausable" | "DATVotes" | "DataLiquidityPool" | "DLPRoot";
1370
1648
  /**
1371
1649
  * Contract information with typed address and ABI
1372
1650
  */
@@ -1449,8 +1727,10 @@ interface UserFile$1 {
1449
1727
  ownerAddress: Address;
1450
1728
  /** Block number when this file was registered on-chain. */
1451
1729
  addedAtBlock: bigint;
1452
- /** Schema identifier for data validation and structure definition.
1453
- * Obtain schema IDs from `vana.schemas.list()` or when creating schemas via `vana.schemas.create()`. */
1730
+ /**
1731
+ * Schema identifier for data validation and structure definition.
1732
+ * Obtain schema IDs from `vana.schemas.list()` or when creating schemas via `vana.schemas.create()`.
1733
+ */
1454
1734
  schemaId?: number;
1455
1735
  /** Unix timestamp when the file was registered on-chain. */
1456
1736
  addedAtTimestamp?: bigint;
@@ -2060,7 +2340,7 @@ interface GetUserTrustedServersResult {
2060
2340
  }
2061
2341
 
2062
2342
  declare const contractAbis: {
2063
- readonly DataPermissions: readonly [{
2343
+ readonly DataPortabilityPermissions: readonly [{
2064
2344
  readonly inputs: readonly [];
2065
2345
  readonly stateMutability: "nonpayable";
2066
2346
  readonly type: "constructor";
@@ -2124,10 +2404,6 @@ declare const contractAbis: {
2124
2404
  readonly inputs: readonly [];
2125
2405
  readonly name: "EmptyGrant";
2126
2406
  readonly type: "error";
2127
- }, {
2128
- readonly inputs: readonly [];
2129
- readonly name: "EmptyUrl";
2130
- readonly type: "error";
2131
2407
  }, {
2132
2408
  readonly inputs: readonly [];
2133
2409
  readonly name: "EnforcedPause";
@@ -2142,7 +2418,7 @@ declare const contractAbis: {
2142
2418
  readonly type: "error";
2143
2419
  }, {
2144
2420
  readonly inputs: readonly [];
2145
- readonly name: "GrantAlreadyUsed";
2421
+ readonly name: "GranteeNotFound";
2146
2422
  readonly type: "error";
2147
2423
  }, {
2148
2424
  readonly inputs: readonly [{
@@ -2168,6 +2444,18 @@ declare const contractAbis: {
2168
2444
  }];
2169
2445
  readonly name: "InvalidNonce";
2170
2446
  readonly type: "error";
2447
+ }, {
2448
+ readonly inputs: readonly [{
2449
+ readonly internalType: "uint256";
2450
+ readonly name: "filesLength";
2451
+ readonly type: "uint256";
2452
+ }, {
2453
+ readonly internalType: "uint256";
2454
+ readonly name: "permissionsLength";
2455
+ readonly type: "uint256";
2456
+ }];
2457
+ readonly name: "InvalidPermissionsLength";
2458
+ readonly type: "error";
2171
2459
  }, {
2172
2460
  readonly inputs: readonly [];
2173
2461
  readonly name: "InvalidSignature";
@@ -2200,30 +2488,6 @@ declare const contractAbis: {
2200
2488
  }];
2201
2489
  readonly name: "NotPermissionGrantor";
2202
2490
  readonly type: "error";
2203
- }, {
2204
- readonly inputs: readonly [];
2205
- readonly name: "ServerAlreadyRegistered";
2206
- readonly type: "error";
2207
- }, {
2208
- readonly inputs: readonly [];
2209
- readonly name: "ServerNotFound";
2210
- readonly type: "error";
2211
- }, {
2212
- readonly inputs: readonly [];
2213
- readonly name: "ServerNotTrusted";
2214
- readonly type: "error";
2215
- }, {
2216
- readonly inputs: readonly [{
2217
- readonly internalType: "string";
2218
- readonly name: "existingUrl";
2219
- readonly type: "string";
2220
- }, {
2221
- readonly internalType: "string";
2222
- readonly name: "providedUrl";
2223
- readonly type: "string";
2224
- }];
2225
- readonly name: "ServerUrlMismatch";
2226
- readonly type: "error";
2227
2491
  }, {
2228
2492
  readonly inputs: readonly [];
2229
2493
  readonly name: "UUPSUnauthorizedCallContext";
@@ -2277,6 +2541,11 @@ declare const contractAbis: {
2277
2541
  readonly internalType: "address";
2278
2542
  readonly name: "user";
2279
2543
  readonly type: "address";
2544
+ }, {
2545
+ readonly indexed: true;
2546
+ readonly internalType: "uint256";
2547
+ readonly name: "granteeId";
2548
+ readonly type: "uint256";
2280
2549
  }, {
2281
2550
  readonly indexed: false;
2282
2551
  readonly internalType: "string";
@@ -2360,56 +2629,6 @@ declare const contractAbis: {
2360
2629
  }];
2361
2630
  readonly name: "RoleRevoked";
2362
2631
  readonly type: "event";
2363
- }, {
2364
- readonly anonymous: false;
2365
- readonly inputs: readonly [{
2366
- readonly indexed: true;
2367
- readonly internalType: "address";
2368
- readonly name: "serverId";
2369
- readonly type: "address";
2370
- }, {
2371
- readonly indexed: false;
2372
- readonly internalType: "string";
2373
- readonly name: "url";
2374
- readonly type: "string";
2375
- }];
2376
- readonly name: "ServerAdded";
2377
- readonly type: "event";
2378
- }, {
2379
- readonly anonymous: false;
2380
- readonly inputs: readonly [{
2381
- readonly indexed: true;
2382
- readonly internalType: "address";
2383
- readonly name: "user";
2384
- readonly type: "address";
2385
- }, {
2386
- readonly indexed: true;
2387
- readonly internalType: "address";
2388
- readonly name: "serverId";
2389
- readonly type: "address";
2390
- }, {
2391
- readonly indexed: false;
2392
- readonly internalType: "string";
2393
- readonly name: "serverUrl";
2394
- readonly type: "string";
2395
- }];
2396
- readonly name: "ServerTrusted";
2397
- readonly type: "event";
2398
- }, {
2399
- readonly anonymous: false;
2400
- readonly inputs: readonly [{
2401
- readonly indexed: true;
2402
- readonly internalType: "address";
2403
- readonly name: "user";
2404
- readonly type: "address";
2405
- }, {
2406
- readonly indexed: true;
2407
- readonly internalType: "address";
2408
- readonly name: "serverId";
2409
- readonly type: "address";
2410
- }];
2411
- readonly name: "ServerUntrusted";
2412
- readonly type: "event";
2413
2632
  }, {
2414
2633
  readonly anonymous: false;
2415
2634
  readonly inputs: readonly [{
@@ -2466,6 +2685,10 @@ declare const contractAbis: {
2466
2685
  readonly internalType: "uint256";
2467
2686
  readonly name: "nonce";
2468
2687
  readonly type: "uint256";
2688
+ }, {
2689
+ readonly internalType: "uint256";
2690
+ readonly name: "granteeId";
2691
+ readonly type: "uint256";
2469
2692
  }, {
2470
2693
  readonly internalType: "string";
2471
2694
  readonly name: "grant";
@@ -2475,8 +2698,8 @@ declare const contractAbis: {
2475
2698
  readonly name: "fileIds";
2476
2699
  readonly type: "uint256[]";
2477
2700
  }];
2478
- readonly internalType: "struct IDataPermissions.PermissionInput";
2479
- readonly name: "permission";
2701
+ readonly internalType: "struct IDataPortabilityPermissions.PermissionInput";
2702
+ readonly name: "permissionInput";
2480
2703
  readonly type: "tuple";
2481
2704
  }, {
2482
2705
  readonly internalType: "bytes";
@@ -2491,6 +2714,86 @@ declare const contractAbis: {
2491
2714
  }];
2492
2715
  readonly stateMutability: "nonpayable";
2493
2716
  readonly type: "function";
2717
+ }, {
2718
+ readonly inputs: readonly [{
2719
+ readonly components: readonly [{
2720
+ readonly internalType: "uint256";
2721
+ readonly name: "nonce";
2722
+ readonly type: "uint256";
2723
+ }, {
2724
+ readonly internalType: "uint256";
2725
+ readonly name: "granteeId";
2726
+ readonly type: "uint256";
2727
+ }, {
2728
+ readonly internalType: "string";
2729
+ readonly name: "grant";
2730
+ readonly type: "string";
2731
+ }, {
2732
+ readonly internalType: "string[]";
2733
+ readonly name: "fileUrls";
2734
+ readonly type: "string[]";
2735
+ }, {
2736
+ readonly internalType: "address";
2737
+ readonly name: "serverAddress";
2738
+ readonly type: "address";
2739
+ }, {
2740
+ readonly internalType: "string";
2741
+ readonly name: "serverUrl";
2742
+ readonly type: "string";
2743
+ }, {
2744
+ readonly internalType: "string";
2745
+ readonly name: "serverPublicKey";
2746
+ readonly type: "string";
2747
+ }, {
2748
+ readonly components: readonly [{
2749
+ readonly internalType: "address";
2750
+ readonly name: "account";
2751
+ readonly type: "address";
2752
+ }, {
2753
+ readonly internalType: "string";
2754
+ readonly name: "key";
2755
+ readonly type: "string";
2756
+ }];
2757
+ readonly internalType: "struct IDataRegistry.Permission[][]";
2758
+ readonly name: "filePermissions";
2759
+ readonly type: "tuple[][]";
2760
+ }];
2761
+ readonly internalType: "struct IDataPortabilityPermissions.ServerFilesAndPermissionInput";
2762
+ readonly name: "serverFilesAndPermissionInput";
2763
+ readonly type: "tuple";
2764
+ }, {
2765
+ readonly internalType: "bytes";
2766
+ readonly name: "signature";
2767
+ readonly type: "bytes";
2768
+ }];
2769
+ readonly name: "addServerFilesAndPermissions";
2770
+ readonly outputs: readonly [{
2771
+ readonly internalType: "uint256";
2772
+ readonly name: "";
2773
+ readonly type: "uint256";
2774
+ }];
2775
+ readonly stateMutability: "nonpayable";
2776
+ readonly type: "function";
2777
+ }, {
2778
+ readonly inputs: readonly [];
2779
+ readonly name: "dataPortabilityGrantees";
2780
+ readonly outputs: readonly [{
2781
+ readonly internalType: "contract IDataPortabilityGrantees";
2782
+ readonly name: "";
2783
+ readonly type: "address";
2784
+ }];
2785
+ readonly stateMutability: "view";
2786
+ readonly type: "function";
2787
+ }, {
2788
+ readonly inputs: readonly [];
2789
+ readonly name: "dataPortabilityServers";
2790
+ readonly outputs: readonly [{
2791
+ readonly internalType: "contract IDataPortabilityServers";
2792
+ readonly name: "";
2793
+ readonly type: "address";
2794
+ }];
2795
+ readonly stateMutability: "view";
2796
+ readonly type: "function";
2494
2797
  }, {
2495
2798
  readonly inputs: readonly [];
2496
2799
  readonly name: "dataRegistry";
@@ -2549,6 +2852,20 @@ declare const contractAbis: {
2549
2852
  }];
2550
2853
  readonly stateMutability: "view";
2551
2854
  readonly type: "function";
2855
+ }, {
2856
+ readonly inputs: readonly [{
2857
+ readonly internalType: "uint256";
2858
+ readonly name: "fileId";
2859
+ readonly type: "uint256";
2860
+ }];
2861
+ readonly name: "filePermissions";
2862
+ readonly outputs: readonly [{
2863
+ readonly internalType: "uint256[]";
2864
+ readonly name: "";
2865
+ readonly type: "uint256[]";
2866
+ }];
2867
+ readonly stateMutability: "view";
2868
+ readonly type: "function";
2552
2869
  }, {
2553
2870
  readonly inputs: readonly [{
2554
2871
  readonly internalType: "bytes32";
@@ -2608,25 +2925,19 @@ declare const contractAbis: {
2608
2925
  readonly internalType: "contract IDataRegistry";
2609
2926
  readonly name: "dataRegistryAddress";
2610
2927
  readonly type: "address";
2928
+ }, {
2929
+ readonly internalType: "contract IDataPortabilityServers";
2930
+ readonly name: "serversContractAddr";
2931
+ readonly type: "address";
2932
+ }, {
2933
+ readonly internalType: "contract IDataPortabilityGrantees";
2934
+ readonly name: "granteesContractAddr";
2935
+ readonly type: "address";
2611
2936
  }];
2612
2937
  readonly name: "initialize";
2613
2938
  readonly outputs: readonly [];
2614
2939
  readonly stateMutability: "nonpayable";
2615
2940
  readonly type: "function";
2616
- }, {
2617
- readonly inputs: readonly [{
2618
- readonly internalType: "uint256";
2619
- readonly name: "permissionId";
2620
- readonly type: "uint256";
2621
- }];
2622
- readonly name: "isActivePermission";
2623
- readonly outputs: readonly [{
2624
- readonly internalType: "bool";
2625
- readonly name: "";
2626
- readonly type: "bool";
2627
- }];
2628
- readonly stateMutability: "view";
2629
- readonly type: "function";
2630
2941
  }, {
2631
2942
  readonly inputs: readonly [{
2632
2943
  readonly internalType: "address";
@@ -2685,20 +2996,6 @@ declare const contractAbis: {
2685
2996
  }];
2686
2997
  readonly stateMutability: "view";
2687
2998
  readonly type: "function";
2688
- }, {
2689
- readonly inputs: readonly [{
2690
- readonly internalType: "string";
2691
- readonly name: "grant";
2692
- readonly type: "string";
2693
- }];
2694
- readonly name: "permissionIdByGrant";
2695
- readonly outputs: readonly [{
2696
- readonly internalType: "uint256";
2697
- readonly name: "";
2698
- readonly type: "uint256";
2699
- }];
2700
- readonly stateMutability: "view";
2701
- readonly type: "function";
2702
2999
  }, {
2703
3000
  readonly inputs: readonly [{
2704
3001
  readonly internalType: "uint256";
@@ -2719,24 +3016,28 @@ declare const contractAbis: {
2719
3016
  readonly internalType: "uint256";
2720
3017
  readonly name: "nonce";
2721
3018
  readonly type: "uint256";
3019
+ }, {
3020
+ readonly internalType: "uint256";
3021
+ readonly name: "granteeId";
3022
+ readonly type: "uint256";
2722
3023
  }, {
2723
3024
  readonly internalType: "string";
2724
3025
  readonly name: "grant";
2725
3026
  readonly type: "string";
2726
3027
  }, {
2727
- readonly internalType: "bytes";
2728
- readonly name: "signature";
2729
- readonly type: "bytes";
3028
+ readonly internalType: "uint256";
3029
+ readonly name: "startBlock";
3030
+ readonly type: "uint256";
2730
3031
  }, {
2731
- readonly internalType: "bool";
2732
- readonly name: "isActive";
2733
- readonly type: "bool";
3032
+ readonly internalType: "uint256";
3033
+ readonly name: "endBlock";
3034
+ readonly type: "uint256";
2734
3035
  }, {
2735
3036
  readonly internalType: "uint256[]";
2736
3037
  readonly name: "fileIds";
2737
3038
  readonly type: "uint256[]";
2738
3039
  }];
2739
- readonly internalType: "struct IDataPermissions.PermissionInfo";
3040
+ readonly internalType: "struct IDataPortabilityPermissions.PermissionInfo";
2740
3041
  readonly name: "";
2741
3042
  readonly type: "tuple";
2742
3043
  }];
@@ -2797,7 +3098,7 @@ declare const contractAbis: {
2797
3098
  readonly name: "permissionId";
2798
3099
  readonly type: "uint256";
2799
3100
  }];
2800
- readonly internalType: "struct IDataPermissions.RevokePermissionInput";
3101
+ readonly internalType: "struct IDataPortabilityPermissions.RevokePermissionInput";
2801
3102
  readonly name: "revokePermissionInput";
2802
3103
  readonly type: "tuple";
2803
3104
  }, {
@@ -2823,25 +3124,6 @@ declare const contractAbis: {
2823
3124
  readonly outputs: readonly [];
2824
3125
  readonly stateMutability: "nonpayable";
2825
3126
  readonly type: "function";
2826
- }, {
2827
- readonly inputs: readonly [{
2828
- readonly internalType: "address";
2829
- readonly name: "serverId";
2830
- readonly type: "address";
2831
- }];
2832
- readonly name: "servers";
2833
- readonly outputs: readonly [{
2834
- readonly components: readonly [{
2835
- readonly internalType: "string";
2836
- readonly name: "url";
2837
- readonly type: "string";
2838
- }];
2839
- readonly internalType: "struct IDataPermissions.Server";
2840
- readonly name: "";
2841
- readonly type: "tuple";
2842
- }];
2843
- readonly stateMutability: "view";
2844
- readonly type: "function";
2845
3127
  }, {
2846
3128
  readonly inputs: readonly [{
2847
3129
  readonly internalType: "bytes32";
@@ -2870,47 +3152,6 @@ declare const contractAbis: {
2870
3152
  }];
2871
3153
  readonly stateMutability: "view";
2872
3154
  readonly type: "function";
2873
- }, {
2874
- readonly inputs: readonly [{
2875
- readonly internalType: "address";
2876
- readonly name: "serverId";
2877
- readonly type: "address";
2878
- }, {
2879
- readonly internalType: "string";
2880
- readonly name: "serverUrl";
2881
- readonly type: "string";
2882
- }];
2883
- readonly name: "trustServer";
2884
- readonly outputs: readonly [];
2885
- readonly stateMutability: "nonpayable";
2886
- readonly type: "function";
2887
- }, {
2888
- readonly inputs: readonly [{
2889
- readonly components: readonly [{
2890
- readonly internalType: "uint256";
2891
- readonly name: "nonce";
2892
- readonly type: "uint256";
2893
- }, {
2894
- readonly internalType: "address";
2895
- readonly name: "serverId";
2896
- readonly type: "address";
2897
- }, {
2898
- readonly internalType: "string";
2899
- readonly name: "serverUrl";
2900
- readonly type: "string";
2901
- }];
2902
- readonly internalType: "struct IDataPermissions.TrustServerInput";
2903
- readonly name: "trustServerInput";
2904
- readonly type: "tuple";
2905
- }, {
2906
- readonly internalType: "bytes";
2907
- readonly name: "signature";
2908
- readonly type: "bytes";
2909
- }];
2910
- readonly name: "trustServerWithSignature";
2911
- readonly outputs: readonly [];
2912
- readonly stateMutability: "nonpayable";
2913
- readonly type: "function";
2914
3155
  }, {
2915
3156
  readonly inputs: readonly [];
2916
3157
  readonly name: "trustedForwarder";
@@ -2929,44 +3170,31 @@ declare const contractAbis: {
2929
3170
  readonly type: "function";
2930
3171
  }, {
2931
3172
  readonly inputs: readonly [{
2932
- readonly internalType: "address";
2933
- readonly name: "serverId";
3173
+ readonly internalType: "contract IDataRegistry";
3174
+ readonly name: "newDataRegistry";
2934
3175
  readonly type: "address";
2935
3176
  }];
2936
- readonly name: "untrustServer";
3177
+ readonly name: "updateDataRegistry";
2937
3178
  readonly outputs: readonly [];
2938
3179
  readonly stateMutability: "nonpayable";
2939
3180
  readonly type: "function";
2940
3181
  }, {
2941
3182
  readonly inputs: readonly [{
2942
- readonly components: readonly [{
2943
- readonly internalType: "uint256";
2944
- readonly name: "nonce";
2945
- readonly type: "uint256";
2946
- }, {
2947
- readonly internalType: "address";
2948
- readonly name: "serverId";
2949
- readonly type: "address";
2950
- }];
2951
- readonly internalType: "struct IDataPermissions.UntrustServerInput";
2952
- readonly name: "untrustServerInput";
2953
- readonly type: "tuple";
2954
- }, {
2955
- readonly internalType: "bytes";
2956
- readonly name: "signature";
2957
- readonly type: "bytes";
3183
+ readonly internalType: "contract IDataPortabilityGrantees";
3184
+ readonly name: "newGranteesContract";
3185
+ readonly type: "address";
2958
3186
  }];
2959
- readonly name: "untrustServerWithSignature";
3187
+ readonly name: "updateGranteesContract";
2960
3188
  readonly outputs: readonly [];
2961
3189
  readonly stateMutability: "nonpayable";
2962
3190
  readonly type: "function";
2963
3191
  }, {
2964
3192
  readonly inputs: readonly [{
2965
- readonly internalType: "contract IDataRegistry";
2966
- readonly name: "newDataRegistry";
3193
+ readonly internalType: "contract IDataPortabilityServers";
3194
+ readonly name: "newServersContract";
2967
3195
  readonly type: "address";
2968
3196
  }];
2969
- readonly name: "updateDataRegistry";
3197
+ readonly name: "updateServersContract";
2970
3198
  readonly outputs: readonly [];
2971
3199
  readonly stateMutability: "nonpayable";
2972
3200
  readonly type: "function";
@@ -2997,7 +3225,7 @@ declare const contractAbis: {
2997
3225
  }, {
2998
3226
  readonly inputs: readonly [{
2999
3227
  readonly internalType: "address";
3000
- readonly name: "user";
3228
+ readonly name: "userAddress";
3001
3229
  readonly type: "address";
3002
3230
  }];
3003
3231
  readonly name: "userNonce";
@@ -3011,7 +3239,7 @@ declare const contractAbis: {
3011
3239
  }, {
3012
3240
  readonly inputs: readonly [{
3013
3241
  readonly internalType: "address";
3014
- readonly name: "user";
3242
+ readonly name: "userAddress";
3015
3243
  readonly type: "address";
3016
3244
  }, {
3017
3245
  readonly internalType: "uint256";
@@ -3029,7 +3257,7 @@ declare const contractAbis: {
3029
3257
  }, {
3030
3258
  readonly inputs: readonly [{
3031
3259
  readonly internalType: "address";
3032
- readonly name: "user";
3260
+ readonly name: "userAddress";
3033
3261
  readonly type: "address";
3034
3262
  }];
3035
3263
  readonly name: "userPermissionIdsLength";
@@ -3043,7 +3271,7 @@ declare const contractAbis: {
3043
3271
  }, {
3044
3272
  readonly inputs: readonly [{
3045
3273
  readonly internalType: "address";
3046
- readonly name: "user";
3274
+ readonly name: "userAddress";
3047
3275
  readonly type: "address";
3048
3276
  }];
3049
3277
  readonly name: "userPermissionIdsValues";
@@ -3057,95 +3285,21 @@ declare const contractAbis: {
3057
3285
  }, {
3058
3286
  readonly inputs: readonly [{
3059
3287
  readonly internalType: "address";
3060
- readonly name: "user";
3061
- readonly type: "address";
3062
- }, {
3063
- readonly internalType: "uint256";
3064
- readonly name: "permissionIndex";
3065
- readonly type: "uint256";
3066
- }];
3067
- readonly name: "userRevokedPermissionIdsAt";
3068
- readonly outputs: readonly [{
3069
- readonly internalType: "uint256";
3070
- readonly name: "";
3071
- readonly type: "uint256";
3072
- }];
3073
- readonly stateMutability: "view";
3074
- readonly type: "function";
3075
- }, {
3076
- readonly inputs: readonly [{
3077
- readonly internalType: "address";
3078
- readonly name: "user";
3288
+ readonly name: "userAddress";
3079
3289
  readonly type: "address";
3080
3290
  }];
3081
- readonly name: "userRevokedPermissionIdsLength";
3291
+ readonly name: "users";
3082
3292
  readonly outputs: readonly [{
3083
3293
  readonly internalType: "uint256";
3084
- readonly name: "";
3294
+ readonly name: "nonce";
3085
3295
  readonly type: "uint256";
3086
- }];
3087
- readonly stateMutability: "view";
3088
- readonly type: "function";
3089
- }, {
3090
- readonly inputs: readonly [{
3091
- readonly internalType: "address";
3092
- readonly name: "user";
3093
- readonly type: "address";
3094
- }];
3095
- readonly name: "userRevokedPermissionIdsValues";
3096
- readonly outputs: readonly [{
3296
+ }, {
3097
3297
  readonly internalType: "uint256[]";
3098
- readonly name: "";
3298
+ readonly name: "permissionIds";
3099
3299
  readonly type: "uint256[]";
3100
3300
  }];
3101
3301
  readonly stateMutability: "view";
3102
3302
  readonly type: "function";
3103
- }, {
3104
- readonly inputs: readonly [{
3105
- readonly internalType: "address";
3106
- readonly name: "user";
3107
- readonly type: "address";
3108
- }, {
3109
- readonly internalType: "uint256";
3110
- readonly name: "serverIndex";
3111
- readonly type: "uint256";
3112
- }];
3113
- readonly name: "userServerIdsAt";
3114
- readonly outputs: readonly [{
3115
- readonly internalType: "address";
3116
- readonly name: "";
3117
- readonly type: "address";
3118
- }];
3119
- readonly stateMutability: "view";
3120
- readonly type: "function";
3121
- }, {
3122
- readonly inputs: readonly [{
3123
- readonly internalType: "address";
3124
- readonly name: "user";
3125
- readonly type: "address";
3126
- }];
3127
- readonly name: "userServerIdsLength";
3128
- readonly outputs: readonly [{
3129
- readonly internalType: "uint256";
3130
- readonly name: "";
3131
- readonly type: "uint256";
3132
- }];
3133
- readonly stateMutability: "view";
3134
- readonly type: "function";
3135
- }, {
3136
- readonly inputs: readonly [{
3137
- readonly internalType: "address";
3138
- readonly name: "user";
3139
- readonly type: "address";
3140
- }];
3141
- readonly name: "userServerIdsValues";
3142
- readonly outputs: readonly [{
3143
- readonly internalType: "address[]";
3144
- readonly name: "";
3145
- readonly type: "address[]";
3146
- }];
3147
- readonly stateMutability: "view";
3148
- readonly type: "function";
3149
3303
  }, {
3150
3304
  readonly inputs: readonly [];
3151
3305
  readonly name: "version";
@@ -3157,7 +3311,1736 @@ declare const contractAbis: {
3157
3311
  readonly stateMutability: "pure";
3158
3312
  readonly type: "function";
3159
3313
  }];
3160
- readonly DataRegistry: readonly [{
3314
+ readonly DataPortabilityServers: readonly [{
3315
+ readonly inputs: readonly [];
3316
+ readonly stateMutability: "nonpayable";
3317
+ readonly type: "constructor";
3318
+ }, {
3319
+ readonly inputs: readonly [];
3320
+ readonly name: "AccessControlBadConfirmation";
3321
+ readonly type: "error";
3322
+ }, {
3323
+ readonly inputs: readonly [{
3324
+ readonly internalType: "address";
3325
+ readonly name: "account";
3326
+ readonly type: "address";
3327
+ }, {
3328
+ readonly internalType: "bytes32";
3329
+ readonly name: "neededRole";
3330
+ readonly type: "bytes32";
3331
+ }];
3332
+ readonly name: "AccessControlUnauthorizedAccount";
3333
+ readonly type: "error";
3334
+ }, {
3335
+ readonly inputs: readonly [{
3336
+ readonly internalType: "address";
3337
+ readonly name: "target";
3338
+ readonly type: "address";
3339
+ }];
3340
+ readonly name: "AddressEmptyCode";
3341
+ readonly type: "error";
3342
+ }, {
3343
+ readonly inputs: readonly [];
3344
+ readonly name: "ECDSAInvalidSignature";
3345
+ readonly type: "error";
3346
+ }, {
3347
+ readonly inputs: readonly [{
3348
+ readonly internalType: "uint256";
3349
+ readonly name: "length";
3350
+ readonly type: "uint256";
3351
+ }];
3352
+ readonly name: "ECDSAInvalidSignatureLength";
3353
+ readonly type: "error";
3354
+ }, {
3355
+ readonly inputs: readonly [{
3356
+ readonly internalType: "bytes32";
3357
+ readonly name: "s";
3358
+ readonly type: "bytes32";
3359
+ }];
3360
+ readonly name: "ECDSAInvalidSignatureS";
3361
+ readonly type: "error";
3362
+ }, {
3363
+ readonly inputs: readonly [{
3364
+ readonly internalType: "address";
3365
+ readonly name: "implementation";
3366
+ readonly type: "address";
3367
+ }];
3368
+ readonly name: "ERC1967InvalidImplementation";
3369
+ readonly type: "error";
3370
+ }, {
3371
+ readonly inputs: readonly [];
3372
+ readonly name: "ERC1967NonPayable";
3373
+ readonly type: "error";
3374
+ }, {
3375
+ readonly inputs: readonly [];
3376
+ readonly name: "EmptyPublicKey";
3377
+ readonly type: "error";
3378
+ }, {
3379
+ readonly inputs: readonly [];
3380
+ readonly name: "EmptyUrl";
3381
+ readonly type: "error";
3382
+ }, {
3383
+ readonly inputs: readonly [];
3384
+ readonly name: "EnforcedPause";
3385
+ readonly type: "error";
3386
+ }, {
3387
+ readonly inputs: readonly [];
3388
+ readonly name: "ExpectedPause";
3389
+ readonly type: "error";
3390
+ }, {
3391
+ readonly inputs: readonly [];
3392
+ readonly name: "FailedInnerCall";
3393
+ readonly type: "error";
3394
+ }, {
3395
+ readonly inputs: readonly [];
3396
+ readonly name: "InvalidInitialization";
3397
+ readonly type: "error";
3398
+ }, {
3399
+ readonly inputs: readonly [{
3400
+ readonly internalType: "uint256";
3401
+ readonly name: "expectedNonce";
3402
+ readonly type: "uint256";
3403
+ }, {
3404
+ readonly internalType: "uint256";
3405
+ readonly name: "providedNonce";
3406
+ readonly type: "uint256";
3407
+ }];
3408
+ readonly name: "InvalidNonce";
3409
+ readonly type: "error";
3410
+ }, {
3411
+ readonly inputs: readonly [];
3412
+ readonly name: "NotInitializing";
3413
+ readonly type: "error";
3414
+ }, {
3415
+ readonly inputs: readonly [{
3416
+ readonly internalType: "address";
3417
+ readonly name: "serverOwner";
3418
+ readonly type: "address";
3419
+ }, {
3420
+ readonly internalType: "address";
3421
+ readonly name: "requestor";
3422
+ readonly type: "address";
3423
+ }];
3424
+ readonly name: "NotServerOwner";
3425
+ readonly type: "error";
3426
+ }, {
3427
+ readonly inputs: readonly [];
3428
+ readonly name: "ServerAlreadyRegistered";
3429
+ readonly type: "error";
3430
+ }, {
3431
+ readonly inputs: readonly [];
3432
+ readonly name: "ServerAlreadyTrusted";
3433
+ readonly type: "error";
3434
+ }, {
3435
+ readonly inputs: readonly [];
3436
+ readonly name: "ServerAlreadyUntrusted";
3437
+ readonly type: "error";
3438
+ }, {
3439
+ readonly inputs: readonly [];
3440
+ readonly name: "ServerNotFound";
3441
+ readonly type: "error";
3442
+ }, {
3443
+ readonly inputs: readonly [];
3444
+ readonly name: "ServerNotTrusted";
3445
+ readonly type: "error";
3446
+ }, {
3447
+ readonly inputs: readonly [{
3448
+ readonly internalType: "string";
3449
+ readonly name: "existingUrl";
3450
+ readonly type: "string";
3451
+ }, {
3452
+ readonly internalType: "string";
3453
+ readonly name: "providedUrl";
3454
+ readonly type: "string";
3455
+ }];
3456
+ readonly name: "ServerUrlMismatch";
3457
+ readonly type: "error";
3458
+ }, {
3459
+ readonly inputs: readonly [];
3460
+ readonly name: "UUPSUnauthorizedCallContext";
3461
+ readonly type: "error";
3462
+ }, {
3463
+ readonly inputs: readonly [{
3464
+ readonly internalType: "bytes32";
3465
+ readonly name: "slot";
3466
+ readonly type: "bytes32";
3467
+ }];
3468
+ readonly name: "UUPSUnsupportedProxiableUUID";
3469
+ readonly type: "error";
3470
+ }, {
3471
+ readonly inputs: readonly [];
3472
+ readonly name: "ZeroAddress";
3473
+ readonly type: "error";
3474
+ }, {
3475
+ readonly anonymous: false;
3476
+ readonly inputs: readonly [];
3477
+ readonly name: "EIP712DomainChanged";
3478
+ readonly type: "event";
3479
+ }, {
3480
+ readonly anonymous: false;
3481
+ readonly inputs: readonly [{
3482
+ readonly indexed: false;
3483
+ readonly internalType: "uint64";
3484
+ readonly name: "version";
3485
+ readonly type: "uint64";
3486
+ }];
3487
+ readonly name: "Initialized";
3488
+ readonly type: "event";
3489
+ }, {
3490
+ readonly anonymous: false;
3491
+ readonly inputs: readonly [{
3492
+ readonly indexed: false;
3493
+ readonly internalType: "address";
3494
+ readonly name: "account";
3495
+ readonly type: "address";
3496
+ }];
3497
+ readonly name: "Paused";
3498
+ readonly type: "event";
3499
+ }, {
3500
+ readonly anonymous: false;
3501
+ readonly inputs: readonly [{
3502
+ readonly indexed: true;
3503
+ readonly internalType: "bytes32";
3504
+ readonly name: "role";
3505
+ readonly type: "bytes32";
3506
+ }, {
3507
+ readonly indexed: true;
3508
+ readonly internalType: "bytes32";
3509
+ readonly name: "previousAdminRole";
3510
+ readonly type: "bytes32";
3511
+ }, {
3512
+ readonly indexed: true;
3513
+ readonly internalType: "bytes32";
3514
+ readonly name: "newAdminRole";
3515
+ readonly type: "bytes32";
3516
+ }];
3517
+ readonly name: "RoleAdminChanged";
3518
+ readonly type: "event";
3519
+ }, {
3520
+ readonly anonymous: false;
3521
+ readonly inputs: readonly [{
3522
+ readonly indexed: true;
3523
+ readonly internalType: "bytes32";
3524
+ readonly name: "role";
3525
+ readonly type: "bytes32";
3526
+ }, {
3527
+ readonly indexed: true;
3528
+ readonly internalType: "address";
3529
+ readonly name: "account";
3530
+ readonly type: "address";
3531
+ }, {
3532
+ readonly indexed: true;
3533
+ readonly internalType: "address";
3534
+ readonly name: "sender";
3535
+ readonly type: "address";
3536
+ }];
3537
+ readonly name: "RoleGranted";
3538
+ readonly type: "event";
3539
+ }, {
3540
+ readonly anonymous: false;
3541
+ readonly inputs: readonly [{
3542
+ readonly indexed: true;
3543
+ readonly internalType: "bytes32";
3544
+ readonly name: "role";
3545
+ readonly type: "bytes32";
3546
+ }, {
3547
+ readonly indexed: true;
3548
+ readonly internalType: "address";
3549
+ readonly name: "account";
3550
+ readonly type: "address";
3551
+ }, {
3552
+ readonly indexed: true;
3553
+ readonly internalType: "address";
3554
+ readonly name: "sender";
3555
+ readonly type: "address";
3556
+ }];
3557
+ readonly name: "RoleRevoked";
3558
+ readonly type: "event";
3559
+ }, {
3560
+ readonly anonymous: false;
3561
+ readonly inputs: readonly [{
3562
+ readonly indexed: true;
3563
+ readonly internalType: "uint256";
3564
+ readonly name: "serverId";
3565
+ readonly type: "uint256";
3566
+ }, {
3567
+ readonly indexed: true;
3568
+ readonly internalType: "address";
3569
+ readonly name: "owner";
3570
+ readonly type: "address";
3571
+ }, {
3572
+ readonly indexed: true;
3573
+ readonly internalType: "address";
3574
+ readonly name: "serverAddress";
3575
+ readonly type: "address";
3576
+ }, {
3577
+ readonly indexed: false;
3578
+ readonly internalType: "string";
3579
+ readonly name: "publicKey";
3580
+ readonly type: "string";
3581
+ }, {
3582
+ readonly indexed: false;
3583
+ readonly internalType: "string";
3584
+ readonly name: "url";
3585
+ readonly type: "string";
3586
+ }];
3587
+ readonly name: "ServerRegistered";
3588
+ readonly type: "event";
3589
+ }, {
3590
+ readonly anonymous: false;
3591
+ readonly inputs: readonly [{
3592
+ readonly indexed: true;
3593
+ readonly internalType: "address";
3594
+ readonly name: "user";
3595
+ readonly type: "address";
3596
+ }, {
3597
+ readonly indexed: true;
3598
+ readonly internalType: "uint256";
3599
+ readonly name: "serverId";
3600
+ readonly type: "uint256";
3601
+ }];
3602
+ readonly name: "ServerTrusted";
3603
+ readonly type: "event";
3604
+ }, {
3605
+ readonly anonymous: false;
3606
+ readonly inputs: readonly [{
3607
+ readonly indexed: true;
3608
+ readonly internalType: "address";
3609
+ readonly name: "user";
3610
+ readonly type: "address";
3611
+ }, {
3612
+ readonly indexed: true;
3613
+ readonly internalType: "uint256";
3614
+ readonly name: "serverId";
3615
+ readonly type: "uint256";
3616
+ }];
3617
+ readonly name: "ServerUntrusted";
3618
+ readonly type: "event";
3619
+ }, {
3620
+ readonly anonymous: false;
3621
+ readonly inputs: readonly [{
3622
+ readonly indexed: true;
3623
+ readonly internalType: "uint256";
3624
+ readonly name: "serverId";
3625
+ readonly type: "uint256";
3626
+ }, {
3627
+ readonly indexed: false;
3628
+ readonly internalType: "string";
3629
+ readonly name: "url";
3630
+ readonly type: "string";
3631
+ }];
3632
+ readonly name: "ServerUpdated";
3633
+ readonly type: "event";
3634
+ }, {
3635
+ readonly anonymous: false;
3636
+ readonly inputs: readonly [{
3637
+ readonly indexed: false;
3638
+ readonly internalType: "address";
3639
+ readonly name: "account";
3640
+ readonly type: "address";
3641
+ }];
3642
+ readonly name: "Unpaused";
3643
+ readonly type: "event";
3644
+ }, {
3645
+ readonly anonymous: false;
3646
+ readonly inputs: readonly [{
3647
+ readonly indexed: true;
3648
+ readonly internalType: "address";
3649
+ readonly name: "implementation";
3650
+ readonly type: "address";
3651
+ }];
3652
+ readonly name: "Upgraded";
3653
+ readonly type: "event";
3654
+ }, {
3655
+ readonly inputs: readonly [];
3656
+ readonly name: "DEFAULT_ADMIN_ROLE";
3657
+ readonly outputs: readonly [{
3658
+ readonly internalType: "bytes32";
3659
+ readonly name: "";
3660
+ readonly type: "bytes32";
3661
+ }];
3662
+ readonly stateMutability: "view";
3663
+ readonly type: "function";
3664
+ }, {
3665
+ readonly inputs: readonly [];
3666
+ readonly name: "MAINTAINER_ROLE";
3667
+ readonly outputs: readonly [{
3668
+ readonly internalType: "bytes32";
3669
+ readonly name: "";
3670
+ readonly type: "bytes32";
3671
+ }];
3672
+ readonly stateMutability: "view";
3673
+ readonly type: "function";
3674
+ }, {
3675
+ readonly inputs: readonly [];
3676
+ readonly name: "PERMISSION_MANAGER_ROLE";
3677
+ readonly outputs: readonly [{
3678
+ readonly internalType: "bytes32";
3679
+ readonly name: "";
3680
+ readonly type: "bytes32";
3681
+ }];
3682
+ readonly stateMutability: "view";
3683
+ readonly type: "function";
3684
+ }, {
3685
+ readonly inputs: readonly [];
3686
+ readonly name: "UPGRADE_INTERFACE_VERSION";
3687
+ readonly outputs: readonly [{
3688
+ readonly internalType: "string";
3689
+ readonly name: "";
3690
+ readonly type: "string";
3691
+ }];
3692
+ readonly stateMutability: "view";
3693
+ readonly type: "function";
3694
+ }, {
3695
+ readonly inputs: readonly [{
3696
+ readonly internalType: "address";
3697
+ readonly name: "ownerAddress";
3698
+ readonly type: "address";
3699
+ }, {
3700
+ readonly components: readonly [{
3701
+ readonly internalType: "address";
3702
+ readonly name: "serverAddress";
3703
+ readonly type: "address";
3704
+ }, {
3705
+ readonly internalType: "string";
3706
+ readonly name: "publicKey";
3707
+ readonly type: "string";
3708
+ }, {
3709
+ readonly internalType: "string";
3710
+ readonly name: "serverUrl";
3711
+ readonly type: "string";
3712
+ }];
3713
+ readonly internalType: "struct IDataPortabilityServers.AddServerInput";
3714
+ readonly name: "addServerInput";
3715
+ readonly type: "tuple";
3716
+ }];
3717
+ readonly name: "addAndTrustServerOnBehalf";
3718
+ readonly outputs: readonly [];
3719
+ readonly stateMutability: "nonpayable";
3720
+ readonly type: "function";
3721
+ }, {
3722
+ readonly inputs: readonly [{
3723
+ readonly components: readonly [{
3724
+ readonly internalType: "uint256";
3725
+ readonly name: "nonce";
3726
+ readonly type: "uint256";
3727
+ }, {
3728
+ readonly internalType: "address";
3729
+ readonly name: "serverAddress";
3730
+ readonly type: "address";
3731
+ }, {
3732
+ readonly internalType: "string";
3733
+ readonly name: "publicKey";
3734
+ readonly type: "string";
3735
+ }, {
3736
+ readonly internalType: "string";
3737
+ readonly name: "serverUrl";
3738
+ readonly type: "string";
3739
+ }];
3740
+ readonly internalType: "struct IDataPortabilityServers.AddServerWithSignatureInput";
3741
+ readonly name: "addServerInput";
3742
+ readonly type: "tuple";
3743
+ }, {
3744
+ readonly internalType: "bytes";
3745
+ readonly name: "signature";
3746
+ readonly type: "bytes";
3747
+ }];
3748
+ readonly name: "addAndTrustServerWithSignature";
3749
+ readonly outputs: readonly [];
3750
+ readonly stateMutability: "nonpayable";
3751
+ readonly type: "function";
3752
+ }, {
3753
+ readonly inputs: readonly [{
3754
+ readonly components: readonly [{
3755
+ readonly internalType: "uint256";
3756
+ readonly name: "nonce";
3757
+ readonly type: "uint256";
3758
+ }, {
3759
+ readonly internalType: "address";
3760
+ readonly name: "serverAddress";
3761
+ readonly type: "address";
3762
+ }, {
3763
+ readonly internalType: "string";
3764
+ readonly name: "publicKey";
3765
+ readonly type: "string";
3766
+ }, {
3767
+ readonly internalType: "string";
3768
+ readonly name: "serverUrl";
3769
+ readonly type: "string";
3770
+ }];
3771
+ readonly internalType: "struct IDataPortabilityServers.AddServerWithSignatureInput";
3772
+ readonly name: "addServerInput";
3773
+ readonly type: "tuple";
3774
+ }, {
3775
+ readonly internalType: "bytes";
3776
+ readonly name: "signature";
3777
+ readonly type: "bytes";
3778
+ }];
3779
+ readonly name: "addServerWithSignature";
3780
+ readonly outputs: readonly [];
3781
+ readonly stateMutability: "nonpayable";
3782
+ readonly type: "function";
3783
+ }, {
3784
+ readonly inputs: readonly [];
3785
+ readonly name: "eip712Domain";
3786
+ readonly outputs: readonly [{
3787
+ readonly internalType: "bytes1";
3788
+ readonly name: "fields";
3789
+ readonly type: "bytes1";
3790
+ }, {
3791
+ readonly internalType: "string";
3792
+ readonly name: "name";
3793
+ readonly type: "string";
3794
+ }, {
3795
+ readonly internalType: "string";
3796
+ readonly name: "version";
3797
+ readonly type: "string";
3798
+ }, {
3799
+ readonly internalType: "uint256";
3800
+ readonly name: "chainId";
3801
+ readonly type: "uint256";
3802
+ }, {
3803
+ readonly internalType: "address";
3804
+ readonly name: "verifyingContract";
3805
+ readonly type: "address";
3806
+ }, {
3807
+ readonly internalType: "bytes32";
3808
+ readonly name: "salt";
3809
+ readonly type: "bytes32";
3810
+ }, {
3811
+ readonly internalType: "uint256[]";
3812
+ readonly name: "extensions";
3813
+ readonly type: "uint256[]";
3814
+ }];
3815
+ readonly stateMutability: "view";
3816
+ readonly type: "function";
3817
+ }, {
3818
+ readonly inputs: readonly [{
3819
+ readonly internalType: "bytes32";
3820
+ readonly name: "role";
3821
+ readonly type: "bytes32";
3822
+ }];
3823
+ readonly name: "getRoleAdmin";
3824
+ readonly outputs: readonly [{
3825
+ readonly internalType: "bytes32";
3826
+ readonly name: "";
3827
+ readonly type: "bytes32";
3828
+ }];
3829
+ readonly stateMutability: "view";
3830
+ readonly type: "function";
3831
+ }, {
3832
+ readonly inputs: readonly [{
3833
+ readonly internalType: "bytes32";
3834
+ readonly name: "role";
3835
+ readonly type: "bytes32";
3836
+ }, {
3837
+ readonly internalType: "address";
3838
+ readonly name: "account";
3839
+ readonly type: "address";
3840
+ }];
3841
+ readonly name: "grantRole";
3842
+ readonly outputs: readonly [];
3843
+ readonly stateMutability: "nonpayable";
3844
+ readonly type: "function";
3845
+ }, {
3846
+ readonly inputs: readonly [{
3847
+ readonly internalType: "bytes32";
3848
+ readonly name: "role";
3849
+ readonly type: "bytes32";
3850
+ }, {
3851
+ readonly internalType: "address";
3852
+ readonly name: "account";
3853
+ readonly type: "address";
3854
+ }];
3855
+ readonly name: "hasRole";
3856
+ readonly outputs: readonly [{
3857
+ readonly internalType: "bool";
3858
+ readonly name: "";
3859
+ readonly type: "bool";
3860
+ }];
3861
+ readonly stateMutability: "view";
3862
+ readonly type: "function";
3863
+ }, {
3864
+ readonly inputs: readonly [{
3865
+ readonly internalType: "address";
3866
+ readonly name: "trustedForwarderAddress";
3867
+ readonly type: "address";
3868
+ }, {
3869
+ readonly internalType: "address";
3870
+ readonly name: "ownerAddress";
3871
+ readonly type: "address";
3872
+ }];
3873
+ readonly name: "initialize";
3874
+ readonly outputs: readonly [];
3875
+ readonly stateMutability: "nonpayable";
3876
+ readonly type: "function";
3877
+ }, {
3878
+ readonly inputs: readonly [{
3879
+ readonly internalType: "address";
3880
+ readonly name: "forwarder";
3881
+ readonly type: "address";
3882
+ }];
3883
+ readonly name: "isTrustedForwarder";
3884
+ readonly outputs: readonly [{
3885
+ readonly internalType: "bool";
3886
+ readonly name: "";
3887
+ readonly type: "bool";
3888
+ }];
3889
+ readonly stateMutability: "view";
3890
+ readonly type: "function";
3891
+ }, {
3892
+ readonly inputs: readonly [{
3893
+ readonly internalType: "bytes[]";
3894
+ readonly name: "data";
3895
+ readonly type: "bytes[]";
3896
+ }];
3897
+ readonly name: "multicall";
3898
+ readonly outputs: readonly [{
3899
+ readonly internalType: "bytes[]";
3900
+ readonly name: "results";
3901
+ readonly type: "bytes[]";
3902
+ }];
3903
+ readonly stateMutability: "nonpayable";
3904
+ readonly type: "function";
3905
+ }, {
3906
+ readonly inputs: readonly [];
3907
+ readonly name: "pause";
3908
+ readonly outputs: readonly [];
3909
+ readonly stateMutability: "nonpayable";
3910
+ readonly type: "function";
3911
+ }, {
3912
+ readonly inputs: readonly [];
3913
+ readonly name: "paused";
3914
+ readonly outputs: readonly [{
3915
+ readonly internalType: "bool";
3916
+ readonly name: "";
3917
+ readonly type: "bool";
3918
+ }];
3919
+ readonly stateMutability: "view";
3920
+ readonly type: "function";
3921
+ }, {
3922
+ readonly inputs: readonly [];
3923
+ readonly name: "proxiableUUID";
3924
+ readonly outputs: readonly [{
3925
+ readonly internalType: "bytes32";
3926
+ readonly name: "";
3927
+ readonly type: "bytes32";
3928
+ }];
3929
+ readonly stateMutability: "view";
3930
+ readonly type: "function";
3931
+ }, {
3932
+ readonly inputs: readonly [{
3933
+ readonly internalType: "bytes32";
3934
+ readonly name: "role";
3935
+ readonly type: "bytes32";
3936
+ }, {
3937
+ readonly internalType: "address";
3938
+ readonly name: "callerConfirmation";
3939
+ readonly type: "address";
3940
+ }];
3941
+ readonly name: "renounceRole";
3942
+ readonly outputs: readonly [];
3943
+ readonly stateMutability: "nonpayable";
3944
+ readonly type: "function";
3945
+ }, {
3946
+ readonly inputs: readonly [{
3947
+ readonly internalType: "bytes32";
3948
+ readonly name: "role";
3949
+ readonly type: "bytes32";
3950
+ }, {
3951
+ readonly internalType: "address";
3952
+ readonly name: "account";
3953
+ readonly type: "address";
3954
+ }];
3955
+ readonly name: "revokeRole";
3956
+ readonly outputs: readonly [];
3957
+ readonly stateMutability: "nonpayable";
3958
+ readonly type: "function";
3959
+ }, {
3960
+ readonly inputs: readonly [{
3961
+ readonly internalType: "address";
3962
+ readonly name: "serverAddress";
3963
+ readonly type: "address";
3964
+ }];
3965
+ readonly name: "serverAddressToId";
3966
+ readonly outputs: readonly [{
3967
+ readonly internalType: "uint256";
3968
+ readonly name: "serverId";
3969
+ readonly type: "uint256";
3970
+ }];
3971
+ readonly stateMutability: "view";
3972
+ readonly type: "function";
3973
+ }, {
3974
+ readonly inputs: readonly [{
3975
+ readonly internalType: "address";
3976
+ readonly name: "serverAddress";
3977
+ readonly type: "address";
3978
+ }];
3979
+ readonly name: "serverByAddress";
3980
+ readonly outputs: readonly [{
3981
+ readonly components: readonly [{
3982
+ readonly internalType: "uint256";
3983
+ readonly name: "id";
3984
+ readonly type: "uint256";
3985
+ }, {
3986
+ readonly internalType: "address";
3987
+ readonly name: "owner";
3988
+ readonly type: "address";
3989
+ }, {
3990
+ readonly internalType: "address";
3991
+ readonly name: "serverAddress";
3992
+ readonly type: "address";
3993
+ }, {
3994
+ readonly internalType: "string";
3995
+ readonly name: "publicKey";
3996
+ readonly type: "string";
3997
+ }, {
3998
+ readonly internalType: "string";
3999
+ readonly name: "url";
4000
+ readonly type: "string";
4001
+ }];
4002
+ readonly internalType: "struct IDataPortabilityServers.ServerInfo";
4003
+ readonly name: "";
4004
+ readonly type: "tuple";
4005
+ }];
4006
+ readonly stateMutability: "view";
4007
+ readonly type: "function";
4008
+ }, {
4009
+ readonly inputs: readonly [{
4010
+ readonly internalType: "uint256";
4011
+ readonly name: "serverId";
4012
+ readonly type: "uint256";
4013
+ }];
4014
+ readonly name: "servers";
4015
+ readonly outputs: readonly [{
4016
+ readonly components: readonly [{
4017
+ readonly internalType: "uint256";
4018
+ readonly name: "id";
4019
+ readonly type: "uint256";
4020
+ }, {
4021
+ readonly internalType: "address";
4022
+ readonly name: "owner";
4023
+ readonly type: "address";
4024
+ }, {
4025
+ readonly internalType: "address";
4026
+ readonly name: "serverAddress";
4027
+ readonly type: "address";
4028
+ }, {
4029
+ readonly internalType: "string";
4030
+ readonly name: "publicKey";
4031
+ readonly type: "string";
4032
+ }, {
4033
+ readonly internalType: "string";
4034
+ readonly name: "url";
4035
+ readonly type: "string";
4036
+ }];
4037
+ readonly internalType: "struct IDataPortabilityServers.ServerInfo";
4038
+ readonly name: "";
4039
+ readonly type: "tuple";
4040
+ }];
4041
+ readonly stateMutability: "view";
4042
+ readonly type: "function";
4043
+ }, {
4044
+ readonly inputs: readonly [];
4045
+ readonly name: "serversCount";
4046
+ readonly outputs: readonly [{
4047
+ readonly internalType: "uint256";
4048
+ readonly name: "";
4049
+ readonly type: "uint256";
4050
+ }];
4051
+ readonly stateMutability: "view";
4052
+ readonly type: "function";
4053
+ }, {
4054
+ readonly inputs: readonly [{
4055
+ readonly internalType: "bytes32";
4056
+ readonly name: "role";
4057
+ readonly type: "bytes32";
4058
+ }, {
4059
+ readonly internalType: "bytes32";
4060
+ readonly name: "adminRole";
4061
+ readonly type: "bytes32";
4062
+ }];
4063
+ readonly name: "setRoleAdmin";
4064
+ readonly outputs: readonly [];
4065
+ readonly stateMutability: "nonpayable";
4066
+ readonly type: "function";
4067
+ }, {
4068
+ readonly inputs: readonly [{
4069
+ readonly internalType: "address";
4070
+ readonly name: "userAddress";
4071
+ readonly type: "address";
4072
+ }, {
4073
+ readonly internalType: "uint256";
4074
+ readonly name: "nonce";
4075
+ readonly type: "uint256";
4076
+ }];
4077
+ readonly name: "setUserNonce";
4078
+ readonly outputs: readonly [];
4079
+ readonly stateMutability: "nonpayable";
4080
+ readonly type: "function";
4081
+ }, {
4082
+ readonly inputs: readonly [{
4083
+ readonly internalType: "bytes4";
4084
+ readonly name: "interfaceId";
4085
+ readonly type: "bytes4";
4086
+ }];
4087
+ readonly name: "supportsInterface";
4088
+ readonly outputs: readonly [{
4089
+ readonly internalType: "bool";
4090
+ readonly name: "";
4091
+ readonly type: "bool";
4092
+ }];
4093
+ readonly stateMutability: "view";
4094
+ readonly type: "function";
4095
+ }, {
4096
+ readonly inputs: readonly [{
4097
+ readonly internalType: "uint256";
4098
+ readonly name: "serverId";
4099
+ readonly type: "uint256";
4100
+ }];
4101
+ readonly name: "trustServer";
4102
+ readonly outputs: readonly [];
4103
+ readonly stateMutability: "nonpayable";
4104
+ readonly type: "function";
4105
+ }, {
4106
+ readonly inputs: readonly [{
4107
+ readonly components: readonly [{
4108
+ readonly internalType: "uint256";
4109
+ readonly name: "nonce";
4110
+ readonly type: "uint256";
4111
+ }, {
4112
+ readonly internalType: "uint256";
4113
+ readonly name: "serverId";
4114
+ readonly type: "uint256";
4115
+ }];
4116
+ readonly internalType: "struct IDataPortabilityServers.TrustServerInput";
4117
+ readonly name: "trustServerInput";
4118
+ readonly type: "tuple";
4119
+ }, {
4120
+ readonly internalType: "bytes";
4121
+ readonly name: "signature";
4122
+ readonly type: "bytes";
4123
+ }];
4124
+ readonly name: "trustServerWithSignature";
4125
+ readonly outputs: readonly [];
4126
+ readonly stateMutability: "nonpayable";
4127
+ readonly type: "function";
4128
+ }, {
4129
+ readonly inputs: readonly [];
4130
+ readonly name: "trustedForwarder";
4131
+ readonly outputs: readonly [{
4132
+ readonly internalType: "address";
4133
+ readonly name: "";
4134
+ readonly type: "address";
4135
+ }];
4136
+ readonly stateMutability: "view";
4137
+ readonly type: "function";
4138
+ }, {
4139
+ readonly inputs: readonly [];
4140
+ readonly name: "unpause";
4141
+ readonly outputs: readonly [];
4142
+ readonly stateMutability: "nonpayable";
4143
+ readonly type: "function";
4144
+ }, {
4145
+ readonly inputs: readonly [{
4146
+ readonly internalType: "uint256";
4147
+ readonly name: "serverId";
4148
+ readonly type: "uint256";
4149
+ }];
4150
+ readonly name: "untrustServer";
4151
+ readonly outputs: readonly [];
4152
+ readonly stateMutability: "nonpayable";
4153
+ readonly type: "function";
4154
+ }, {
4155
+ readonly inputs: readonly [{
4156
+ readonly components: readonly [{
4157
+ readonly internalType: "uint256";
4158
+ readonly name: "nonce";
4159
+ readonly type: "uint256";
4160
+ }, {
4161
+ readonly internalType: "uint256";
4162
+ readonly name: "serverId";
4163
+ readonly type: "uint256";
4164
+ }];
4165
+ readonly internalType: "struct IDataPortabilityServers.UntrustServerInput";
4166
+ readonly name: "untrustServerInput";
4167
+ readonly type: "tuple";
4168
+ }, {
4169
+ readonly internalType: "bytes";
4170
+ readonly name: "signature";
4171
+ readonly type: "bytes";
4172
+ }];
4173
+ readonly name: "untrustServerWithSignature";
4174
+ readonly outputs: readonly [];
4175
+ readonly stateMutability: "nonpayable";
4176
+ readonly type: "function";
4177
+ }, {
4178
+ readonly inputs: readonly [{
4179
+ readonly internalType: "uint256";
4180
+ readonly name: "serverId";
4181
+ readonly type: "uint256";
4182
+ }, {
4183
+ readonly internalType: "string";
4184
+ readonly name: "url";
4185
+ readonly type: "string";
4186
+ }];
4187
+ readonly name: "updateServer";
4188
+ readonly outputs: readonly [];
4189
+ readonly stateMutability: "nonpayable";
4190
+ readonly type: "function";
4191
+ }, {
4192
+ readonly inputs: readonly [{
4193
+ readonly internalType: "address";
4194
+ readonly name: "trustedForwarderAddress";
4195
+ readonly type: "address";
4196
+ }];
4197
+ readonly name: "updateTrustedForwarder";
4198
+ readonly outputs: readonly [];
4199
+ readonly stateMutability: "nonpayable";
4200
+ readonly type: "function";
4201
+ }, {
4202
+ readonly inputs: readonly [{
4203
+ readonly internalType: "address";
4204
+ readonly name: "newImplementation";
4205
+ readonly type: "address";
4206
+ }, {
4207
+ readonly internalType: "bytes";
4208
+ readonly name: "data";
4209
+ readonly type: "bytes";
4210
+ }];
4211
+ readonly name: "upgradeToAndCall";
4212
+ readonly outputs: readonly [];
4213
+ readonly stateMutability: "payable";
4214
+ readonly type: "function";
4215
+ }, {
4216
+ readonly inputs: readonly [{
4217
+ readonly internalType: "address";
4218
+ readonly name: "userAddress";
4219
+ readonly type: "address";
4220
+ }];
4221
+ readonly name: "userNonce";
4222
+ readonly outputs: readonly [{
4223
+ readonly internalType: "uint256";
4224
+ readonly name: "";
4225
+ readonly type: "uint256";
4226
+ }];
4227
+ readonly stateMutability: "view";
4228
+ readonly type: "function";
4229
+ }, {
4230
+ readonly inputs: readonly [{
4231
+ readonly internalType: "address";
4232
+ readonly name: "userAddress";
4233
+ readonly type: "address";
4234
+ }, {
4235
+ readonly internalType: "uint256";
4236
+ readonly name: "serverIndex";
4237
+ readonly type: "uint256";
4238
+ }];
4239
+ readonly name: "userServerIdsAt";
4240
+ readonly outputs: readonly [{
4241
+ readonly internalType: "uint256";
4242
+ readonly name: "";
4243
+ readonly type: "uint256";
4244
+ }];
4245
+ readonly stateMutability: "view";
4246
+ readonly type: "function";
4247
+ }, {
4248
+ readonly inputs: readonly [{
4249
+ readonly internalType: "address";
4250
+ readonly name: "userAddress";
4251
+ readonly type: "address";
4252
+ }];
4253
+ readonly name: "userServerIdsLength";
4254
+ readonly outputs: readonly [{
4255
+ readonly internalType: "uint256";
4256
+ readonly name: "";
4257
+ readonly type: "uint256";
4258
+ }];
4259
+ readonly stateMutability: "view";
4260
+ readonly type: "function";
4261
+ }, {
4262
+ readonly inputs: readonly [{
4263
+ readonly internalType: "address";
4264
+ readonly name: "userAddress";
4265
+ readonly type: "address";
4266
+ }];
4267
+ readonly name: "userServerIdsValues";
4268
+ readonly outputs: readonly [{
4269
+ readonly internalType: "uint256[]";
4270
+ readonly name: "";
4271
+ readonly type: "uint256[]";
4272
+ }];
4273
+ readonly stateMutability: "view";
4274
+ readonly type: "function";
4275
+ }, {
4276
+ readonly inputs: readonly [{
4277
+ readonly internalType: "address";
4278
+ readonly name: "userAddress";
4279
+ readonly type: "address";
4280
+ }];
4281
+ readonly name: "userServerValues";
4282
+ readonly outputs: readonly [{
4283
+ readonly components: readonly [{
4284
+ readonly internalType: "uint256";
4285
+ readonly name: "id";
4286
+ readonly type: "uint256";
4287
+ }, {
4288
+ readonly internalType: "address";
4289
+ readonly name: "owner";
4290
+ readonly type: "address";
4291
+ }, {
4292
+ readonly internalType: "address";
4293
+ readonly name: "serverAddress";
4294
+ readonly type: "address";
4295
+ }, {
4296
+ readonly internalType: "string";
4297
+ readonly name: "publicKey";
4298
+ readonly type: "string";
4299
+ }, {
4300
+ readonly internalType: "string";
4301
+ readonly name: "url";
4302
+ readonly type: "string";
4303
+ }, {
4304
+ readonly internalType: "uint256";
4305
+ readonly name: "startBlock";
4306
+ readonly type: "uint256";
4307
+ }, {
4308
+ readonly internalType: "uint256";
4309
+ readonly name: "endBlock";
4310
+ readonly type: "uint256";
4311
+ }];
4312
+ readonly internalType: "struct IDataPortabilityServers.TrustedServerInfo[]";
4313
+ readonly name: "serversInfo";
4314
+ readonly type: "tuple[]";
4315
+ }];
4316
+ readonly stateMutability: "view";
4317
+ readonly type: "function";
4318
+ }, {
4319
+ readonly inputs: readonly [{
4320
+ readonly internalType: "address";
4321
+ readonly name: "userAddress";
4322
+ readonly type: "address";
4323
+ }, {
4324
+ readonly internalType: "uint256";
4325
+ readonly name: "serverId";
4326
+ readonly type: "uint256";
4327
+ }];
4328
+ readonly name: "userServers";
4329
+ readonly outputs: readonly [{
4330
+ readonly components: readonly [{
4331
+ readonly internalType: "uint256";
4332
+ readonly name: "id";
4333
+ readonly type: "uint256";
4334
+ }, {
4335
+ readonly internalType: "address";
4336
+ readonly name: "owner";
4337
+ readonly type: "address";
4338
+ }, {
4339
+ readonly internalType: "address";
4340
+ readonly name: "serverAddress";
4341
+ readonly type: "address";
4342
+ }, {
4343
+ readonly internalType: "string";
4344
+ readonly name: "publicKey";
4345
+ readonly type: "string";
4346
+ }, {
4347
+ readonly internalType: "string";
4348
+ readonly name: "url";
4349
+ readonly type: "string";
4350
+ }, {
4351
+ readonly internalType: "uint256";
4352
+ readonly name: "startBlock";
4353
+ readonly type: "uint256";
4354
+ }, {
4355
+ readonly internalType: "uint256";
4356
+ readonly name: "endBlock";
4357
+ readonly type: "uint256";
4358
+ }];
4359
+ readonly internalType: "struct IDataPortabilityServers.TrustedServerInfo";
4360
+ readonly name: "";
4361
+ readonly type: "tuple";
4362
+ }];
4363
+ readonly stateMutability: "view";
4364
+ readonly type: "function";
4365
+ }, {
4366
+ readonly inputs: readonly [{
4367
+ readonly internalType: "address";
4368
+ readonly name: "userAddress";
4369
+ readonly type: "address";
4370
+ }];
4371
+ readonly name: "users";
4372
+ readonly outputs: readonly [{
4373
+ readonly internalType: "uint256";
4374
+ readonly name: "nonce";
4375
+ readonly type: "uint256";
4376
+ }, {
4377
+ readonly internalType: "uint256[]";
4378
+ readonly name: "trustedServerIds";
4379
+ readonly type: "uint256[]";
4380
+ }];
4381
+ readonly stateMutability: "view";
4382
+ readonly type: "function";
4383
+ }];
4384
+ readonly DataPortabilityGrantees: readonly [{
4385
+ readonly inputs: readonly [];
4386
+ readonly stateMutability: "nonpayable";
4387
+ readonly type: "constructor";
4388
+ }, {
4389
+ readonly inputs: readonly [];
4390
+ readonly name: "AccessControlBadConfirmation";
4391
+ readonly type: "error";
4392
+ }, {
4393
+ readonly inputs: readonly [{
4394
+ readonly internalType: "address";
4395
+ readonly name: "account";
4396
+ readonly type: "address";
4397
+ }, {
4398
+ readonly internalType: "bytes32";
4399
+ readonly name: "neededRole";
4400
+ readonly type: "bytes32";
4401
+ }];
4402
+ readonly name: "AccessControlUnauthorizedAccount";
4403
+ readonly type: "error";
4404
+ }, {
4405
+ readonly inputs: readonly [{
4406
+ readonly internalType: "address";
4407
+ readonly name: "target";
4408
+ readonly type: "address";
4409
+ }];
4410
+ readonly name: "AddressEmptyCode";
4411
+ readonly type: "error";
4412
+ }, {
4413
+ readonly inputs: readonly [{
4414
+ readonly internalType: "address";
4415
+ readonly name: "implementation";
4416
+ readonly type: "address";
4417
+ }];
4418
+ readonly name: "ERC1967InvalidImplementation";
4419
+ readonly type: "error";
4420
+ }, {
4421
+ readonly inputs: readonly [];
4422
+ readonly name: "ERC1967NonPayable";
4423
+ readonly type: "error";
4424
+ }, {
4425
+ readonly inputs: readonly [];
4426
+ readonly name: "EmptyPublicKey";
4427
+ readonly type: "error";
4428
+ }, {
4429
+ readonly inputs: readonly [];
4430
+ readonly name: "EnforcedPause";
4431
+ readonly type: "error";
4432
+ }, {
4433
+ readonly inputs: readonly [];
4434
+ readonly name: "ExpectedPause";
4435
+ readonly type: "error";
4436
+ }, {
4437
+ readonly inputs: readonly [];
4438
+ readonly name: "FailedInnerCall";
4439
+ readonly type: "error";
4440
+ }, {
4441
+ readonly inputs: readonly [];
4442
+ readonly name: "GranteeAlreadyRegistered";
4443
+ readonly type: "error";
4444
+ }, {
4445
+ readonly inputs: readonly [];
4446
+ readonly name: "GranteeNotFound";
4447
+ readonly type: "error";
4448
+ }, {
4449
+ readonly inputs: readonly [];
4450
+ readonly name: "InvalidInitialization";
4451
+ readonly type: "error";
4452
+ }, {
4453
+ readonly inputs: readonly [];
4454
+ readonly name: "NotInitializing";
4455
+ readonly type: "error";
4456
+ }, {
4457
+ readonly inputs: readonly [];
4458
+ readonly name: "UUPSUnauthorizedCallContext";
4459
+ readonly type: "error";
4460
+ }, {
4461
+ readonly inputs: readonly [{
4462
+ readonly internalType: "bytes32";
4463
+ readonly name: "slot";
4464
+ readonly type: "bytes32";
4465
+ }];
4466
+ readonly name: "UUPSUnsupportedProxiableUUID";
4467
+ readonly type: "error";
4468
+ }, {
4469
+ readonly inputs: readonly [];
4470
+ readonly name: "ZeroAddress";
4471
+ readonly type: "error";
4472
+ }, {
4473
+ readonly anonymous: false;
4474
+ readonly inputs: readonly [{
4475
+ readonly indexed: true;
4476
+ readonly internalType: "uint256";
4477
+ readonly name: "granteeId";
4478
+ readonly type: "uint256";
4479
+ }, {
4480
+ readonly indexed: true;
4481
+ readonly internalType: "address";
4482
+ readonly name: "owner";
4483
+ readonly type: "address";
4484
+ }, {
4485
+ readonly indexed: true;
4486
+ readonly internalType: "address";
4487
+ readonly name: "granteeAddress";
4488
+ readonly type: "address";
4489
+ }, {
4490
+ readonly indexed: false;
4491
+ readonly internalType: "string";
4492
+ readonly name: "publicKey";
4493
+ readonly type: "string";
4494
+ }];
4495
+ readonly name: "GranteeRegistered";
4496
+ readonly type: "event";
4497
+ }, {
4498
+ readonly anonymous: false;
4499
+ readonly inputs: readonly [{
4500
+ readonly indexed: false;
4501
+ readonly internalType: "uint64";
4502
+ readonly name: "version";
4503
+ readonly type: "uint64";
4504
+ }];
4505
+ readonly name: "Initialized";
4506
+ readonly type: "event";
4507
+ }, {
4508
+ readonly anonymous: false;
4509
+ readonly inputs: readonly [{
4510
+ readonly indexed: false;
4511
+ readonly internalType: "address";
4512
+ readonly name: "account";
4513
+ readonly type: "address";
4514
+ }];
4515
+ readonly name: "Paused";
4516
+ readonly type: "event";
4517
+ }, {
4518
+ readonly anonymous: false;
4519
+ readonly inputs: readonly [{
4520
+ readonly indexed: true;
4521
+ readonly internalType: "bytes32";
4522
+ readonly name: "role";
4523
+ readonly type: "bytes32";
4524
+ }, {
4525
+ readonly indexed: true;
4526
+ readonly internalType: "bytes32";
4527
+ readonly name: "previousAdminRole";
4528
+ readonly type: "bytes32";
4529
+ }, {
4530
+ readonly indexed: true;
4531
+ readonly internalType: "bytes32";
4532
+ readonly name: "newAdminRole";
4533
+ readonly type: "bytes32";
4534
+ }];
4535
+ readonly name: "RoleAdminChanged";
4536
+ readonly type: "event";
4537
+ }, {
4538
+ readonly anonymous: false;
4539
+ readonly inputs: readonly [{
4540
+ readonly indexed: true;
4541
+ readonly internalType: "bytes32";
4542
+ readonly name: "role";
4543
+ readonly type: "bytes32";
4544
+ }, {
4545
+ readonly indexed: true;
4546
+ readonly internalType: "address";
4547
+ readonly name: "account";
4548
+ readonly type: "address";
4549
+ }, {
4550
+ readonly indexed: true;
4551
+ readonly internalType: "address";
4552
+ readonly name: "sender";
4553
+ readonly type: "address";
4554
+ }];
4555
+ readonly name: "RoleGranted";
4556
+ readonly type: "event";
4557
+ }, {
4558
+ readonly anonymous: false;
4559
+ readonly inputs: readonly [{
4560
+ readonly indexed: true;
4561
+ readonly internalType: "bytes32";
4562
+ readonly name: "role";
4563
+ readonly type: "bytes32";
4564
+ }, {
4565
+ readonly indexed: true;
4566
+ readonly internalType: "address";
4567
+ readonly name: "account";
4568
+ readonly type: "address";
4569
+ }, {
4570
+ readonly indexed: true;
4571
+ readonly internalType: "address";
4572
+ readonly name: "sender";
4573
+ readonly type: "address";
4574
+ }];
4575
+ readonly name: "RoleRevoked";
4576
+ readonly type: "event";
4577
+ }, {
4578
+ readonly anonymous: false;
4579
+ readonly inputs: readonly [{
4580
+ readonly indexed: false;
4581
+ readonly internalType: "address";
4582
+ readonly name: "account";
4583
+ readonly type: "address";
4584
+ }];
4585
+ readonly name: "Unpaused";
4586
+ readonly type: "event";
4587
+ }, {
4588
+ readonly anonymous: false;
4589
+ readonly inputs: readonly [{
4590
+ readonly indexed: true;
4591
+ readonly internalType: "address";
4592
+ readonly name: "implementation";
4593
+ readonly type: "address";
4594
+ }];
4595
+ readonly name: "Upgraded";
4596
+ readonly type: "event";
4597
+ }, {
4598
+ readonly inputs: readonly [];
4599
+ readonly name: "DEFAULT_ADMIN_ROLE";
4600
+ readonly outputs: readonly [{
4601
+ readonly internalType: "bytes32";
4602
+ readonly name: "";
4603
+ readonly type: "bytes32";
4604
+ }];
4605
+ readonly stateMutability: "view";
4606
+ readonly type: "function";
4607
+ }, {
4608
+ readonly inputs: readonly [];
4609
+ readonly name: "MAINTAINER_ROLE";
4610
+ readonly outputs: readonly [{
4611
+ readonly internalType: "bytes32";
4612
+ readonly name: "";
4613
+ readonly type: "bytes32";
4614
+ }];
4615
+ readonly stateMutability: "view";
4616
+ readonly type: "function";
4617
+ }, {
4618
+ readonly inputs: readonly [];
4619
+ readonly name: "PERMISSION_MANAGER_ROLE";
4620
+ readonly outputs: readonly [{
4621
+ readonly internalType: "bytes32";
4622
+ readonly name: "";
4623
+ readonly type: "bytes32";
4624
+ }];
4625
+ readonly stateMutability: "view";
4626
+ readonly type: "function";
4627
+ }, {
4628
+ readonly inputs: readonly [];
4629
+ readonly name: "UPGRADE_INTERFACE_VERSION";
4630
+ readonly outputs: readonly [{
4631
+ readonly internalType: "string";
4632
+ readonly name: "";
4633
+ readonly type: "string";
4634
+ }];
4635
+ readonly stateMutability: "view";
4636
+ readonly type: "function";
4637
+ }, {
4638
+ readonly inputs: readonly [{
4639
+ readonly internalType: "uint256";
4640
+ readonly name: "granteeId";
4641
+ readonly type: "uint256";
4642
+ }, {
4643
+ readonly internalType: "uint256";
4644
+ readonly name: "permissionId";
4645
+ readonly type: "uint256";
4646
+ }];
4647
+ readonly name: "addPermissionToGrantee";
4648
+ readonly outputs: readonly [];
4649
+ readonly stateMutability: "nonpayable";
4650
+ readonly type: "function";
4651
+ }, {
4652
+ readonly inputs: readonly [{
4653
+ readonly internalType: "bytes32";
4654
+ readonly name: "role";
4655
+ readonly type: "bytes32";
4656
+ }];
4657
+ readonly name: "getRoleAdmin";
4658
+ readonly outputs: readonly [{
4659
+ readonly internalType: "bytes32";
4660
+ readonly name: "";
4661
+ readonly type: "bytes32";
4662
+ }];
4663
+ readonly stateMutability: "view";
4664
+ readonly type: "function";
4665
+ }, {
4666
+ readonly inputs: readonly [{
4667
+ readonly internalType: "bytes32";
4668
+ readonly name: "role";
4669
+ readonly type: "bytes32";
4670
+ }, {
4671
+ readonly internalType: "address";
4672
+ readonly name: "account";
4673
+ readonly type: "address";
4674
+ }];
4675
+ readonly name: "grantRole";
4676
+ readonly outputs: readonly [];
4677
+ readonly stateMutability: "nonpayable";
4678
+ readonly type: "function";
4679
+ }, {
4680
+ readonly inputs: readonly [{
4681
+ readonly internalType: "address";
4682
+ readonly name: "granteeAddress";
4683
+ readonly type: "address";
4684
+ }];
4685
+ readonly name: "granteeAddressToId";
4686
+ readonly outputs: readonly [{
4687
+ readonly internalType: "uint256";
4688
+ readonly name: "granteeId";
4689
+ readonly type: "uint256";
4690
+ }];
4691
+ readonly stateMutability: "view";
4692
+ readonly type: "function";
4693
+ }, {
4694
+ readonly inputs: readonly [{
4695
+ readonly internalType: "address";
4696
+ readonly name: "granteeAddress";
4697
+ readonly type: "address";
4698
+ }];
4699
+ readonly name: "granteeByAddress";
4700
+ readonly outputs: readonly [{
4701
+ readonly components: readonly [{
4702
+ readonly internalType: "address";
4703
+ readonly name: "owner";
4704
+ readonly type: "address";
4705
+ }, {
4706
+ readonly internalType: "address";
4707
+ readonly name: "granteeAddress";
4708
+ readonly type: "address";
4709
+ }, {
4710
+ readonly internalType: "string";
4711
+ readonly name: "publicKey";
4712
+ readonly type: "string";
4713
+ }, {
4714
+ readonly internalType: "uint256[]";
4715
+ readonly name: "permissionIds";
4716
+ readonly type: "uint256[]";
4717
+ }];
4718
+ readonly internalType: "struct IDataPortabilityGrantees.GranteeInfo";
4719
+ readonly name: "";
4720
+ readonly type: "tuple";
4721
+ }];
4722
+ readonly stateMutability: "view";
4723
+ readonly type: "function";
4724
+ }, {
4725
+ readonly inputs: readonly [{
4726
+ readonly internalType: "uint256";
4727
+ readonly name: "granteeId";
4728
+ readonly type: "uint256";
4729
+ }];
4730
+ readonly name: "granteeInfo";
4731
+ readonly outputs: readonly [{
4732
+ readonly components: readonly [{
4733
+ readonly internalType: "address";
4734
+ readonly name: "owner";
4735
+ readonly type: "address";
4736
+ }, {
4737
+ readonly internalType: "address";
4738
+ readonly name: "granteeAddress";
4739
+ readonly type: "address";
4740
+ }, {
4741
+ readonly internalType: "string";
4742
+ readonly name: "publicKey";
4743
+ readonly type: "string";
4744
+ }, {
4745
+ readonly internalType: "uint256[]";
4746
+ readonly name: "permissionIds";
4747
+ readonly type: "uint256[]";
4748
+ }];
4749
+ readonly internalType: "struct IDataPortabilityGrantees.GranteeInfo";
4750
+ readonly name: "";
4751
+ readonly type: "tuple";
4752
+ }];
4753
+ readonly stateMutability: "view";
4754
+ readonly type: "function";
4755
+ }, {
4756
+ readonly inputs: readonly [{
4757
+ readonly internalType: "uint256";
4758
+ readonly name: "granteeId";
4759
+ readonly type: "uint256";
4760
+ }];
4761
+ readonly name: "granteePermissionIds";
4762
+ readonly outputs: readonly [{
4763
+ readonly internalType: "uint256[]";
4764
+ readonly name: "";
4765
+ readonly type: "uint256[]";
4766
+ }];
4767
+ readonly stateMutability: "view";
4768
+ readonly type: "function";
4769
+ }, {
4770
+ readonly inputs: readonly [{
4771
+ readonly internalType: "uint256";
4772
+ readonly name: "granteeId";
4773
+ readonly type: "uint256";
4774
+ }];
4775
+ readonly name: "granteePermissions";
4776
+ readonly outputs: readonly [{
4777
+ readonly internalType: "uint256[]";
4778
+ readonly name: "";
4779
+ readonly type: "uint256[]";
4780
+ }];
4781
+ readonly stateMutability: "view";
4782
+ readonly type: "function";
4783
+ }, {
4784
+ readonly inputs: readonly [{
4785
+ readonly internalType: "uint256";
4786
+ readonly name: "granteeId";
4787
+ readonly type: "uint256";
4788
+ }];
4789
+ readonly name: "grantees";
4790
+ readonly outputs: readonly [{
4791
+ readonly components: readonly [{
4792
+ readonly internalType: "address";
4793
+ readonly name: "owner";
4794
+ readonly type: "address";
4795
+ }, {
4796
+ readonly internalType: "address";
4797
+ readonly name: "granteeAddress";
4798
+ readonly type: "address";
4799
+ }, {
4800
+ readonly internalType: "string";
4801
+ readonly name: "publicKey";
4802
+ readonly type: "string";
4803
+ }, {
4804
+ readonly internalType: "uint256[]";
4805
+ readonly name: "permissionIds";
4806
+ readonly type: "uint256[]";
4807
+ }];
4808
+ readonly internalType: "struct IDataPortabilityGrantees.GranteeInfo";
4809
+ readonly name: "";
4810
+ readonly type: "tuple";
4811
+ }];
4812
+ readonly stateMutability: "view";
4813
+ readonly type: "function";
4814
+ }, {
4815
+ readonly inputs: readonly [];
4816
+ readonly name: "granteesCount";
4817
+ readonly outputs: readonly [{
4818
+ readonly internalType: "uint256";
4819
+ readonly name: "";
4820
+ readonly type: "uint256";
4821
+ }];
4822
+ readonly stateMutability: "view";
4823
+ readonly type: "function";
4824
+ }, {
4825
+ readonly inputs: readonly [{
4826
+ readonly internalType: "bytes32";
4827
+ readonly name: "role";
4828
+ readonly type: "bytes32";
4829
+ }, {
4830
+ readonly internalType: "address";
4831
+ readonly name: "account";
4832
+ readonly type: "address";
4833
+ }];
4834
+ readonly name: "hasRole";
4835
+ readonly outputs: readonly [{
4836
+ readonly internalType: "bool";
4837
+ readonly name: "";
4838
+ readonly type: "bool";
4839
+ }];
4840
+ readonly stateMutability: "view";
4841
+ readonly type: "function";
4842
+ }, {
4843
+ readonly inputs: readonly [{
4844
+ readonly internalType: "address";
4845
+ readonly name: "trustedForwarderAddress";
4846
+ readonly type: "address";
4847
+ }, {
4848
+ readonly internalType: "address";
4849
+ readonly name: "ownerAddress";
4850
+ readonly type: "address";
4851
+ }];
4852
+ readonly name: "initialize";
4853
+ readonly outputs: readonly [];
4854
+ readonly stateMutability: "nonpayable";
4855
+ readonly type: "function";
4856
+ }, {
4857
+ readonly inputs: readonly [{
4858
+ readonly internalType: "address";
4859
+ readonly name: "forwarder";
4860
+ readonly type: "address";
4861
+ }];
4862
+ readonly name: "isTrustedForwarder";
4863
+ readonly outputs: readonly [{
4864
+ readonly internalType: "bool";
4865
+ readonly name: "";
4866
+ readonly type: "bool";
4867
+ }];
4868
+ readonly stateMutability: "view";
4869
+ readonly type: "function";
4870
+ }, {
4871
+ readonly inputs: readonly [{
4872
+ readonly internalType: "bytes[]";
4873
+ readonly name: "data";
4874
+ readonly type: "bytes[]";
4875
+ }];
4876
+ readonly name: "multicall";
4877
+ readonly outputs: readonly [{
4878
+ readonly internalType: "bytes[]";
4879
+ readonly name: "results";
4880
+ readonly type: "bytes[]";
4881
+ }];
4882
+ readonly stateMutability: "nonpayable";
4883
+ readonly type: "function";
4884
+ }, {
4885
+ readonly inputs: readonly [];
4886
+ readonly name: "pause";
4887
+ readonly outputs: readonly [];
4888
+ readonly stateMutability: "nonpayable";
4889
+ readonly type: "function";
4890
+ }, {
4891
+ readonly inputs: readonly [];
4892
+ readonly name: "paused";
4893
+ readonly outputs: readonly [{
4894
+ readonly internalType: "bool";
4895
+ readonly name: "";
4896
+ readonly type: "bool";
4897
+ }];
4898
+ readonly stateMutability: "view";
4899
+ readonly type: "function";
4900
+ }, {
4901
+ readonly inputs: readonly [];
4902
+ readonly name: "proxiableUUID";
4903
+ readonly outputs: readonly [{
4904
+ readonly internalType: "bytes32";
4905
+ readonly name: "";
4906
+ readonly type: "bytes32";
4907
+ }];
4908
+ readonly stateMutability: "view";
4909
+ readonly type: "function";
4910
+ }, {
4911
+ readonly inputs: readonly [{
4912
+ readonly internalType: "address";
4913
+ readonly name: "owner";
4914
+ readonly type: "address";
4915
+ }, {
4916
+ readonly internalType: "address";
4917
+ readonly name: "granteeAddress";
4918
+ readonly type: "address";
4919
+ }, {
4920
+ readonly internalType: "string";
4921
+ readonly name: "publicKey";
4922
+ readonly type: "string";
4923
+ }];
4924
+ readonly name: "registerGrantee";
4925
+ readonly outputs: readonly [{
4926
+ readonly internalType: "uint256";
4927
+ readonly name: "";
4928
+ readonly type: "uint256";
4929
+ }];
4930
+ readonly stateMutability: "nonpayable";
4931
+ readonly type: "function";
4932
+ }, {
4933
+ readonly inputs: readonly [{
4934
+ readonly internalType: "uint256";
4935
+ readonly name: "granteeId";
4936
+ readonly type: "uint256";
4937
+ }, {
4938
+ readonly internalType: "uint256";
4939
+ readonly name: "permissionId";
4940
+ readonly type: "uint256";
4941
+ }];
4942
+ readonly name: "removePermissionFromGrantee";
4943
+ readonly outputs: readonly [];
4944
+ readonly stateMutability: "nonpayable";
4945
+ readonly type: "function";
4946
+ }, {
4947
+ readonly inputs: readonly [{
4948
+ readonly internalType: "bytes32";
4949
+ readonly name: "role";
4950
+ readonly type: "bytes32";
4951
+ }, {
4952
+ readonly internalType: "address";
4953
+ readonly name: "callerConfirmation";
4954
+ readonly type: "address";
4955
+ }];
4956
+ readonly name: "renounceRole";
4957
+ readonly outputs: readonly [];
4958
+ readonly stateMutability: "nonpayable";
4959
+ readonly type: "function";
4960
+ }, {
4961
+ readonly inputs: readonly [{
4962
+ readonly internalType: "bytes32";
4963
+ readonly name: "role";
4964
+ readonly type: "bytes32";
4965
+ }, {
4966
+ readonly internalType: "address";
4967
+ readonly name: "account";
4968
+ readonly type: "address";
4969
+ }];
4970
+ readonly name: "revokeRole";
4971
+ readonly outputs: readonly [];
4972
+ readonly stateMutability: "nonpayable";
4973
+ readonly type: "function";
4974
+ }, {
4975
+ readonly inputs: readonly [{
4976
+ readonly internalType: "bytes32";
4977
+ readonly name: "role";
4978
+ readonly type: "bytes32";
4979
+ }, {
4980
+ readonly internalType: "bytes32";
4981
+ readonly name: "adminRole";
4982
+ readonly type: "bytes32";
4983
+ }];
4984
+ readonly name: "setRoleAdmin";
4985
+ readonly outputs: readonly [];
4986
+ readonly stateMutability: "nonpayable";
4987
+ readonly type: "function";
4988
+ }, {
4989
+ readonly inputs: readonly [{
4990
+ readonly internalType: "bytes4";
4991
+ readonly name: "interfaceId";
4992
+ readonly type: "bytes4";
4993
+ }];
4994
+ readonly name: "supportsInterface";
4995
+ readonly outputs: readonly [{
4996
+ readonly internalType: "bool";
4997
+ readonly name: "";
4998
+ readonly type: "bool";
4999
+ }];
5000
+ readonly stateMutability: "view";
5001
+ readonly type: "function";
5002
+ }, {
5003
+ readonly inputs: readonly [];
5004
+ readonly name: "trustedForwarder";
5005
+ readonly outputs: readonly [{
5006
+ readonly internalType: "address";
5007
+ readonly name: "";
5008
+ readonly type: "address";
5009
+ }];
5010
+ readonly stateMutability: "view";
5011
+ readonly type: "function";
5012
+ }, {
5013
+ readonly inputs: readonly [];
5014
+ readonly name: "unpause";
5015
+ readonly outputs: readonly [];
5016
+ readonly stateMutability: "nonpayable";
5017
+ readonly type: "function";
5018
+ }, {
5019
+ readonly inputs: readonly [{
5020
+ readonly internalType: "address";
5021
+ readonly name: "trustedForwarderAddress";
5022
+ readonly type: "address";
5023
+ }];
5024
+ readonly name: "updateTrustedForwarder";
5025
+ readonly outputs: readonly [];
5026
+ readonly stateMutability: "nonpayable";
5027
+ readonly type: "function";
5028
+ }, {
5029
+ readonly inputs: readonly [{
5030
+ readonly internalType: "address";
5031
+ readonly name: "newImplementation";
5032
+ readonly type: "address";
5033
+ }, {
5034
+ readonly internalType: "bytes";
5035
+ readonly name: "data";
5036
+ readonly type: "bytes";
5037
+ }];
5038
+ readonly name: "upgradeToAndCall";
5039
+ readonly outputs: readonly [];
5040
+ readonly stateMutability: "payable";
5041
+ readonly type: "function";
5042
+ }];
5043
+ readonly DataRegistry: readonly [{
3161
5044
  readonly inputs: readonly [];
3162
5045
  readonly stateMutability: "nonpayable";
3163
5046
  readonly type: "constructor";
@@ -27842,6 +29725,8 @@ interface ControllerContext$1 {
27842
29725
  hasStorage?: () => boolean;
27843
29726
  /** Default IPFS gateways to use for fetching files. */
27844
29727
  ipfsGateways?: string[];
29728
+ /** Default personal server base URL for server operations. */
29729
+ defaultPersonalServerUrl?: string;
27845
29730
  }
27846
29731
  /**
27847
29732
  * Manages gasless data access permissions and trusted server registry operations.
@@ -27880,7 +29765,7 @@ interface ControllerContext$1 {
27880
29765
  * // Trust a server for data processing
27881
29766
  * await vana.permissions.trustServer({
27882
29767
  * serverId: "0x123...",
27883
- * serverUrl: "https://trusted-server.example.com",
29768
+ * serverUrl: "https://personal-server.vana.org",
27884
29769
  * });
27885
29770
  *
27886
29771
  * // Query current permissions
@@ -28053,6 +29938,15 @@ declare class PermissionsController {
28053
29938
  * @returns Promise resolving to the transaction hash
28054
29939
  */
28055
29940
  submitSignedTrustServer(typedData: TrustServerTypedData, signature: Hash): Promise<Hash>;
29941
+ /**
29942
+ * Submits an already-signed add and trust server transaction to the blockchain.
29943
+ * This method extracts the add and trust server input from typed data and submits it directly.
29944
+ *
29945
+ * @param typedData - The EIP-712 typed data for AddAndTrustServer
29946
+ * @param signature - The user's signature
29947
+ * @returns Promise resolving to the transaction hash
29948
+ */
29949
+ submitSignedAddAndTrustServer(typedData: AddAndTrustServerTypedData, signature: Hash): Promise<Hash>;
28056
29950
  /**
28057
29951
  * Submits an already-signed permission revoke transaction to the blockchain.
28058
29952
  * This method handles the revocation of previously granted permissions.
@@ -28135,16 +30029,39 @@ declare class PermissionsController {
28135
30029
  * @throws {RelayerError} When gasless submission fails
28136
30030
  * @throws {PermissionError} When revocation fails for any other reason
28137
30031
  */
28138
- revokeWithSignature(params: RevokePermissionParams): Promise<Hash>;
30032
+ submitRevokeWithSignature(params: RevokePermissionParams): Promise<Hash>;
28139
30033
  /**
28140
- * Retrieves the user's current nonce from the DataPermissions contract.
30034
+ * Retrieves the user's current nonce from the DataPortabilityServers contract.
28141
30035
  *
28142
- * @returns Promise resolving to the user's current nonce value
30036
+ * The nonce is used to prevent replay attacks in signed transactions and must
30037
+ * be incremented with each transaction to maintain security.
30038
+ *
30039
+ * @returns Promise resolving to the user's current nonce value as a bigint
28143
30040
  * @throws {Error} When wallet account is not available
28144
30041
  * @throws {Error} When chain ID is not available
28145
30042
  * @throws {NonceError} When reading nonce from contract fails
30043
+ * @private
30044
+ * @example
30045
+ * ```typescript
30046
+ * const nonce = await this.getUserNonce();
30047
+ * console.log(`Current nonce: ${nonce}`);
30048
+ * ```
28146
30049
  */
28147
30050
  private getUserNonce;
30051
+ /**
30052
+ * Retrieves the user's current nonce from the DataPortabilityServers contract.
30053
+ * This nonce is used for server-related operations (AddAndTrustServer, TrustServer, UntrustServer).
30054
+ *
30055
+ * @returns Promise resolving to the current nonce
30056
+ * @private
30057
+ *
30058
+ * @example
30059
+ * ```typescript
30060
+ * const nonce = await this.getServerNonce();
30061
+ * console.log(`Current server nonce: ${nonce}`);
30062
+ * ```
30063
+ */
30064
+ private getServerNonce;
28148
30065
  /**
28149
30066
  * Composes the EIP-712 typed data for PermissionGrant (new simplified format).
28150
30067
  *
@@ -28158,6 +30075,21 @@ declare class PermissionsController {
28158
30075
  * @returns Promise resolving to the typed data structure
28159
30076
  */
28160
30077
  private composePermissionGrantMessage;
30078
+ /**
30079
+ * Creates EIP-712 typed data structure for server files and permissions.
30080
+ *
30081
+ * @param params - Parameters for the server files and permissions message
30082
+ * @param params.granteeId - Grantee ID
30083
+ * @param params.grant - Grant URL or grant data
30084
+ * @param params.fileUrls - Array of file URLs
30085
+ * @param params.serverAddress - Server address
30086
+ * @param params.serverUrl - Server URL
30087
+ * @param params.serverPublicKey - Server public key
30088
+ * @param params.filePermissions - File permissions array
30089
+ * @param params.nonce - Unique number to prevent replay attacks
30090
+ * @returns Promise resolving to the typed data structure
30091
+ */
30092
+ private composeServerFilesAndPermissionMessage;
28161
30093
  /**
28162
30094
  * Gets the EIP-712 domain for PermissionGrant signatures.
28163
30095
  *
@@ -28213,38 +30145,6 @@ declare class PermissionsController {
28213
30145
  * ```
28214
30146
  */
28215
30147
  getUserPermissionGrantsOnChain(options?: GetUserPermissionsOptions): Promise<OnChainPermissionGrant[]>;
28216
- /**
28217
- * Gets all permission IDs for a specific file.
28218
- *
28219
- * @param fileId - The file ID to query permissions for
28220
- * @returns Promise resolving to array of permission IDs
28221
- * @throws {BlockchainError} When reading from contract fails or chain is unavailable
28222
- */
28223
- getFilePermissionIds(fileId: bigint): Promise<bigint[]>;
28224
- /**
28225
- * Gets all file IDs associated with a permission.
28226
- *
28227
- * @param permissionId - The permission ID to query files for
28228
- * @returns Promise resolving to array of file IDs
28229
- * @throws {BlockchainError} When reading from contract fails or chain is unavailable
28230
- */
28231
- getPermissionFileIds(permissionId: bigint): Promise<bigint[]>;
28232
- /**
28233
- * Checks if a permission is active.
28234
- *
28235
- * @param permissionId - The permission ID to check
28236
- * @returns Promise resolving to boolean indicating if permission is active
28237
- * @throws {BlockchainError} When reading from contract fails or chain is unavailable
28238
- */
28239
- isActivePermission(permissionId: bigint): Promise<boolean>;
28240
- /**
28241
- * Gets permission details from the contract.
28242
- *
28243
- * @param permissionId - The permission ID to query
28244
- * @returns Promise resolving to permission info
28245
- * @throws {BlockchainError} When reading from contract fails or chain is unavailable
28246
- */
28247
- getPermissionInfo(permissionId: bigint): Promise<PermissionInfo>;
28248
30148
  /**
28249
30149
  * Normalizes grant ID to hex format.
28250
30150
  * Handles conversion from permission ID (bigint/number/string) to proper hex hash format.
@@ -28254,35 +30154,61 @@ declare class PermissionsController {
28254
30154
  */
28255
30155
  private normalizeGrantId;
28256
30156
  /**
28257
- * Trusts a server for data processing.
30157
+ * Registers a new server and immediately trusts it in the DataPortabilityServers contract.
28258
30158
  *
28259
- * @param params - Parameters for trusting the server
28260
- * @param params.serverId - The server's Ethereum address
28261
- * @param params.serverUrl - The server's URL endpoint
30159
+ * This is a combined operation that both registers a new data portability server
30160
+ * and adds it to the user's trusted servers list in a single transaction.
30161
+ * Trusted servers can handle data export and portability requests from the user.
30162
+ *
30163
+ * @param params - Parameters for adding and trusting the server
30164
+ * @param params.owner - Ethereum address that will own this server registration
30165
+ * @param params.serverAddress - Ethereum address of the server
30166
+ * @param params.serverUrl - HTTPS URL where the server can be reached
30167
+ * @param params.publicKey - Server's public key for encryption (hex string)
28262
30168
  * @returns Promise resolving to transaction hash
28263
30169
  * @throws {UserRejectedRequestError} When user rejects the transaction
28264
30170
  * @throws {BlockchainError} When chain ID is unavailable or transaction fails
30171
+ * @throws {ServerAlreadyRegisteredError} When server address is already registered
28265
30172
  * @throws {Error} When wallet account is not available
30173
+ *
28266
30174
  * @example
28267
30175
  * ```typescript
28268
- * // Trust a server by providing its ID and URL
28269
- * const txHash = await vana.permissions.trustServer({
28270
- * serverId: '0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6',
28271
- * serverUrl: 'https://myserver.example.com'
30176
+ * // Add and trust a server by providing all required details
30177
+ * const txHash = await vana.permissions.addAndTrustServer({
30178
+ * owner: '0x1234567890abcdef1234567890abcdef12345678',
30179
+ * serverAddress: '0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6',
30180
+ * serverUrl: 'https://myserver.example.com',
30181
+ * publicKey: '0x456789abcdef456789abcdef456789abcdef456789abcdef'
28272
30182
  * });
28273
- * console.log('Server trusted in transaction:', txHash);
30183
+ * console.log('Server added and trusted in transaction:', txHash);
28274
30184
  *
28275
- * // Verify the server was added to trusted list
30185
+ * // Verify the server is now trusted
28276
30186
  * const trustedServers = await vana.permissions.getTrustedServers();
28277
- * console.log('Trusted servers:', trustedServers.length);
30187
+ * console.log('Now trusting servers:', trustedServers);
28278
30188
  * ```
28279
30189
  */
28280
- trustServer(params: TrustServerParams): Promise<Hash>;
30190
+ addAndTrustServer(params: AddAndTrustServerParams): Promise<Hash>;
30191
+ /**
30192
+ * Trusts a server for data processing (legacy method).
30193
+ *
30194
+ * @param params - Parameters for trusting the server
30195
+ * @returns Promise resolving to transaction hash
30196
+ * @deprecated Use addAndTrustServer instead
30197
+ */
30198
+ submitTrustServer(params: TrustServerParams): Promise<Hash>;
30199
+ /**
30200
+ * Adds and trusts a server using a signature (gasless transaction).
30201
+ *
30202
+ * @param params - Parameters for adding and trusting the server
30203
+ * @returns Promise resolving to transaction hash
30204
+ */
30205
+ submitAddAndTrustServerWithSignature(params: AddAndTrustServerParams): Promise<Hash>;
28281
30206
  /**
28282
- * Trusts a server using a signature (gasless transaction).
30207
+ * Trusts a server using a signature (gasless transaction - legacy method).
28283
30208
  *
28284
30209
  * @param params - Parameters for trusting the server
28285
30210
  * @returns Promise resolving to transaction hash
30211
+ * @deprecated Use addAndTrustServerWithSignature instead
28286
30212
  * @throws {BlockchainError} When chain ID is not available
28287
30213
  * @throws {NonceError} When retrieving user nonce fails
28288
30214
  * @throws {SignatureError} When user rejects the signature request
@@ -28290,7 +30216,7 @@ declare class PermissionsController {
28290
30216
  * @throws {ServerUrlMismatchError} When server URL doesn't match existing registration
28291
30217
  * @throws {BlockchainError} When trust operation fails for any other reason
28292
30218
  */
28293
- trustServerWithSignature(params: TrustServerParams): Promise<Hash>;
30219
+ submitTrustServerWithSignature(params: TrustServerParams): Promise<Hash>;
28294
30220
  /**
28295
30221
  * Submits a direct untrust server transaction (without signature).
28296
30222
  *
@@ -28299,17 +30225,34 @@ declare class PermissionsController {
28299
30225
  */
28300
30226
  private submitDirectUntrustTransaction;
28301
30227
  /**
28302
- * Untrusts a server.
30228
+ * Removes a server from the user's trusted servers list in the DataPortabilityServers contract.
30229
+ *
30230
+ * This revokes the server's authorization to handle data portability requests for the user.
30231
+ * The server remains registered in the system but will no longer be trusted by this user.
28303
30232
  *
28304
30233
  * @param params - Parameters for untrusting the server
28305
- * @param params.serverId - The server's Ethereum address to untrust
30234
+ * @param params.serverId - The numeric ID of the server to untrust
28306
30235
  * @returns Promise resolving to transaction hash
28307
30236
  * @throws {Error} When wallet account is not available
28308
30237
  * @throws {NonceError} When retrieving user nonce fails
28309
30238
  * @throws {UserRejectedRequestError} When user rejects the transaction
30239
+ * @throws {ServerNotTrustedError} When the server is not currently trusted
28310
30240
  * @throws {BlockchainError} When untrust transaction fails
30241
+ *
30242
+ * @example
30243
+ * ```typescript
30244
+ * // Untrust a specific server
30245
+ * const txHash = await vana.permissions.untrustServer({
30246
+ * serverId: 1
30247
+ * });
30248
+ * console.log('Server untrusted in transaction:', txHash);
30249
+ *
30250
+ * // Verify the server is no longer trusted
30251
+ * const trustedServers = await vana.permissions.getTrustedServers();
30252
+ * console.log('Still trusting servers:', trustedServers);
30253
+ * ```
28311
30254
  */
28312
- untrustServer(params: UntrustServerParams): Promise<Hash>;
30255
+ submitUntrustServer(params: UntrustServerParams): Promise<Hash>;
28313
30256
  /**
28314
30257
  * Untrusts a server using a signature (gasless transaction).
28315
30258
  *
@@ -28322,23 +30265,30 @@ declare class PermissionsController {
28322
30265
  * @throws {RelayerError} When gasless submission fails
28323
30266
  * @throws {BlockchainError} When untrust transaction fails
28324
30267
  */
28325
- untrustServerWithSignature(params: UntrustServerParams): Promise<Hash>;
30268
+ submitUntrustServerWithSignature(params: UntrustServerParams): Promise<Hash>;
28326
30269
  /**
28327
- * Gets all servers trusted by a user.
30270
+ * Retrieves all servers trusted by a user from the DataPortabilityServers contract.
28328
30271
  *
28329
- * @param userAddress - Optional user address (defaults to current user)
28330
- * @returns Promise resolving to array of trusted server addresses
28331
- * @throws {BlockchainError} When reading from contract fails or chain is unavailable
28332
- */
28333
- getTrustedServers(userAddress?: Address): Promise<Address[]>;
28334
- /**
28335
- * Gets server information by server ID.
30272
+ * Returns an array of server IDs that the specified user has explicitly trusted.
30273
+ * Trusted servers are those that users have authorized to handle their data portability requests.
28336
30274
  *
28337
- * @param serverId - Server address
28338
- * @returns Promise resolving to server information
30275
+ * @param userAddress - Optional user address to query (defaults to current wallet user)
30276
+ * @returns Promise resolving to array of trusted server IDs (numeric)
28339
30277
  * @throws {BlockchainError} When reading from contract fails or chain is unavailable
30278
+ * @throws {NetworkError} When unable to connect to the blockchain network
30279
+ *
30280
+ * @example
30281
+ * ```typescript
30282
+ * // Get trusted servers for current user
30283
+ * const myServers = await vana.permissions.getTrustedServers();
30284
+ * console.log(`I trust ${myServers.length} servers: ${myServers.join(', ')}`);
30285
+ *
30286
+ * // Get trusted servers for another user
30287
+ * const userServers = await vana.permissions.getTrustedServers("0x1234...");
30288
+ * console.log(`User trusts servers: ${userServers.join(', ')}`);
30289
+ * ```
28340
30290
  */
28341
- getServerInfo(serverId: Address): Promise<Server>;
30291
+ getTrustedServers(userAddress?: Address): Promise<number[]>;
28342
30292
  /**
28343
30293
  * Gets the total count of trusted servers for a user.
28344
30294
  *
@@ -28370,15 +30320,22 @@ declare class PermissionsController {
28370
30320
  * @returns Promise resolving to batch result with successes and failures
28371
30321
  * @throws {BlockchainError} When reading from contract fails or chain is unavailable
28372
30322
  */
28373
- getServerInfoBatch(serverIds: Address[]): Promise<BatchServerInfoResult>;
30323
+ getServerInfoBatch(serverIds: number[]): Promise<BatchServerInfoResult>;
28374
30324
  /**
28375
30325
  * Checks whether a specific server is trusted by a user.
28376
30326
  *
28377
- * @param serverId - Server ID to check
30327
+ * @param serverId - Server ID to check (numeric)
28378
30328
  * @param userAddress - Optional user address (defaults to current user)
28379
30329
  * @returns Promise resolving to server trust status
28380
30330
  */
28381
- checkServerTrustStatus(serverId: Address, userAddress?: Address): Promise<ServerTrustStatus>;
30331
+ checkServerTrustStatus(serverId: number, userAddress?: Address): Promise<ServerTrustStatus>;
30332
+ /**
30333
+ * Composes EIP-712 typed data for AddAndTrustServer.
30334
+ *
30335
+ * @param input - The add and trust server input data containing server details
30336
+ * @returns Promise resolving to the typed data structure for server add and trust
30337
+ */
30338
+ private composeAddAndTrustServerMessage;
28382
30339
  /**
28383
30340
  * Composes EIP-712 typed data for TrustServer.
28384
30341
  *
@@ -28393,6 +30350,20 @@ declare class PermissionsController {
28393
30350
  * @returns Promise resolving to the typed data structure for server untrust
28394
30351
  */
28395
30352
  private composeUntrustServerMessage;
30353
+ /**
30354
+ * Gets the EIP-712 domain for DataPortabilityServers signatures.
30355
+ *
30356
+ * @returns Promise resolving to the EIP-712 domain configuration
30357
+ */
30358
+ private getServersDomain;
30359
+ /**
30360
+ * Submits an add and trust server transaction directly to the blockchain.
30361
+ *
30362
+ * @param addAndTrustServerInput - The add and trust server input data containing server details
30363
+ * @param signature - The cryptographic signature for the transaction
30364
+ * @returns Promise resolving to the transaction hash
30365
+ */
30366
+ private submitAddAndTrustServerTransaction;
28396
30367
  /**
28397
30368
  * Submits a trust server transaction directly to the blockchain.
28398
30369
  *
@@ -28417,6 +30388,398 @@ declare class PermissionsController {
28417
30388
  * @returns Promise resolving to the transaction hash
28418
30389
  */
28419
30390
  private submitSignedUntrustTransaction;
30391
+ /**
30392
+ * Registers a new grantee in the DataPortabilityGrantees contract.
30393
+ *
30394
+ * A grantee is an entity (like an application) that can receive data permissions
30395
+ * from users. Once registered, users can grant the grantee access to their data.
30396
+ *
30397
+ * @param params - Parameters for registering the grantee
30398
+ * @param params.owner - The Ethereum address that will own this grantee registration
30399
+ * @param params.granteeAddress - The Ethereum address of the grantee (application)
30400
+ * @param params.publicKey - The public key used for data encryption/decryption (hex string)
30401
+ * @returns Promise resolving to the transaction hash
30402
+ * @throws {BlockchainError} When the grantee registration transaction fails
30403
+ * @throws {UserRejectedRequestError} When user rejects the transaction
30404
+ * @throws {ContractError} When grantee is already registered
30405
+ *
30406
+ * @example
30407
+ * ```typescript
30408
+ * const txHash = await vana.permissions.registerGrantee({
30409
+ * owner: "0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36",
30410
+ * granteeAddress: "0xApp1234567890123456789012345678901234567890",
30411
+ * publicKey: "0x1234567890abcdef..."
30412
+ * });
30413
+ * console.log(`Grantee registered in transaction: ${txHash}`);
30414
+ * ```
30415
+ */
30416
+ submitRegisterGrantee(params: RegisterGranteeParams): Promise<Hash>;
30417
+ /**
30418
+ * Registers a grantee with a signature (gasless transaction)
30419
+ *
30420
+ * @param params - Parameters for registering the grantee
30421
+ * @returns Promise resolving to the transaction hash
30422
+ *
30423
+ * @example
30424
+ * ```typescript
30425
+ * const txHash = await vana.permissions.registerGranteeWithSignature({
30426
+ * owner: "0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36",
30427
+ * granteeAddress: "0xApp1234567890123456789012345678901234567890",
30428
+ * publicKey: "0x1234567890abcdef..."
30429
+ * });
30430
+ * ```
30431
+ */
30432
+ submitRegisterGranteeWithSignature(params: RegisterGranteeParams): Promise<Hash>;
30433
+ /**
30434
+ * Submits a signed register grantee transaction via relayer
30435
+ *
30436
+ * @param typedData - The EIP-712 typed data for register grantee
30437
+ * @param signature - The cryptographic signature
30438
+ * @returns Promise resolving to the transaction hash
30439
+ *
30440
+ * @example
30441
+ * ```typescript
30442
+ * const result = await vana.permissions.submitSignedRegisterGrantee(typedData, signature);
30443
+ * ```
30444
+ */
30445
+ submitSignedRegisterGrantee(typedData: RegisterGranteeTypedData, signature: Hash): Promise<Hash>;
30446
+ /**
30447
+ * Retrieves all registered grantees from the DataPortabilityGrantees contract.
30448
+ *
30449
+ * Returns a paginated list of all grantees (applications) that have been registered
30450
+ * in the system and can receive data permissions from users.
30451
+ *
30452
+ * @param options - Query options for pagination and filtering
30453
+ * @param options.limit - Maximum number of grantees to return (default: 50)
30454
+ * @param options.offset - Number of grantees to skip for pagination (default: 0)
30455
+ * @returns Promise resolving to paginated grantees with metadata
30456
+ * @throws {BlockchainError} When contract read operation fails
30457
+ * @throws {NetworkError} When unable to connect to the blockchain network
30458
+ *
30459
+ * @example
30460
+ * ```typescript
30461
+ * // Get first 10 grantees
30462
+ * const result = await vana.permissions.getGrantees({
30463
+ * limit: 10,
30464
+ * offset: 0
30465
+ * });
30466
+ *
30467
+ * console.log(`Found ${result.total} total grantees`);
30468
+ * result.grantees.forEach(grantee => {
30469
+ * console.log(`Grantee ${grantee.id}: ${grantee.granteeAddress}`);
30470
+ * });
30471
+ *
30472
+ * // Check if there are more results
30473
+ * if (result.hasMore) {
30474
+ * console.log('More grantees available');
30475
+ * }
30476
+ * ```
30477
+ */
30478
+ getGrantees(options?: GranteeQueryOptions): Promise<PaginatedGrantees>;
30479
+ /**
30480
+ * Retrieves a specific grantee by their Ethereum address from the DataPortabilityGrantees contract.
30481
+ *
30482
+ * Looks up a registered grantee (application) using their Ethereum address
30483
+ * and returns their complete registration information including permissions.
30484
+ *
30485
+ * @param granteeAddress - The Ethereum address of the grantee to look up
30486
+ * @returns Promise resolving to the grantee information, or null if not found
30487
+ * @throws {BlockchainError} When contract read operation fails
30488
+ * @throws {NetworkError} When unable to connect to the blockchain network
30489
+ *
30490
+ * @example
30491
+ * ```typescript
30492
+ * const granteeAddress = "0xApp1234567890123456789012345678901234567890";
30493
+ * const grantee = await vana.permissions.getGranteeByAddress(granteeAddress);
30494
+ *
30495
+ * if (grantee) {
30496
+ * console.log(`Found grantee ${grantee.id}`);
30497
+ * console.log(`Owner: ${grantee.owner}`);
30498
+ * console.log(`Public Key: ${grantee.publicKey}`);
30499
+ * console.log(`Permissions: ${grantee.permissionIds.join(', ')}`);
30500
+ * } else {
30501
+ * console.log('Grantee not found');
30502
+ * }
30503
+ * ```
30504
+ */
30505
+ getGranteeByAddress(granteeAddress: Address): Promise<Grantee | null>;
30506
+ /**
30507
+ * Retrieves a specific grantee by their unique ID from the DataPortabilityGrantees contract.
30508
+ *
30509
+ * Looks up a registered grantee (application) using their numeric ID assigned during
30510
+ * registration and returns their complete information including permissions.
30511
+ *
30512
+ * @param granteeId - The unique numeric ID of the grantee (1-indexed)
30513
+ * @returns Promise resolving to the grantee information, or null if not found
30514
+ * @throws {BlockchainError} When contract read operation fails
30515
+ * @throws {NetworkError} When unable to connect to the blockchain network
30516
+ *
30517
+ * @example
30518
+ * ```typescript
30519
+ * const grantee = await vana.permissions.getGranteeById(1);
30520
+ *
30521
+ * if (grantee) {
30522
+ * console.log(`Grantee ID: ${grantee.id}`);
30523
+ * console.log(`Address: ${grantee.granteeAddress}`);
30524
+ * console.log(`Owner: ${grantee.owner}`);
30525
+ * console.log(`Total permissions: ${grantee.permissionIds.length}`);
30526
+ * } else {
30527
+ * console.log('Grantee with ID 1 not found');
30528
+ * }
30529
+ * ```
30530
+ */
30531
+ getGranteeById(granteeId: number): Promise<Grantee | null>;
30532
+ /**
30533
+ * Builds EIP-712 typed data for grantee registration
30534
+ *
30535
+ * @param input - The register grantee input
30536
+ * @returns Promise resolving to the typed data structure
30537
+ * @private
30538
+ */
30539
+ private buildRegisterGranteeTypedData;
30540
+ /**
30541
+ * Submits a register grantee transaction with signature.
30542
+ *
30543
+ * @param typedData - The EIP-712 typed data structure for the registration
30544
+ * @param _signature - The cryptographic signature authorizing the registration (currently unused)
30545
+ * @returns Promise resolving to the transaction hash
30546
+ * @private
30547
+ */
30548
+ private submitSignedRegisterGranteeTransaction;
30549
+ /**
30550
+ * Get all trusted server IDs for a user
30551
+ *
30552
+ * @param userAddress - User address to query (defaults to current user)
30553
+ * @returns Promise resolving to array of server IDs
30554
+ */
30555
+ getUserServerIds(userAddress?: Address): Promise<bigint[]>;
30556
+ /**
30557
+ * Get server ID at specific index for a user
30558
+ *
30559
+ * @param userAddress - User address to query
30560
+ * @param serverIndex - Index in the user's server list
30561
+ * @returns Promise resolving to server ID
30562
+ */
30563
+ getUserServerIdAt(userAddress: Address, serverIndex: bigint): Promise<bigint>;
30564
+ /**
30565
+ * Get the number of trusted servers for a user
30566
+ *
30567
+ * @param userAddress - User address to query (defaults to current user)
30568
+ * @returns Promise resolving to number of trusted servers
30569
+ */
30570
+ getUserServerCount(userAddress?: Address): Promise<bigint>;
30571
+ /**
30572
+ * Get detailed information about trusted servers for a user
30573
+ *
30574
+ * @param userAddress - User address to query (defaults to current user)
30575
+ * @returns Promise resolving to array of trusted server info
30576
+ */
30577
+ getUserTrustedServers(userAddress?: Address): Promise<TrustedServerInfo[]>;
30578
+ /**
30579
+ * Get trusted server info for a specific server ID and user
30580
+ *
30581
+ * @param userAddress - User address to query
30582
+ * @param serverId - Server ID to get info for
30583
+ * @returns Promise resolving to trusted server info
30584
+ */
30585
+ getUserTrustedServer(userAddress: Address, serverId: bigint): Promise<TrustedServerInfo>;
30586
+ /**
30587
+ * Get server information by server ID
30588
+ *
30589
+ * @param serverId - Server ID to get info for
30590
+ * @returns Promise resolving to server info
30591
+ */
30592
+ getServerInfo(serverId: bigint): Promise<ServerInfo>;
30593
+ /**
30594
+ * Get server information by server address
30595
+ *
30596
+ * @param serverAddress - Server address to get info for
30597
+ * @returns Promise resolving to server info
30598
+ */
30599
+ getServerInfoByAddress(serverAddress: Address): Promise<ServerInfo>;
30600
+ /**
30601
+ * Get all permission IDs for a user
30602
+ *
30603
+ * @param userAddress - User address to query (defaults to current user)
30604
+ * @returns Promise resolving to array of permission IDs
30605
+ */
30606
+ getUserPermissionIds(userAddress?: Address): Promise<bigint[]>;
30607
+ /**
30608
+ * Get permission ID at specific index for a user
30609
+ *
30610
+ * @param userAddress - User address to query
30611
+ * @param permissionIndex - Index in the user's permission list
30612
+ * @returns Promise resolving to permission ID
30613
+ */
30614
+ getUserPermissionIdAt(userAddress: Address, permissionIndex: bigint): Promise<bigint>;
30615
+ /**
30616
+ * Get the number of permissions for a user
30617
+ *
30618
+ * @param userAddress - User address to query (defaults to current user)
30619
+ * @returns Promise resolving to number of permissions
30620
+ */
30621
+ getUserPermissionCount(userAddress?: Address): Promise<bigint>;
30622
+ /**
30623
+ * Get detailed permission information by permission ID
30624
+ *
30625
+ * @param permissionId - Permission ID to get info for
30626
+ * @returns Promise resolving to permission info
30627
+ */
30628
+ getPermissionInfo(permissionId: bigint): Promise<PermissionInfo>;
30629
+ /**
30630
+ * Get all permission IDs for a specific file
30631
+ *
30632
+ * @param fileId - File ID to get permissions for
30633
+ * @returns Promise resolving to array of permission IDs
30634
+ */
30635
+ getFilePermissionIds(fileId: bigint): Promise<bigint[]>;
30636
+ /**
30637
+ * Get all file IDs for a specific permission
30638
+ *
30639
+ * @param permissionId - Permission ID to get files for
30640
+ * @returns Promise resolving to array of file IDs
30641
+ */
30642
+ getPermissionFileIds(permissionId: bigint): Promise<bigint[]>;
30643
+ /**
30644
+ * Get all permissions for a specific file (alias for getFilePermissionIds)
30645
+ *
30646
+ * @param fileId - File ID to get permissions for
30647
+ * @returns Promise resolving to array of permission IDs
30648
+ */
30649
+ getFilePermissions(fileId: bigint): Promise<bigint[]>;
30650
+ /**
30651
+ * Get grantee information by grantee ID
30652
+ *
30653
+ * @param granteeId - Grantee ID to get info for
30654
+ * @returns Promise resolving to grantee info
30655
+ */
30656
+ getGranteeInfo(granteeId: bigint): Promise<GranteeInfo>;
30657
+ /**
30658
+ * Get grantee information by grantee address
30659
+ *
30660
+ * @param granteeAddress - Grantee address to get info for
30661
+ * @returns Promise resolving to grantee info
30662
+ */
30663
+ getGranteeInfoByAddress(granteeAddress: Address): Promise<GranteeInfo>;
30664
+ /**
30665
+ * Get all permission IDs for a specific grantee
30666
+ *
30667
+ * @param granteeId - Grantee ID to get permissions for
30668
+ * @returns Promise resolving to array of permission IDs
30669
+ */
30670
+ getGranteePermissionIds(granteeId: bigint): Promise<bigint[]>;
30671
+ /**
30672
+ * Get all permissions for a specific grantee (alias for getGranteePermissionIds)
30673
+ *
30674
+ * @param granteeId - Grantee ID to get permissions for
30675
+ * @returns Promise resolving to array of permission IDs
30676
+ */
30677
+ getGranteePermissions(granteeId: bigint): Promise<bigint[]>;
30678
+ /**
30679
+ * Get all server IDs for a user
30680
+ *
30681
+ * @param userAddress - User address to get server IDs for
30682
+ * @returns Promise resolving to array of server IDs
30683
+ */
30684
+ getUserServerIdsValues(userAddress: Address): Promise<bigint[]>;
30685
+ /**
30686
+ * Get server ID at specific index for a user
30687
+ *
30688
+ * @param userAddress - User address
30689
+ * @param serverIndex - Index of the server ID
30690
+ * @returns Promise resolving to server ID
30691
+ */
30692
+ getUserServerIdsAt(userAddress: Address, serverIndex: bigint): Promise<bigint>;
30693
+ /**
30694
+ * Get the number of servers a user has
30695
+ *
30696
+ * @param userAddress - User address
30697
+ * @returns Promise resolving to number of servers
30698
+ */
30699
+ getUserServerIdsLength(userAddress: Address): Promise<bigint>;
30700
+ /**
30701
+ * Get trusted server info for a specific user and server ID
30702
+ *
30703
+ * @param userAddress - User address
30704
+ * @param serverId - Server ID
30705
+ * @returns Promise resolving to trusted server info
30706
+ */
30707
+ getUserServers(userAddress: Address, serverId: bigint): Promise<TrustedServerInfo>;
30708
+ /**
30709
+ * Get server info by server ID
30710
+ *
30711
+ * @param serverId - Server ID
30712
+ * @returns Promise resolving to server info
30713
+ */
30714
+ getServers(serverId: bigint): Promise<ServerInfo>;
30715
+ /**
30716
+ * Get user info including nonce and trusted server IDs
30717
+ *
30718
+ * @param userAddress - User address
30719
+ * @returns Promise resolving to user info
30720
+ */
30721
+ getUsers(userAddress: Address): Promise<{
30722
+ nonce: bigint;
30723
+ trustedServerIds: bigint[];
30724
+ }>;
30725
+ /**
30726
+ * Update server URL
30727
+ *
30728
+ * @param serverId - Server ID to update
30729
+ * @param url - New URL for the server
30730
+ * @returns Promise resolving to transaction hash
30731
+ */
30732
+ submitUpdateServer(serverId: bigint, url: string): Promise<Hash>;
30733
+ /**
30734
+ * Get all permission IDs for a user
30735
+ *
30736
+ * @param userAddress - User address to get permission IDs for
30737
+ * @returns Promise resolving to array of permission IDs
30738
+ */
30739
+ getUserPermissionIdsValues(userAddress: Address): Promise<bigint[]>;
30740
+ /**
30741
+ * Get permission ID at specific index for a user
30742
+ *
30743
+ * @param userAddress - User address
30744
+ * @param permissionIndex - Index of the permission ID
30745
+ * @returns Promise resolving to permission ID
30746
+ */
30747
+ getUserPermissionIdsAt(userAddress: Address, permissionIndex: bigint): Promise<bigint>;
30748
+ /**
30749
+ * Get the number of permissions a user has
30750
+ *
30751
+ * @param userAddress - User address
30752
+ * @returns Promise resolving to number of permissions
30753
+ */
30754
+ getUserPermissionIdsLength(userAddress: Address): Promise<bigint>;
30755
+ /**
30756
+ * Get permission info by permission ID
30757
+ *
30758
+ * @param permissionId - Permission ID
30759
+ * @returns Promise resolving to permission info
30760
+ */
30761
+ getPermissions(permissionId: bigint): Promise<PermissionInfo>;
30762
+ /**
30763
+ * Submit permission with signature to the blockchain
30764
+ *
30765
+ * @param params - Parameters for adding permission
30766
+ * @returns Promise resolving to transaction hash
30767
+ */
30768
+ submitAddPermission(params: ServerFilesAndPermissionParams): Promise<Hash>;
30769
+ /**
30770
+ * Submit server files and permissions with signature to the blockchain
30771
+ *
30772
+ * @param params - Parameters for adding server files and permissions
30773
+ * @returns Promise resolving to transaction hash
30774
+ */
30775
+ submitAddServerFilesAndPermissions(params: ServerFilesAndPermissionParams): Promise<Hash>;
30776
+ /**
30777
+ * Submit permission revocation with signature to the blockchain
30778
+ *
30779
+ * @param permissionId - Permission ID to revoke
30780
+ * @returns Promise resolving to transaction hash
30781
+ */
30782
+ submitRevokePermission(permissionId: bigint): Promise<Hash>;
28420
30783
  }
28421
30784
 
28422
30785
  /**
@@ -31446,6 +33809,7 @@ declare class DataController {
31446
33809
  * Gets the user's address from the wallet client.
31447
33810
  *
31448
33811
  * @returns Promise resolving to the user's wallet address
33812
+ * @throws {Error} When no addresses are available in wallet client
31449
33813
  */
31450
33814
  private getUserAddress;
31451
33815
  /**
@@ -31455,6 +33819,10 @@ declare class DataController {
31455
33819
  * @param ownerAddress - The address of the file owner
31456
33820
  * @param permissions - Array of permissions to set for the file
31457
33821
  * @returns Promise resolving to file ID and transaction hash
33822
+ * @throws {Error} When chain ID is not available
33823
+ * @throws {ContractError} When contract execution fails
33824
+ * @throws {Error} When transaction receipt is not available
33825
+ * @throws {Error} When FileAdded event cannot be parsed
31458
33826
  *
31459
33827
  * This method handles the core logic of registering a file
31460
33828
  * with specific permissions on the DataRegistry contract. It can be used
@@ -31476,6 +33844,10 @@ declare class DataController {
31476
33844
  * @param permissions - Array of permissions to grant (account and encrypted key)
31477
33845
  * @param schemaId - The schema ID to associate with the file (0 for no schema)
31478
33846
  * @returns Promise resolving to object with fileId and transactionHash
33847
+ * @throws {Error} When chain ID is not available
33848
+ * @throws {ContractError} When contract execution fails
33849
+ * @throws {Error} When transaction receipt is not available
33850
+ * @throws {Error} When FileAdded event cannot be parsed
31479
33851
  */
31480
33852
  addFileWithPermissionsAndSchema(url: string, ownerAddress: Address, permissions?: Array<{
31481
33853
  account: Address;
@@ -31868,8 +34240,8 @@ declare class DataController {
31868
34240
  */
31869
34241
  declare class ServerController {
31870
34242
  private readonly context;
31871
- readonly PERSONAL_SERVER_BASE_URL: string | undefined;
31872
34243
  constructor(context: ControllerContext$1);
34244
+ private get personalServerBaseUrl();
31873
34245
  /**
31874
34246
  * Retrieves the cryptographic identity of a personal server.
31875
34247
  *
@@ -32340,6 +34712,7 @@ declare class VanaCore {
32340
34712
  private readonly storageManager?;
32341
34713
  private readonly hasRequiredStorage;
32342
34714
  private readonly ipfsGateways?;
34715
+ private readonly defaultPersonalServerUrl?;
32343
34716
  /**
32344
34717
  * Initializes a new VanaCore client instance with the provided configuration.
32345
34718
  *
@@ -34331,4 +36704,4 @@ declare function Vana(config: VanaConfig): VanaBrowserImpl;
34331
36704
  */
34332
36705
  type VanaInstance = VanaBrowserImpl;
34333
36706
 
34334
- export { type $defs, type APIResponse, type AddRefinerParams, type AddRefinerResult, type AddSchemaParams, type AddSchemaResult, type AllKeys, ApiClient, type ApiClientConfig, type ApiResponse, AsyncQueue, type AsyncResult, type AuthenticationErrorResponse, type Awaited, type BaseConfig, type BaseConfigWithStorage, BaseController, type BatchServerInfoResult, type BatchUploadParams, type BatchUploadResult, type BlockRange, BlockchainError, type BlockchainErrorResponse, type Brand, BrowserPlatformAdapter, type Cache, type CacheConfig, CallbackStorage, type ChainConfig, type ChainConfigWithStorage, type CheckPermissionParams, CircuitBreaker, type ComputeErrorResponse, type ConditionalOptional, type ConfigValidationOptions, type ConfigValidationResult, type ContractAddresses, type ContractCall, type ContractDeployment, ContractFactory, type ContractInfo, type ContractMethodParams, type ContractMethodReturnType, ContractNotFoundError, type Controller, type ControllerContext, type CreateOperationParams, type CreateOperationRequest, type CreateOperationResponse, type CreateSchemaParams, type CreateSchemaResult, DEFAULT_ENCRYPTION_SEED, DEFAULT_IPFS_GATEWAY, DataController, type DataSchema, type DecryptionErrorResponse, type DeepPartial, type DeepReadonly, type DeleteFileParams, type DeleteFileResult, type DownloadFileParams, type DownloadFileResult, type EncryptedUploadParams, type EncryptionInfo, type ErrorResponse, EventEmitter, type EventFilter, type EventLog, type Factory, type FileAccessErrorResponse, type FileAccessPermissions, type FileMetadata, type FilePermissionParams, type FileSharingConfig, type GasEstimate, type GenericRequest, type GenericResponse, type GenericTypedData, type GetFileParams, type GetOperationResponse, type GetUserFilesParams, type GetUserPermissionsOptions, type GetUserTrustedServersParams, type GetUserTrustedServersResult, GoogleDriveStorage, GrantExpiredError, type GrantFile, type GrantPermissionParams, GrantSchemaError, GrantValidationError, type GrantValidationErrorResponse, type GrantValidationOptions, type GrantValidationResult, type GrantedPermission, GranteeMismatchError, type HttpMethod, IPFS_GATEWAYS, type IdentityResponseModel, type InitPersonalServerParams, type InternalServerErrorResponse, InvalidConfigurationError, IpfsStorage, type LegacyPermissionParams, type MaybeArray, type MaybePromise, MemoryCache, type Middleware, MiddlewarePipeline, NetworkError, type NetworkInfo, type Nominal, type NonNullable, NonceError, type NotFoundErrorResponse, type Observable, type Observer, type OmitByType, type OnChainPermissionGrant, type OperationErrorResponse, OperationNotAllowedError, type OptionalKeys, type PaginatedTrustedServers, type PaginationParams, type PaginationResult, type PartialExcept, type PermissionAnalytics, type PermissionCheckResult, PermissionError, type PermissionEvent, type PermissionGrantDomain, type PermissionGrantMessage, type PermissionGrantTypedData, type PermissionInfo, type PermissionInputMessage, type PermissionOperation, type PermissionQueryResult, type PermissionStatus, PermissionsController, PersonalServerError, type PersonalServerIdentity, type PersonalServerModel, type PickByType, type PinataListResponse, type PinataPin, PinataStorage, type PinataUploadResponse, type Plugin, type PostRequestParams, type PromiseResult, ProtocolController, type QueryPermissionsParams, type RateLimitInfo, RateLimiter, type RateLimiterConfig, type Refiner, type RelayerCallbacks, type RelayerConfig, RelayerError, type RelayerErrorResponse, type RelayerMetrics, type RelayerQueueInfo, type RelayerRequestOptions, type RelayerStatus, type RelayerStorageResponse, type RelayerStoreParams, type RelayerSubmitParams, type RelayerTransactionResponse, type RelayerTransactionStatus, type RelayerWebhookConfig, type RelayerWebhookPayload, type ReplicateAPIResponse, type ReplicateStatus, type Repository, type RequestOptions, type RequireKeys, type RequiredExcept, type RetryConfig, RetryUtility, type RevokePermissionInput, type RevokePermissionParams, type RuntimeConfig, type Schema, SchemaValidationError, SchemaValidator, SerializationError, type Server, type components as ServerComponents, ServerController, type $defs as ServerDefs, type operations as ServerOperations, type paths as ServerPaths, type ServerTrustStatus, ServerUrlMismatchError, type webhooks as ServerWebhooks, type Service, SignatureCache, SignatureError, type SimplifiedPermissionMessage, type StateMachine, type StatusInfo, type StorageCallbacks, type StorageConfig, type StorageDownloadOptions, StorageError, type StorageFile, type StorageListOptions, type StorageListResult, StorageManager, type StorageProvider, type StorageProviderConfig, type StorageRequiredMarker, type StorageUploadResult, type TimeRange, type TransactionOptions, type TransactionReceipt, type Transformer, type TrustServerInput, type TrustServerParams, type TrustServerTypedData, type TrustedServer, type TrustedServerInfo, type TrustedServerQueryMode, type TrustedServerQueryOptions, type UnencryptedUploadParams, type UntrustServerInput, type UntrustServerParams, type UntrustServerTypedData, type UpdateSchemaIdParams, type UpdateSchemaIdResult, type UploadEncryptedFileResult, type UploadFileParams, type UploadFileResult, type UploadParams, type UploadProgress, type UploadResult, type UserFile, UserRejectedRequestError, type ValidationErrorResponse, type ValidationResult, type Validator, Vana, VanaBrowserImpl, type VanaChain, type VanaChainConfig, type VanaChainId, type VanaConfig, type VanaConfigWithStorage, type VanaContract, type VanaContract as VanaContractAbi, type VanaContractInstance, type VanaContractName, VanaCore, VanaCoreFactory, VanaError, type VanaInstance, type VanaPlatformAdapter, type WalletConfig, type WalletConfigWithStorage, __contractCache, chains, checkGrantAccess, clearContractCache, type components, convertIpfsUrl, convertIpfsUrlWithFallbacks, createAndStoreGrant, createBrowserPlatformAdapter, createGrantFile, createPlatformAdapterSafe, createValidatedGrant, decryptBlobWithSignedKey, decryptWithPrivateKey, decryptWithWalletPrivateKey, Vana as default, detectPlatform, encryptBlobWithSignedKey, encryptFileKey, encryptWithWalletPublicKey, extractIpfsHash, fetchAndValidateSchema, fetchWithFallbacks, formatEth, formatNumber, formatToken, generateEncryptionKey, generateEncryptionKeyPair, generatePGPKeyPair, getAbi, getAllChains, getChainConfig, getContractAddress, getContractController, getContractInfo, getEncryptionParameters, getGatewayUrls, getGrantFileHash, getGrantTimeRemaining, getPlatformCapabilities, hasStorageConfig, isAPIResponse, isChainConfig, isGrantExpired, isIpfsUrl, isPlatformSupported, isReplicateAPIResponse, isVanaChain, isVanaChainId, isWalletConfig, moksha, mokshaTestnet, type operations, parseReplicateOutput, type paths, retrieveAndValidateGrant, retrieveGrantFile, safeParseJSON, schemaValidator, shortenAddress, storeGrantFile, summarizeGrant, validateDataAgainstSchema, validateDataSchema, validateGrant, validateGrantExpiry, validateGrantFile, validateGranteeAccess, validateOperationAccess, vanaMainnet, type webhooks, withSignatureCache };
36707
+ export { type $defs, type APIResponse, type AddAndTrustServerInput, type AddAndTrustServerParams, type AddAndTrustServerTypedData, type AddRefinerParams, type AddRefinerResult, type AddSchemaParams, type AddSchemaResult, type AllKeys, ApiClient, type ApiClientConfig, type ApiResponse, AsyncQueue, type AsyncResult, type AuthenticationErrorResponse, type Awaited, type BaseConfig, type BaseConfigWithStorage, BaseController, type BatchServerInfoResult, type BatchUploadParams, type BatchUploadResult, type BlockRange, BlockchainError, type BlockchainErrorResponse, type Brand, BrowserPlatformAdapter, type Cache, type CacheConfig, CallbackStorage, type ChainConfig, type ChainConfigWithStorage, type CheckPermissionParams, CircuitBreaker, type ComputeErrorResponse, type ConditionalOptional, type ConfigValidationOptions, type ConfigValidationResult, type ContractAddresses, type ContractCall, type ContractDeployment, ContractFactory, type ContractInfo, type ContractMethodParams, type ContractMethodReturnType, ContractNotFoundError, type Controller, type ControllerContext, type CreateOperationParams, type CreateOperationRequest, type CreateOperationResponse, type CreateSchemaParams, type CreateSchemaResult, DEFAULT_ENCRYPTION_SEED, DEFAULT_IPFS_GATEWAY, DataController, type DataSchema, type DecryptionErrorResponse, type DeepPartial, type DeepReadonly, type DeleteFileParams, type DeleteFileResult, type DownloadFileParams, type DownloadFileResult, type EncryptedUploadParams, type EncryptionInfo, type ErrorResponse, EventEmitter, type EventFilter, type EventLog, type Factory, type FileAccessErrorResponse, type FileAccessPermissions, type FileMetadata, type FilePermissionParams, type FileSharingConfig, type GasEstimate, type GenericRequest, type GenericResponse, type GenericTypedData, type GetFileParams, type GetOperationResponse, type GetUserFilesParams, type GetUserPermissionsOptions, type GetUserTrustedServersParams, type GetUserTrustedServersResult, GoogleDriveStorage, GrantExpiredError, type GrantFile, type GrantPermissionParams, GrantSchemaError, GrantValidationError, type GrantValidationErrorResponse, type GrantValidationOptions, type GrantValidationResult, type GrantedPermission, type Grantee, type GranteeInfo, GranteeMismatchError, type GranteeQueryOptions, type HttpMethod, IPFS_GATEWAYS, type IdentityResponseModel, type InitPersonalServerParams, type InternalServerErrorResponse, InvalidConfigurationError, IpfsStorage, type LegacyPermissionParams, type MaybeArray, type MaybePromise, MemoryCache, type Middleware, MiddlewarePipeline, NetworkError, type NetworkInfo, type Nominal, type NonNullable, NonceError, type NotFoundErrorResponse, type Observable, type Observer, type OmitByType, type OnChainPermissionGrant, type OperationErrorResponse, OperationNotAllowedError, type OptionalKeys, type PaginatedGrantees, type PaginatedTrustedServers, type PaginationParams, type PaginationResult, type PartialExcept, type Permission, type PermissionAnalytics, type PermissionCheckResult, PermissionError, type PermissionEvent, type PermissionGrantDomain, type PermissionGrantMessage, type PermissionGrantTypedData, type PermissionInfo, type PermissionInputMessage, type PermissionOperation, type PermissionQueryResult, type PermissionStatus, PermissionsController, PersonalServerError, type PersonalServerIdentity, type PersonalServerModel, type PickByType, type PinataListResponse, type PinataPin, PinataStorage, type PinataUploadResponse, type Plugin, type PostRequestParams, type PromiseResult, ProtocolController, type QueryPermissionsParams, type RateLimitInfo, RateLimiter, type RateLimiterConfig, type Refiner, type RegisterGranteeInput, type RegisterGranteeParams, type RegisterGranteeTypedData, type RelayerCallbacks, type RelayerConfig, RelayerError, type RelayerErrorResponse, type RelayerMetrics, type RelayerQueueInfo, type RelayerRequestOptions, type RelayerStatus, type RelayerStorageResponse, type RelayerStoreParams, type RelayerSubmitParams, type RelayerTransactionResponse, type RelayerTransactionStatus, type RelayerWebhookConfig, type RelayerWebhookPayload, type ReplicateAPIResponse, type ReplicateStatus, type Repository, type RequestOptions, type RequireKeys, type RequiredExcept, type RetryConfig, RetryUtility, type RevokePermissionInput, type RevokePermissionParams, type RuntimeConfig, type Schema, SchemaValidationError, SchemaValidator, SerializationError, type Server, type components as ServerComponents, ServerController, type $defs as ServerDefs, type ServerFilesAndPermissionParams, type ServerFilesAndPermissionTypedData, type ServerInfo, type operations as ServerOperations, type paths as ServerPaths, type ServerTrustStatus, ServerUrlMismatchError, type webhooks as ServerWebhooks, type Service, SignatureCache, SignatureError, type SimplifiedPermissionMessage, type StateMachine, type StatusInfo, type StorageCallbacks, type StorageConfig, type StorageDownloadOptions, StorageError, type StorageFile, type StorageListOptions, type StorageListResult, StorageManager, type StorageProvider, type StorageProviderConfig, type StorageRequiredMarker, type StorageUploadResult, type TimeRange, type TransactionOptions, type TransactionReceipt, type Transformer, type TrustServerInput, type TrustServerParams, type TrustServerTypedData, type TrustedServer, type TrustedServerInfo, type TrustedServerQueryMode, type TrustedServerQueryOptions, type UnencryptedUploadParams, type UntrustServerInput, type UntrustServerParams, type UntrustServerTypedData, type UpdateSchemaIdParams, type UpdateSchemaIdResult, type UploadEncryptedFileResult, type UploadFileParams, type UploadFileResult, type UploadParams, type UploadProgress, type UploadResult, type UserFile, UserRejectedRequestError, type ValidationErrorResponse, type ValidationResult, type Validator, Vana, VanaBrowserImpl, type VanaChain, type VanaChainConfig, type VanaChainId, type VanaConfig, type VanaConfigWithStorage, type VanaContract, type VanaContract as VanaContractAbi, type VanaContractInstance, type VanaContractName, VanaCore, VanaCoreFactory, VanaError, type VanaInstance, type VanaPlatformAdapter, type WalletConfig, type WalletConfigWithStorage, __contractCache, chains, checkGrantAccess, clearContractCache, type components, convertIpfsUrl, convertIpfsUrlWithFallbacks, createAndStoreGrant, createBrowserPlatformAdapter, createGrantFile, createPlatformAdapterSafe, createValidatedGrant, decryptBlobWithSignedKey, decryptWithPrivateKey, decryptWithWalletPrivateKey, Vana as default, detectPlatform, encryptBlobWithSignedKey, encryptFileKey, encryptWithWalletPublicKey, extractIpfsHash, fetchAndValidateSchema, fetchWithFallbacks, formatEth, formatNumber, formatToken, generateEncryptionKey, generateEncryptionKeyPair, generatePGPKeyPair, getAbi, getAllChains, getChainConfig, getContractAddress, getContractController, getContractInfo, getEncryptionParameters, getGatewayUrls, getGrantFileHash, getGrantTimeRemaining, getPlatformCapabilities, hasStorageConfig, isAPIResponse, isChainConfig, isGrantExpired, isIpfsUrl, isPlatformSupported, isReplicateAPIResponse, isVanaChain, isVanaChainId, isWalletConfig, moksha, mokshaTestnet, type operations, parseReplicateOutput, type paths, retrieveAndValidateGrant, retrieveGrantFile, safeParseJSON, schemaValidator, shortenAddress, storeGrantFile, summarizeGrant, validateDataAgainstSchema, validateDataSchema, validateGrant, validateGrantExpiry, validateGrantFile, validateGranteeAccess, validateOperationAccess, vanaMainnet, type webhooks, withSignatureCache };