@ember-finance/sdk 2.1.3 → 2.2.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/src/abis/EmberDepositParkingLot.json +899 -0
  2. package/dist/src/abis/EmberProtocolConfig.json +20 -2
  3. package/dist/src/abis/EmberVault.json +143 -2
  4. package/dist/src/api/v2/apis/accounts-api.d.ts +110 -0
  5. package/dist/src/api/v2/apis/accounts-api.js +207 -0
  6. package/dist/src/api/v2/apis/vaults-api.d.ts +34 -0
  7. package/dist/src/api/v2/apis/vaults-api.js +70 -0
  8. package/dist/src/api/v2/models/account-parking-lot-claimable.d.ts +36 -0
  9. package/dist/src/api/v2/models/account-parking-lot-claimable.js +14 -0
  10. package/dist/src/api/v2/models/account-pending-deposit.d.ts +111 -0
  11. package/dist/src/api/v2/models/account-pending-deposit.js +19 -0
  12. package/dist/src/api/v2/models/chain-vault-details.d.ts +6 -0
  13. package/dist/src/api/v2/models/evm-contracts.d.ts +25 -0
  14. package/dist/src/api/v2/models/evm-deposit-parking-lot.d.ts +66 -0
  15. package/dist/src/api/v2/models/evm-deposit-parking-lot.js +14 -0
  16. package/dist/src/api/v2/models/evm-timelock.d.ts +60 -0
  17. package/dist/src/api/v2/models/evm-timelock.js +14 -0
  18. package/dist/src/api/v2/models/evm-vault-validator.d.ts +60 -0
  19. package/dist/src/api/v2/models/evm-vault-validator.js +14 -0
  20. package/dist/src/api/v2/models/evm-vault.d.ts +6 -0
  21. package/dist/src/api/v2/models/index.d.ts +6 -0
  22. package/dist/src/api/v2/models/index.js +6 -0
  23. package/dist/src/api/v2/models/vault-detail.d.ts +6 -0
  24. package/dist/src/api/v2/models/vault-parking-lot-info.d.ts +60 -0
  25. package/dist/src/api/v2/models/vault-parking-lot-info.js +14 -0
  26. package/dist/src/evm-vaults/interfaces/index.d.ts +35 -0
  27. package/dist/src/evm-vaults/on-chain-calls/operator.d.ts +9 -0
  28. package/dist/src/evm-vaults/on-chain-calls/operator.js +13 -0
  29. package/dist/src/evm-vaults/on-chain-calls/tx-builder.d.ts +58 -0
  30. package/dist/src/evm-vaults/on-chain-calls/tx-builder.js +122 -0
  31. package/dist/src/evm-vaults/on-chain-calls/user.d.ts +14 -0
  32. package/dist/src/evm-vaults/on-chain-calls/user.js +30 -0
  33. package/dist/src/evm-vaults/on-chain-calls/vault-admin.d.ts +28 -0
  34. package/dist/src/evm-vaults/on-chain-calls/vault-admin.js +42 -0
  35. package/dist/src/evm-vaults/on-chain-calls/vault-reader.d.ts +25 -1
  36. package/dist/src/evm-vaults/on-chain-calls/vault-reader.js +53 -0
  37. package/dist/src/evm-vaults/utils/deployment-parser.d.ts +16 -0
  38. package/dist/src/evm-vaults/utils/deployment-parser.js +27 -0
  39. package/package.json +1 -1
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { Asset } from "./asset.js";
13
+ import type { VaultSlice } from "./vault-slice.js";
14
+ /**
15
+ *
16
+ * @export
17
+ * @interface AccountPendingDeposit
18
+ */
19
+ export interface AccountPendingDeposit {
20
+ /**
21
+ * The status of the deposit request
22
+ * @type {string}
23
+ * @memberof AccountPendingDeposit
24
+ */
25
+ status: AccountPendingDepositStatusEnum;
26
+ /**
27
+ * The escrowed collateral amount of the deposit request
28
+ * @type {string}
29
+ * @memberof AccountPendingDeposit
30
+ */
31
+ amount: string;
32
+ /**
33
+ * The vault shares minted to the receiver (set once forwarded)
34
+ * @type {string}
35
+ * @memberof AccountPendingDeposit
36
+ */
37
+ sharesMinted?: string;
38
+ /**
39
+ * The address that parked the deposit (receives refunds on cancel/skip)
40
+ * @type {string}
41
+ * @memberof AccountPendingDeposit
42
+ */
43
+ depositorAddress: string;
44
+ /**
45
+ * The address that receives the minted vault shares when processed
46
+ * @type {string}
47
+ * @memberof AccountPendingDeposit
48
+ */
49
+ receiverAddress: string;
50
+ /**
51
+ *
52
+ * @type {Asset}
53
+ * @memberof AccountPendingDeposit
54
+ */
55
+ depositCoin: Asset;
56
+ /**
57
+ * The timestamp in ms the deposit was parked on-chain
58
+ * @type {number}
59
+ * @memberof AccountPendingDeposit
60
+ */
61
+ submittedAt: number;
62
+ /**
63
+ * The timestamp in ms the deposit was forwarded, cancelled, or skipped
64
+ * @type {number}
65
+ * @memberof AccountPendingDeposit
66
+ */
67
+ settledAt?: number;
68
+ /**
69
+ * The parking lot FIFO sequence number of the deposit request
70
+ * @type {string}
71
+ * @memberof AccountPendingDeposit
72
+ */
73
+ sequenceNumber: string;
74
+ /**
75
+ * The address of the parking lot contract holding the escrow
76
+ * @type {string}
77
+ * @memberof AccountPendingDeposit
78
+ */
79
+ parkingLotAddress: string;
80
+ /**
81
+ * The tx digest of the deposit request
82
+ * @type {string}
83
+ * @memberof AccountPendingDeposit
84
+ */
85
+ txDigest?: string;
86
+ /**
87
+ * The tx digest of the forward/cancel/skip settlement
88
+ * @type {string}
89
+ * @memberof AccountPendingDeposit
90
+ */
91
+ settledTxDigest?: string;
92
+ /**
93
+ *
94
+ * @type {VaultSlice}
95
+ * @memberof AccountPendingDeposit
96
+ */
97
+ vault: VaultSlice;
98
+ /**
99
+ * Chain identifier
100
+ * @type {string}
101
+ * @memberof AccountPendingDeposit
102
+ */
103
+ chain?: string;
104
+ }
105
+ export declare const AccountPendingDepositStatusEnum: {
106
+ readonly Pending: "Pending";
107
+ readonly Cancelled: "Cancelled";
108
+ readonly Forwarded: "Forwarded";
109
+ readonly Skipped: "Skipped";
110
+ };
111
+ export type AccountPendingDepositStatusEnum = (typeof AccountPendingDepositStatusEnum)[keyof typeof AccountPendingDepositStatusEnum];
@@ -0,0 +1,19 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Ember Protocol Vaults API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export const AccountPendingDepositStatusEnum = {
15
+ Pending: "Pending",
16
+ Cancelled: "Cancelled",
17
+ Forwarded: "Forwarded",
18
+ Skipped: "Skipped"
19
+ };
@@ -89,4 +89,10 @@ export interface ChainVaultDetails {
89
89
  * @memberof ChainVaultDetails
90
90
  */
91
91
  maxDepositsAllowed: string;
92
+ /**
93
+ * True if this on-chain vault gates deposits through a parking lot (async deposits). When true the frontend should route deposits via the parking lot and call the parking-lot info endpoint. Only set for EVM vaults; always false/absent for Sui.
94
+ * @type {boolean}
95
+ * @memberof ChainVaultDetails
96
+ */
97
+ hasAsyncDeposits?: boolean;
92
98
  }
