@opendatalabs/vana-sdk 0.1.0-alpha.ee24d86 → 0.1.0-alpha.f0290d0

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.
@@ -392,8 +392,8 @@ interface PermissionInfo {
392
392
  granteeId: bigint;
393
393
  /** Grant URL */
394
394
  grant: string;
395
- /** Signature bytes */
396
- signature: `0x${string}`;
395
+ /** Signature bytes (removed in newer contract versions) */
396
+ signature?: `0x${string}`;
397
397
  /** Start block */
398
398
  startBlock: bigint;
399
399
  /** End block */
@@ -612,13 +612,28 @@ interface Server {
612
612
  publicKey: string;
613
613
  }
614
614
  /**
615
- * Parameters for adding and trusting a server
615
+ * Contract ServerInfo structure returned from the contract
616
616
  *
617
617
  * @category Permissions
618
618
  */
619
- interface AddAndTrustServerParams {
619
+ interface ServerInfo {
620
+ /** Server ID */
621
+ id: bigint;
620
622
  /** Server owner address */
621
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 {
622
637
  /** Server address */
623
638
  serverAddress: Address;
624
639
  /** Server URL */
@@ -653,8 +668,6 @@ interface UntrustServerParams {
653
668
  interface AddAndTrustServerInput {
654
669
  /** User nonce */
655
670
  nonce: bigint;
656
- /** Server owner address */
657
- owner: Address;
658
671
  /** Server address */
659
672
  serverAddress: Address;
660
673
  /** Server URL */
@@ -695,13 +708,13 @@ interface AddAndTrustServerTypedData {
695
708
  domain: PermissionGrantDomain;
696
709
  /** EIP-712 types */
697
710
  types: {
698
- AddAndTrustServer: Array<{
711
+ AddServer: Array<{
699
712
  name: string;
700
713
  type: string;
701
714
  }>;
702
715
  };
703
716
  /** Primary type */
704
- primaryType: "AddAndTrustServer";
717
+ primaryType: "AddServer";
705
718
  /** Message to sign */
706
719
  message: AddAndTrustServerInput;
707
720
  }
@@ -769,20 +782,20 @@ interface PermissionEvent {
769
782
  * @category Permissions
770
783
  */
771
784
  interface TrustedServerInfo {
772
- /** Server ID (numeric) */
773
- serverId: number;
785
+ /** Server ID */
786
+ id: bigint;
774
787
  /** Server owner address */
775
788
  owner: Address;
776
- /** Server URL */
777
- url: string;
778
789
  /** Server address */
779
790
  serverAddress: Address;
780
791
  /** Server public key */
781
792
  publicKey: string;
782
- /** Whether this server is trusted by the user */
783
- isTrusted: boolean;
784
- /** Index in user's trusted server list (if trusted) */
785
- trustIndex?: number;
793
+ /** Server URL */
794
+ url: string;
795
+ /** Start block when trust relationship began */
796
+ startBlock: bigint;
797
+ /** End block when trust relationship ended (0 if still active) */
798
+ endBlock: bigint;
786
799
  }
787
800
  /**
788
801
  * Paginated result for trusted server queries
@@ -857,6 +870,21 @@ interface Grantee {
857
870
  /** Permission IDs associated with this grantee */
858
871
  permissionIds: number[];
859
872
  }
873
+ /**
874
+ * Contract GranteeInfo structure returned from the contract
875
+ *
876
+ * @category Permissions
877
+ */
878
+ interface GranteeInfo {
879
+ /** Grantee owner address */
880
+ owner: Address;
881
+ /** Grantee address */
882
+ granteeAddress: Address;
883
+ /** Grantee public key */
884
+ publicKey: string;
885
+ /** Permission IDs associated with this grantee */
886
+ permissionIds: readonly bigint[];
887
+ }
860
888
  /**
861
889
  * Parameters for registering a grantee
862
890
  *
@@ -935,6 +963,64 @@ interface PaginatedGrantees {
935
963
  /** Whether there are more grantees beyond this page */
936
964
  hasMore: boolean;
937
965
  }
966
+ /**
967
+ * Contract Permission structure as used in ServerFilesAndPermissionInput
968
+ *
969
+ * @category Permissions
970
+ */
971
+ interface Permission {
972
+ /** Account address for the permission */
973
+ account: Address;
974
+ /** Permission key */
975
+ key: string;
976
+ }
977
+ /**
978
+ * Parameters for server files and permissions operations
979
+ *
980
+ * @category Permissions
981
+ */
982
+ interface ServerFilesAndPermissionParams {
983
+ /** Grantee ID */
984
+ granteeId: bigint;
985
+ /** Grant URL or grant data */
986
+ grant: string;
987
+ /** File URLs */
988
+ fileUrls: string[];
989
+ /** Server address */
990
+ serverAddress: Address;
991
+ /** Server URL */
992
+ serverUrl: string;
993
+ /** Server public key */
994
+ serverPublicKey: string;
995
+ /** File permissions array - permissions for each file */
996
+ filePermissions: Permission[][];
997
+ }
998
+ /**
999
+ * EIP-712 typed data for server files and permissions messages
1000
+ *
1001
+ * @category Permissions
1002
+ */
1003
+ interface ServerFilesAndPermissionTypedData extends GenericTypedData {
1004
+ /** Message data structure */
1005
+ message: {
1006
+ /** User nonce */
1007
+ nonce: bigint;
1008
+ /** Grantee ID */
1009
+ granteeId: bigint;
1010
+ /** Grant URL */
1011
+ grant: string;
1012
+ /** File URLs */
1013
+ fileUrls: string[];
1014
+ /** Server address */
1015
+ serverAddress: Address;
1016
+ /** Server URL */
1017
+ serverUrl: string;
1018
+ /** Server public key */
1019
+ serverPublicKey: string;
1020
+ /** File permissions array - permissions for each file */
1021
+ filePermissions: Permission[][];
1022
+ };
1023
+ }
938
1024
 
939
1025
  /**
940
1026
  * Marker interface to indicate that a Vana instance has storage configured.
@@ -1045,6 +1131,14 @@ interface RelayerCallbacks {
1045
1131
  * @returns Promise resolving to the transaction hash
1046
1132
  */
1047
1133
  submitUntrustServer?: (typedData: UntrustServerTypedData, signature: Hash) => Promise<Hash>;
1134
+ /**
1135
+ * Submit a signed add and trust server transaction for relay
1136
+ *
1137
+ * @param typedData - The EIP-712 typed data that was signed
1138
+ * @param signature - The user's signature
1139
+ * @returns Promise resolving to the transaction hash
1140
+ */
1141
+ submitAddAndTrustServer?: (typedData: AddAndTrustServerTypedData, signature: Hash) => Promise<Hash>;
1048
1142
  /**
1049
1143
  * Submit a file addition for relay
1050
1144
  *
@@ -1284,6 +1378,13 @@ interface BaseConfig {
1284
1378
  * @example ['https://gateway.pinata.cloud', 'https://ipfs.io']
1285
1379
  */
1286
1380
  ipfsGateways?: string[];
1381
+ /**
1382
+ * Default personal server base URL for server operations.
1383
+ * Required for ServerController methods like getIdentity(), createOperation(), etc.
1384
+ *
1385
+ * @example 'https://my-personal-server.example.com'
1386
+ */
1387
+ defaultPersonalServerUrl?: string;
1287
1388
  }
1288
1389
  /**
1289
1390
  * Base configuration interface that requires storage for storage-dependent operations
@@ -1312,6 +1413,13 @@ interface BaseConfigWithStorage {
1312
1413
  * @example ['https://gateway.pinata.cloud', 'https://ipfs.io']
1313
1414
  */
1314
1415
  ipfsGateways?: string[];
1416
+ /**
1417
+ * Default personal server base URL for server operations.
1418
+ * Required for ServerController methods like getIdentity(), createOperation(), etc.
1419
+ *
1420
+ * @example 'https://my-personal-server.example.com'
1421
+ */
1422
+ defaultPersonalServerUrl?: string;
1315
1423
  }
1316
1424
  /**
1317
1425
  * Configuration with wallet client
@@ -1532,7 +1640,7 @@ interface ConfigValidationResult {
1532
1640
  /**
1533
1641
  * Union type of all canonical Vana contract names
1534
1642
  */
1535
- type VanaContractName = "DataPermissions" | "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";
1643
+ 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";
1536
1644
  /**
1537
1645
  * Contract information with typed address and ABI
1538
1646
  */
@@ -2228,7 +2336,7 @@ interface GetUserTrustedServersResult {
2228
2336
  }
2229
2337
 
2230
2338
  declare const contractAbis: {
2231
- readonly DataPermissions: readonly [{
2339
+ readonly DataPortabilityPermissions: readonly [{
2232
2340
  readonly inputs: readonly [];
2233
2341
  readonly stateMutability: "nonpayable";
2234
2342
  readonly type: "constructor";
@@ -2332,6 +2440,18 @@ declare const contractAbis: {
2332
2440
  }];
2333
2441
  readonly name: "InvalidNonce";
2334
2442
  readonly type: "error";
2443
+ }, {
2444
+ readonly inputs: readonly [{
2445
+ readonly internalType: "uint256";
2446
+ readonly name: "filesLength";
2447
+ readonly type: "uint256";
2448
+ }, {
2449
+ readonly internalType: "uint256";
2450
+ readonly name: "permissionsLength";
2451
+ readonly type: "uint256";
2452
+ }];
2453
+ readonly name: "InvalidPermissionsLength";
2454
+ readonly type: "error";
2335
2455
  }, {
2336
2456
  readonly inputs: readonly [];
2337
2457
  readonly name: "InvalidSignature";
@@ -2590,6 +2710,66 @@ declare const contractAbis: {
2590
2710
  }];
2591
2711
  readonly stateMutability: "nonpayable";
2592
2712
  readonly type: "function";
2713
+ }, {
2714
+ readonly inputs: readonly [{
2715
+ readonly components: readonly [{
2716
+ readonly internalType: "uint256";
2717
+ readonly name: "nonce";
2718
+ readonly type: "uint256";
2719
+ }, {
2720
+ readonly internalType: "uint256";
2721
+ readonly name: "granteeId";
2722
+ readonly type: "uint256";
2723
+ }, {
2724
+ readonly internalType: "string";
2725
+ readonly name: "grant";
2726
+ readonly type: "string";
2727
+ }, {
2728
+ readonly internalType: "string[]";
2729
+ readonly name: "fileUrls";
2730
+ readonly type: "string[]";
2731
+ }, {
2732
+ readonly internalType: "address";
2733
+ readonly name: "serverAddress";
2734
+ readonly type: "address";
2735
+ }, {
2736
+ readonly internalType: "string";
2737
+ readonly name: "serverUrl";
2738
+ readonly type: "string";
2739
+ }, {
2740
+ readonly internalType: "string";
2741
+ readonly name: "serverPublicKey";
2742
+ readonly type: "string";
2743
+ }, {
2744
+ readonly components: readonly [{
2745
+ readonly internalType: "address";
2746
+ readonly name: "account";
2747
+ readonly type: "address";
2748
+ }, {
2749
+ readonly internalType: "string";
2750
+ readonly name: "key";
2751
+ readonly type: "string";
2752
+ }];
2753
+ readonly internalType: "struct IDataRegistry.Permission[][]";
2754
+ readonly name: "filePermissions";
2755
+ readonly type: "tuple[][]";
2756
+ }];
2757
+ readonly internalType: "struct IDataPortabilityPermissions.ServerFilesAndPermissionInput";
2758
+ readonly name: "serverFilesAndPermissionInput";
2759
+ readonly type: "tuple";
2760
+ }, {
2761
+ readonly internalType: "bytes";
2762
+ readonly name: "signature";
2763
+ readonly type: "bytes";
2764
+ }];
2765
+ readonly name: "addServerFilesAndPermissions";
2766
+ readonly outputs: readonly [{
2767
+ readonly internalType: "uint256";
2768
+ readonly name: "";
2769
+ readonly type: "uint256";
2770
+ }];
2771
+ readonly stateMutability: "nonpayable";
2772
+ readonly type: "function";
2593
2773
  }, {
2594
2774
  readonly inputs: readonly [];
2595
2775
  readonly name: "dataPortabilityGrantees";
@@ -2754,20 +2934,6 @@ declare const contractAbis: {
2754
2934
  readonly outputs: readonly [];
2755
2935
  readonly stateMutability: "nonpayable";
2756
2936
  readonly type: "function";
2757
- }, {
2758
- readonly inputs: readonly [{
2759
- readonly internalType: "uint256";
2760
- readonly name: "permissionId";
2761
- readonly type: "uint256";
2762
- }];
2763
- readonly name: "isActivePermission";
2764
- readonly outputs: readonly [{
2765
- readonly internalType: "bool";
2766
- readonly name: "";
2767
- readonly type: "bool";
2768
- }];
2769
- readonly stateMutability: "view";
2770
- readonly type: "function";
2771
2937
  }, {
2772
2938
  readonly inputs: readonly [{
2773
2939
  readonly internalType: "address";
@@ -2854,10 +3020,6 @@ declare const contractAbis: {
2854
3020
  readonly internalType: "string";
2855
3021
  readonly name: "grant";
2856
3022
  readonly type: "string";
2857
- }, {
2858
- readonly internalType: "bytes";
2859
- readonly name: "signature";
2860
- readonly type: "bytes";
2861
3023
  }, {
2862
3024
  readonly internalType: "uint256";
2863
3025
  readonly name: "startBlock";
@@ -3145,7 +3307,7 @@ declare const contractAbis: {
3145
3307
  readonly stateMutability: "pure";
3146
3308
  readonly type: "function";
3147
3309
  }];
3148
- readonly DataPortabilityPermissions: readonly [{
3310
+ readonly DataPortabilityServers: readonly [{
3149
3311
  readonly inputs: readonly [];
3150
3312
  readonly stateMutability: "nonpayable";
3151
3313
  readonly type: "constructor";
@@ -3207,31 +3369,23 @@ declare const contractAbis: {
3207
3369
  readonly type: "error";
3208
3370
  }, {
3209
3371
  readonly inputs: readonly [];
3210
- readonly name: "EmptyGrant";
3372
+ readonly name: "EmptyPublicKey";
3211
3373
  readonly type: "error";
3212
3374
  }, {
3213
3375
  readonly inputs: readonly [];
3214
- readonly name: "EnforcedPause";
3376
+ readonly name: "EmptyUrl";
3215
3377
  readonly type: "error";
3216
3378
  }, {
3217
3379
  readonly inputs: readonly [];
3218
- readonly name: "ExpectedPause";
3380
+ readonly name: "EnforcedPause";
3219
3381
  readonly type: "error";
3220
3382
  }, {
3221
3383
  readonly inputs: readonly [];
3222
- readonly name: "FailedInnerCall";
3384
+ readonly name: "ExpectedPause";
3223
3385
  readonly type: "error";
3224
3386
  }, {
3225
3387
  readonly inputs: readonly [];
3226
- readonly name: "GranteeNotFound";
3227
- readonly type: "error";
3228
- }, {
3229
- readonly inputs: readonly [{
3230
- readonly internalType: "uint256";
3231
- readonly name: "permissionId";
3232
- readonly type: "uint256";
3233
- }];
3234
- readonly name: "InactivePermission";
3388
+ readonly name: "FailedInnerCall";
3235
3389
  readonly type: "error";
3236
3390
  }, {
3237
3391
  readonly inputs: readonly [];
@@ -3251,35 +3405,51 @@ declare const contractAbis: {
3251
3405
  readonly type: "error";
3252
3406
  }, {
3253
3407
  readonly inputs: readonly [];
3254
- readonly name: "InvalidSignature";
3408
+ readonly name: "NotInitializing";
3255
3409
  readonly type: "error";
3256
3410
  }, {
3257
3411
  readonly inputs: readonly [{
3258
3412
  readonly internalType: "address";
3259
- readonly name: "fileOwner";
3413
+ readonly name: "serverOwner";
3260
3414
  readonly type: "address";
3261
3415
  }, {
3262
3416
  readonly internalType: "address";
3263
3417
  readonly name: "requestor";
3264
3418
  readonly type: "address";
3265
3419
  }];
3266
- readonly name: "NotFileOwner";
3420
+ readonly name: "NotServerOwner";
3267
3421
  readonly type: "error";
3268
3422
  }, {
3269
3423
  readonly inputs: readonly [];
3270
- readonly name: "NotInitializing";
3424
+ readonly name: "ServerAlreadyRegistered";
3425
+ readonly type: "error";
3426
+ }, {
3427
+ readonly inputs: readonly [];
3428
+ readonly name: "ServerAlreadyTrusted";
3429
+ readonly type: "error";
3430
+ }, {
3431
+ readonly inputs: readonly [];
3432
+ readonly name: "ServerAlreadyUntrusted";
3433
+ readonly type: "error";
3434
+ }, {
3435
+ readonly inputs: readonly [];
3436
+ readonly name: "ServerNotFound";
3437
+ readonly type: "error";
3438
+ }, {
3439
+ readonly inputs: readonly [];
3440
+ readonly name: "ServerNotTrusted";
3271
3441
  readonly type: "error";
3272
3442
  }, {
3273
3443
  readonly inputs: readonly [{
3274
- readonly internalType: "address";
3275
- readonly name: "permissionOwner";
3276
- readonly type: "address";
3444
+ readonly internalType: "string";
3445
+ readonly name: "existingUrl";
3446
+ readonly type: "string";
3277
3447
  }, {
3278
- readonly internalType: "address";
3279
- readonly name: "requestor";
3280
- readonly type: "address";
3448
+ readonly internalType: "string";
3449
+ readonly name: "providedUrl";
3450
+ readonly type: "string";
3281
3451
  }];
3282
- readonly name: "NotPermissionGrantor";
3452
+ readonly name: "ServerUrlMismatch";
3283
3453
  readonly type: "error";
3284
3454
  }, {
3285
3455
  readonly inputs: readonly [];
@@ -3322,46 +3492,6 @@ declare const contractAbis: {
3322
3492
  }];
3323
3493
  readonly name: "Paused";
3324
3494
  readonly type: "event";
3325
- }, {
3326
- readonly anonymous: false;
3327
- readonly inputs: readonly [{
3328
- readonly indexed: true;
3329
- readonly internalType: "uint256";
3330
- readonly name: "permissionId";
3331
- readonly type: "uint256";
3332
- }, {
3333
- readonly indexed: true;
3334
- readonly internalType: "address";
3335
- readonly name: "user";
3336
- readonly type: "address";
3337
- }, {
3338
- readonly indexed: true;
3339
- readonly internalType: "uint256";
3340
- readonly name: "granteeId";
3341
- readonly type: "uint256";
3342
- }, {
3343
- readonly indexed: false;
3344
- readonly internalType: "string";
3345
- readonly name: "grant";
3346
- readonly type: "string";
3347
- }, {
3348
- readonly indexed: false;
3349
- readonly internalType: "uint256[]";
3350
- readonly name: "fileIds";
3351
- readonly type: "uint256[]";
3352
- }];
3353
- readonly name: "PermissionAdded";
3354
- readonly type: "event";
3355
- }, {
3356
- readonly anonymous: false;
3357
- readonly inputs: readonly [{
3358
- readonly indexed: true;
3359
- readonly internalType: "uint256";
3360
- readonly name: "permissionId";
3361
- readonly type: "uint256";
3362
- }];
3363
- readonly name: "PermissionRevoked";
3364
- readonly type: "event";
3365
3495
  }, {
3366
3496
  readonly anonymous: false;
3367
3497
  readonly inputs: readonly [{
@@ -3422,6 +3552,81 @@ declare const contractAbis: {
3422
3552
  }];
3423
3553
  readonly name: "RoleRevoked";
3424
3554
  readonly type: "event";
3555
+ }, {
3556
+ readonly anonymous: false;
3557
+ readonly inputs: readonly [{
3558
+ readonly indexed: true;
3559
+ readonly internalType: "uint256";
3560
+ readonly name: "serverId";
3561
+ readonly type: "uint256";
3562
+ }, {
3563
+ readonly indexed: true;
3564
+ readonly internalType: "address";
3565
+ readonly name: "owner";
3566
+ readonly type: "address";
3567
+ }, {
3568
+ readonly indexed: true;
3569
+ readonly internalType: "address";
3570
+ readonly name: "serverAddress";
3571
+ readonly type: "address";
3572
+ }, {
3573
+ readonly indexed: false;
3574
+ readonly internalType: "string";
3575
+ readonly name: "publicKey";
3576
+ readonly type: "string";
3577
+ }, {
3578
+ readonly indexed: false;
3579
+ readonly internalType: "string";
3580
+ readonly name: "url";
3581
+ readonly type: "string";
3582
+ }];
3583
+ readonly name: "ServerRegistered";
3584
+ readonly type: "event";
3585
+ }, {
3586
+ readonly anonymous: false;
3587
+ readonly inputs: readonly [{
3588
+ readonly indexed: true;
3589
+ readonly internalType: "address";
3590
+ readonly name: "user";
3591
+ readonly type: "address";
3592
+ }, {
3593
+ readonly indexed: true;
3594
+ readonly internalType: "uint256";
3595
+ readonly name: "serverId";
3596
+ readonly type: "uint256";
3597
+ }];
3598
+ readonly name: "ServerTrusted";
3599
+ readonly type: "event";
3600
+ }, {
3601
+ readonly anonymous: false;
3602
+ readonly inputs: readonly [{
3603
+ readonly indexed: true;
3604
+ readonly internalType: "address";
3605
+ readonly name: "user";
3606
+ readonly type: "address";
3607
+ }, {
3608
+ readonly indexed: true;
3609
+ readonly internalType: "uint256";
3610
+ readonly name: "serverId";
3611
+ readonly type: "uint256";
3612
+ }];
3613
+ readonly name: "ServerUntrusted";
3614
+ readonly type: "event";
3615
+ }, {
3616
+ readonly anonymous: false;
3617
+ readonly inputs: readonly [{
3618
+ readonly indexed: true;
3619
+ readonly internalType: "uint256";
3620
+ readonly name: "serverId";
3621
+ readonly type: "uint256";
3622
+ }, {
3623
+ readonly indexed: false;
3624
+ readonly internalType: "string";
3625
+ readonly name: "url";
3626
+ readonly type: "string";
3627
+ }];
3628
+ readonly name: "ServerUpdated";
3629
+ readonly type: "event";
3425
3630
  }, {
3426
3631
  readonly anonymous: false;
3427
3632
  readonly inputs: readonly [{
@@ -3464,957 +3669,7 @@ declare const contractAbis: {
3464
3669
  readonly type: "function";
3465
3670
  }, {
3466
3671
  readonly inputs: readonly [];
3467
- readonly name: "UPGRADE_INTERFACE_VERSION";
3468
- readonly outputs: readonly [{
3469
- readonly internalType: "string";
3470
- readonly name: "";
3471
- readonly type: "string";
3472
- }];
3473
- readonly stateMutability: "view";
3474
- readonly type: "function";
3475
- }, {
3476
- readonly inputs: readonly [{
3477
- readonly components: readonly [{
3478
- readonly internalType: "uint256";
3479
- readonly name: "nonce";
3480
- readonly type: "uint256";
3481
- }, {
3482
- readonly internalType: "uint256";
3483
- readonly name: "granteeId";
3484
- readonly type: "uint256";
3485
- }, {
3486
- readonly internalType: "string";
3487
- readonly name: "grant";
3488
- readonly type: "string";
3489
- }, {
3490
- readonly internalType: "uint256[]";
3491
- readonly name: "fileIds";
3492
- readonly type: "uint256[]";
3493
- }];
3494
- readonly internalType: "struct IDataPortabilityPermissions.PermissionInput";
3495
- readonly name: "permissionInput";
3496
- readonly type: "tuple";
3497
- }, {
3498
- readonly internalType: "bytes";
3499
- readonly name: "signature";
3500
- readonly type: "bytes";
3501
- }];
3502
- readonly name: "addPermission";
3503
- readonly outputs: readonly [{
3504
- readonly internalType: "uint256";
3505
- readonly name: "";
3506
- readonly type: "uint256";
3507
- }];
3508
- readonly stateMutability: "nonpayable";
3509
- readonly type: "function";
3510
- }, {
3511
- readonly inputs: readonly [];
3512
- readonly name: "dataPortabilityGrantees";
3513
- readonly outputs: readonly [{
3514
- readonly internalType: "contract IDataPortabilityGrantees";
3515
- readonly name: "";
3516
- readonly type: "address";
3517
- }];
3518
- readonly stateMutability: "view";
3519
- readonly type: "function";
3520
- }, {
3521
- readonly inputs: readonly [];
3522
- readonly name: "dataPortabilityServers";
3523
- readonly outputs: readonly [{
3524
- readonly internalType: "contract IDataPortabilityServers";
3525
- readonly name: "";
3526
- readonly type: "address";
3527
- }];
3528
- readonly stateMutability: "view";
3529
- readonly type: "function";
3530
- }, {
3531
- readonly inputs: readonly [];
3532
- readonly name: "dataRegistry";
3533
- readonly outputs: readonly [{
3534
- readonly internalType: "contract IDataRegistry";
3535
- readonly name: "";
3536
- readonly type: "address";
3537
- }];
3538
- readonly stateMutability: "view";
3539
- readonly type: "function";
3540
- }, {
3541
- readonly inputs: readonly [];
3542
- readonly name: "eip712Domain";
3543
- readonly outputs: readonly [{
3544
- readonly internalType: "bytes1";
3545
- readonly name: "fields";
3546
- readonly type: "bytes1";
3547
- }, {
3548
- readonly internalType: "string";
3549
- readonly name: "name";
3550
- readonly type: "string";
3551
- }, {
3552
- readonly internalType: "string";
3553
- readonly name: "version";
3554
- readonly type: "string";
3555
- }, {
3556
- readonly internalType: "uint256";
3557
- readonly name: "chainId";
3558
- readonly type: "uint256";
3559
- }, {
3560
- readonly internalType: "address";
3561
- readonly name: "verifyingContract";
3562
- readonly type: "address";
3563
- }, {
3564
- readonly internalType: "bytes32";
3565
- readonly name: "salt";
3566
- readonly type: "bytes32";
3567
- }, {
3568
- readonly internalType: "uint256[]";
3569
- readonly name: "extensions";
3570
- readonly type: "uint256[]";
3571
- }];
3572
- readonly stateMutability: "view";
3573
- readonly type: "function";
3574
- }, {
3575
- readonly inputs: readonly [{
3576
- readonly internalType: "uint256";
3577
- readonly name: "fileId";
3578
- readonly type: "uint256";
3579
- }];
3580
- readonly name: "filePermissionIds";
3581
- readonly outputs: readonly [{
3582
- readonly internalType: "uint256[]";
3583
- readonly name: "";
3584
- readonly type: "uint256[]";
3585
- }];
3586
- readonly stateMutability: "view";
3587
- readonly type: "function";
3588
- }, {
3589
- readonly inputs: readonly [{
3590
- readonly internalType: "uint256";
3591
- readonly name: "fileId";
3592
- readonly type: "uint256";
3593
- }];
3594
- readonly name: "filePermissions";
3595
- readonly outputs: readonly [{
3596
- readonly internalType: "uint256[]";
3597
- readonly name: "";
3598
- readonly type: "uint256[]";
3599
- }];
3600
- readonly stateMutability: "view";
3601
- readonly type: "function";
3602
- }, {
3603
- readonly inputs: readonly [{
3604
- readonly internalType: "bytes32";
3605
- readonly name: "role";
3606
- readonly type: "bytes32";
3607
- }];
3608
- readonly name: "getRoleAdmin";
3609
- readonly outputs: readonly [{
3610
- readonly internalType: "bytes32";
3611
- readonly name: "";
3612
- readonly type: "bytes32";
3613
- }];
3614
- readonly stateMutability: "view";
3615
- readonly type: "function";
3616
- }, {
3617
- readonly inputs: readonly [{
3618
- readonly internalType: "bytes32";
3619
- readonly name: "role";
3620
- readonly type: "bytes32";
3621
- }, {
3622
- readonly internalType: "address";
3623
- readonly name: "account";
3624
- readonly type: "address";
3625
- }];
3626
- readonly name: "grantRole";
3627
- readonly outputs: readonly [];
3628
- readonly stateMutability: "nonpayable";
3629
- readonly type: "function";
3630
- }, {
3631
- readonly inputs: readonly [{
3632
- readonly internalType: "bytes32";
3633
- readonly name: "role";
3634
- readonly type: "bytes32";
3635
- }, {
3636
- readonly internalType: "address";
3637
- readonly name: "account";
3638
- readonly type: "address";
3639
- }];
3640
- readonly name: "hasRole";
3641
- readonly outputs: readonly [{
3642
- readonly internalType: "bool";
3643
- readonly name: "";
3644
- readonly type: "bool";
3645
- }];
3646
- readonly stateMutability: "view";
3647
- readonly type: "function";
3648
- }, {
3649
- readonly inputs: readonly [{
3650
- readonly internalType: "address";
3651
- readonly name: "trustedForwarderAddress";
3652
- readonly type: "address";
3653
- }, {
3654
- readonly internalType: "address";
3655
- readonly name: "ownerAddress";
3656
- readonly type: "address";
3657
- }, {
3658
- readonly internalType: "contract IDataRegistry";
3659
- readonly name: "dataRegistryAddress";
3660
- readonly type: "address";
3661
- }, {
3662
- readonly internalType: "contract IDataPortabilityServers";
3663
- readonly name: "serversContractAddr";
3664
- readonly type: "address";
3665
- }, {
3666
- readonly internalType: "contract IDataPortabilityGrantees";
3667
- readonly name: "granteesContractAddr";
3668
- readonly type: "address";
3669
- }];
3670
- readonly name: "initialize";
3671
- readonly outputs: readonly [];
3672
- readonly stateMutability: "nonpayable";
3673
- readonly type: "function";
3674
- }, {
3675
- readonly inputs: readonly [{
3676
- readonly internalType: "uint256";
3677
- readonly name: "permissionId";
3678
- readonly type: "uint256";
3679
- }];
3680
- readonly name: "isActivePermission";
3681
- readonly outputs: readonly [{
3682
- readonly internalType: "bool";
3683
- readonly name: "";
3684
- readonly type: "bool";
3685
- }];
3686
- readonly stateMutability: "view";
3687
- readonly type: "function";
3688
- }, {
3689
- readonly inputs: readonly [{
3690
- readonly internalType: "address";
3691
- readonly name: "forwarder";
3692
- readonly type: "address";
3693
- }];
3694
- readonly name: "isTrustedForwarder";
3695
- readonly outputs: readonly [{
3696
- readonly internalType: "bool";
3697
- readonly name: "";
3698
- readonly type: "bool";
3699
- }];
3700
- readonly stateMutability: "view";
3701
- readonly type: "function";
3702
- }, {
3703
- readonly inputs: readonly [{
3704
- readonly internalType: "bytes[]";
3705
- readonly name: "data";
3706
- readonly type: "bytes[]";
3707
- }];
3708
- readonly name: "multicall";
3709
- readonly outputs: readonly [{
3710
- readonly internalType: "bytes[]";
3711
- readonly name: "results";
3712
- readonly type: "bytes[]";
3713
- }];
3714
- readonly stateMutability: "nonpayable";
3715
- readonly type: "function";
3716
- }, {
3717
- readonly inputs: readonly [];
3718
- readonly name: "pause";
3719
- readonly outputs: readonly [];
3720
- readonly stateMutability: "nonpayable";
3721
- readonly type: "function";
3722
- }, {
3723
- readonly inputs: readonly [];
3724
- readonly name: "paused";
3725
- readonly outputs: readonly [{
3726
- readonly internalType: "bool";
3727
- readonly name: "";
3728
- readonly type: "bool";
3729
- }];
3730
- readonly stateMutability: "view";
3731
- readonly type: "function";
3732
- }, {
3733
- readonly inputs: readonly [{
3734
- readonly internalType: "uint256";
3735
- readonly name: "permissionId";
3736
- readonly type: "uint256";
3737
- }];
3738
- readonly name: "permissionFileIds";
3739
- readonly outputs: readonly [{
3740
- readonly internalType: "uint256[]";
3741
- readonly name: "";
3742
- readonly type: "uint256[]";
3743
- }];
3744
- readonly stateMutability: "view";
3745
- readonly type: "function";
3746
- }, {
3747
- readonly inputs: readonly [{
3748
- readonly internalType: "uint256";
3749
- readonly name: "permissionId";
3750
- readonly type: "uint256";
3751
- }];
3752
- readonly name: "permissions";
3753
- readonly outputs: readonly [{
3754
- readonly components: readonly [{
3755
- readonly internalType: "uint256";
3756
- readonly name: "id";
3757
- readonly type: "uint256";
3758
- }, {
3759
- readonly internalType: "address";
3760
- readonly name: "grantor";
3761
- readonly type: "address";
3762
- }, {
3763
- readonly internalType: "uint256";
3764
- readonly name: "nonce";
3765
- readonly type: "uint256";
3766
- }, {
3767
- readonly internalType: "uint256";
3768
- readonly name: "granteeId";
3769
- readonly type: "uint256";
3770
- }, {
3771
- readonly internalType: "string";
3772
- readonly name: "grant";
3773
- readonly type: "string";
3774
- }, {
3775
- readonly internalType: "bytes";
3776
- readonly name: "signature";
3777
- readonly type: "bytes";
3778
- }, {
3779
- readonly internalType: "uint256";
3780
- readonly name: "startBlock";
3781
- readonly type: "uint256";
3782
- }, {
3783
- readonly internalType: "uint256";
3784
- readonly name: "endBlock";
3785
- readonly type: "uint256";
3786
- }, {
3787
- readonly internalType: "uint256[]";
3788
- readonly name: "fileIds";
3789
- readonly type: "uint256[]";
3790
- }];
3791
- readonly internalType: "struct IDataPortabilityPermissions.PermissionInfo";
3792
- readonly name: "";
3793
- readonly type: "tuple";
3794
- }];
3795
- readonly stateMutability: "view";
3796
- readonly type: "function";
3797
- }, {
3798
- readonly inputs: readonly [];
3799
- readonly name: "permissionsCount";
3800
- readonly outputs: readonly [{
3801
- readonly internalType: "uint256";
3802
- readonly name: "";
3803
- readonly type: "uint256";
3804
- }];
3805
- readonly stateMutability: "view";
3806
- readonly type: "function";
3807
- }, {
3808
- readonly inputs: readonly [];
3809
- readonly name: "proxiableUUID";
3810
- readonly outputs: readonly [{
3811
- readonly internalType: "bytes32";
3812
- readonly name: "";
3813
- readonly type: "bytes32";
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 internalType: "address";
3824
- readonly name: "callerConfirmation";
3825
- readonly type: "address";
3826
- }];
3827
- readonly name: "renounceRole";
3828
- readonly outputs: readonly [];
3829
- readonly stateMutability: "nonpayable";
3830
- readonly type: "function";
3831
- }, {
3832
- readonly inputs: readonly [{
3833
- readonly internalType: "uint256";
3834
- readonly name: "permissionId";
3835
- readonly type: "uint256";
3836
- }];
3837
- readonly name: "revokePermission";
3838
- readonly outputs: readonly [];
3839
- readonly stateMutability: "nonpayable";
3840
- readonly type: "function";
3841
- }, {
3842
- readonly inputs: readonly [{
3843
- readonly components: readonly [{
3844
- readonly internalType: "uint256";
3845
- readonly name: "nonce";
3846
- readonly type: "uint256";
3847
- }, {
3848
- readonly internalType: "uint256";
3849
- readonly name: "permissionId";
3850
- readonly type: "uint256";
3851
- }];
3852
- readonly internalType: "struct IDataPortabilityPermissions.RevokePermissionInput";
3853
- readonly name: "revokePermissionInput";
3854
- readonly type: "tuple";
3855
- }, {
3856
- readonly internalType: "bytes";
3857
- readonly name: "signature";
3858
- readonly type: "bytes";
3859
- }];
3860
- readonly name: "revokePermissionWithSignature";
3861
- readonly outputs: readonly [];
3862
- readonly stateMutability: "nonpayable";
3863
- readonly type: "function";
3864
- }, {
3865
- readonly inputs: readonly [{
3866
- readonly internalType: "bytes32";
3867
- readonly name: "role";
3868
- readonly type: "bytes32";
3869
- }, {
3870
- readonly internalType: "address";
3871
- readonly name: "account";
3872
- readonly type: "address";
3873
- }];
3874
- readonly name: "revokeRole";
3875
- readonly outputs: readonly [];
3876
- readonly stateMutability: "nonpayable";
3877
- readonly type: "function";
3878
- }, {
3879
- readonly inputs: readonly [{
3880
- readonly internalType: "bytes32";
3881
- readonly name: "role";
3882
- readonly type: "bytes32";
3883
- }, {
3884
- readonly internalType: "bytes32";
3885
- readonly name: "adminRole";
3886
- readonly type: "bytes32";
3887
- }];
3888
- readonly name: "setRoleAdmin";
3889
- readonly outputs: readonly [];
3890
- readonly stateMutability: "nonpayable";
3891
- readonly type: "function";
3892
- }, {
3893
- readonly inputs: readonly [{
3894
- readonly internalType: "bytes4";
3895
- readonly name: "interfaceId";
3896
- readonly type: "bytes4";
3897
- }];
3898
- readonly name: "supportsInterface";
3899
- readonly outputs: readonly [{
3900
- readonly internalType: "bool";
3901
- readonly name: "";
3902
- readonly type: "bool";
3903
- }];
3904
- readonly stateMutability: "view";
3905
- readonly type: "function";
3906
- }, {
3907
- readonly inputs: readonly [];
3908
- readonly name: "trustedForwarder";
3909
- readonly outputs: readonly [{
3910
- readonly internalType: "address";
3911
- readonly name: "";
3912
- readonly type: "address";
3913
- }];
3914
- readonly stateMutability: "view";
3915
- readonly type: "function";
3916
- }, {
3917
- readonly inputs: readonly [];
3918
- readonly name: "unpause";
3919
- readonly outputs: readonly [];
3920
- readonly stateMutability: "nonpayable";
3921
- readonly type: "function";
3922
- }, {
3923
- readonly inputs: readonly [{
3924
- readonly internalType: "contract IDataRegistry";
3925
- readonly name: "newDataRegistry";
3926
- readonly type: "address";
3927
- }];
3928
- readonly name: "updateDataRegistry";
3929
- readonly outputs: readonly [];
3930
- readonly stateMutability: "nonpayable";
3931
- readonly type: "function";
3932
- }, {
3933
- readonly inputs: readonly [{
3934
- readonly internalType: "contract IDataPortabilityGrantees";
3935
- readonly name: "newGranteesContract";
3936
- readonly type: "address";
3937
- }];
3938
- readonly name: "updateGranteesContract";
3939
- readonly outputs: readonly [];
3940
- readonly stateMutability: "nonpayable";
3941
- readonly type: "function";
3942
- }, {
3943
- readonly inputs: readonly [{
3944
- readonly internalType: "contract IDataPortabilityServers";
3945
- readonly name: "newServersContract";
3946
- readonly type: "address";
3947
- }];
3948
- readonly name: "updateServersContract";
3949
- readonly outputs: readonly [];
3950
- readonly stateMutability: "nonpayable";
3951
- readonly type: "function";
3952
- }, {
3953
- readonly inputs: readonly [{
3954
- readonly internalType: "address";
3955
- readonly name: "trustedForwarderAddress";
3956
- readonly type: "address";
3957
- }];
3958
- readonly name: "updateTrustedForwarder";
3959
- readonly outputs: readonly [];
3960
- readonly stateMutability: "nonpayable";
3961
- readonly type: "function";
3962
- }, {
3963
- readonly inputs: readonly [{
3964
- readonly internalType: "address";
3965
- readonly name: "newImplementation";
3966
- readonly type: "address";
3967
- }, {
3968
- readonly internalType: "bytes";
3969
- readonly name: "data";
3970
- readonly type: "bytes";
3971
- }];
3972
- readonly name: "upgradeToAndCall";
3973
- readonly outputs: readonly [];
3974
- readonly stateMutability: "payable";
3975
- readonly type: "function";
3976
- }, {
3977
- readonly inputs: readonly [{
3978
- readonly internalType: "address";
3979
- readonly name: "userAddress";
3980
- readonly type: "address";
3981
- }];
3982
- readonly name: "userNonce";
3983
- readonly outputs: readonly [{
3984
- readonly internalType: "uint256";
3985
- readonly name: "";
3986
- readonly type: "uint256";
3987
- }];
3988
- readonly stateMutability: "view";
3989
- readonly type: "function";
3990
- }, {
3991
- readonly inputs: readonly [{
3992
- readonly internalType: "address";
3993
- readonly name: "userAddress";
3994
- readonly type: "address";
3995
- }, {
3996
- readonly internalType: "uint256";
3997
- readonly name: "permissionIndex";
3998
- readonly type: "uint256";
3999
- }];
4000
- readonly name: "userPermissionIdsAt";
4001
- readonly outputs: readonly [{
4002
- readonly internalType: "uint256";
4003
- readonly name: "";
4004
- readonly type: "uint256";
4005
- }];
4006
- readonly stateMutability: "view";
4007
- readonly type: "function";
4008
- }, {
4009
- readonly inputs: readonly [{
4010
- readonly internalType: "address";
4011
- readonly name: "userAddress";
4012
- readonly type: "address";
4013
- }];
4014
- readonly name: "userPermissionIdsLength";
4015
- readonly outputs: readonly [{
4016
- readonly internalType: "uint256";
4017
- readonly name: "";
4018
- readonly type: "uint256";
4019
- }];
4020
- readonly stateMutability: "view";
4021
- readonly type: "function";
4022
- }, {
4023
- readonly inputs: readonly [{
4024
- readonly internalType: "address";
4025
- readonly name: "userAddress";
4026
- readonly type: "address";
4027
- }];
4028
- readonly name: "userPermissionIdsValues";
4029
- readonly outputs: readonly [{
4030
- readonly internalType: "uint256[]";
4031
- readonly name: "";
4032
- readonly type: "uint256[]";
4033
- }];
4034
- readonly stateMutability: "view";
4035
- readonly type: "function";
4036
- }, {
4037
- readonly inputs: readonly [{
4038
- readonly internalType: "address";
4039
- readonly name: "userAddress";
4040
- readonly type: "address";
4041
- }];
4042
- readonly name: "users";
4043
- readonly outputs: readonly [{
4044
- readonly internalType: "uint256";
4045
- readonly name: "nonce";
4046
- readonly type: "uint256";
4047
- }, {
4048
- readonly internalType: "uint256[]";
4049
- readonly name: "permissionIds";
4050
- readonly type: "uint256[]";
4051
- }];
4052
- readonly stateMutability: "view";
4053
- readonly type: "function";
4054
- }, {
4055
- readonly inputs: readonly [];
4056
- readonly name: "version";
4057
- readonly outputs: readonly [{
4058
- readonly internalType: "uint256";
4059
- readonly name: "";
4060
- readonly type: "uint256";
4061
- }];
4062
- readonly stateMutability: "pure";
4063
- readonly type: "function";
4064
- }];
4065
- readonly DataPortabilityServers: readonly [{
4066
- readonly inputs: readonly [];
4067
- readonly stateMutability: "nonpayable";
4068
- readonly type: "constructor";
4069
- }, {
4070
- readonly inputs: readonly [];
4071
- readonly name: "AccessControlBadConfirmation";
4072
- readonly type: "error";
4073
- }, {
4074
- readonly inputs: readonly [{
4075
- readonly internalType: "address";
4076
- readonly name: "account";
4077
- readonly type: "address";
4078
- }, {
4079
- readonly internalType: "bytes32";
4080
- readonly name: "neededRole";
4081
- readonly type: "bytes32";
4082
- }];
4083
- readonly name: "AccessControlUnauthorizedAccount";
4084
- readonly type: "error";
4085
- }, {
4086
- readonly inputs: readonly [{
4087
- readonly internalType: "address";
4088
- readonly name: "target";
4089
- readonly type: "address";
4090
- }];
4091
- readonly name: "AddressEmptyCode";
4092
- readonly type: "error";
4093
- }, {
4094
- readonly inputs: readonly [];
4095
- readonly name: "ECDSAInvalidSignature";
4096
- readonly type: "error";
4097
- }, {
4098
- readonly inputs: readonly [{
4099
- readonly internalType: "uint256";
4100
- readonly name: "length";
4101
- readonly type: "uint256";
4102
- }];
4103
- readonly name: "ECDSAInvalidSignatureLength";
4104
- readonly type: "error";
4105
- }, {
4106
- readonly inputs: readonly [{
4107
- readonly internalType: "bytes32";
4108
- readonly name: "s";
4109
- readonly type: "bytes32";
4110
- }];
4111
- readonly name: "ECDSAInvalidSignatureS";
4112
- readonly type: "error";
4113
- }, {
4114
- readonly inputs: readonly [{
4115
- readonly internalType: "address";
4116
- readonly name: "implementation";
4117
- readonly type: "address";
4118
- }];
4119
- readonly name: "ERC1967InvalidImplementation";
4120
- readonly type: "error";
4121
- }, {
4122
- readonly inputs: readonly [];
4123
- readonly name: "ERC1967NonPayable";
4124
- readonly type: "error";
4125
- }, {
4126
- readonly inputs: readonly [];
4127
- readonly name: "EmptyPublicKey";
4128
- readonly type: "error";
4129
- }, {
4130
- readonly inputs: readonly [];
4131
- readonly name: "EmptyUrl";
4132
- readonly type: "error";
4133
- }, {
4134
- readonly inputs: readonly [];
4135
- readonly name: "EnforcedPause";
4136
- readonly type: "error";
4137
- }, {
4138
- readonly inputs: readonly [];
4139
- readonly name: "ExpectedPause";
4140
- readonly type: "error";
4141
- }, {
4142
- readonly inputs: readonly [];
4143
- readonly name: "FailedInnerCall";
4144
- readonly type: "error";
4145
- }, {
4146
- readonly inputs: readonly [];
4147
- readonly name: "InvalidInitialization";
4148
- readonly type: "error";
4149
- }, {
4150
- readonly inputs: readonly [{
4151
- readonly internalType: "uint256";
4152
- readonly name: "expectedNonce";
4153
- readonly type: "uint256";
4154
- }, {
4155
- readonly internalType: "uint256";
4156
- readonly name: "providedNonce";
4157
- readonly type: "uint256";
4158
- }];
4159
- readonly name: "InvalidNonce";
4160
- readonly type: "error";
4161
- }, {
4162
- readonly inputs: readonly [];
4163
- readonly name: "NotInitializing";
4164
- readonly type: "error";
4165
- }, {
4166
- readonly inputs: readonly [{
4167
- readonly internalType: "address";
4168
- readonly name: "serverOwner";
4169
- readonly type: "address";
4170
- }, {
4171
- readonly internalType: "address";
4172
- readonly name: "requestor";
4173
- readonly type: "address";
4174
- }];
4175
- readonly name: "NotServerOwner";
4176
- readonly type: "error";
4177
- }, {
4178
- readonly inputs: readonly [];
4179
- readonly name: "ServerAlreadyRegistered";
4180
- readonly type: "error";
4181
- }, {
4182
- readonly inputs: readonly [];
4183
- readonly name: "ServerAlreadyTrusted";
4184
- readonly type: "error";
4185
- }, {
4186
- readonly inputs: readonly [];
4187
- readonly name: "ServerAlreadyUntrusted";
4188
- readonly type: "error";
4189
- }, {
4190
- readonly inputs: readonly [];
4191
- readonly name: "ServerNotFound";
4192
- readonly type: "error";
4193
- }, {
4194
- readonly inputs: readonly [];
4195
- readonly name: "ServerNotTrusted";
4196
- readonly type: "error";
4197
- }, {
4198
- readonly inputs: readonly [{
4199
- readonly internalType: "string";
4200
- readonly name: "existingUrl";
4201
- readonly type: "string";
4202
- }, {
4203
- readonly internalType: "string";
4204
- readonly name: "providedUrl";
4205
- readonly type: "string";
4206
- }];
4207
- readonly name: "ServerUrlMismatch";
4208
- readonly type: "error";
4209
- }, {
4210
- readonly inputs: readonly [];
4211
- readonly name: "UUPSUnauthorizedCallContext";
4212
- readonly type: "error";
4213
- }, {
4214
- readonly inputs: readonly [{
4215
- readonly internalType: "bytes32";
4216
- readonly name: "slot";
4217
- readonly type: "bytes32";
4218
- }];
4219
- readonly name: "UUPSUnsupportedProxiableUUID";
4220
- readonly type: "error";
4221
- }, {
4222
- readonly inputs: readonly [];
4223
- readonly name: "ZeroAddress";
4224
- readonly type: "error";
4225
- }, {
4226
- readonly anonymous: false;
4227
- readonly inputs: readonly [];
4228
- readonly name: "EIP712DomainChanged";
4229
- readonly type: "event";
4230
- }, {
4231
- readonly anonymous: false;
4232
- readonly inputs: readonly [{
4233
- readonly indexed: false;
4234
- readonly internalType: "uint64";
4235
- readonly name: "version";
4236
- readonly type: "uint64";
4237
- }];
4238
- readonly name: "Initialized";
4239
- readonly type: "event";
4240
- }, {
4241
- readonly anonymous: false;
4242
- readonly inputs: readonly [{
4243
- readonly indexed: false;
4244
- readonly internalType: "address";
4245
- readonly name: "account";
4246
- readonly type: "address";
4247
- }];
4248
- readonly name: "Paused";
4249
- readonly type: "event";
4250
- }, {
4251
- readonly anonymous: false;
4252
- readonly inputs: readonly [{
4253
- readonly indexed: true;
4254
- readonly internalType: "bytes32";
4255
- readonly name: "role";
4256
- readonly type: "bytes32";
4257
- }, {
4258
- readonly indexed: true;
4259
- readonly internalType: "bytes32";
4260
- readonly name: "previousAdminRole";
4261
- readonly type: "bytes32";
4262
- }, {
4263
- readonly indexed: true;
4264
- readonly internalType: "bytes32";
4265
- readonly name: "newAdminRole";
4266
- readonly type: "bytes32";
4267
- }];
4268
- readonly name: "RoleAdminChanged";
4269
- readonly type: "event";
4270
- }, {
4271
- readonly anonymous: false;
4272
- readonly inputs: readonly [{
4273
- readonly indexed: true;
4274
- readonly internalType: "bytes32";
4275
- readonly name: "role";
4276
- readonly type: "bytes32";
4277
- }, {
4278
- readonly indexed: true;
4279
- readonly internalType: "address";
4280
- readonly name: "account";
4281
- readonly type: "address";
4282
- }, {
4283
- readonly indexed: true;
4284
- readonly internalType: "address";
4285
- readonly name: "sender";
4286
- readonly type: "address";
4287
- }];
4288
- readonly name: "RoleGranted";
4289
- readonly type: "event";
4290
- }, {
4291
- readonly anonymous: false;
4292
- readonly inputs: readonly [{
4293
- readonly indexed: true;
4294
- readonly internalType: "bytes32";
4295
- readonly name: "role";
4296
- readonly type: "bytes32";
4297
- }, {
4298
- readonly indexed: true;
4299
- readonly internalType: "address";
4300
- readonly name: "account";
4301
- readonly type: "address";
4302
- }, {
4303
- readonly indexed: true;
4304
- readonly internalType: "address";
4305
- readonly name: "sender";
4306
- readonly type: "address";
4307
- }];
4308
- readonly name: "RoleRevoked";
4309
- readonly type: "event";
4310
- }, {
4311
- readonly anonymous: false;
4312
- readonly inputs: readonly [{
4313
- readonly indexed: true;
4314
- readonly internalType: "uint256";
4315
- readonly name: "serverId";
4316
- readonly type: "uint256";
4317
- }, {
4318
- readonly indexed: true;
4319
- readonly internalType: "address";
4320
- readonly name: "owner";
4321
- readonly type: "address";
4322
- }, {
4323
- readonly indexed: true;
4324
- readonly internalType: "address";
4325
- readonly name: "serverAddress";
4326
- readonly type: "address";
4327
- }, {
4328
- readonly indexed: false;
4329
- readonly internalType: "bytes";
4330
- readonly name: "publicKey";
4331
- readonly type: "bytes";
4332
- }, {
4333
- readonly indexed: false;
4334
- readonly internalType: "string";
4335
- readonly name: "url";
4336
- readonly type: "string";
4337
- }];
4338
- readonly name: "ServerRegistered";
4339
- readonly type: "event";
4340
- }, {
4341
- readonly anonymous: false;
4342
- readonly inputs: readonly [{
4343
- readonly indexed: true;
4344
- readonly internalType: "address";
4345
- readonly name: "user";
4346
- readonly type: "address";
4347
- }, {
4348
- readonly indexed: true;
4349
- readonly internalType: "uint256";
4350
- readonly name: "serverId";
4351
- readonly type: "uint256";
4352
- }];
4353
- readonly name: "ServerTrusted";
4354
- readonly type: "event";
4355
- }, {
4356
- readonly anonymous: false;
4357
- readonly inputs: readonly [{
4358
- readonly indexed: true;
4359
- readonly internalType: "address";
4360
- readonly name: "user";
4361
- readonly type: "address";
4362
- }, {
4363
- readonly indexed: true;
4364
- readonly internalType: "uint256";
4365
- readonly name: "serverId";
4366
- readonly type: "uint256";
4367
- }];
4368
- readonly name: "ServerUntrusted";
4369
- readonly type: "event";
4370
- }, {
4371
- readonly anonymous: false;
4372
- readonly inputs: readonly [{
4373
- readonly indexed: true;
4374
- readonly internalType: "uint256";
4375
- readonly name: "serverId";
4376
- readonly type: "uint256";
4377
- }, {
4378
- readonly indexed: false;
4379
- readonly internalType: "string";
4380
- readonly name: "url";
4381
- readonly type: "string";
4382
- }];
4383
- readonly name: "ServerUpdated";
4384
- readonly type: "event";
4385
- }, {
4386
- readonly anonymous: false;
4387
- readonly inputs: readonly [{
4388
- readonly indexed: false;
4389
- readonly internalType: "address";
4390
- readonly name: "account";
4391
- readonly type: "address";
4392
- }];
4393
- readonly name: "Unpaused";
4394
- readonly type: "event";
4395
- }, {
4396
- readonly anonymous: false;
4397
- readonly inputs: readonly [{
4398
- readonly indexed: true;
4399
- readonly internalType: "address";
4400
- readonly name: "implementation";
4401
- readonly type: "address";
4402
- }];
4403
- readonly name: "Upgraded";
4404
- readonly type: "event";
4405
- }, {
4406
- readonly inputs: readonly [];
4407
- readonly name: "DEFAULT_ADMIN_ROLE";
4408
- readonly outputs: readonly [{
4409
- readonly internalType: "bytes32";
4410
- readonly name: "";
4411
- readonly type: "bytes32";
4412
- }];
4413
- readonly stateMutability: "view";
4414
- readonly type: "function";
4415
- }, {
4416
- readonly inputs: readonly [];
4417
- readonly name: "MAINTAINER_ROLE";
3672
+ readonly name: "PERMISSION_MANAGER_ROLE";
4418
3673
  readonly outputs: readonly [{
4419
3674
  readonly internalType: "bytes32";
4420
3675
  readonly name: "";
@@ -4434,28 +3689,28 @@ declare const contractAbis: {
4434
3689
  readonly type: "function";
4435
3690
  }, {
4436
3691
  readonly inputs: readonly [{
3692
+ readonly internalType: "address";
3693
+ readonly name: "ownerAddress";
3694
+ readonly type: "address";
3695
+ }, {
4437
3696
  readonly components: readonly [{
4438
- readonly internalType: "address";
4439
- readonly name: "owner";
4440
- readonly type: "address";
4441
- }, {
4442
3697
  readonly internalType: "address";
4443
3698
  readonly name: "serverAddress";
4444
3699
  readonly type: "address";
4445
3700
  }, {
4446
- readonly internalType: "bytes";
3701
+ readonly internalType: "string";
4447
3702
  readonly name: "publicKey";
4448
- readonly type: "bytes";
3703
+ readonly type: "string";
4449
3704
  }, {
4450
3705
  readonly internalType: "string";
4451
3706
  readonly name: "serverUrl";
4452
3707
  readonly type: "string";
4453
3708
  }];
4454
3709
  readonly internalType: "struct IDataPortabilityServers.AddServerInput";
4455
- readonly name: "addAndTrustServerInput";
3710
+ readonly name: "addServerInput";
4456
3711
  readonly type: "tuple";
4457
3712
  }];
4458
- readonly name: "addAndTrustServer";
3713
+ readonly name: "addAndTrustServerOnBehalf";
4459
3714
  readonly outputs: readonly [];
4460
3715
  readonly stateMutability: "nonpayable";
4461
3716
  readonly type: "function";
@@ -4465,25 +3720,21 @@ declare const contractAbis: {
4465
3720
  readonly internalType: "uint256";
4466
3721
  readonly name: "nonce";
4467
3722
  readonly type: "uint256";
4468
- }, {
4469
- readonly internalType: "address";
4470
- readonly name: "owner";
4471
- readonly type: "address";
4472
3723
  }, {
4473
3724
  readonly internalType: "address";
4474
3725
  readonly name: "serverAddress";
4475
3726
  readonly type: "address";
4476
3727
  }, {
4477
- readonly internalType: "bytes";
3728
+ readonly internalType: "string";
4478
3729
  readonly name: "publicKey";
4479
- readonly type: "bytes";
3730
+ readonly type: "string";
4480
3731
  }, {
4481
3732
  readonly internalType: "string";
4482
3733
  readonly name: "serverUrl";
4483
3734
  readonly type: "string";
4484
3735
  }];
4485
- readonly internalType: "struct IDataPortabilityServers.AddAndTrustServerInput";
4486
- readonly name: "addAndTrustServerInput";
3736
+ readonly internalType: "struct IDataPortabilityServers.AddServerWithSignatureInput";
3737
+ readonly name: "addServerInput";
4487
3738
  readonly type: "tuple";
4488
3739
  }, {
4489
3740
  readonly internalType: "bytes";
@@ -4497,27 +3748,31 @@ declare const contractAbis: {
4497
3748
  }, {
4498
3749
  readonly inputs: readonly [{
4499
3750
  readonly components: readonly [{
4500
- readonly internalType: "address";
4501
- readonly name: "owner";
4502
- readonly type: "address";
3751
+ readonly internalType: "uint256";
3752
+ readonly name: "nonce";
3753
+ readonly type: "uint256";
4503
3754
  }, {
4504
3755
  readonly internalType: "address";
4505
3756
  readonly name: "serverAddress";
4506
3757
  readonly type: "address";
4507
3758
  }, {
4508
- readonly internalType: "bytes";
3759
+ readonly internalType: "string";
4509
3760
  readonly name: "publicKey";
4510
- readonly type: "bytes";
3761
+ readonly type: "string";
4511
3762
  }, {
4512
3763
  readonly internalType: "string";
4513
3764
  readonly name: "serverUrl";
4514
3765
  readonly type: "string";
4515
3766
  }];
4516
- readonly internalType: "struct IDataPortabilityServers.AddServerInput";
3767
+ readonly internalType: "struct IDataPortabilityServers.AddServerWithSignatureInput";
4517
3768
  readonly name: "addServerInput";
4518
3769
  readonly type: "tuple";
3770
+ }, {
3771
+ readonly internalType: "bytes";
3772
+ readonly name: "signature";
3773
+ readonly type: "bytes";
4519
3774
  }];
4520
- readonly name: "addServer";
3775
+ readonly name: "addServerWithSignature";
4521
3776
  readonly outputs: readonly [];
4522
3777
  readonly stateMutability: "nonpayable";
4523
3778
  readonly type: "function";
@@ -4615,38 +3870,6 @@ declare const contractAbis: {
4615
3870
  readonly outputs: readonly [];
4616
3871
  readonly stateMutability: "nonpayable";
4617
3872
  readonly type: "function";
4618
- }, {
4619
- readonly inputs: readonly [{
4620
- readonly internalType: "uint256";
4621
- readonly name: "serverId";
4622
- readonly type: "uint256";
4623
- }];
4624
- readonly name: "isActiveServer";
4625
- readonly outputs: readonly [{
4626
- readonly internalType: "bool";
4627
- readonly name: "";
4628
- readonly type: "bool";
4629
- }];
4630
- readonly stateMutability: "view";
4631
- readonly type: "function";
4632
- }, {
4633
- readonly inputs: readonly [{
4634
- readonly internalType: "address";
4635
- readonly name: "userAddress";
4636
- readonly type: "address";
4637
- }, {
4638
- readonly internalType: "uint256";
4639
- readonly name: "serverId";
4640
- readonly type: "uint256";
4641
- }];
4642
- readonly name: "isActiveServerForUser";
4643
- readonly outputs: readonly [{
4644
- readonly internalType: "bool";
4645
- readonly name: "";
4646
- readonly type: "bool";
4647
- }];
4648
- readonly stateMutability: "view";
4649
- readonly type: "function";
4650
3873
  }, {
4651
3874
  readonly inputs: readonly [{
4652
3875
  readonly internalType: "address";
@@ -4764,9 +3987,9 @@ declare const contractAbis: {
4764
3987
  readonly name: "serverAddress";
4765
3988
  readonly type: "address";
4766
3989
  }, {
4767
- readonly internalType: "bytes";
3990
+ readonly internalType: "string";
4768
3991
  readonly name: "publicKey";
4769
- readonly type: "bytes";
3992
+ readonly type: "string";
4770
3993
  }, {
4771
3994
  readonly internalType: "string";
4772
3995
  readonly name: "url";
@@ -4799,9 +4022,9 @@ declare const contractAbis: {
4799
4022
  readonly name: "serverAddress";
4800
4023
  readonly type: "address";
4801
4024
  }, {
4802
- readonly internalType: "bytes";
4025
+ readonly internalType: "string";
4803
4026
  readonly name: "publicKey";
4804
- readonly type: "bytes";
4027
+ readonly type: "string";
4805
4028
  }, {
4806
4029
  readonly internalType: "string";
4807
4030
  readonly name: "url";
@@ -5045,6 +4268,96 @@ declare const contractAbis: {
5045
4268
  }];
5046
4269
  readonly stateMutability: "view";
5047
4270
  readonly type: "function";
4271
+ }, {
4272
+ readonly inputs: readonly [{
4273
+ readonly internalType: "address";
4274
+ readonly name: "userAddress";
4275
+ readonly type: "address";
4276
+ }];
4277
+ readonly name: "userServerValues";
4278
+ readonly outputs: readonly [{
4279
+ readonly components: readonly [{
4280
+ readonly internalType: "uint256";
4281
+ readonly name: "id";
4282
+ readonly type: "uint256";
4283
+ }, {
4284
+ readonly internalType: "address";
4285
+ readonly name: "owner";
4286
+ readonly type: "address";
4287
+ }, {
4288
+ readonly internalType: "address";
4289
+ readonly name: "serverAddress";
4290
+ readonly type: "address";
4291
+ }, {
4292
+ readonly internalType: "string";
4293
+ readonly name: "publicKey";
4294
+ readonly type: "string";
4295
+ }, {
4296
+ readonly internalType: "string";
4297
+ readonly name: "url";
4298
+ readonly type: "string";
4299
+ }, {
4300
+ readonly internalType: "uint256";
4301
+ readonly name: "startBlock";
4302
+ readonly type: "uint256";
4303
+ }, {
4304
+ readonly internalType: "uint256";
4305
+ readonly name: "endBlock";
4306
+ readonly type: "uint256";
4307
+ }];
4308
+ readonly internalType: "struct IDataPortabilityServers.TrustedServerInfo[]";
4309
+ readonly name: "serversInfo";
4310
+ readonly type: "tuple[]";
4311
+ }];
4312
+ readonly stateMutability: "view";
4313
+ readonly type: "function";
4314
+ }, {
4315
+ readonly inputs: readonly [{
4316
+ readonly internalType: "address";
4317
+ readonly name: "userAddress";
4318
+ readonly type: "address";
4319
+ }, {
4320
+ readonly internalType: "uint256";
4321
+ readonly name: "serverId";
4322
+ readonly type: "uint256";
4323
+ }];
4324
+ readonly name: "userServers";
4325
+ readonly outputs: readonly [{
4326
+ readonly components: readonly [{
4327
+ readonly internalType: "uint256";
4328
+ readonly name: "id";
4329
+ readonly type: "uint256";
4330
+ }, {
4331
+ readonly internalType: "address";
4332
+ readonly name: "owner";
4333
+ readonly type: "address";
4334
+ }, {
4335
+ readonly internalType: "address";
4336
+ readonly name: "serverAddress";
4337
+ readonly type: "address";
4338
+ }, {
4339
+ readonly internalType: "string";
4340
+ readonly name: "publicKey";
4341
+ readonly type: "string";
4342
+ }, {
4343
+ readonly internalType: "string";
4344
+ readonly name: "url";
4345
+ readonly type: "string";
4346
+ }, {
4347
+ readonly internalType: "uint256";
4348
+ readonly name: "startBlock";
4349
+ readonly type: "uint256";
4350
+ }, {
4351
+ readonly internalType: "uint256";
4352
+ readonly name: "endBlock";
4353
+ readonly type: "uint256";
4354
+ }];
4355
+ readonly internalType: "struct IDataPortabilityServers.TrustedServerInfo";
4356
+ readonly name: "";
4357
+ readonly type: "tuple";
4358
+ }];
4359
+ readonly stateMutability: "view";
4360
+ readonly type: "function";
5048
4361
  }, {
5049
4362
  readonly inputs: readonly [{
5050
4363
  readonly internalType: "address";
@@ -30408,6 +29721,8 @@ interface ControllerContext$1 {
30408
29721
  hasStorage?: () => boolean;
30409
29722
  /** Default IPFS gateways to use for fetching files. */
30410
29723
  ipfsGateways?: string[];
29724
+ /** Default personal server base URL for server operations. */
29725
+ defaultPersonalServerUrl?: string;
30411
29726
  }
30412
29727
  /**
30413
29728
  * Manages gasless data access permissions and trusted server registry operations.
@@ -30619,6 +29934,15 @@ declare class PermissionsController {
30619
29934
  * @returns Promise resolving to the transaction hash
30620
29935
  */
30621
29936
  submitSignedTrustServer(typedData: TrustServerTypedData, signature: Hash): Promise<Hash>;
29937
+ /**
29938
+ * Submits an already-signed add and trust server transaction to the blockchain.
29939
+ * This method extracts the add and trust server input from typed data and submits it directly.
29940
+ *
29941
+ * @param typedData - The EIP-712 typed data for AddAndTrustServer
29942
+ * @param signature - The user's signature
29943
+ * @returns Promise resolving to the transaction hash
29944
+ */
29945
+ submitSignedAddAndTrustServer(typedData: AddAndTrustServerTypedData, signature: Hash): Promise<Hash>;
30622
29946
  /**
30623
29947
  * Submits an already-signed permission revoke transaction to the blockchain.
30624
29948
  * This method handles the revocation of previously granted permissions.
@@ -30701,16 +30025,62 @@ declare class PermissionsController {
30701
30025
  * @throws {RelayerError} When gasless submission fails
30702
30026
  * @throws {PermissionError} When revocation fails for any other reason
30703
30027
  */
30704
- revokeWithSignature(params: RevokePermissionParams): Promise<Hash>;
30028
+ submitRevokeWithSignature(params: RevokePermissionParams): Promise<Hash>;
30705
30029
  /**
30030
+ * @deprecated Use getPermissionsUserNonce() for permission operations or getServersUserNonce() for server operations
30031
+ *
30706
30032
  * Retrieves the user's current nonce from the DataPortabilityServers contract.
30033
+ * This method is deprecated in favor of more specific nonce methods.
30034
+ *
30035
+ * The nonce is used to prevent replay attacks in signed transactions and must
30036
+ * be incremented with each transaction to maintain security.
30707
30037
  *
30708
- * @returns Promise resolving to the user's current nonce value
30038
+ * @returns Promise resolving to the user's current nonce value as a bigint
30709
30039
  * @throws {Error} When wallet account is not available
30710
30040
  * @throws {Error} When chain ID is not available
30711
30041
  * @throws {NonceError} When reading nonce from contract fails
30042
+ * @private
30043
+ * @example
30044
+ * ```typescript
30045
+ * // Deprecated - use specific methods instead
30046
+ * const nonce = await this.getUserNonce();
30047
+ *
30048
+ * // Use these instead:
30049
+ * const permissionsNonce = await this.getPermissionsUserNonce();
30050
+ * const serversNonce = await this.getServersUserNonce();
30051
+ * ```
30712
30052
  */
30713
30053
  private getUserNonce;
30054
+ /**
30055
+ * Retrieves the user's current nonce from the DataPortabilityServers contract.
30056
+ * This nonce is used for server-related operations (AddAndTrustServer, TrustServer, UntrustServer).
30057
+ *
30058
+ * @returns Promise resolving to the current servers nonce
30059
+ * @throws {NonceError} When reading nonce from contract fails
30060
+ * @private
30061
+ *
30062
+ * @example
30063
+ * ```typescript
30064
+ * const nonce = await this.getServersUserNonce();
30065
+ * console.log(`Current servers nonce: ${nonce}`);
30066
+ * ```
30067
+ */
30068
+ private getServersUserNonce;
30069
+ /**
30070
+ * Retrieves the user's current nonce from the DataPortabilityPermissions contract.
30071
+ * This nonce is used for permission-related operations (addPermission, addServerFilesAndPermissions).
30072
+ *
30073
+ * @returns Promise resolving to the current permissions nonce
30074
+ * @throws {NonceError} When reading nonce from contract fails
30075
+ * @private
30076
+ *
30077
+ * @example
30078
+ * ```typescript
30079
+ * const nonce = await this.getPermissionsUserNonce();
30080
+ * console.log(`Current permissions nonce: ${nonce}`);
30081
+ * ```
30082
+ */
30083
+ private getPermissionsUserNonce;
30714
30084
  /**
30715
30085
  * Composes the EIP-712 typed data for PermissionGrant (new simplified format).
30716
30086
  *
@@ -30724,6 +30094,21 @@ declare class PermissionsController {
30724
30094
  * @returns Promise resolving to the typed data structure
30725
30095
  */
30726
30096
  private composePermissionGrantMessage;
30097
+ /**
30098
+ * Creates EIP-712 typed data structure for server files and permissions.
30099
+ *
30100
+ * @param params - Parameters for the server files and permissions message
30101
+ * @param params.granteeId - Grantee ID
30102
+ * @param params.grant - Grant URL or grant data
30103
+ * @param params.fileUrls - Array of file URLs
30104
+ * @param params.serverAddress - Server address
30105
+ * @param params.serverUrl - Server URL
30106
+ * @param params.serverPublicKey - Server public key
30107
+ * @param params.filePermissions - File permissions array
30108
+ * @param params.nonce - Unique number to prevent replay attacks
30109
+ * @returns Promise resolving to the typed data structure
30110
+ */
30111
+ private composeServerFilesAndPermissionMessage;
30727
30112
  /**
30728
30113
  * Gets the EIP-712 domain for PermissionGrant signatures.
30729
30114
  *
@@ -30779,38 +30164,6 @@ declare class PermissionsController {
30779
30164
  * ```
30780
30165
  */
30781
30166
  getUserPermissionGrantsOnChain(options?: GetUserPermissionsOptions): Promise<OnChainPermissionGrant[]>;
30782
- /**
30783
- * Gets all permission IDs for a specific file.
30784
- *
30785
- * @param fileId - The file ID to query permissions for
30786
- * @returns Promise resolving to array of permission IDs
30787
- * @throws {BlockchainError} When reading from contract fails or chain is unavailable
30788
- */
30789
- getFilePermissionIds(fileId: bigint): Promise<bigint[]>;
30790
- /**
30791
- * Gets all file IDs associated with a permission.
30792
- *
30793
- * @param permissionId - The permission ID to query files for
30794
- * @returns Promise resolving to array of file IDs
30795
- * @throws {BlockchainError} When reading from contract fails or chain is unavailable
30796
- */
30797
- getPermissionFileIds(permissionId: bigint): Promise<bigint[]>;
30798
- /**
30799
- * Checks if a permission is active.
30800
- *
30801
- * @param permissionId - The permission ID to check
30802
- * @returns Promise resolving to boolean indicating if permission is active
30803
- * @throws {BlockchainError} When reading from contract fails or chain is unavailable
30804
- */
30805
- isActivePermission(permissionId: bigint): Promise<boolean>;
30806
- /**
30807
- * Gets permission details from the contract.
30808
- *
30809
- * @param permissionId - The permission ID to query
30810
- * @returns Promise resolving to permission info
30811
- * @throws {BlockchainError} When reading from contract fails or chain is unavailable
30812
- */
30813
- getPermissionInfo(permissionId: bigint): Promise<PermissionInfo>;
30814
30167
  /**
30815
30168
  * Normalizes grant ID to hex format.
30816
30169
  * Handles conversion from permission ID (bigint/number/string) to proper hex hash format.
@@ -30820,23 +30173,37 @@ declare class PermissionsController {
30820
30173
  */
30821
30174
  private normalizeGrantId;
30822
30175
  /**
30823
- * Adds and trusts a server for data processing.
30176
+ * Registers a new server and immediately trusts it in the DataPortabilityServers contract.
30177
+ *
30178
+ * This is a combined operation that both registers a new data portability server
30179
+ * and adds it to the user's trusted servers list in a single transaction.
30180
+ * Trusted servers can handle data export and portability requests from the user.
30824
30181
  *
30825
30182
  * @param params - Parameters for adding and trusting the server
30183
+ * @param params.owner - Ethereum address that will own this server registration
30184
+ * @param params.serverAddress - Ethereum address of the server
30185
+ * @param params.serverUrl - HTTPS URL where the server can be reached
30186
+ * @param params.publicKey - Server's public key for encryption (hex string)
30826
30187
  * @returns Promise resolving to transaction hash
30827
30188
  * @throws {UserRejectedRequestError} When user rejects the transaction
30828
30189
  * @throws {BlockchainError} When chain ID is unavailable or transaction fails
30190
+ * @throws {ServerAlreadyRegisteredError} When server address is already registered
30829
30191
  * @throws {Error} When wallet account is not available
30192
+ *
30830
30193
  * @example
30831
30194
  * ```typescript
30832
30195
  * // Add and trust a server by providing all required details
30833
30196
  * const txHash = await vana.permissions.addAndTrustServer({
30834
- * owner: '0x1234...',
30197
+ * owner: '0x1234567890abcdef1234567890abcdef12345678',
30835
30198
  * serverAddress: '0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6',
30836
30199
  * serverUrl: 'https://myserver.example.com',
30837
- * publicKey: '0x456...'
30200
+ * publicKey: '0x456789abcdef456789abcdef456789abcdef456789abcdef'
30838
30201
  * });
30839
30202
  * console.log('Server added and trusted in transaction:', txHash);
30203
+ *
30204
+ * // Verify the server is now trusted
30205
+ * const trustedServers = await vana.permissions.getTrustedServers();
30206
+ * console.log('Now trusting servers:', trustedServers);
30840
30207
  * ```
30841
30208
  */
30842
30209
  addAndTrustServer(params: AddAndTrustServerParams): Promise<Hash>;
@@ -30847,14 +30214,14 @@ declare class PermissionsController {
30847
30214
  * @returns Promise resolving to transaction hash
30848
30215
  * @deprecated Use addAndTrustServer instead
30849
30216
  */
30850
- trustServer(params: TrustServerParams): Promise<Hash>;
30217
+ submitTrustServer(params: TrustServerParams): Promise<Hash>;
30851
30218
  /**
30852
30219
  * Adds and trusts a server using a signature (gasless transaction).
30853
30220
  *
30854
30221
  * @param params - Parameters for adding and trusting the server
30855
30222
  * @returns Promise resolving to transaction hash
30856
30223
  */
30857
- addAndTrustServerWithSignature(params: AddAndTrustServerParams): Promise<Hash>;
30224
+ submitAddAndTrustServerWithSignature(params: AddAndTrustServerParams): Promise<Hash>;
30858
30225
  /**
30859
30226
  * Trusts a server using a signature (gasless transaction - legacy method).
30860
30227
  *
@@ -30868,7 +30235,7 @@ declare class PermissionsController {
30868
30235
  * @throws {ServerUrlMismatchError} When server URL doesn't match existing registration
30869
30236
  * @throws {BlockchainError} When trust operation fails for any other reason
30870
30237
  */
30871
- trustServerWithSignature(params: TrustServerParams): Promise<Hash>;
30238
+ submitTrustServerWithSignature(params: TrustServerParams): Promise<Hash>;
30872
30239
  /**
30873
30240
  * Submits a direct untrust server transaction (without signature).
30874
30241
  *
@@ -30877,17 +30244,34 @@ declare class PermissionsController {
30877
30244
  */
30878
30245
  private submitDirectUntrustTransaction;
30879
30246
  /**
30880
- * Untrusts a server.
30247
+ * Removes a server from the user's trusted servers list in the DataPortabilityServers contract.
30248
+ *
30249
+ * This revokes the server's authorization to handle data portability requests for the user.
30250
+ * The server remains registered in the system but will no longer be trusted by this user.
30881
30251
  *
30882
30252
  * @param params - Parameters for untrusting the server
30883
- * @param params.serverId - The server's Ethereum address to untrust
30253
+ * @param params.serverId - The numeric ID of the server to untrust
30884
30254
  * @returns Promise resolving to transaction hash
30885
30255
  * @throws {Error} When wallet account is not available
30886
30256
  * @throws {NonceError} When retrieving user nonce fails
30887
30257
  * @throws {UserRejectedRequestError} When user rejects the transaction
30258
+ * @throws {ServerNotTrustedError} When the server is not currently trusted
30888
30259
  * @throws {BlockchainError} When untrust transaction fails
30260
+ *
30261
+ * @example
30262
+ * ```typescript
30263
+ * // Untrust a specific server
30264
+ * const txHash = await vana.permissions.untrustServer({
30265
+ * serverId: 1
30266
+ * });
30267
+ * console.log('Server untrusted in transaction:', txHash);
30268
+ *
30269
+ * // Verify the server is no longer trusted
30270
+ * const trustedServers = await vana.permissions.getTrustedServers();
30271
+ * console.log('Still trusting servers:', trustedServers);
30272
+ * ```
30889
30273
  */
30890
- untrustServer(params: UntrustServerParams): Promise<Hash>;
30274
+ submitUntrustServer(params: UntrustServerParams): Promise<Hash>;
30891
30275
  /**
30892
30276
  * Untrusts a server using a signature (gasless transaction).
30893
30277
  *
@@ -30900,38 +30284,30 @@ declare class PermissionsController {
30900
30284
  * @throws {RelayerError} When gasless submission fails
30901
30285
  * @throws {BlockchainError} When untrust transaction fails
30902
30286
  */
30903
- untrustServerWithSignature(params: UntrustServerParams): Promise<Hash>;
30287
+ submitUntrustServerWithSignature(params: UntrustServerParams): Promise<Hash>;
30904
30288
  /**
30905
- * Gets all servers trusted by a user.
30289
+ * Retrieves all servers trusted by a user from the DataPortabilityServers contract.
30906
30290
  *
30907
- * @param userAddress - Optional user address (defaults to current user)
30291
+ * Returns an array of server IDs that the specified user has explicitly trusted.
30292
+ * Trusted servers are those that users have authorized to handle their data portability requests.
30293
+ *
30294
+ * @param userAddress - Optional user address to query (defaults to current wallet user)
30908
30295
  * @returns Promise resolving to array of trusted server IDs (numeric)
30909
30296
  * @throws {BlockchainError} When reading from contract fails or chain is unavailable
30910
- */
30911
- getTrustedServers(userAddress?: Address): Promise<number[]>;
30912
- /**
30913
- * Gets server information by server ID.
30297
+ * @throws {NetworkError} When unable to connect to the blockchain network
30914
30298
  *
30915
- * @param serverId - Server ID (numeric)
30916
- * @returns Promise resolving to server information
30917
- * @throws {BlockchainError} When reading from contract fails or chain is unavailable
30918
- */
30919
- getServerInfo(serverId: number): Promise<Server>;
30920
- /**
30921
- * Checks if a server is active.
30922
- *
30923
- * @param serverId - Server ID (numeric)
30924
- * @returns Promise resolving to boolean indicating if server is active
30925
- */
30926
- isActiveServer(serverId: number): Promise<boolean>;
30927
- /**
30928
- * Checks if a server is active for a specific user.
30299
+ * @example
30300
+ * ```typescript
30301
+ * // Get trusted servers for current user
30302
+ * const myServers = await vana.permissions.getTrustedServers();
30303
+ * console.log(`I trust ${myServers.length} servers: ${myServers.join(', ')}`);
30929
30304
  *
30930
- * @param serverId - Server ID (numeric)
30931
- * @param userAddress - Optional user address (defaults to current user)
30932
- * @returns Promise resolving to boolean indicating if server is active for the user
30305
+ * // Get trusted servers for another user
30306
+ * const userServers = await vana.permissions.getTrustedServers("0x1234...");
30307
+ * console.log(`User trusts servers: ${userServers.join(', ')}`);
30308
+ * ```
30933
30309
  */
30934
- isActiveServerForUser(serverId: number, userAddress?: Address): Promise<boolean>;
30310
+ getTrustedServers(userAddress?: Address): Promise<number[]>;
30935
30311
  /**
30936
30312
  * Gets the total count of trusted servers for a user.
30937
30313
  *
@@ -31032,10 +30408,19 @@ declare class PermissionsController {
31032
30408
  */
31033
30409
  private submitSignedUntrustTransaction;
31034
30410
  /**
31035
- * Registers a new grantee
30411
+ * Registers a new grantee in the DataPortabilityGrantees contract.
30412
+ *
30413
+ * A grantee is an entity (like an application) that can receive data permissions
30414
+ * from users. Once registered, users can grant the grantee access to their data.
31036
30415
  *
31037
30416
  * @param params - Parameters for registering the grantee
30417
+ * @param params.owner - The Ethereum address that will own this grantee registration
30418
+ * @param params.granteeAddress - The Ethereum address of the grantee (application)
30419
+ * @param params.publicKey - The public key used for data encryption/decryption (hex string)
31038
30420
  * @returns Promise resolving to the transaction hash
30421
+ * @throws {BlockchainError} When the grantee registration transaction fails
30422
+ * @throws {UserRejectedRequestError} When user rejects the transaction
30423
+ * @throws {ContractError} When grantee is already registered
31039
30424
  *
31040
30425
  * @example
31041
30426
  * ```typescript
@@ -31044,9 +30429,10 @@ declare class PermissionsController {
31044
30429
  * granteeAddress: "0xApp1234567890123456789012345678901234567890",
31045
30430
  * publicKey: "0x1234567890abcdef..."
31046
30431
  * });
30432
+ * console.log(`Grantee registered in transaction: ${txHash}`);
31047
30433
  * ```
31048
30434
  */
31049
- registerGrantee(params: RegisterGranteeParams): Promise<Hash>;
30435
+ submitRegisterGrantee(params: RegisterGranteeParams): Promise<Hash>;
31050
30436
  /**
31051
30437
  * Registers a grantee with a signature (gasless transaction)
31052
30438
  *
@@ -31062,7 +30448,7 @@ declare class PermissionsController {
31062
30448
  * });
31063
30449
  * ```
31064
30450
  */
31065
- registerGranteeWithSignature(params: RegisterGranteeParams): Promise<Hash>;
30451
+ submitRegisterGranteeWithSignature(params: RegisterGranteeParams): Promise<Hash>;
31066
30452
  /**
31067
30453
  * Submits a signed register grantee transaction via relayer
31068
30454
  *
@@ -31077,41 +30463,88 @@ declare class PermissionsController {
31077
30463
  */
31078
30464
  submitSignedRegisterGrantee(typedData: RegisterGranteeTypedData, signature: Hash): Promise<Hash>;
31079
30465
  /**
31080
- * Gets all grantees
30466
+ * Retrieves all registered grantees from the DataPortabilityGrantees contract.
31081
30467
  *
31082
- * @param options - Query options
31083
- * @returns Promise resolving to paginated grantees
30468
+ * Returns a paginated list of all grantees (applications) that have been registered
30469
+ * in the system and can receive data permissions from users.
30470
+ *
30471
+ * @param options - Query options for pagination and filtering
30472
+ * @param options.limit - Maximum number of grantees to return (default: 50)
30473
+ * @param options.offset - Number of grantees to skip for pagination (default: 0)
30474
+ * @returns Promise resolving to paginated grantees with metadata
30475
+ * @throws {BlockchainError} When contract read operation fails
30476
+ * @throws {NetworkError} When unable to connect to the blockchain network
31084
30477
  *
31085
30478
  * @example
31086
30479
  * ```typescript
30480
+ * // Get first 10 grantees
31087
30481
  * const result = await vana.permissions.getGrantees({
31088
30482
  * limit: 10,
31089
30483
  * offset: 0
31090
30484
  * });
30485
+ *
30486
+ * console.log(`Found ${result.total} total grantees`);
30487
+ * result.grantees.forEach(grantee => {
30488
+ * console.log(`Grantee ${grantee.id}: ${grantee.granteeAddress}`);
30489
+ * });
30490
+ *
30491
+ * // Check if there are more results
30492
+ * if (result.hasMore) {
30493
+ * console.log('More grantees available');
30494
+ * }
31091
30495
  * ```
31092
30496
  */
31093
30497
  getGrantees(options?: GranteeQueryOptions): Promise<PaginatedGrantees>;
31094
30498
  /**
31095
- * Gets a grantee by their address
30499
+ * Retrieves a specific grantee by their Ethereum address from the DataPortabilityGrantees contract.
31096
30500
  *
31097
- * @param granteeAddress - The grantee's address
31098
- * @returns Promise resolving to the grantee info or null if not found
30501
+ * Looks up a registered grantee (application) using their Ethereum address
30502
+ * and returns their complete registration information including permissions.
30503
+ *
30504
+ * @param granteeAddress - The Ethereum address of the grantee to look up
30505
+ * @returns Promise resolving to the grantee information, or null if not found
30506
+ * @throws {BlockchainError} When contract read operation fails
30507
+ * @throws {NetworkError} When unable to connect to the blockchain network
31099
30508
  *
31100
30509
  * @example
31101
30510
  * ```typescript
31102
- * const grantee = await vana.permissions.getGranteeByAddress("0x1234...");
30511
+ * const granteeAddress = "0xApp1234567890123456789012345678901234567890";
30512
+ * const grantee = await vana.permissions.getGranteeByAddress(granteeAddress);
30513
+ *
30514
+ * if (grantee) {
30515
+ * console.log(`Found grantee ${grantee.id}`);
30516
+ * console.log(`Owner: ${grantee.owner}`);
30517
+ * console.log(`Public Key: ${grantee.publicKey}`);
30518
+ * console.log(`Permissions: ${grantee.permissionIds.join(', ')}`);
30519
+ * } else {
30520
+ * console.log('Grantee not found');
30521
+ * }
31103
30522
  * ```
31104
30523
  */
31105
30524
  getGranteeByAddress(granteeAddress: Address): Promise<Grantee | null>;
31106
30525
  /**
31107
- * Gets a grantee by their ID
30526
+ * Retrieves a specific grantee by their unique ID from the DataPortabilityGrantees contract.
30527
+ *
30528
+ * Looks up a registered grantee (application) using their numeric ID assigned during
30529
+ * registration and returns their complete information including permissions.
31108
30530
  *
31109
- * @param granteeId - The grantee's ID
31110
- * @returns Promise resolving to the grantee info or null if not found
30531
+ * @param granteeId - The unique numeric ID of the grantee (1-indexed)
30532
+ * @returns Promise resolving to the grantee information, or null if not found
30533
+ * @throws {BlockchainError} When contract read operation fails
30534
+ * @throws {NetworkError} When unable to connect to the blockchain network
31111
30535
  *
31112
30536
  * @example
31113
30537
  * ```typescript
31114
30538
  * const grantee = await vana.permissions.getGranteeById(1);
30539
+ *
30540
+ * if (grantee) {
30541
+ * console.log(`Grantee ID: ${grantee.id}`);
30542
+ * console.log(`Address: ${grantee.granteeAddress}`);
30543
+ * console.log(`Owner: ${grantee.owner}`);
30544
+ * console.log(`Total permissions: ${grantee.permissionIds.length}`);
30545
+ * } else {
30546
+ * console.log('Grantee with ID 1 not found');
30547
+ * }
31115
30548
  * ```
31116
30549
  */
31117
30550
  getGranteeById(granteeId: number): Promise<Grantee | null>;
@@ -31132,6 +30565,240 @@ declare class PermissionsController {
31132
30565
  * @private
31133
30566
  */
31134
30567
  private submitSignedRegisterGranteeTransaction;
30568
+ /**
30569
+ * Get all trusted server IDs for a user
30570
+ *
30571
+ * @param userAddress - User address to query (defaults to current user)
30572
+ * @returns Promise resolving to array of server IDs
30573
+ */
30574
+ getUserServerIds(userAddress?: Address): Promise<bigint[]>;
30575
+ /**
30576
+ * Get server ID at specific index for a user
30577
+ *
30578
+ * @param userAddress - User address to query
30579
+ * @param serverIndex - Index in the user's server list
30580
+ * @returns Promise resolving to server ID
30581
+ */
30582
+ getUserServerIdAt(userAddress: Address, serverIndex: bigint): Promise<bigint>;
30583
+ /**
30584
+ * Get the number of trusted servers for a user
30585
+ *
30586
+ * @param userAddress - User address to query (defaults to current user)
30587
+ * @returns Promise resolving to number of trusted servers
30588
+ */
30589
+ getUserServerCount(userAddress?: Address): Promise<bigint>;
30590
+ /**
30591
+ * Get detailed information about trusted servers for a user
30592
+ *
30593
+ * @param userAddress - User address to query (defaults to current user)
30594
+ * @returns Promise resolving to array of trusted server info
30595
+ */
30596
+ getUserTrustedServers(userAddress?: Address): Promise<TrustedServerInfo[]>;
30597
+ /**
30598
+ * Get trusted server info for a specific server ID and user
30599
+ *
30600
+ * @param userAddress - User address to query
30601
+ * @param serverId - Server ID to get info for
30602
+ * @returns Promise resolving to trusted server info
30603
+ */
30604
+ getUserTrustedServer(userAddress: Address, serverId: bigint): Promise<TrustedServerInfo>;
30605
+ /**
30606
+ * Get server information by server ID
30607
+ *
30608
+ * @param serverId - Server ID to get info for
30609
+ * @returns Promise resolving to server info
30610
+ */
30611
+ getServerInfo(serverId: bigint): Promise<ServerInfo>;
30612
+ /**
30613
+ * Get server information by server address
30614
+ *
30615
+ * @param serverAddress - Server address to get info for
30616
+ * @returns Promise resolving to server info
30617
+ */
30618
+ getServerInfoByAddress(serverAddress: Address): Promise<ServerInfo>;
30619
+ /**
30620
+ * Get all permission IDs for a user
30621
+ *
30622
+ * @param userAddress - User address to query (defaults to current user)
30623
+ * @returns Promise resolving to array of permission IDs
30624
+ */
30625
+ getUserPermissionIds(userAddress?: Address): Promise<bigint[]>;
30626
+ /**
30627
+ * Get permission ID at specific index for a user
30628
+ *
30629
+ * @param userAddress - User address to query
30630
+ * @param permissionIndex - Index in the user's permission list
30631
+ * @returns Promise resolving to permission ID
30632
+ */
30633
+ getUserPermissionIdAt(userAddress: Address, permissionIndex: bigint): Promise<bigint>;
30634
+ /**
30635
+ * Get the number of permissions for a user
30636
+ *
30637
+ * @param userAddress - User address to query (defaults to current user)
30638
+ * @returns Promise resolving to number of permissions
30639
+ */
30640
+ getUserPermissionCount(userAddress?: Address): Promise<bigint>;
30641
+ /**
30642
+ * Get detailed permission information by permission ID
30643
+ *
30644
+ * @param permissionId - Permission ID to get info for
30645
+ * @returns Promise resolving to permission info
30646
+ */
30647
+ getPermissionInfo(permissionId: bigint): Promise<PermissionInfo>;
30648
+ /**
30649
+ * Get all permission IDs for a specific file
30650
+ *
30651
+ * @param fileId - File ID to get permissions for
30652
+ * @returns Promise resolving to array of permission IDs
30653
+ */
30654
+ getFilePermissionIds(fileId: bigint): Promise<bigint[]>;
30655
+ /**
30656
+ * Get all file IDs for a specific permission
30657
+ *
30658
+ * @param permissionId - Permission ID to get files for
30659
+ * @returns Promise resolving to array of file IDs
30660
+ */
30661
+ getPermissionFileIds(permissionId: bigint): Promise<bigint[]>;
30662
+ /**
30663
+ * Get all permissions for a specific file (alias for getFilePermissionIds)
30664
+ *
30665
+ * @param fileId - File ID to get permissions for
30666
+ * @returns Promise resolving to array of permission IDs
30667
+ */
30668
+ getFilePermissions(fileId: bigint): Promise<bigint[]>;
30669
+ /**
30670
+ * Get grantee information by grantee ID
30671
+ *
30672
+ * @param granteeId - Grantee ID to get info for
30673
+ * @returns Promise resolving to grantee info
30674
+ */
30675
+ getGranteeInfo(granteeId: bigint): Promise<GranteeInfo>;
30676
+ /**
30677
+ * Get grantee information by grantee address
30678
+ *
30679
+ * @param granteeAddress - Grantee address to get info for
30680
+ * @returns Promise resolving to grantee info
30681
+ */
30682
+ getGranteeInfoByAddress(granteeAddress: Address): Promise<GranteeInfo>;
30683
+ /**
30684
+ * Get all permission IDs for a specific grantee
30685
+ *
30686
+ * @param granteeId - Grantee ID to get permissions for
30687
+ * @returns Promise resolving to array of permission IDs
30688
+ */
30689
+ getGranteePermissionIds(granteeId: bigint): Promise<bigint[]>;
30690
+ /**
30691
+ * Get all permissions for a specific grantee (alias for getGranteePermissionIds)
30692
+ *
30693
+ * @param granteeId - Grantee ID to get permissions for
30694
+ * @returns Promise resolving to array of permission IDs
30695
+ */
30696
+ getGranteePermissions(granteeId: bigint): Promise<bigint[]>;
30697
+ /**
30698
+ * Get all server IDs for a user
30699
+ *
30700
+ * @param userAddress - User address to get server IDs for
30701
+ * @returns Promise resolving to array of server IDs
30702
+ */
30703
+ getUserServerIdsValues(userAddress: Address): Promise<bigint[]>;
30704
+ /**
30705
+ * Get server ID at specific index for a user
30706
+ *
30707
+ * @param userAddress - User address
30708
+ * @param serverIndex - Index of the server ID
30709
+ * @returns Promise resolving to server ID
30710
+ */
30711
+ getUserServerIdsAt(userAddress: Address, serverIndex: bigint): Promise<bigint>;
30712
+ /**
30713
+ * Get the number of servers a user has
30714
+ *
30715
+ * @param userAddress - User address
30716
+ * @returns Promise resolving to number of servers
30717
+ */
30718
+ getUserServerIdsLength(userAddress: Address): Promise<bigint>;
30719
+ /**
30720
+ * Get trusted server info for a specific user and server ID
30721
+ *
30722
+ * @param userAddress - User address
30723
+ * @param serverId - Server ID
30724
+ * @returns Promise resolving to trusted server info
30725
+ */
30726
+ getUserServers(userAddress: Address, serverId: bigint): Promise<TrustedServerInfo>;
30727
+ /**
30728
+ * Get server info by server ID
30729
+ *
30730
+ * @param serverId - Server ID
30731
+ * @returns Promise resolving to server info
30732
+ */
30733
+ getServers(serverId: bigint): Promise<ServerInfo>;
30734
+ /**
30735
+ * Get user info including nonce and trusted server IDs
30736
+ *
30737
+ * @param userAddress - User address
30738
+ * @returns Promise resolving to user info
30739
+ */
30740
+ getUsers(userAddress: Address): Promise<{
30741
+ nonce: bigint;
30742
+ trustedServerIds: bigint[];
30743
+ }>;
30744
+ /**
30745
+ * Update server URL
30746
+ *
30747
+ * @param serverId - Server ID to update
30748
+ * @param url - New URL for the server
30749
+ * @returns Promise resolving to transaction hash
30750
+ */
30751
+ submitUpdateServer(serverId: bigint, url: string): Promise<Hash>;
30752
+ /**
30753
+ * Get all permission IDs for a user
30754
+ *
30755
+ * @param userAddress - User address to get permission IDs for
30756
+ * @returns Promise resolving to array of permission IDs
30757
+ */
30758
+ getUserPermissionIdsValues(userAddress: Address): Promise<bigint[]>;
30759
+ /**
30760
+ * Get permission ID at specific index for a user
30761
+ *
30762
+ * @param userAddress - User address
30763
+ * @param permissionIndex - Index of the permission ID
30764
+ * @returns Promise resolving to permission ID
30765
+ */
30766
+ getUserPermissionIdsAt(userAddress: Address, permissionIndex: bigint): Promise<bigint>;
30767
+ /**
30768
+ * Get the number of permissions a user has
30769
+ *
30770
+ * @param userAddress - User address
30771
+ * @returns Promise resolving to number of permissions
30772
+ */
30773
+ getUserPermissionIdsLength(userAddress: Address): Promise<bigint>;
30774
+ /**
30775
+ * Get permission info by permission ID
30776
+ *
30777
+ * @param permissionId - Permission ID
30778
+ * @returns Promise resolving to permission info
30779
+ */
30780
+ getPermissions(permissionId: bigint): Promise<PermissionInfo>;
30781
+ /**
30782
+ * Submit permission with signature to the blockchain
30783
+ *
30784
+ * @param params - Parameters for adding permission
30785
+ * @returns Promise resolving to transaction hash
30786
+ */
30787
+ submitAddPermission(params: ServerFilesAndPermissionParams): Promise<Hash>;
30788
+ /**
30789
+ * Submit server files and permissions with signature to the blockchain
30790
+ *
30791
+ * @param params - Parameters for adding server files and permissions
30792
+ * @returns Promise resolving to transaction hash
30793
+ */
30794
+ submitAddServerFilesAndPermissions(params: ServerFilesAndPermissionParams): Promise<Hash>;
30795
+ /**
30796
+ * Submit permission revocation with signature to the blockchain
30797
+ *
30798
+ * @param permissionId - Permission ID to revoke
30799
+ * @returns Promise resolving to transaction hash
30800
+ */
30801
+ submitRevokePermission(permissionId: bigint): Promise<Hash>;
31135
30802
  }
31136
30803
 
31137
30804
  /**
@@ -34592,8 +34259,8 @@ declare class DataController {
34592
34259
  */
34593
34260
  declare class ServerController {
34594
34261
  private readonly context;
34595
- readonly PERSONAL_SERVER_BASE_URL: string | undefined;
34596
34262
  constructor(context: ControllerContext$1);
34263
+ private get personalServerBaseUrl();
34597
34264
  /**
34598
34265
  * Retrieves the cryptographic identity of a personal server.
34599
34266
  *
@@ -35064,6 +34731,7 @@ declare class VanaCore {
35064
34731
  private readonly storageManager?;
35065
34732
  private readonly hasRequiredStorage;
35066
34733
  private readonly ipfsGateways?;
34734
+ private readonly defaultPersonalServerUrl?;
35067
34735
  /**
35068
34736
  * Initializes a new VanaCore client instance with the provided configuration.
35069
34737
  *
@@ -37055,4 +36723,4 @@ declare function Vana(config: VanaConfig): VanaBrowserImpl;
37055
36723
  */
37056
36724
  type VanaInstance = VanaBrowserImpl;
37057
36725
 
37058
- 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, 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 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 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 };
36726
+ 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 };