@northstake/northstakeapi 1.0.40 → 1.0.41

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.
Files changed (31) hide show
  1. package/.openapi-generator/FILES +2 -2
  2. package/api/lidoReadApi.ts +89 -0
  3. package/api/lidoWriteApi.ts +369 -2
  4. package/api/validatorsApi.ts +0 -114
  5. package/api.ts +2 -2
  6. package/dist/api/lidoReadApi.d.ts +14 -0
  7. package/dist/api/lidoReadApi.js +69 -0
  8. package/dist/api/lidoWriteApi.d.ts +60 -2
  9. package/dist/api/lidoWriteApi.js +292 -2
  10. package/dist/api/validatorsApi.d.ts +0 -27
  11. package/dist/api/validatorsApi.js +0 -85
  12. package/dist/api.d.ts +2 -2
  13. package/dist/api.js +2 -2
  14. package/dist/model/{getWithdrawalsResponse.d.ts → abandonDashboardRequest.d.ts} +5 -11
  15. package/dist/model/abandonDashboardRequest.js +33 -0
  16. package/dist/model/{validatorWithdrawal.d.ts → getOperatorGroup200Response.d.ts} +15 -23
  17. package/dist/model/{getWithdrawalsResponse.js → getOperatorGroup200Response.js} +18 -18
  18. package/dist/model/lidoContractsStakingVault.d.ts +8 -0
  19. package/dist/model/lidoContractsStakingVault.js +10 -0
  20. package/dist/model/lidoStakingContractsWithDataVaultData.d.ts +16 -2
  21. package/dist/model/lidoStakingContractsWithDataVaultData.js +13 -3
  22. package/dist/model/models.d.ts +2 -2
  23. package/dist/model/models.js +7 -8
  24. package/model/abandonDashboardRequest.ts +43 -0
  25. package/model/{getWithdrawalsResponse.ts → getOperatorGroup200Response.ts} +24 -22
  26. package/model/lidoContractsStakingVault.ts +18 -0
  27. package/model/lidoStakingContractsWithDataVaultData.ts +32 -5
  28. package/model/models.ts +11 -12
  29. package/package.json +2 -2
  30. package/dist/model/validatorWithdrawal.js +0 -78
  31. package/model/validatorWithdrawal.ts +0 -107
package/api.ts CHANGED
@@ -9,6 +9,7 @@ import { LidoWriteApi } from './api/lidoWriteApi';
9
9
  import { LinkedWalletsApi } from './api/linkedWalletsApi';
10
10
  import { OrganizationApi } from './api/organizationApi';
11
11
  import { ValidatorsApi } from './api/validatorsApi';
12
+ export * from './model/./abandonDashboardRequest';
12
13
  export * from './model/./acceptedQuote';
13
14
  export * from './model/./accountEntity';
14
15
  export * from './model/./addLinkedWalletRequest';
@@ -49,9 +50,9 @@ export * from './model/./getLazyOracleReportCallData200ResponseDestructuredCalld
49
50
  export * from './model/./getLazyOracleReportData200Response';
50
51
  export * from './model/./getLazyOracleReportData200ResponseReportData';
51
52
  export * from './model/./getLidoTransactions200Response';
53
+ export * from './model/./getOperatorGroup200Response';
52
54
  export * from './model/./getQuarantineInfo200Response';
53
55
  export * from './model/./getStETHPerWstETHRate200Response';
54
- export * from './model/./getWithdrawalsResponse';
55
56
  export * from './model/./grantRole';
56
57
  export * from './model/./internalTransaction';
57
58
  export * from './model/./inviteMemberRequest';
@@ -117,7 +118,6 @@ export * from './model/./validatorRewardsDaily';
117
118
  export * from './model/./validatorRewardsDailyResponse';
118
119
  export * from './model/./validatorRewardsRaw';
119
120
  export * from './model/./validatorType';