@@ -9,12 +9,15 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { EvmDepositParkingLot } from "./evm-deposit-parking-lot.js";
12
13
  import type { EvmDepositToken } from "./evm-deposit-token.js";
13
14
  import type { EvmOFTAdapter } from "./evm-oftadapter.js";
14
15
  import type { EvmPriceFeed } from "./evm-price-feed.js";
15
16
  import type { EvmProtocolConfig } from "./evm-protocol-config.js";
16
17
  import type { EvmReceiptToken } from "./evm-receipt-token.js";
18
+ import type { EvmTimelock } from "./evm-timelock.js";
17
19
  import type { EvmVault } from "./evm-vault.js";
20
+ import type { EvmVaultValidator } from "./evm-vault-validator.js";
18
21
  /**
19
22
  *
20
23
  * @export
@@ -59,6 +62,14 @@ export interface EvmContracts {
59
62
  vaults?: {
60
63
  [key: string]: EvmVault;
61
64
  };
65
+ /**
66
+ * Map of deposit parking lots (async deposits) by key; each entry names the vault it serves
67
+ * @type {{ [key: string]: EvmDepositParkingLot; }}
68
+ * @memberof EvmContracts
69
+ */
70
+ depositParkingLots?: {
71
+ [key: string]: EvmDepositParkingLot;
72
+ };
62
73
  /**
63
74
  * Map of OFT adapters by name
64
75
  * @type {{ [key: string]: EvmOFTAdapter; }}
@@ -67,4 +78,18 @@ export interface EvmContracts {
67
78
  oftAdapters?: {
68
79
  [key: string]: EvmOFTAdapter;
69
80
  };
81
+ /**
82
+ *
83
+ * @type {EvmVaultValidator}
84
+ * @memberof EvmContracts
85
+ */
86
+ vaultValidator?: EvmVaultValidator;
87
+ /**
88
+ * Map of timelocks by role (owner, admin)
89
+ * @type {{ [key: string]: EvmTimelock; }}
90
+ * @memberof EvmContracts
91
+ */
92
+ timelocks?: {
93
+ [key: string]: EvmTimelock;
94
+ };
70
95
  }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface EvmDepositParkingLot
