@ember-finance/sdk 2.3.1 → 2.5.0-pre.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 (58) hide show
  1. package/dist/src/abis/AtomicLiquidity.json +4050 -0
  2. package/dist/src/abis/ERC20Token.json +2 -2
  3. package/dist/src/abis/EmberETHVault.json +279 -5
  4. package/dist/src/abis/EmberProtocolConfig.json +137 -2
  5. package/dist/src/abis/EmberVault.json +2 -2
  6. package/dist/src/abis/EmberVaultMintBurnOFTAdapter.json +43 -2
  7. package/dist/src/api/v2/apis/vaults-api.d.ts +16 -4
  8. package/dist/src/api/v2/apis/vaults-api.js +21 -7
  9. package/dist/src/api/v2/models/chain-vault-details.d.ts +7 -0
  10. package/dist/src/api/v2/models/evm-atomic-liquidity-lib.d.ts +48 -0
  11. package/dist/src/api/v2/models/evm-atomic-liquidity-lib.js +14 -0
  12. package/dist/src/api/v2/models/evm-atomic-vault.d.ts +102 -0
  13. package/dist/src/api/v2/models/evm-atomic-vault.js +14 -0
  14. package/dist/src/api/v2/models/evm-contracts.d.ts +16 -0
  15. package/dist/src/api/v2/models/fee-multiplier-tier.d.ts +30 -0
  16. package/dist/src/api/v2/models/fee-multiplier-tier.js +14 -0
  17. package/dist/src/api/v2/models/index.d.ts +4 -0
  18. package/dist/src/api/v2/models/index.js +4 -0
  19. package/dist/src/api/v2/models/instant-withdraw-config.d.ts +67 -0
  20. package/dist/src/api/v2/models/instant-withdraw-config.js +14 -0
  21. package/dist/src/api/v2/models/vault-detail.d.ts +11 -0
  22. package/dist/src/api/v2/models/vault-detail.js +4 -0
  23. package/dist/src/atomic/instant-withdraw.d.ts +125 -0
  24. package/dist/src/atomic/instant-withdraw.js +122 -0
  25. package/dist/src/evm-vaults/on-chain-calls/atomic-liquidity.d.ts +98 -0
  26. package/dist/src/evm-vaults/on-chain-calls/atomic-liquidity.js +209 -0
  27. package/dist/src/evm-vaults/on-chain-calls/index.d.ts +1 -0
  28. package/dist/src/evm-vaults/on-chain-calls/index.js +1 -0
  29. package/dist/src/evm-vaults/on-chain-calls/operator.d.ts +10 -0
  30. package/dist/src/evm-vaults/on-chain-calls/operator.js +28 -0
  31. package/dist/src/evm-vaults/on-chain-calls/tx-builder.d.ts +103 -0
  32. package/dist/src/evm-vaults/on-chain-calls/tx-builder.js +273 -0
  33. package/dist/src/evm-vaults/on-chain-calls/user.d.ts +50 -0
  34. package/dist/src/evm-vaults/on-chain-calls/user.js +75 -0
  35. package/dist/src/evm-vaults/on-chain-calls/vault-admin.d.ts +48 -0
  36. package/dist/src/evm-vaults/on-chain-calls/vault-admin.js +112 -0
  37. package/dist/src/evm-vaults/on-chain-calls/vault-reader.d.ts +6 -0
  38. package/dist/src/evm-vaults/on-chain-calls/vault-reader.js +9 -0
  39. package/dist/src/evm-vaults/utils/deployment-parser.d.ts +8 -0
  40. package/dist/src/evm-vaults/utils/deployment-parser.js +11 -0
  41. package/dist/src/sui-vaults/interfaces/index.d.ts +15 -0
  42. package/dist/src/sui-vaults/on-chain-calls/admin.d.ts +35 -0
  43. package/dist/src/sui-vaults/on-chain-calls/admin.js +56 -0
  44. package/dist/src/sui-vaults/on-chain-calls/atomic-liquidity.d.ts +62 -0
  45. package/dist/src/sui-vaults/on-chain-calls/atomic-liquidity.js +174 -0
  46. package/dist/src/sui-vaults/on-chain-calls/index.d.ts +1 -0
  47. package/dist/src/sui-vaults/on-chain-calls/index.js +1 -0
  48. package/dist/src/sui-vaults/on-chain-calls/operator.d.ts +127 -0
  49. package/dist/src/sui-vaults/on-chain-calls/operator.js +210 -0
  50. package/dist/src/sui-vaults/on-chain-calls/tx-builder.d.ts +482 -0
  51. package/dist/src/sui-vaults/on-chain-calls/tx-builder.js +1430 -0
  52. package/dist/src/sui-vaults/on-chain-calls/user.d.ts +105 -0
  53. package/dist/src/sui-vaults/on-chain-calls/user.js +190 -0
  54. package/dist/src/sui-vaults/on-chain-calls/vault-admin.d.ts +228 -1
  55. package/dist/src/sui-vaults/on-chain-calls/vault-admin.js +391 -0
  56. package/dist/src/sui-vaults/utils/deployment-parser.d.ts +12 -0
  57. package/dist/src/sui-vaults/utils/deployment-parser.js +24 -0
  58. package/package.json +3 -2