120
- export * from './model/./validatorWithdrawal';
121
121
  export * from './model/./vaultCreationStartResponse';
122
122
  export * from './model/./wallet';
123
123
  export * from './model/./webHookLookupAnswer';
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import { GetLazyOracleReportData200Response } from '../model/getLazyOracleReportData200Response';
13
13
  import { GetLidoTransactions200Response } from '../model/getLidoTransactions200Response';
14
+ import { GetOperatorGroup200Response } from '../model/getOperatorGroup200Response';
14
15
  import { GetQuarantineInfo200Response } from '../model/getQuarantineInfo200Response';
15
16
  import { GetStETHPerWstETHRate200Response } from '../model/getStETHPerWstETHRate200Response';
16
17
  import { Authentication, Interceptor } from '../model/models';
@@ -95,6 +96,19 @@ export declare class LidoReadApi {
95
96
  body: GetLidoTransactions200Response;
96
97
  status: number;
97
98
  }>;
99
+ /**
100
+ *
101
+ * @summary Get operator group info from the operator grid
102
+ * @param nodeOperator The Ethereum address of the node operator
103
+ */
104
+ getOperatorGroup(nodeOperator: string, options?: {
105
+ headers: {
106
+ [name: string]: string;
107
+ };
108
+ }): Promise<{
109
+ body: GetOperatorGroup200Response;
110
+ status: number;
111
+ }>;
98
112
  /**
99
113
  *
100
114
  * @summary Get quarantine info for a vault
@@ -290,6 +290,75 @@ class LidoReadApi {
290
290
  });
291
291
  });
292
292
  }
293
+ /**
294
+ *
295
+ * @summary Get operator group info from the operator grid
296
+ * @param nodeOperator The Ethereum address of the node operator
297
+ */
298
+ async getOperatorGroup(nodeOperator, options = { headers: {} }) {
299
+ const localVarPath = this.basePath + '/lidov3/operator-group';
300
+ let localVarQueryParameters = {};
301
+ let localVarHeaderParams = Object.assign({}, this._defaultHeaders);
302
+ const produces = ['application/json'];
303
+ if (produces.indexOf('application/json') >= 0) {
304
+ localVarHeaderParams.Accept = 'application/json';
305
+ }
306
+ else {
307
+ localVarHeaderParams.Accept = produces.join(',');
308
+ }
309
+ let localVarFormParams = {};
310
+ // Verify required parameter 'nodeOperator' is not null or undefined
311
+ if (nodeOperator === null || nodeOperator === undefined) {
312
+ throw new Error('Required parameter "nodeOperator" was null or undefined when calling getOperatorGroup.');
313
+ }
314
+ if (nodeOperator !== undefined) {
315
+ localVarQueryParameters['nodeOperator'] = models_1.ObjectSerializer.serialize(nodeOperator, "string");
316
+ }
317
+ Object.assign(localVarHeaderParams, options.headers);
318
+ let localVarUseFormData = false;
319
+ let localVarRequestOptions = {
320
+ method: 'GET',
321
+ qs: localVarQueryParameters,
322
+ headers: localVarHeaderParams,
323
+ uri: localVarPath,
324
+ useQuerystring: this._useQuerystring,
325
+ json: true,
326
+ };
327
+ let authenticationPromise = Promise.resolve();
328
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
329
+ let interceptorPromise = authenticationPromise;
330
+ for (const interceptor of this.interceptors) {
331
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
332
+ }
333
+ return interceptorPromise.then(() => {
334
+ if (Object.keys(localVarFormParams).length) {
335
+ if (localVarUseFormData) {
336
+ localVarRequestOptions.formData = localVarFormParams;
337
+ }
338
+ else {
339
+ localVarRequestOptions.form = localVarFormParams;
340
+ }
341
+ }
342
+ return new Promise((resolve, reject) => {
343
+ (0, request_1.default)(localVarRequestOptions, (error, response, body) => {
344
+ if (error) {
345
+ console.error('API call error:', error);
346
+ reject(error);
347
+ }
348
+ else {
349
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
350
+ body = models_1.ObjectSerializer.deserialize(body, "GetOperatorGroup200Response");
351
+ resolve({ body: body, status: response.statusCode });
352
+ }
353
+ else {
354
+ console.error('API response error:', response.statusCode);
355
+ resolve({ body: body, status: response.statusCode });
356
+ }
357
+ }
358
+ });
359
+ });
360
+ });
361
+ }
293
362
  /**
294
363
  *
295
364
  * @summary Get quarantine info for a vault
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import { AbandonDashboardRequest } from '../model/abandonDashboardRequest';
12
13
  import { ApproveStETH } from '../model/approveStETH';
13
14
  import { ApproveWstETH } from '../model/approveWstETH';
14
15
  import { BurnShares } from '../model/burnShares';
@@ -63,6 +64,35 @@ export declare class LidoWriteApi {
63
64
  setApiKey(key: LidoWriteApiApiKeys, value: string): void;
64
65
  set accessToken(accessToken: string | (() => string));
65
66
  addInterceptor(interceptor: Interceptor): void;
67
+ /**
68
+ * Returns a partial transaction to call Dashboard.abandonDashboard(newOwner). Only allowed when the vault is fully disconnected from the vault hub (after disconnect has completed). Step 3 of the stVault disconnect guide (with Dashboard).
69
+ * @summary Abandon dashboard and transfer vault ownership (disconnect Step 3)
70
+ * @param contractsId The unique identifier of the Lido staking contracts
71
+ * @param abandonDashboardRequest
72
+ * @param simulateAddress Optional Ethereum address to simulate the transaction from.
73
+ */
74
+ abandonDashboard(contractsId: string, abandonDashboardRequest: AbandonDashboardRequest, simulateAddress?: string, options?: {
75
+ headers: {
76
+ [name: string]: string;
77
+ };
78
+ }): Promise<{
79
+ body: PartialTransaction;
80
+ status: number;
81
+ }>;
82
+ /**
83
+ * Returns a partial transaction to call StakingVault.acceptOwnership(). Only allowed when the vault is fully disconnected from the vault hub. Step 4 of the stVault disconnect guide (with Dashboard), or Step 3 without Dashboard.
84
+ * @summary Accept staking vault ownership (disconnect Step 4)
85
+ * @param contractsId The unique identifier of the Lido staking contracts
86
+ * @param simulateAddress Optional Ethereum address to simulate the transaction from.
87
+ */
88
+ acceptStakingVaultOwnership(contractsId: string, simulateAddress?: string, options?: {
89
+ headers: {
90
+ [name: string]: string;
91
+ };
92
+ }): Promise<{
93
+ body: PartialTransaction;
94
+ status: number;
95
+ }>;
66
96
  /**
67
97
  *
68
98
  * @summary Encode approval to burn stETH
@@ -174,6 +204,20 @@ export declare class LidoWriteApi {
174
204
  body: PartialTransaction;
175
205
  status: number;
176
206
  }>;
207
+ /**
208
+ * Returns a partial transaction to connect the vault to the vault hub (payable with 1 ETH). Only allowed when the vault is not already connected; returns 400 if already connected.
209
+ * @summary Connect to vault hub
210
+ * @param contractsId The unique identifier of the Lido staking contracts
211
+ * @param simulateAddress Optional Ethereum address to simulate the transaction from.
212
+ */
213
+ connectToVaultHub(contractsId: string, simulateAddress?: string, options?: {
214
+ headers: {
215
+ [name: string]: string;
216
+ };
217
+ }): Promise<{
218
+ body: PartialTransaction;
219
+ status: number;
220
+ }>;
177
221
  /**
178
222
  *
179
223
  * @summary Create EIP-7251 consolidation requests for validators
@@ -385,7 +429,7 @@ export declare class LidoWriteApi {
385
429
  status: number;
386
430
  }>;
387
431
  /**
388
- *
432
+ * Returns a partial transaction to trigger EIP-7002 validator withdrawals. When the vault is connected, uses Dashboard. When the vault is disconnected (e.g. after the disconnect wizard), uses StakingVault.triggerValidatorWithdrawals.
389
433
  * @summary Trigger validator withdrawals
390
434
  * @param contractsId The unique identifier of the Lido staking contracts
391
435
  * @param triggerValidatorWithdrawals
@@ -440,7 +484,21 @@ export declare class LidoWriteApi {
440
484
  status: number;
441
485
  }>;
442
486
  /**
443
- *
487
+ * Returns a partial transaction to voluntarily disconnect the vault from the vault hub. This is the only write operation allowed when the vault is already disconnected.
488
+ * @summary Voluntary disconnect from vault hub
489
+ * @param contractsId The unique identifier of the Lido staking contracts
490
+ * @param simulateAddress Optional Ethereum address to simulate the transaction from.
491
+ */
492
+ voluntaryDisconnectFromVaultHub(contractsId: string, simulateAddress?: string, options?: {
493
+ headers: {
494
+ [name: string]: string;
495
+ };
496
+ }): Promise<{
497
+ body: PartialTransaction;
498
+ status: number;
499
+ }>;
500
+ /**
501
+ * Returns a partial transaction to withdraw ETH. When the vault is connected, uses Dashboard.withdraw. When the vault is disconnected (e.g. after the disconnect wizard), uses StakingVault.withdraw(recipient, amount).
444
502
  * @summary Withdraw from vault
445
503
  * @param contractsId The unique identifier of the Lido staking contracts
446
504
  * @param withdrawFromVault
@@ -75,6 +75,154 @@ class LidoWriteApi {
75
75
  addInterceptor(interceptor) {
76
76
  this.interceptors.push(interceptor);
77
77
  }
78
+ /**
79
+ * Returns a partial transaction to call Dashboard.abandonDashboard(newOwner). Only allowed when the vault is fully disconnected from the vault hub (after disconnect has completed). Step 3 of the stVault disconnect guide (with Dashboard).
80
+ * @summary Abandon dashboard and transfer vault ownership (disconnect Step 3)
81
+ * @param contractsId The unique identifier of the Lido staking contracts
82
+ * @param abandonDashboardRequest
83
+ * @param simulateAddress Optional Ethereum address to simulate the transaction from.
84
+ */
85
+ async abandonDashboard(contractsId, abandonDashboardRequest, simulateAddress, options = { headers: {} }) {
86
+ const localVarPath = this.basePath + '/lidov3/{contractsId}/abandon-dashboard'
87
+ .replace('{' + 'contractsId' + '}', encodeURIComponent(String(contractsId)));
88
+ let localVarQueryParameters = {};
89
+ let localVarHeaderParams = Object.assign({}, this._defaultHeaders);
90
+ const produces = ['application/json'];
91
+ if (produces.indexOf('application/json') >= 0) {
92
+ localVarHeaderParams.Accept = 'application/json';
93
+ }
94
+ else {
95
+ localVarHeaderParams.Accept = produces.join(',');
96
+ }
97
+ let localVarFormParams = {};
98
+ // Verify required parameter 'contractsId' is not null or undefined
99
+ if (contractsId === null || contractsId === undefined) {
100
+ throw new Error('Required parameter "contractsId" was null or undefined when calling abandonDashboard.');
101
+ }
102
+ // Verify required parameter 'abandonDashboardRequest' is not null or undefined
103
+ if (abandonDashboardRequest === null || abandonDashboardRequest === undefined) {
104
+ throw new Error('Required parameter "abandonDashboardRequest" was null or undefined when calling abandonDashboard.');
105
+ }
106
+ if (simulateAddress !== undefined) {
107
+ localVarQueryParameters['simulateAddress'] = models_1.ObjectSerializer.serialize(simulateAddress, "string");
108
+ }
109
+ Object.assign(localVarHeaderParams, options.headers);
110
+ let localVarUseFormData = false;
111
+ let localVarRequestOptions = {
112
+ method: 'POST',
113
+ qs: localVarQueryParameters,
114
+ headers: localVarHeaderParams,
115
+ uri: localVarPath,
116
+ useQuerystring: this._useQuerystring,
117
+ json: true,
118
+ body: models_1.ObjectSerializer.serialize(abandonDashboardRequest, "AbandonDashboardRequest")
119
+ };
120
+ let authenticationPromise = Promise.resolve();
121
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
122
+ let interceptorPromise = authenticationPromise;
123
+ for (const interceptor of this.interceptors) {
124
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
125
+ }
126
+ return interceptorPromise.then(() => {
127
+ if (Object.keys(localVarFormParams).length) {
128
+ if (localVarUseFormData) {
129
+ localVarRequestOptions.formData = localVarFormParams;
130
+ }
131
+ else {
132
+ localVarRequestOptions.form = localVarFormParams;
133
+ }
134
+ }
135
+ return new Promise((resolve, reject) => {
136
+ (0, request_1.default)(localVarRequestOptions, (error, response, body) => {
137
+ if (error) {
138
+ console.error('API call error:', error);
139
+ reject(error);
140
+ }
141
+ else {
142
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
143
+ body = models_1.ObjectSerializer.deserialize(body, "PartialTransaction");
144
+ resolve({ body: body, status: response.statusCode });
145
+ }
146
+ else {
147
+ console.error('API response error:', response.statusCode);
148
+ resolve({ body: body, status: response.statusCode });
149
+ }
150
+ }
151
+ });
152
+ });
153
+ });
154
+ }
155
+ /**
156
+ * Returns a partial transaction to call StakingVault.acceptOwnership(). Only allowed when the vault is fully disconnected from the vault hub. Step 4 of the stVault disconnect guide (with Dashboard), or Step 3 without Dashboard.
157
+ * @summary Accept staking vault ownership (disconnect Step 4)
158
+ * @param contractsId The unique identifier of the Lido staking contracts
159
+ * @param simulateAddress Optional Ethereum address to simulate the transaction from.
160
+ */
161
+ async acceptStakingVaultOwnership(contractsId, simulateAddress, options = { headers: {} }) {
162
+ const localVarPath = this.basePath + '/lidov3/{contractsId}/accept-staking-vault-ownership'
163
+ .replace('{' + 'contractsId' + '}', encodeURIComponent(String(contractsId)));
164
+ let localVarQueryParameters = {};
165
+ let localVarHeaderParams = Object.assign({}, this._defaultHeaders);
166
+ const produces = ['application/json'];
167
+ if (produces.indexOf('application/json') >= 0) {
168
+ localVarHeaderParams.Accept = 'application/json';
169
+ }
170
+ else {
171
+ localVarHeaderParams.Accept = produces.join(',');
172
+ }
173
+ let localVarFormParams = {};
174
+ // Verify required parameter 'contractsId' is not null or undefined
175
+ if (contractsId === null || contractsId === undefined) {
176
+ throw new Error('Required parameter "contractsId" was null or undefined when calling acceptStakingVaultOwnership.');
177
+ }
178
+ if (simulateAddress !== undefined) {
179
+ localVarQueryParameters['simulateAddress'] = models_1.ObjectSerializer.serialize(simulateAddress, "string");
180
+ }
181
+ Object.assign(localVarHeaderParams, options.headers);
182
+ let localVarUseFormData = false;
183
+ let localVarRequestOptions = {
184
+ method: 'POST',
185
+ qs: localVarQueryParameters,
186
+ headers: localVarHeaderParams,
187
+ uri: localVarPath,
188
+ useQuerystring: this._useQuerystring,
189
+ json: true,
190
+ };
191
+ let authenticationPromise = Promise.resolve();
192
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
193
+ let interceptorPromise = authenticationPromise;
194
+ for (const interceptor of this.interceptors) {
195
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
196
+ }
197
+ return interceptorPromise.then(() => {
198
+ if (Object.keys(localVarFormParams).length) {
199
+ if (localVarUseFormData) {
200
+ localVarRequestOptions.formData = localVarFormParams;
201
+ }
202
+ else {
203
+ localVarRequestOptions.form = localVarFormParams;
204
+ }
205
+ }
206
+ return new Promise((resolve, reject) => {
207
+ (0, request_1.default)(localVarRequestOptions, (error, response, body) => {
208
+ if (error) {
209
+ console.error('API call error:', error);
210
+ reject(error);
211
+ }
212
+ else {
213
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
214
+ body = models_1.ObjectSerializer.deserialize(body, "PartialTransaction");
215
+ resolve({ body: body, status: response.statusCode });
216
+ }
217
+ else {
218
+ console.error('API response error:', response.statusCode);
219
+ resolve({ body: body, status: response.statusCode });
220
+ }
221
+ }
222
+ });
223
+ });
224
+ });
225
+ }
78
226
  /**
79
227
  *
80
228
  * @summary Encode approval to burn stETH
@@ -653,6 +801,77 @@ class LidoWriteApi {
653
801
  });
654
802
  });
655
803
  }
804
+ /**
805
+ * Returns a partial transaction to connect the vault to the vault hub (payable with 1 ETH). Only allowed when the vault is not already connected; returns 400 if already connected.
806
+ * @summary Connect to vault hub
807
+ * @param contractsId The unique identifier of the Lido staking contracts
808
+ * @param simulateAddress Optional Ethereum address to simulate the transaction from.
809
+ */
810
+ async connectToVaultHub(contractsId, simulateAddress, options = { headers: {} }) {
811
+ const localVarPath = this.basePath + '/lidov3/{contractsId}/connect-to-vault-hub'
812
+ .replace('{' + 'contractsId' + '}', encodeURIComponent(String(contractsId)));
813
+ let localVarQueryParameters = {};
814
+ let localVarHeaderParams = Object.assign({}, this._defaultHeaders);
815
+ const produces = ['application/json'];
816
+ if (produces.indexOf('application/json') >= 0) {
817
+ localVarHeaderParams.Accept = 'application/json';
818
+ }
819
+ else {
820
+ localVarHeaderParams.Accept = produces.join(',');
821
+ }
822
+ let localVarFormParams = {};
823
+ // Verify required parameter 'contractsId' is not null or undefined
824
+ if (contractsId === null || contractsId === undefined) {
825
+ throw new Error('Required parameter "contractsId" was null or undefined when calling connectToVaultHub.');
826
+ }
827
+ if (simulateAddress !== undefined) {
828
+ localVarQueryParameters['simulateAddress'] = models_1.ObjectSerializer.serialize(simulateAddress, "string");
829
+ }
830
+ Object.assign(localVarHeaderParams, options.headers);
831
+ let localVarUseFormData = false;
832
+ let localVarRequestOptions = {
833
+ method: 'POST',
834
+ qs: localVarQueryParameters,
835
+ headers: localVarHeaderParams,
836
+ uri: localVarPath,
837
+ useQuerystring: this._useQuerystring,
838
+ json: true,
839
+ };
840
+ let authenticationPromise = Promise.resolve();
841
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
842
+ let interceptorPromise = authenticationPromise;
843
+ for (const interceptor of this.interceptors) {
844
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
845
+ }
846
+ return interceptorPromise.then(() => {
847
+ if (Object.keys(localVarFormParams).length) {
848
+ if (localVarUseFormData) {
849
+ localVarRequestOptions.formData = localVarFormParams;
850
+ }
851
+ else {
852
+ localVarRequestOptions.form = localVarFormParams;
853
+ }
854
+ }
855
+ return new Promise((resolve, reject) => {
856
+ (0, request_1.default)(localVarRequestOptions, (error, response, body) => {
857
+ if (error) {
858
+ console.error('API call error:', error);
859
+ reject(error);
860
+ }
861
+ else {
862
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
863
+ body = models_1.ObjectSerializer.deserialize(body, "PartialTransaction");
864
+ resolve({ body: body, status: response.statusCode });
865
+ }
866
+ else {
867
+ console.error('API response error:', response.statusCode);
868
+ resolve({ body: body, status: response.statusCode });
869
+ }
870
+ }
871
+ });
872
+ });
873
+ });
874
+ }
656
875
  /**
657
876
  *
658
877
  * @summary Create EIP-7251 consolidation requests for validators
@@ -1743,7 +1962,7 @@ class LidoWriteApi {
1743
1962
  });
1744
1963
  }
1745
1964
  /**
1746
- *
1965
+ * Returns a partial transaction to trigger EIP-7002 validator withdrawals. When the vault is connected, uses Dashboard. When the vault is disconnected (e.g. after the disconnect wizard), uses StakingVault.triggerValidatorWithdrawals.
1747
1966
  * @summary Trigger validator withdrawals
1748
1967
  * @param contractsId The unique identifier of the Lido staking contracts
1749
1968
  * @param triggerValidatorWithdrawals
@@ -2029,7 +2248,78 @@ class LidoWriteApi {
2029
2248
  });
2030
2249
  }
2031
2250
  /**
2032
- *
2251
+ * Returns a partial transaction to voluntarily disconnect the vault from the vault hub. This is the only write operation allowed when the vault is already disconnected.
2252
+ * @summary Voluntary disconnect from vault hub
2253
+ * @param contractsId The unique identifier of the Lido staking contracts
2254
+ * @param simulateAddress Optional Ethereum address to simulate the transaction from.
2255
+ */
2256
+ async voluntaryDisconnectFromVaultHub(contractsId, simulateAddress, options = { headers: {} }) {
2257
+ const localVarPath = this.basePath + '/lidov3/{contractsId}/voluntary-disconnect'
2258
+ .replace('{' + 'contractsId' + '}', encodeURIComponent(String(contractsId)));
2259
+ let localVarQueryParameters = {};
2260
+ let localVarHeaderParams = Object.assign({}, this._defaultHeaders);
2261
+ const produces = ['application/json'];
2262
+ if (produces.indexOf('application/json') >= 0) {
2263
+ localVarHeaderParams.Accept = 'application/json';
2264
+ }
2265
+ else {
2266
+ localVarHeaderParams.Accept = produces.join(',');
2267
+ }
2268
+ let localVarFormParams = {};
2269
+ // Verify required parameter 'contractsId' is not null or undefined
2270
+ if (contractsId === null || contractsId === undefined) {
2271
+ throw new Error('Required parameter "contractsId" was null or undefined when calling voluntaryDisconnectFromVaultHub.');
2272
+ }
2273
+ if (simulateAddress !== undefined) {
2274
+ localVarQueryParameters['simulateAddress'] = models_1.ObjectSerializer.serialize(simulateAddress, "string");
2275
+ }
2276
+ Object.assign(localVarHeaderParams, options.headers);
2277
+ let localVarUseFormData = false;
2278
+ let localVarRequestOptions = {
2279
+ method: 'POST',
2280
+ qs: localVarQueryParameters,
2281
+ headers: localVarHeaderParams,
2282
+ uri: localVarPath,
2283
+ useQuerystring: this._useQuerystring,
2284
+ json: true,
2285
+ };
2286
+ let authenticationPromise = Promise.resolve();
2287
+ authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
2288
+ let interceptorPromise = authenticationPromise;
2289
+ for (const interceptor of this.interceptors) {
2290
+ interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
2291
+ }
2292
+ return interceptorPromise.then(() => {
2293
+ if (Object.keys(localVarFormParams).length) {
2294
+ if (localVarUseFormData) {
2295
+ localVarRequestOptions.formData = localVarFormParams;
2296
+ }
2297
+ else {
2298
+ localVarRequestOptions.form = localVarFormParams;
2299
+ }
2300
+ }
2301
+ return new Promise((resolve, reject) => {
2302
+ (0, request_1.default)(localVarRequestOptions, (error, response, body) => {
2303
+ if (error) {
2304
+ console.error('API call error:', error);
2305
+ reject(error);
2306
+ }
2307
+ else {
2308
+ if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
2309
+ body = models_1.ObjectSerializer.deserialize(body, "PartialTransaction");
2310
+ resolve({ body: body, status: response.statusCode });
2311
+ }
2312
+ else {
2313
+ console.error('API response error:', response.statusCode);
2314
+ resolve({ body: body, status: response.statusCode });
2315
+ }
2316
+ }
2317
+ });
2318
+ });
2319
+ });
2320
+ }
2321
+ /**
2322
+ * Returns a partial transaction to withdraw ETH. When the vault is connected, uses Dashboard.withdraw. When the vault is disconnected (e.g. after the disconnect wizard), uses StakingVault.withdraw(recipient, amount).
2033
2323
  * @summary Withdraw from vault
2034
2324
  * @param contractsId The unique identifier of the Lido staking contracts
2035
2325
  * @param withdrawFromVault
@@ -9,7 +9,6 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
- import { GetWithdrawalsResponse } from '../model/getWithdrawalsResponse';
13
12
  import { PartialTransaction } from '../model/partialTransaction';
14
13
  import { ValidatorInfo } from '../model/validatorInfo';
15
14
  import { Authentication, Interceptor } from '../model/models';
@@ -17,14 +16,6 @@ import { HttpBearerAuth, ApiKeyAuth } from '../model/models';
17
16
  export declare enum ValidatorsApiApiKeys {
18
17
  ApiKeyAuth = 0
19
18
  }
20
- export interface ValidatorsApiParams {
21
- startDate?: Date;
22
- endDate?: Date;
23
- page?: number;
24
- limit?: number;
25
- validatorIndices?: string;
26
- withdrawalType?: 'full' | 'partial';
27
- }
28
19
  export declare class ValidatorsApi {
29
20
  protected _basePath: string;
30
21
  protected _defaultHeaders: any;
@@ -45,24 +36,6 @@ export declare class ValidatorsApi {
45
36
  setApiKey(key: ValidatorsApiApiKeys, value: string): void;
46
37
  set accessToken(accessToken: string | (() => string));
47
38
  addInterceptor(interceptor: Interceptor): void;
48
- /**
49
- * Retrieves a paginated list of validator withdrawals. The endpoint supports filtering by start and end date, page number, and limit. Additionally, it allows filtering by validator indices.
50
- * @summary Get a list of validator withdrawals
51
- * @param startDate Start date for filtering withdrawal statistics
52
- * @param endDate End date for filtering withdrawal statistics
53
- * @param page Withdrawal list page number
54
- * @param limit Number of withdrawals to return per page
55
- * @param validatorIndices Comma-separated list of validator indices to filter withdrawals (e.g., \&quot;123,456,789\&quot;)
56
- * @param withdrawalType
57
- */
58
- getValidatorWithdrawals(params?: ValidatorsApiParams, options?: {
59
- headers: {
60
- [name: string]: string;
61
- };
62
- }): Promise<{
63
- body: GetWithdrawalsResponse;
64
- status: number;
65
- }>;
66
39
  /**
67
40
  *
68
41
  * @summary Get a list of validators