16
+ */
17
+ export interface EvmDepositParkingLot {
18
+ /**
19
+ * The parking lot proxy contract address
20
+ * @type {string}
21
+ * @memberof EvmDepositParkingLot
22
+ */
23
+ proxyAddress?: string;
24
+ /**
25
+ * The implementation contract address
26
+ * @type {string}
27
+ * @memberof EvmDepositParkingLot
28
+ */
29
+ implementationAddress?: string;
30
+ /**
31
+ * The owner address
32
+ * @type {string}
33
+ * @memberof EvmDepositParkingLot
34
+ */
35
+ ownerAddress?: string;
36
+ /**
37
+ * The vault address this parking lot serves
38
+ * @type {string}
39
+ * @memberof EvmDepositParkingLot
40
+ */
41
+ vault?: string;
42
+ /**
43
+ * The operator authorised to process the deposit queue
44
+ * @type {string}
45
+ * @memberof EvmDepositParkingLot
46
+ */
47
+ operator?: string;
48
+ /**
49
+ * The protocol config address
50
+ * @type {string}
51
+ * @memberof EvmDepositParkingLot
52
+ */
53
+ protocolConfig?: string;
54
+ /**
55
+ * The deployment timestamp
56
+ * @type {string}
57
+ * @memberof EvmDepositParkingLot
58
+ */
59
+ deployedAt?: string;
60
+ /**
61
+ * The block number at which the contract was deployed
62
+ * @type {number}
63
+ * @memberof EvmDepositParkingLot
64
+ */
65
+ deploymentBlockNumber?: number;
66
+ }
@@ -0,0 +1,14 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Ember Protocol Vaults API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export {};
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface EvmTimelock
16
+ */
17
+ export interface EvmTimelock {
18
+ /**
19
+ * The TimelockController contract address
20
+ * @type {string}
21
+ * @memberof EvmTimelock
22
+ */
23
+ address?: string;
24
+ /**
25
+ * The minimum delay (in seconds) before a scheduled operation can execute
26
+ * @type {string}
27
+ * @memberof EvmTimelock
28
+ */
29
+ minDelay?: string;
30
+ /**
31
+ * Addresses holding the PROPOSER (and CANCELLER) role
32
+ * @type {Array<string>}
33
+ * @memberof EvmTimelock
34
+ */
35
+ proposers?: Array<string>;
36
+ /**
37
+ * Addresses holding the EXECUTOR role (zero address means open execution)
38
+ * @type {Array<string>}
39
+ * @memberof EvmTimelock
40
+ */
41
+ executors?: Array<string>;
42
+ /**
43
+ * The optional admin address (zero address when self-administered)
44
+ * @type {string}
45
+ * @memberof EvmTimelock
46
+ */
47
+ admin?: string;
48
+ /**
49
+ * The deployment timestamp
50
+ * @type {string}
51
+ * @memberof EvmTimelock
52
+ */
53
+ deployedAt?: string;
54
+ /**
55
+ * The block number at which the contract was deployed
56
+ * @type {number}
57
+ * @memberof EvmTimelock
58
+ */
59
+ deploymentBlockNumber?: number;
60
+ }
@@ -0,0 +1,14 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Ember Protocol Vaults API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export {};
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface EvmVaultValidator
16
+ */
17
+ export interface EvmVaultValidator {
18
+ /**
19
+ * The proxy contract address
20
+ * @type {string}
21
+ * @memberof EvmVaultValidator
22
+ */
23
+ proxyAddress?: string;
24
+ /**
25
+ * The implementation contract address
26
+ * @type {string}
27
+ * @memberof EvmVaultValidator
28
+ */
29
+ implementationAddress?: string;
30
+ /**
31
+ * The protocol config contract address
32
+ * @type {string}
33
+ * @memberof EvmVaultValidator
34
+ */
35
+ protocolConfigAddress?: string;
36
+ /**
37
+ * The owner address
38
+ * @type {string}
39
+ * @memberof EvmVaultValidator
40
+ */
41
+ ownerAddress?: string;
42
+ /**
43
+ * The contract version
44
+ * @type {string}
45
+ * @memberof EvmVaultValidator
46
+ */
47
+ version?: string;
48
+ /**
49
+ * The deployment timestamp
50
+ * @type {string}
51
+ * @memberof EvmVaultValidator
52
+ */
53
+ deployedAt?: string;
54
+ /**
55
+ * The block number at which the contract was deployed
56
+ * @type {number}
57
+ * @memberof EvmVaultValidator
58
+ */
59
+ deploymentBlockNumber?: number;
60
+ }
@@ -0,0 +1,14 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Ember Protocol Vaults API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export {};
@@ -135,4 +135,10 @@ export interface EvmVault {
135
135
  * @memberof EvmVault
136
136
  */
137
137
  bridgeAdapterUpdatedAt?: string;
138
+ /**
139
+ * The vault validator contract address for this vault
140
+ * @type {string}
141
+ * @memberof EvmVault
142
+ */
143
+ validatorAddress?: string;
138
144
  }