@@ -55,4 +55,109 @@ export declare class UserCalls extends OnChainCalls {
55
55
  * @returns OnChainCallResponse
56
56
  */
57
57
  cancelPendingWithdrawalRequest(vaultId: string, sequenceNumber: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
58
+ /**
59
+ * Deposit collateral into an atomic liquidity vault, minting shares
60
+ * @param vaultId The id of the atomic vault to deposit into
61
+ * @param amount The amount of collateral to deposit
62
+ * @param minShares The minimum number of shares to mint for the deposit
63
+ * @param options Optional tx execution params
64
+ * @returns OnChainCallResponse
65
+ */
66
+ atomicDeposit(vaultId: string, amount: NumStr, minShares: NumStr, options?: IVaultOptionalParams & {
67
+ coinId?: string;
68
+ receiver?: SuiAddress;
69
+ } & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
70
+ /**
71
+ * Redeem shares from an atomic liquidity vault (queued withdrawal)
72
+ * @param vaultId The id of the atomic vault to redeem shares from
73
+ * @param shares The number of shares to redeem
74
+ * @param options Optional tx execution params
75
+ * @returns OnChainCallResponse
76
+ */
77
+ atomicRedeemShares(vaultId: string, shares: NumStr, options?: IVaultOptionalParams & {
78
+ receiver?: SuiAddress;
79
+ } & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
80
+ /**
81
+ * Cancel a pending withdrawal request on an atomic liquidity vault
82
+ * @param vaultId The id of the atomic vault
83
+ * @param sequenceNumber The sequence number of the withdrawal request to cancel
84
+ * @param options Optional tx execution params
85
+ * @returns OnChainCallResponse
86
+ */
87
+ atomicCancelPendingWithdrawalRequest(vaultId: string, sequenceNumber: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
88
+ /**
89
+ * Instantly withdraw collateral from an atomic liquidity vault (no strategy)
90
+ * @param vaultId The id of the atomic vault
91
+ * @param shares The number of shares to withdraw
92
+ * @param options Optional tx execution params
93
+ * @returns OnChainCallResponse
94
+ */
95
+ atomicInstantWithdraw(vaultId: string, shares: NumStr, options?: IVaultOptionalParams & {
96
+ receiver?: SuiAddress;
97
+ } & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
98
+ /**
99
+ * Instantly withdraw collateral from an atomic vault routed through Suilend
100
+ * @param vaultId The id of the atomic vault
101
+ * @param poolCoinType The Suilend pool coin type (P)
102
+ * @param lendingMarketId Object id of the Suilend LendingMarket<P>
103
+ * @param shares The number of shares to withdraw
104
+ * @param options Optional tx execution params
105
+ * @returns OnChainCallResponse
106
+ */
107
+ atomicInstantWithdrawWithSuilend(vaultId: string, poolCoinType: string, lendingMarketId: string, shares: NumStr, options?: IVaultOptionalParams & {
108
+ receiver?: SuiAddress;
109
+ } & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
110
+ /**
111
+ * Instantly withdraw collateral from an atomic vault routed through AlphaLend
112
+ * @param vaultId The id of the atomic vault
113
+ * @param lendingProtocolId Object id of the AlphaLend LendingProtocol
114
+ * @param shares The number of shares to withdraw
115
+ * @param options Optional tx execution params
116
+ * @returns OnChainCallResponse
117
+ */
118
+ atomicInstantWithdrawWithAlphalend(vaultId: string, lendingProtocolId: string, shares: NumStr, options?: IVaultOptionalParams & {
119
+ receiver?: SuiAddress;
120
+ } & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
121
+ /**
122
+ * Swap ember shares (source vault receipt coin) into an atomic vault
123
+ * @param vaultId The id of the atomic vault
124
+ * @param sourceReceiptType The receipt coin type of the source vault (R)
125
+ * @param sourceVaultId Object id of the source Vault<T, R>
126
+ * @param amount The amount of source shares to swap
127
+ * @param options Optional tx execution params
128
+ * @returns OnChainCallResponse
129
+ */
130
+ atomicSwapEmberShares(vaultId: string, sourceReceiptType: string, sourceVaultId: string, amount: NumStr, options?: IVaultOptionalParams & {
131
+ coinId?: string;
132
+ receiver?: SuiAddress;
133
+ } & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
134
+ /**
135
+ * Swap ember shares into an atomic vault, routing collateral through Suilend
136
+ * @param vaultId The id of the atomic vault
137
+ * @param sourceReceiptType The receipt coin type of the source vault (R)
138
+ * @param poolCoinType The Suilend pool coin type (P)
139
+ * @param sourceVaultId Object id of the source Vault<T, R>
140
+ * @param lendingMarketId Object id of the Suilend LendingMarket<P>
141
+ * @param amount The amount of source shares to swap
142
+ * @param options Optional tx execution params
143
+ * @returns OnChainCallResponse
144
+ */
145
+ atomicSwapEmberSharesWithSuilend(vaultId: string, sourceReceiptType: string, poolCoinType: string, sourceVaultId: string, lendingMarketId: string, amount: NumStr, options?: IVaultOptionalParams & {
146
+ coinId?: string;
147
+ receiver?: SuiAddress;
148
+ } & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
149
+ /**
150
+ * Swap ember shares into an atomic vault, routing collateral through AlphaLend
151
+ * @param vaultId The id of the atomic vault
152
+ * @param sourceReceiptType The receipt coin type of the source vault (R)
153
+ * @param sourceVaultId Object id of the source Vault<T, R>
154
+ * @param lendingProtocolId Object id of the AlphaLend LendingProtocol
155
+ * @param amount The amount of source shares to swap
156
+ * @param options Optional tx execution params
157
+ * @returns OnChainCallResponse
158
+ */
159
+ atomicSwapEmberSharesWithAlphalend(vaultId: string, sourceReceiptType: string, sourceVaultId: string, lendingProtocolId: string, amount: NumStr, options?: IVaultOptionalParams & {
160
+ coinId?: string;
161
+ receiver?: SuiAddress;
162
+ } & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
58
163
  }
@@ -124,4 +124,194 @@ export class UserCalls extends OnChainCalls {
124
124
  });
125
125
  return this.execCall(txb, options);
126
126
  }
127
+ // ============================================================================
128
+ // Atomic Liquidity Vault (BFE-818) — user-callable methods
129
+ // ============================================================================
130
+ /**
131
+ * Deposit collateral into an atomic liquidity vault, minting shares
132
+ * @param vaultId The id of the atomic vault to deposit into
133
+ * @param amount The amount of collateral to deposit
134
+ * @param minShares The minimum number of shares to mint for the deposit
135
+ * @param options Optional tx execution params
136
+ * @returns OnChainCallResponse
137
+ */
138
+ async atomicDeposit(vaultId, amount, minShares, options) {
139
+ let coinId = options?.coinId;
140
+ const txb = options?.txBlock || new TransactionBlock();
141
+ let split;
142
+ let merged;
143
+ if (!coinId) {
144
+ const coinType = this.parser.getAtomicCollateralType(vaultId);
145
+ [split, merged] = await CoinUtils.createCoinWithBalance(this.suiClient, txb, bigNumber(amount).toFixed(0), coinType, this.walletAddress);
146
+ coinId = split;
147
+ }
148
+ else {
149
+ [split, merged] = await CoinUtils.validateCoinBalance(this.suiClient, txb, bigNumber(amount).toFixed(0), coinId);
150
+ coinId = split;
151
+ }
152
+ this.txBuilder.atomicDeposit(vaultId, coinId, minShares, options?.receiver ?? null, { ...options, txBlock: txb });
153
+ if (merged) {
154
+ txb.transferObjects([merged], this.walletAddress);
155
+ }
156
+ return this.execCall(txb, options);
157
+ }
158
+ /**
159
+ * Redeem shares from an atomic liquidity vault (queued withdrawal)
160
+ * @param vaultId The id of the atomic vault to redeem shares from
161
+ * @param shares The number of shares to redeem
162
+ * @param options Optional tx execution params
163
+ * @returns OnChainCallResponse
164
+ */
165
+ async atomicRedeemShares(vaultId, shares, options) {
166
+ const txb = options?.txBlock || new TransactionBlock();
167
+ this.txBuilder.atomicRedeemShares(vaultId, shares, options?.receiver ?? null, {
168
+ ...options,
169
+ txBlock: txb
170
+ });
171
+ return this.execCall(txb, options);
172
+ }
173
+ /**
174
+ * Cancel a pending withdrawal request on an atomic liquidity vault
175
+ * @param vaultId The id of the atomic vault
176
+ * @param sequenceNumber The sequence number of the withdrawal request to cancel
177
+ * @param options Optional tx execution params
178
+ * @returns OnChainCallResponse
179
+ */
180
+ async atomicCancelPendingWithdrawalRequest(vaultId, sequenceNumber, options) {
181
+ const txb = options?.txBlock || new TransactionBlock();
182
+ this.txBuilder.atomicCancelPendingWithdrawalRequest(vaultId, sequenceNumber, {
183
+ ...options,
184
+ txBlock: txb
185
+ });
186
+ return this.execCall(txb, options);
187
+ }
188
+ /**
189
+ * Instantly withdraw collateral from an atomic liquidity vault (no strategy)
190
+ * @param vaultId The id of the atomic vault
191
+ * @param shares The number of shares to withdraw
192
+ * @param options Optional tx execution params
193
+ * @returns OnChainCallResponse
194
+ */
195
+ async atomicInstantWithdraw(vaultId, shares, options) {
196
+ const txb = options?.txBlock || new TransactionBlock();
197
+ this.txBuilder.atomicInstantWithdraw(vaultId, shares, options?.receiver ?? null, {
198
+ ...options,
199
+ txBlock: txb
200
+ });
201
+ return this.execCall(txb, options);
202
+ }
203
+ /**
204
+ * Instantly withdraw collateral from an atomic vault routed through Suilend
205
+ * @param vaultId The id of the atomic vault
206
+ * @param poolCoinType The Suilend pool coin type (P)
207
+ * @param lendingMarketId Object id of the Suilend LendingMarket<P>
208
+ * @param shares The number of shares to withdraw
209
+ * @param options Optional tx execution params
210
+ * @returns OnChainCallResponse
211
+ */
212
+ async atomicInstantWithdrawWithSuilend(vaultId, poolCoinType, lendingMarketId, shares, options) {
213
+ const txb = options?.txBlock || new TransactionBlock();
214
+ this.txBuilder.atomicInstantWithdrawWithSuilend(vaultId, poolCoinType, lendingMarketId, shares, options?.receiver ?? null, { ...options, txBlock: txb });
215
+ return this.execCall(txb, options);
216
+ }
217
+ /**
218
+ * Instantly withdraw collateral from an atomic vault routed through AlphaLend
219
+ * @param vaultId The id of the atomic vault
220
+ * @param lendingProtocolId Object id of the AlphaLend LendingProtocol
221
+ * @param shares The number of shares to withdraw
222
+ * @param options Optional tx execution params
223
+ * @returns OnChainCallResponse
224
+ */
225
+ async atomicInstantWithdrawWithAlphalend(vaultId, lendingProtocolId, shares, options) {
226
+ const txb = options?.txBlock || new TransactionBlock();
227
+ this.txBuilder.atomicInstantWithdrawWithAlphalend(vaultId, lendingProtocolId, shares, options?.receiver ?? null, { ...options, txBlock: txb });
228
+ return this.execCall(txb, options);
229
+ }
230
+ /**
231
+ * Swap ember shares (source vault receipt coin) into an atomic vault
232
+ * @param vaultId The id of the atomic vault
233
+ * @param sourceReceiptType The receipt coin type of the source vault (R)
234
+ * @param sourceVaultId Object id of the source Vault<T, R>
235
+ * @param amount The amount of source shares to swap
236
+ * @param options Optional tx execution params
237
+ * @returns OnChainCallResponse
238
+ */
239
+ async atomicSwapEmberShares(vaultId, sourceReceiptType, sourceVaultId, amount, options) {
240
+ let coinId = options?.coinId;
241
+ const txb = options?.txBlock || new TransactionBlock();
242
+ let split;
243
+ let merged;
244
+ if (!coinId) {
245
+ [split, merged] = await CoinUtils.createCoinWithBalance(this.suiClient, txb, bigNumber(amount).toFixed(0), sourceReceiptType, this.walletAddress);
246
+ coinId = split;
247
+ }
248
+ else {
249
+ [split, merged] = await CoinUtils.validateCoinBalance(this.suiClient, txb, bigNumber(amount).toFixed(0), coinId);
250
+ coinId = split;
251
+ }
252
+ this.txBuilder.atomicSwapEmberShares(vaultId, sourceReceiptType, sourceVaultId, coinId, options?.receiver ?? null, { ...options, txBlock: txb });
253
+ if (merged) {
254
+ txb.transferObjects([merged], this.walletAddress);
255
+ }
256
+ return this.execCall(txb, options);
257
+ }
258
+ /**
259
+ * Swap ember shares into an atomic vault, routing collateral through Suilend
260
+ * @param vaultId The id of the atomic vault
261
+ * @param sourceReceiptType The receipt coin type of the source vault (R)
262
+ * @param poolCoinType The Suilend pool coin type (P)
263
+ * @param sourceVaultId Object id of the source Vault<T, R>
264
+ * @param lendingMarketId Object id of the Suilend LendingMarket<P>
265
+ * @param amount The amount of source shares to swap
266
+ * @param options Optional tx execution params
267
+ * @returns OnChainCallResponse
268
+ */
269
+ async atomicSwapEmberSharesWithSuilend(vaultId, sourceReceiptType, poolCoinType, sourceVaultId, lendingMarketId, amount, options) {
270
+ let coinId = options?.coinId;
271
+ const txb = options?.txBlock || new TransactionBlock();
272
+ let split;
273
+ let merged;
274
+ if (!coinId) {
275
+ [split, merged] = await CoinUtils.createCoinWithBalance(this.suiClient, txb, bigNumber(amount).toFixed(0), sourceReceiptType, this.walletAddress);
276
+ coinId = split;
277
+ }
278
+ else {
279
+ [split, merged] = await CoinUtils.validateCoinBalance(this.suiClient, txb, bigNumber(amount).toFixed(0), coinId);
280
+ coinId = split;
281
+ }
282
+ this.txBuilder.atomicSwapEmberSharesWithSuilend(vaultId, sourceReceiptType, poolCoinType, sourceVaultId, lendingMarketId, coinId, options?.receiver ?? null, { ...options, txBlock: txb });
283
+ if (merged) {
284
+ txb.transferObjects([merged], this.walletAddress);
285
+ }
286
+ return this.execCall(txb, options);
287
+ }
288
+ /**
289
+ * Swap ember shares into an atomic vault, routing collateral through AlphaLend
290
+ * @param vaultId The id of the atomic vault
291
+ * @param sourceReceiptType The receipt coin type of the source vault (R)
292
+ * @param sourceVaultId Object id of the source Vault<T, R>
293
+ * @param lendingProtocolId Object id of the AlphaLend LendingProtocol
294
+ * @param amount The amount of source shares to swap
295
+ * @param options Optional tx execution params
296
+ * @returns OnChainCallResponse
297
+ */
298
+ async atomicSwapEmberSharesWithAlphalend(vaultId, sourceReceiptType, sourceVaultId, lendingProtocolId, amount, options) {
299
+ let coinId = options?.coinId;
300
+ const txb = options?.txBlock || new TransactionBlock();
301
+ let split;
302
+ let merged;
303
+ if (!coinId) {
304
+ [split, merged] = await CoinUtils.createCoinWithBalance(this.suiClient, txb, bigNumber(amount).toFixed(0), sourceReceiptType, this.walletAddress);
305
+ coinId = split;
306
+ }
307
+ else {
308
+ [split, merged] = await CoinUtils.validateCoinBalance(this.suiClient, txb, bigNumber(amount).toFixed(0), coinId);
309
+ coinId = split;
310
+ }
311
+ this.txBuilder.atomicSwapEmberSharesWithAlphalend(vaultId, sourceReceiptType, sourceVaultId, lendingProtocolId, coinId, options?.receiver ?? null, { ...options, txBlock: txb });
312
+ if (merged) {
313
+ txb.transferObjects([merged], this.walletAddress);
314
+ }
315
+ return this.execCall(txb, options);
316
+ }
127
317
  }
@@ -1,7 +1,7 @@
1
1
  import { OnChainCalls } from "./onchain-calls.js";
2
2
  import { ISuiDeployment, IVaultOptionalParams } from "../interfaces/index.js";
3
3
  import { NumStr } from "@firefly-exchange/library-sui";
4
- import { OnChainCallResponse, Signer, SuiClient, SuiTransactionBlockResponseOptions } from "@firefly-exchange/library-sui";
4
+ import { OnChainCallResponse, Signer, SuiAddress, SuiClient, SuiTransactionBlockResponseOptions } from "@firefly-exchange/library-sui";
5
5
  export declare class VaultAdminCalls extends OnChainCalls {
6
6
  constructor(_network: string, _suiClient: SuiClient, _deployment: ISuiDeployment, _signer?: Signer, _walletAddress?: string);
7
7
  /**
@@ -85,4 +85,231 @@ export declare class VaultAdminCalls extends OnChainCalls {
85
85
  * @returns OnChainCallResponse
86
86
  */
87
87
  setTimeBasedFeeThreshold(vaultId: string, timeBasedFeeThreshold: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
88
+ /**
89
+ * Update the name of an atomic vault
90
+ * @param vaultId The id of the atomic vault
91
+ * @param name The new vault name
92
+ * @param options Optional tx execution params
93
+ * @returns OnChainCallResponse
94
+ */
95
+ atomicUpdateVaultName(vaultId: string, name: string, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
96
+ /**
97
+ * Update the max TVL of an atomic vault
98
+ * @param vaultId The id of the atomic vault
99
+ * @param maxTVL The new max TVL
100
+ * @param options Optional tx execution params
101
+ * @returns OnChainCallResponse
102
+ */
103
+ atomicUpdateVaultMaxTvl(vaultId: string, maxTVL: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
104
+ /**
105
+ * Update the max rate change per update of an atomic vault
106
+ * @param vaultId The id of the atomic vault
107
+ * @param maxRateChangePerUpdate The new max rate change per update
108
+ * @param options Optional tx execution params
109
+ * @returns OnChainCallResponse
110
+ */
111
+ atomicUpdateVaultMaxRateChangePerUpdate(vaultId: string, maxRateChangePerUpdate: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
112
+ /**
113
+ * Change the rate update interval of an atomic vault
114
+ * @param vaultId The id of the atomic vault
115
+ * @param interval The new rate update interval in ms
116
+ * @param options Optional tx execution params
117
+ * @returns OnChainCallResponse
118
+ */
119
+ atomicChangeVaultRateUpdateInterval(vaultId: string, interval: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
120
+ /**
121
+ * Change the operator of an atomic vault
122
+ * @param vaultId The id of the atomic vault
123
+ * @param newOperator The new operator address
124
+ * @param options Optional tx execution params
125
+ * @returns OnChainCallResponse
126
+ */
127
+ atomicChangeVaultOperator(vaultId: string, newOperator: SuiAddress, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
128
+ /**
129
+ * Update the rate manager of an atomic vault
130
+ * @param vaultId The id of the atomic vault
131
+ * @param newRateManager The new rate manager address
132
+ * @param options Optional tx execution params
133
+ * @returns OnChainCallResponse
134
+ */
135
+ atomicUpdateVaultRateManager(vaultId: string, newRateManager: SuiAddress, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
136
+ /**
137
+ * Update the fee percentage of an atomic vault
138
+ * @param vaultId The id of the atomic vault
139
+ * @param feePercentage The new fee percentage
140
+ * @param options Optional tx execution params
141
+ * @returns OnChainCallResponse
142
+ */
143
+ atomicUpdateVaultFeePercentage(vaultId: string, feePercentage: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
144
+ /**
145
+ * Set the min withdrawal shares of an atomic vault
146
+ * @param vaultId The id of the atomic vault
147
+ * @param minWithdrawalShares The new min withdrawal shares
148
+ * @param options Optional tx execution params
149
+ * @returns OnChainCallResponse
150
+ */
151
+ atomicSetMinWithdrawalShares(vaultId: string, minWithdrawalShares: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
152
+ /**
153
+ * Set / unset a sub account on an atomic vault
154
+ * @param vaultId The id of the atomic vault
155
+ * @param account The sub account address
156
+ * @param status Whether the account is a sub account
157
+ * @param options Optional tx execution params
158
+ * @returns OnChainCallResponse
159
+ */
160
+ atomicSetSubAccount(vaultId: string, account: SuiAddress, status: boolean, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
161
+ /**
162
+ * Set the pause status of an operation on an atomic vault
163
+ * @param vaultId The id of the atomic vault
164
+ * @param operation The operation identifier bytes (vector<u8>)
165
+ * @param paused The new paused status
166
+ * @param options Optional tx execution params
167
+ * @returns OnChainCallResponse
168
+ */
169
+ atomicSetPauseStatus(vaultId: string, operation: number[], paused: boolean, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
170
+ /**
171
+ * Set the max instant withdraw shares of an atomic vault
172
+ * @param vaultId The id of the atomic vault
173
+ * @param newMax The new max instant withdraw shares
174
+ * @param options Optional tx execution params
175
+ * @returns OnChainCallResponse
176
+ */
177
+ atomicSetMaxInstantWithdrawShares(vaultId: string, newMax: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
178
+ /**
179
+ * Set the instant withdraw fee percentage of an atomic vault
180
+ * @param vaultId The id of the atomic vault
181
+ * @param newFeePercentage The new instant withdraw fee percentage
182
+ * @param options Optional tx execution params
183
+ * @returns OnChainCallResponse
184
+ */
185
+ atomicSetInstantWithdrawFeePercentage(vaultId: string, newFeePercentage: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
186
+ /**
187
+ * Whitelist (or update) an ember share source vault for an atomic vault
188
+ * @param vaultId The id of the atomic vault
189
+ * @param shareVaultId Id of the source ember share vault
190
+ * @param whitelisted The whitelist status
191
+ * @param feePercentage The fee percentage
192
+ * @param maxCapacityPercentage The max capacity percentage
193
+ * @param holdbackPercentage The holdback percentage
194
+ * @param maxUtilizationPercentage The max utilization percentage
195
+ * @param options Optional tx execution params
196
+ * @returns OnChainCallResponse
197
+ */
198
+ atomicSetEmberShareWhitelist(vaultId: string, shareVaultId: string, whitelisted: boolean, feePercentage: NumStr, maxCapacityPercentage: NumStr, holdbackPercentage: NumStr, maxUtilizationPercentage: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
199
+ /**
200
+ * Set the max utilization percentage of an ember share source vault
201
+ * @param vaultId The id of the atomic vault
202
+ * @param shareVaultId Id of the source ember share vault
203
+ * @param maxUtilizationPercentage The max utilization percentage
204
+ * @param options Optional tx execution params
205
+ * @returns OnChainCallResponse
206
+ */
207
+ atomicSetEmberShareMaxUtilization(vaultId: string, shareVaultId: string, maxUtilizationPercentage: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
208
+ /**
209
+ * Set a fee multiplier tier for an ember share source vault
210
+ * @param vaultId The id of the atomic vault
211
+ * @param shareVaultId Id of the source ember share vault
212
+ * @param threshold The tier threshold
213
+ * @param multiplier The tier multiplier
214
+ * @param options Optional tx execution params
215
+ * @returns OnChainCallResponse
216
+ */
217
+ atomicSetEmberShareFeeMultiplierTier(vaultId: string, shareVaultId: string, threshold: NumStr, multiplier: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
218
+ /**
219
+ * Remove a fee multiplier tier for an ember share source vault
220
+ * @param vaultId The id of the atomic vault
221
+ * @param shareVaultId Id of the source ember share vault
222
+ * @param threshold The tier threshold to remove
223
+ * @param options Optional tx execution params
224
+ * @returns OnChainCallResponse
225
+ */
226
+ atomicRemoveEmberShareFeeMultiplierTier(vaultId: string, shareVaultId: string, threshold: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
227
+ /**
228
+ * Set a swap waiver for an account on an atomic vault
229
+ * @param vaultId The id of the atomic vault
230
+ * @param account The account address
231
+ * @param feeWaived Whether the swap fee is waived
232
+ * @param holdbackWaived Whether the holdback is waived
233
+ * @param options Optional tx execution params
234
+ * @returns OnChainCallResponse
235
+ */
236
+ atomicSetSwapWaiver(vaultId: string, account: SuiAddress, feeWaived: boolean, holdbackWaived: boolean, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
237
+ /**
238
+ * Set the permanent withdrawal fee percentage of an atomic vault
239
+ * @param vaultId The id of the atomic vault
240
+ * @param permanentFeePercentage The new permanent fee percentage
241
+ * @param options Optional tx execution params
242
+ * @returns OnChainCallResponse
243
+ */
244
+ atomicSetPermanentFeePercentage(vaultId: string, permanentFeePercentage: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
245
+ /**
246
+ * Set the time based withdrawal fee percentage of an atomic vault
247
+ * @param vaultId The id of the atomic vault
248
+ * @param timeBasedFeePercentage The new time based fee percentage
249
+ * @param options Optional tx execution params
250
+ * @returns OnChainCallResponse
251
+ */
252
+ atomicSetTimeBasedFeePercentage(vaultId: string, timeBasedFeePercentage: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
253
+ /**
254
+ * Set the time based withdrawal fee threshold of an atomic vault
255
+ * @param vaultId The id of the atomic vault
256
+ * @param timeBasedFeeThreshold The new time based fee threshold
257
+ * @param options Optional tx execution params
258
+ * @returns OnChainCallResponse
259
+ */
260
+ atomicSetTimeBasedFeeThreshold(vaultId: string, timeBasedFeeThreshold: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
261
+ /**
262
+ * Set / unset a user on the fee exemption list of an atomic vault
263
+ * @param vaultId The id of the atomic vault
264
+ * @param user The user address
265
+ * @param status The status of the user in the fee exemption list
266
+ * @param options Optional tx execution params
267
+ * @returns OnChainCallResponse
268
+ */
269
+ atomicSetFeeExemptionList(vaultId: string, user: SuiAddress, status: boolean, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
270
+ /**
271
+ * Set / unset a user on the deposit user list of an atomic vault
272
+ * @param vaultId The id of the atomic vault
273
+ * @param user The user address
274
+ * @param status The status of the user in the deposit list
275
+ * @param options Optional tx execution params
276
+ * @returns OnChainCallResponse
277
+ */
278
+ atomicSetDepositUserList(vaultId: string, user: SuiAddress, status: boolean, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
279
+ /**
280
+ * Set the Suilend strategy for an atomic vault
281
+ * @param vaultId The id of the atomic vault
282
+ * @param reserveArrayIndex The Suilend reserve array index
283
+ * @param options Optional tx execution params
284
+ * @returns OnChainCallResponse
285
+ */
286
+ atomicSetStrategySuilend(vaultId: string, reserveArrayIndex: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
287
+ /**
288
+ * Set the AlphaLend strategy for an atomic vault
289
+ * @param vaultId The id of the atomic vault
290
+ * @param lendingProtocolId Object id of the AlphaLend LendingProtocol
291
+ * @param marketId The AlphaLend market id
292
+ * @param options Optional tx execution params
293
+ * @returns OnChainCallResponse
294
+ */
295
+ atomicSetStrategyAlphalend(vaultId: string, lendingProtocolId: string, marketId: NumStr, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
296
+ /**
297
+ * Switch an atomic vault from the Suilend strategy to STRATEGY_NONE,
298
+ * draining cTokens back into the vault balance
299
+ * @param vaultId The id of the atomic vault
300
+ * @param poolCoinType The Suilend pool coin type (P)
301
+ * @param lendingMarketId Object id of the Suilend LendingMarket<P>
302
+ * @param options Optional tx execution params
303
+ * @returns OnChainCallResponse
304
+ */
305
+ atomicSetStrategyNoneFromSuilend(vaultId: string, poolCoinType: string, lendingMarketId: string, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
306
+ /**
307
+ * Switch an atomic vault from the AlphaLend strategy to STRATEGY_NONE,
308
+ * draining the full position collateral back into the vault balance
309
+ * @param vaultId The id of the atomic vault
310
+ * @param lendingProtocolId Object id of the AlphaLend LendingProtocol
311
+ * @param options Optional tx execution params
312
+ * @returns OnChainCallResponse
313
+ */
314
+ atomicSetStrategyNoneFromAlphalend(vaultId: string, lendingProtocolId: string, options?: IVaultOptionalParams & SuiTransactionBlockResponseOptions): Promise<OnChainCallResponse>;
88
315
  }