@@ -1,3 +1,5 @@
1
+ export * from "./account-parking-lot-claimable.js";
2
+ export * from "./account-pending-deposit.js";
1
3
  export * from "./account-transaction.js";
2
4
  export * from "./account-transaction-transaction-data.js";
3
5
  export * from "./account-vault-position-history.js";
@@ -17,6 +19,7 @@ export * from "./defi-integration.js";
17
19
  export * from "./deposit-transaction.js";
18
20
  export * from "./ember-position.js";
19
21
  export * from "./evm-contracts.js";
22
+ export * from "./evm-deposit-parking-lot.js";
20
23
  export * from "./evm-deposit-token.js";
21
24
  export * from "./evm-oftadapter.js";
22
25
  export * from "./evm-oftpeer.js";
@@ -24,7 +27,9 @@ export * from "./evm-price-feed.js";
24
27
  export * from "./evm-protocol-config.js";
25
28
  export * from "./evm-protocol-info.js";
26
29
  export * from "./evm-receipt-token.js";
30
+ export * from "./evm-timelock.js";
27
31
  export * from "./evm-vault.js";
32
+ export * from "./evm-vault-validator.js";
28
33
  export * from "./exposure.js";
29
34
  export * from "./exposure-coin.js";
30
35
  export * from "./exposure-protocol.js";
@@ -88,6 +93,7 @@ export * from "./vault-fee-percentage-updated-event.js";
88
93
  export * from "./vault-info.js";
89
94
  export * from "./vault-max-tvl-updated-event.js";
90
95
  export * from "./vault-operator-changed-event.js";
96
+ export * from "./vault-parking-lot-info.js";
91
97
  export * from "./vault-paused-status-updated-event.js";
92
98
  export * from "./vault-platform-fee-charged-event.js";
93
99
  export * from "./vault-proof-of-capital-summary.js";
@@ -1,3 +1,5 @@
1
+ export * from "./account-parking-lot-claimable.js";
2
+ export * from "./account-pending-deposit.js";
1
3
  export * from "./account-transaction.js";
2
4
  export * from "./account-transaction-transaction-data.js";
3
5
  export * from "./account-vault-position-history.js";
@@ -17,6 +19,7 @@ export * from "./defi-integration.js";
17
19
  export * from "./deposit-transaction.js";
18
20
  export * from "./ember-position.js";
19
21
  export * from "./evm-contracts.js";
22
+ export * from "./evm-deposit-parking-lot.js";
20
23
  export * from "./evm-deposit-token.js";
21
24
  export * from "./evm-oftadapter.js";
22
25
  export * from "./evm-oftpeer.js";
@@ -24,7 +27,9 @@ export * from "./evm-price-feed.js";
24
27
  export * from "./evm-protocol-config.js";
25
28
  export * from "./evm-protocol-info.js";
26
29
  export * from "./evm-receipt-token.js";
30
+ export * from "./evm-timelock.js";
27
31
  export * from "./evm-vault.js";
32
+ export * from "./evm-vault-validator.js";
28
33
  export * from "./exposure.js";
29
34
  export * from "./exposure-coin.js";
30
35
  export * from "./exposure-protocol.js";
@@ -88,6 +93,7 @@ export * from "./vault-fee-percentage-updated-event.js";
88
93
  export * from "./vault-info.js";
89
94
  export * from "./vault-max-tvl-updated-event.js";
90
95
  export * from "./vault-operator-changed-event.js";
96
+ export * from "./vault-parking-lot-info.js";
91
97
  export * from "./vault-paused-status-updated-event.js";
92
98
  export * from "./vault-platform-fee-charged-event.js";
93
99
  export * from "./vault-proof-of-capital-summary.js";
@@ -206,6 +206,12 @@ export interface VaultDetail {
206
206
  * @memberof VaultDetail
207
207
  */
208
208
  pocEnabled: boolean;
209
+ /**
210
+ * Whether the vault\'s receipt tokens can be bridged across supported chains
211
+ * @type {boolean}
212
+ * @memberof VaultDetail
213
+ */
214
+ isBridgeable: boolean;
209
215
  /**
210
216
  *
211
217
  * @type {ApyAverages}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface VaultParkingLotInfo
16
+ */
17
+ export interface VaultParkingLotInfo {
18
+ /**
19
+ * The address of the vault\'s deposit parking lot contract
20
+ * @type {string}
21
+ * @memberof VaultParkingLotInfo
22
+ */
23
+ parkingLotAddress: string;
24
+ /**
25
+ * Whether new deposit requests are currently paused
26
+ * @type {boolean}
27
+ * @memberof VaultParkingLotInfo
28
+ */
29
+ depositsPaused: boolean;
30
+ /**
31
+ * Whether the parking lot is the vault\'s active deposit gate
32
+ * @type {boolean}
33
+ * @memberof VaultParkingLotInfo
34
+ */
35
+ isActive: boolean;
36
+ /**
37
+ * Cron expression (UTC) describing when the deposit queue is processed
38
+ * @type {string}
39
+ * @memberof VaultParkingLotInfo
40
+ */
41
+ processingSchedule?: string;
42
+ /**
43
+ * Next estimated queue processing timestamp in ms (derived from processingSchedule)
44
+ * @type {number}
45
+ * @memberof VaultParkingLotInfo
46
+ */
47
+ nextProcessingAt?: number;
48
+ /**
49
+ * Total collateral currently escrowed across pending deposit requests
50
+ * @type {string}
51
+ * @memberof VaultParkingLotInfo
52
+ */
53
+ totalPendingAssets: string;
54
+ /**
55
+ * Number of pending deposit requests in the queue
56
+ * @type {string}
57
+ * @memberof VaultParkingLotInfo
58
+ */
59
+ totalPendingCount: string;
60
+ }
@@ -0,0 +1,14 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Ember Protocol Vaults API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export {};
@@ -153,15 +153,50 @@ export interface IEvmCallOptions {
153
153
  confirmations?: number;
154
154
  /** Gas limit override */
155
155
  gasLimit?: bigint;
156
+ /**
157
+ * Explicit deposit parking lot address for parking-lot actions (deposit /
158
+ * cancel / claim / process / operator / pause). When omitted it is read
159
+ * on-chain from `vault.parkingLot()`.
160
+ */
161
+ parkingLotAddress?: string;
156
162
  /** If true, uses EmberETHVault ABI instead of EmberVault ABI */
157
163
  isETHVault?: boolean;
158
164
  }
159
165
  /**
160
166
  * Optional parameters for user deposit/mint/redeem calls
161
167
  */
168
+ /**
169
+ * On-chain state of a vault's deposit parking lot (async deposits).
170
+ */
171
+ export interface IParkingLotInfo {
172
+ /** The parking lot contract address */
173
+ address: string;
174
+ /** The operator authorised to process the deposit queue */
175
+ operator: string;
176
+ /** Whether new deposit requests are currently paused */
177
+ depositsPaused: boolean;
178
+ /** Total collateral currently escrowed across pending requests */
179
+ totalPendingAssets: bigint;
180
+ /** Number of live (unprocessed, uncancelled) pending requests */
181
+ livePendingCount: bigint;
182
+ /** Latest assigned FIFO sequence number */
183
+ sequenceNumber: bigint;
184
+ /** Index of the next request the operator will process */
185
+ queueStartIndex: bigint;
186
+ }
162
187
  export interface IUserCallOptions extends IEvmCallOptions {
163
188
  /** Receiver address for shares/funds. Defaults to the caller's address if not provided */
164
189
  receiver?: string;
190
+ /**
191
+ * Route the deposit through the vault's deposit parking lot (async deposit).
192
+ * The collateral is escrowed in the parking lot and queued; the operator later
193
+ * forwards it into the vault, minting shares to the receiver.
194
+ *
195
+ * Note: the collateral must be approved to the PARKING LOT address (not the
196
+ * vault). Only supported by plain `deposit()` — the parking lot has no
197
+ * mint/permit entrypoint. Ignored for ETH vaults.
198
+ */
199
+ depositToParkingLot?: boolean;
165
200
  }
166
201
  /**
167
202
  * Optional parameters for high-level OFT bridge send calls.
@@ -52,6 +52,15 @@ export declare class EVMOperatorCalls extends EVMOnChainCalls {
52
52
  * @returns EvmOnChainCallResponse
53
53
  */
54
54
  processWithdrawalRequests(vaultAddress: string, maxRequestCount: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
55
+ /**
56
+ * Process queued async (parked) deposits, forwarding escrowed collateral
57
+ * into the vault and minting shares to each request's receiver. Operator-only.
58
+ * @param vaultAddress The vault the parking lot serves
59
+ * @param numRequests Max number of FIFO requests to process this call
60
+ * @param options Optional tx execution params (incl. optional parkingLotAddress override)
61
+ * @returns EvmOnChainCallResponse
62
+ */
63
+ processParkingLotDeposits(vaultAddress: string, numRequests: NumStr, options?: IEvmCallOptions): Promise<EvmOnChainCallResponse>;
55
64
  /**
56
65
  * Collect accrued platform fees from a vault
57
66
  * @param vaultAddress The address of the vault
@@ -63,6 +63,19 @@ export class EVMOperatorCalls extends EVMOnChainCalls {
63
63
  const txCall = this.txBuilder.processWithdrawalRequests(vaultAddress, maxRequestCount, options?.isETHVault);
64
64
  return this.execCall(txCall, options);
65
65
  }
66
+ /**
67
+ * Process queued async (parked) deposits, forwarding escrowed collateral
68
+ * into the vault and minting shares to each request's receiver. Operator-only.
69
+ * @param vaultAddress The vault the parking lot serves
70
+ * @param numRequests Max number of FIFO requests to process this call
71
+ * @param options Optional tx execution params (incl. optional parkingLotAddress override)
72
+ * @returns EvmOnChainCallResponse
73
+ */
74
+ async processParkingLotDeposits(vaultAddress, numRequests, options) {
75
+ const parkingLotAddress = this.parser.resolveParkingLotAddress(vaultAddress, options?.parkingLotAddress);
76
+ const txCall = this.txBuilder.processParkingLotDeposits(parkingLotAddress, numRequests);
77
+ return this.execCall(txCall, options);
78
+ }
66
79
  // ============================================
67
80
  // Fee Collection
68
81
  // ============================================