@gearbox-protocol/sdk 14.12.0-next.69 → 14.12.0-next.70

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 (210) hide show
  1. package/dist/cjs/common-utils/charts/credit-session.js +0 -1
  2. package/dist/cjs/common-utils/index.js +1 -1
  3. package/dist/cjs/common-utils/utils/creditAccount/index.js +1 -1
  4. package/dist/cjs/common-utils/utils/creditAccount/quota-utils.js +0 -1
  5. package/dist/cjs/common-utils/utils/index.js +1 -1
  6. package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +1 -1
  7. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +81 -66
  8. package/dist/cjs/sdk/accounts/index.js +2 -0
  9. package/dist/cjs/sdk/accounts/intents/index.js +388 -0
  10. package/dist/cjs/sdk/accounts/intents/intents/index.js +14 -0
  11. package/dist/cjs/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.js +121 -0
  12. package/dist/cjs/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.js +15 -0
  13. package/dist/cjs/sdk/accounts/intents/intents/resume/close/close.fixtures.js +108 -0
  14. package/dist/cjs/sdk/accounts/intents/intents/resume/close/close.js +51 -0
  15. package/dist/cjs/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.js +130 -0
  16. package/dist/cjs/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.js +83 -0
  17. package/dist/cjs/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.js +117 -0
  18. package/dist/cjs/sdk/accounts/intents/intents/resume/deposit/deposit.js +15 -0
  19. package/dist/cjs/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.js +95 -0
  20. package/dist/cjs/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.js +15 -0
  21. package/dist/cjs/sdk/accounts/intents/intents/resume/index.js +13 -0
  22. package/dist/cjs/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.js +138 -0
  23. package/dist/cjs/sdk/accounts/intents/intents/resume/withdraw/withdraw.js +161 -0
  24. package/dist/cjs/sdk/accounts/intents/operations/add-collateral/index.js +17 -0
  25. package/dist/cjs/sdk/accounts/intents/operations/claim-delayed/index.js +54 -0
  26. package/dist/cjs/sdk/accounts/intents/operations/close-credit-account/index.js +26 -0
  27. package/dist/cjs/sdk/accounts/intents/operations/decrease-debt/index.js +12 -0
  28. package/dist/cjs/sdk/accounts/intents/operations/increase-debt/index.js +12 -0
  29. package/dist/cjs/sdk/accounts/intents/operations/index.js +27 -0
  30. package/dist/cjs/sdk/accounts/intents/operations/quota-update/index.js +22 -0
  31. package/dist/cjs/sdk/accounts/intents/operations/repay-credit-account/index.js +22 -0
  32. package/dist/cjs/sdk/accounts/intents/operations/start-delayed-withdrawal/index.js +18 -0
  33. package/dist/cjs/sdk/accounts/intents/operations/swap/index.js +18 -0
  34. package/dist/cjs/sdk/accounts/intents/operations/types.js +1 -0
  35. package/dist/cjs/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.js +27 -0
  36. package/dist/cjs/sdk/accounts/intents/operations/withdraw-collateral/index.js +43 -0
  37. package/dist/cjs/sdk/accounts/intents/operations/wrap-rwa-collateral/index.js +27 -0
  38. package/dist/cjs/sdk/accounts/intents/quoters/close.js +58 -0
  39. package/dist/cjs/sdk/accounts/intents/quoters/index.js +7 -0
  40. package/dist/cjs/sdk/accounts/intents/quoters/swap.js +79 -0
  41. package/dist/cjs/sdk/accounts/intents/testing/expect.js +167 -0
  42. package/dist/cjs/sdk/accounts/intents/testing/resume.js +172 -0
  43. package/dist/cjs/sdk/accounts/intents/testing/sdk-mock.js +179 -0
  44. package/dist/cjs/sdk/accounts/intents/types.js +1 -0
  45. package/dist/cjs/sdk/accounts/intents/utils/assemble-operation-calls.js +7 -0
  46. package/dist/cjs/sdk/accounts/intents/utils/borrowed-amount-plus-interest-and-fees.js +13 -0
  47. package/dist/cjs/sdk/accounts/intents/utils/common.js +43 -0
  48. package/dist/cjs/sdk/accounts/intents/utils/convert-amount.js +37 -0
  49. package/dist/cjs/sdk/accounts/intents/utils/index.js +19 -0
  50. package/dist/cjs/sdk/accounts/intents/utils/quotas-for-update.js +122 -0
  51. package/dist/cjs/sdk/accounts/intents/utils/simulate-adjust-state.js +39 -0
  52. package/dist/cjs/sdk/accounts/intents/utils/simulate-assets.js +69 -0
  53. package/dist/cjs/sdk/accounts/intents/utils/with-quota-update.js +13 -0
  54. package/dist/cjs/sdk/index.js +2 -0
  55. package/dist/esm/common-utils/charts/credit-session.js +0 -1
  56. package/dist/esm/common-utils/index.js +1 -1
  57. package/dist/esm/common-utils/utils/creditAccount/index.js +1 -1
  58. package/dist/esm/common-utils/utils/creditAccount/quota-utils.js +0 -1
  59. package/dist/esm/common-utils/utils/index.js +1 -1
  60. package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +1 -1
  61. package/dist/esm/dev/AccountOpener.js +1 -1
  62. package/dist/esm/dev/withdrawalUtils.js +1 -1
  63. package/dist/esm/preview/simulate/simulatePoolOperation.js +1 -1
  64. package/dist/esm/preview/trace/extractTransfers.js +1 -1
  65. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +83 -68
  66. package/dist/esm/sdk/accounts/index.js +2 -1
  67. package/dist/esm/sdk/accounts/intents/index.js +387 -0
  68. package/dist/esm/sdk/accounts/intents/intents/index.js +8 -0
  69. package/dist/esm/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.js +107 -0
  70. package/dist/esm/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.js +14 -0
  71. package/dist/esm/sdk/accounts/intents/intents/resume/close/close.fixtures.js +94 -0
  72. package/dist/esm/sdk/accounts/intents/intents/resume/close/close.js +50 -0
  73. package/dist/esm/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.js +114 -0
  74. package/dist/esm/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.js +82 -0
  75. package/dist/esm/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.js +110 -0
  76. package/dist/esm/sdk/accounts/intents/intents/resume/deposit/deposit.js +14 -0
  77. package/dist/esm/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.js +88 -0
  78. package/dist/esm/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.js +14 -0
  79. package/dist/esm/sdk/accounts/intents/intents/resume/index.js +7 -0
  80. package/dist/esm/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.js +121 -0
  81. package/dist/esm/sdk/accounts/intents/intents/resume/withdraw/withdraw.js +160 -0
  82. package/dist/esm/sdk/accounts/intents/operations/add-collateral/index.js +16 -0
  83. package/dist/esm/sdk/accounts/intents/operations/claim-delayed/index.js +52 -0
  84. package/dist/esm/sdk/accounts/intents/operations/close-credit-account/index.js +25 -0
  85. package/dist/esm/sdk/accounts/intents/operations/decrease-debt/index.js +11 -0
  86. package/dist/esm/sdk/accounts/intents/operations/increase-debt/index.js +11 -0
  87. package/dist/esm/sdk/accounts/intents/operations/index.js +14 -0
  88. package/dist/esm/sdk/accounts/intents/operations/quota-update/index.js +21 -0
  89. package/dist/esm/sdk/accounts/intents/operations/repay-credit-account/index.js +21 -0
  90. package/dist/esm/sdk/accounts/intents/operations/start-delayed-withdrawal/index.js +17 -0
  91. package/dist/esm/sdk/accounts/intents/operations/swap/index.js +17 -0
  92. package/dist/esm/sdk/accounts/intents/operations/types.js +1 -0
  93. package/dist/esm/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.js +26 -0
  94. package/dist/esm/sdk/accounts/intents/operations/withdraw-collateral/index.js +42 -0
  95. package/dist/esm/sdk/accounts/intents/operations/wrap-rwa-collateral/index.js +26 -0
  96. package/dist/esm/sdk/accounts/intents/quoters/close.js +56 -0
  97. package/dist/esm/sdk/accounts/intents/quoters/index.js +3 -0
  98. package/dist/esm/sdk/accounts/intents/quoters/swap.js +77 -0
  99. package/dist/esm/sdk/accounts/intents/testing/expect.js +162 -0
  100. package/dist/esm/sdk/accounts/intents/testing/resume.js +157 -0
  101. package/dist/esm/sdk/accounts/intents/testing/sdk-mock.js +172 -0
  102. package/dist/esm/sdk/accounts/intents/types.js +1 -0
  103. package/dist/esm/sdk/accounts/intents/utils/assemble-operation-calls.js +6 -0
  104. package/dist/esm/sdk/accounts/intents/utils/borrowed-amount-plus-interest-and-fees.js +12 -0
  105. package/dist/esm/sdk/accounts/intents/utils/common.js +40 -0
  106. package/dist/esm/sdk/accounts/intents/utils/convert-amount.js +36 -0
  107. package/dist/esm/sdk/accounts/intents/utils/index.js +9 -0
  108. package/dist/esm/sdk/accounts/intents/utils/quotas-for-update.js +121 -0
  109. package/dist/esm/sdk/accounts/intents/utils/simulate-adjust-state.js +38 -0
  110. package/dist/esm/sdk/accounts/intents/utils/simulate-assets.js +68 -0
  111. package/dist/esm/sdk/accounts/intents/utils/with-quota-update.js +12 -0
  112. package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +1 -1
  113. package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
  114. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
  115. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
  116. package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
  117. package/dist/esm/sdk/base/TokensMeta.js +2 -2
  118. package/dist/esm/sdk/chain/detectNetwork.js +1 -1
  119. package/dist/esm/sdk/core/createAddressProvider.js +1 -1
  120. package/dist/esm/sdk/index.js +2 -1
  121. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +1 -1
  122. package/dist/esm/sdk/market/pool/PoolV310Contract.js +1 -1
  123. package/dist/esm/sdk/market/zapper/IETHZapperContract.js +1 -1
  124. package/dist/esm/sdk/market/zapper/ZapperContract.js +1 -1
  125. package/dist/esm/sdk/pools/PoolService.js +1 -1
  126. package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +1 -1
  127. package/dist/types/common-utils/index.d.ts +19 -19
  128. package/dist/types/common-utils/static/index.d.ts +1 -1
  129. package/dist/types/common-utils/utils/apy/index.d.ts +1 -1
  130. package/dist/types/common-utils/utils/creditAccount/calc-health-factor.d.ts +1 -1
  131. package/dist/types/common-utils/utils/creditAccount/calc-overall-apy.d.ts +1 -1
  132. package/dist/types/common-utils/utils/creditAccount/calc-quota-borrow-rate.d.ts +1 -1
  133. package/dist/types/common-utils/utils/creditAccount/debt.d.ts +1 -1
  134. package/dist/types/common-utils/utils/creditAccount/index.d.ts +1 -1
  135. package/dist/types/common-utils/utils/creditAccount/liquidation-price.d.ts +1 -1
  136. package/dist/types/common-utils/utils/creditAccount/quota-utils.d.ts +0 -1
  137. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +1 -1
  138. package/dist/types/common-utils/utils/index.d.ts +3 -3
  139. package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +1 -1
  140. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +1 -1
  141. package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +1 -1
  142. package/dist/types/common-utils/utils/strategies/strategy-info/types.d.ts +1 -1
  143. package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +1 -1
  144. package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +1 -1
  145. package/dist/types/common-utils/utils/strategies/types/credit-manager-data-legacy.d.ts +1 -1
  146. package/dist/types/common-utils/utils/strategies/types/strategies-cm-list.d.ts +1 -1
  147. package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +1 -1
  148. package/dist/types/common-utils/utils/strategies/types/strategy.d.ts +1 -1
  149. package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +1 -1
  150. package/dist/types/common-utils/utils/validation/validate-quota.d.ts +1 -1
  151. package/dist/types/plugins/apy/ApyPlugin.d.ts +1 -1
  152. package/dist/types/plugins/apy/pool-apy-utils.d.ts +1 -1
  153. package/dist/types/plugins/apy/strategy-data-source.d.ts +1 -1
  154. package/dist/types/plugins/apy/types.d.ts +1 -1
  155. package/dist/types/plugins/remote-configs/CustomConfigSource.d.ts +1 -1
  156. package/dist/types/plugins/remote-configs/RemoteConfigSource.d.ts +1 -1
  157. package/dist/types/plugins/remote-configs/RemoteConfigsPlugin.d.ts +1 -1
  158. package/dist/types/plugins/remote-configs/index.d.ts +1 -1
  159. package/dist/types/plugins/remote-configs/types.d.ts +1 -1
  160. package/dist/types/rewards/rewards/extra-apy.d.ts +1 -1
  161. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +30 -10
  162. package/dist/types/sdk/accounts/index.d.ts +2 -1
  163. package/dist/types/sdk/accounts/intents/index.d.ts +22 -0
  164. package/dist/types/sdk/accounts/intents/intents/index.d.ts +8 -0
  165. package/dist/types/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.d.ts +13 -0
  166. package/dist/types/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.d.ts +38 -0
  167. package/dist/types/sdk/accounts/intents/intents/resume/close/close.d.ts +26 -0
  168. package/dist/types/sdk/accounts/intents/intents/resume/close/close.fixtures.d.ts +63 -0
  169. package/dist/types/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.d.ts +26 -0
  170. package/dist/types/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.d.ts +86 -0
  171. package/dist/types/sdk/accounts/intents/intents/resume/deposit/deposit.d.ts +13 -0
  172. package/dist/types/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.d.ts +48 -0
  173. package/dist/types/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.d.ts +13 -0
  174. package/dist/types/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.d.ts +46 -0
  175. package/dist/types/sdk/accounts/intents/intents/resume/index.d.ts +7 -0
  176. package/dist/types/sdk/accounts/intents/intents/resume/withdraw/withdraw.d.ts +33 -0
  177. package/dist/types/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.d.ts +68 -0
  178. package/dist/types/sdk/accounts/intents/operations/add-collateral/index.d.ts +23 -0
  179. package/dist/types/sdk/accounts/intents/operations/claim-delayed/index.d.ts +55 -0
  180. package/dist/types/sdk/accounts/intents/operations/close-credit-account/index.d.ts +22 -0
  181. package/dist/types/sdk/accounts/intents/operations/decrease-debt/index.d.ts +18 -0
  182. package/dist/types/sdk/accounts/intents/operations/increase-debt/index.d.ts +18 -0
  183. package/dist/types/sdk/accounts/intents/operations/index.d.ts +14 -0
  184. package/dist/types/sdk/accounts/intents/operations/quota-update/index.d.ts +24 -0
  185. package/dist/types/sdk/accounts/intents/operations/repay-credit-account/index.d.ts +32 -0
  186. package/dist/types/sdk/accounts/intents/operations/start-delayed-withdrawal/index.d.ts +23 -0
  187. package/dist/types/sdk/accounts/intents/operations/swap/index.d.ts +28 -0
  188. package/dist/types/sdk/accounts/intents/operations/types.d.ts +21 -0
  189. package/dist/types/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.d.ts +30 -0
  190. package/dist/types/sdk/accounts/intents/operations/withdraw-collateral/index.d.ts +36 -0
  191. package/dist/types/sdk/accounts/intents/operations/wrap-rwa-collateral/index.d.ts +30 -0
  192. package/dist/types/sdk/accounts/intents/quoters/close.d.ts +43 -0
  193. package/dist/types/sdk/accounts/intents/quoters/index.d.ts +3 -0
  194. package/dist/types/sdk/accounts/intents/quoters/swap.d.ts +43 -0
  195. package/dist/types/sdk/accounts/intents/testing/expect.d.ts +52 -0
  196. package/dist/types/sdk/accounts/intents/testing/resume.d.ts +84 -0
  197. package/dist/types/sdk/accounts/intents/testing/sdk-mock.d.ts +90 -0
  198. package/dist/types/sdk/accounts/intents/types.d.ts +75 -0
  199. package/dist/types/sdk/accounts/intents/utils/assemble-operation-calls.d.ts +10 -0
  200. package/dist/types/sdk/accounts/intents/utils/borrowed-amount-plus-interest-and-fees.d.ts +17 -0
  201. package/dist/types/sdk/accounts/intents/utils/common.d.ts +19 -0
  202. package/dist/types/sdk/accounts/intents/utils/convert-amount.d.ts +13 -0
  203. package/dist/types/sdk/accounts/intents/utils/index.d.ts +9 -0
  204. package/dist/types/sdk/accounts/intents/utils/quotas-for-update.d.ts +35 -0
  205. package/dist/types/sdk/accounts/intents/utils/simulate-adjust-state.d.ts +19 -0
  206. package/dist/types/sdk/accounts/intents/utils/simulate-assets.d.ts +21 -0
  207. package/dist/types/sdk/accounts/intents/utils/with-quota-update.d.ts +16 -0
  208. package/dist/types/sdk/accounts/types.d.ts +20 -0
  209. package/dist/types/sdk/index.d.ts +2 -1
  210. package/package.json +1 -1
@@ -0,0 +1,43 @@
1
+ import { Asset } from "../../../base/types.js";
2
+ import { MultiCall } from "../../../types/transactions.js";
3
+ import { OnchainSDK } from "../../../OnchainSDK.js";
4
+ import { CreditAccountSlice } from "../types.js";
5
+ import "../../../index.js";
6
+ //#region src/sdk/accounts/intents/quoters/close.d.ts
7
+ /** Close path quote: how much underlying the wallet receives after close. */
8
+ type CloseQuote = {
9
+ /** Router avg amount received. */
10
+ amount: bigint;
11
+ /**Router min amount received. */
12
+ minAmount: bigint;
13
+ /** Total amount to receive on wallet */
14
+ underlyingBalance: bigint;
15
+ /** Router close path calls; empty for oracle quotes. */
16
+ calls: MultiCall[];
17
+ };
18
+ type CloseQuoter = (input: {
19
+ assets: Asset[];
20
+ debt: bigint;
21
+ }) => Promise<CloseQuote>;
22
+ /**
23
+ * Offchain quoter: debt is repaid from NON-underlying value
24
+ * (`amount = Σ convert(non-underlying → underlying) − debt`, clamped at 0),
25
+ * underlying already on the account goes straight to the wallet
26
+ * (`underlyingBalance = underlying + amount`). No router involved.
27
+ */
28
+ declare function createCloseOracleQuoter(args: {
29
+ sdk: OnchainSDK;
30
+ creditAccount: CreditAccountSlice;
31
+ }): CloseQuoter;
32
+ /**
33
+ * Onchain quoter: router close path over post-claim balances
34
+ * (phantom already spent). `amount` mirrors legacy
35
+ * `patchCloseOperationReceiveAmount` (debt 0n — closed preview is zeroed).
36
+ */
37
+ declare function createRouterCloseQuoter(args: {
38
+ sdk: OnchainSDK;
39
+ creditAccount: CreditAccountSlice;
40
+ slippage: number;
41
+ }): CloseQuoter;
42
+ //#endregion
43
+ export { CloseQuote, CloseQuoter, createCloseOracleQuoter, createRouterCloseQuoter };
@@ -0,0 +1,3 @@
1
+ import { CloseQuote, CloseQuoter, createCloseOracleQuoter, createRouterCloseQuoter } from "./close.js";
2
+ import { SwapQuote, SwapQuoter, createOracleSwapQuoter, createRouterSwapQuoter } from "./swap.js";
3
+ export { CloseQuote, CloseQuoter, SwapQuote, SwapQuoter, createCloseOracleQuoter, createOracleSwapQuoter, createRouterCloseQuoter, createRouterSwapQuoter };
@@ -0,0 +1,43 @@
1
+ import { Asset } from "../../../base/types.js";
2
+ import { MultiCall } from "../../../types/transactions.js";
3
+ import { OnchainSDK } from "../../../OnchainSDK.js";
4
+ import { CreditAccountSlice } from "../types.js";
5
+ import "../../../index.js";
6
+ import { Address } from "viem";
7
+ //#region src/sdk/accounts/intents/quoters/swap.d.ts
8
+ /** Swap quote for a conversion leg of a resume flow. */
9
+ type SwapQuote = {
10
+ /** Average (or oracle) output amount. */
11
+ amount: bigint;
12
+ /** Conservative output (router floor); equals `amountOut` for oracle quotes. */
13
+ minAmount: bigint;
14
+ /** Router swap calls; empty for oracle quotes. */
15
+ calls: MultiCall[];
16
+ };
17
+ type SwapQuoter = (request: {
18
+ from: [Asset];
19
+ tokenOut: Address;
20
+ /** Full token-in balance after operations preceding this swap leg. */
21
+ tokenInBalance: bigint;
22
+ }) => Promise<SwapQuote>;
23
+ /**
24
+ * Offchain quoter: oracle prices via {@link convertAmount} (with an RWA
25
+ * bridge through the wrapped underlying when `rwa.asset` has no direct pool
26
+ * price).
27
+ */
28
+ declare function createOracleSwapQuoter(args: {
29
+ sdk: OnchainSDK;
30
+ creditAccount: CreditAccountSlice;
31
+ }): SwapQuoter;
32
+ /**
33
+ * Onchain quoter: a full token-in spend uses `findOneTokenPath`; a partial
34
+ * spend uses `findManyToOnePath` with the exact post-operations balance and
35
+ * leftover. RWA wrap/unwrap calls are resolved by the router.
36
+ */
37
+ declare function createRouterSwapQuoter(args: {
38
+ sdk: OnchainSDK;
39
+ creditAccount: CreditAccountSlice;
40
+ slippage: number;
41
+ }): SwapQuoter;
42
+ //#endregion
43
+ export { SwapQuote, SwapQuoter, createOracleSwapQuoter, createRouterSwapQuoter };
@@ -0,0 +1,52 @@
1
+ import { MultiCall } from "../../../types/transactions.js";
2
+ import { AdjustState, IntentPreviewResult } from "../types.js";
3
+ import { ClaimDelayedWithdrawalOperation } from "../operations/claim-delayed/index.js";
4
+ import { CloseCreditAccountOperation } from "../operations/close-credit-account/index.js";
5
+ import { QuotaUpdateOperation } from "../operations/quota-update/index.js";
6
+ import { AccountCalculatorOperation } from "../operations/types.js";
7
+ import "../operations/index.js";
8
+ import "../../../index.js";
9
+ import { Address } from "viem";
10
+ //#region src/sdk/accounts/intents/testing/expect.d.ts
11
+ /**
12
+ * Spec expectation: exact op count + type + tokens + amounts + calls.
13
+ * Ported from intent-calculator `expectOpsExact`, reduced to the op types the
14
+ * resume flows produce. Shared offchain fixtures may omit `calls` (treated as
15
+ * `[]`); onchain expectations should set sentinel calls via
16
+ * {@link withOnchainOpCalls}.
17
+ */
18
+ type CallsOptional<T> = T extends {
19
+ calls: MultiCall[];
20
+ } ? Omit<T, "calls"> & {
21
+ calls?: MultiCall[];
22
+ } : T;
23
+ type ExpectedFlowOp = CallsOptional<ClaimDelayedWithdrawalOperation | QuotaUpdateOperation | CloseCreditAccountOperation | Extract<AccountCalculatorOperation, {
24
+ type: "swap" | "decreaseDebt" | "withdrawCollateral" | "unwrapRwaCollateral" | "wrapRwaCollateral";
25
+ }>>;
26
+ /**
27
+ * Fills sentinel `calls` for onchain resume expectations. Shared fixtures keep
28
+ * `calls: []` for offchain; onchain tests map through this helper.
29
+ */
30
+ declare function withOnchainOpCalls(ops: ExpectedFlowOp[]): ExpectedFlowOp[];
31
+ /** Asserts exact operations on a raw op array (type + tokens + amounts). */
32
+ declare function expectOpsArrayExact(ops: AccountCalculatorOperation[], expected: ExpectedFlowOp[]): void;
33
+ /** Asserts exact calls on a raw MultiCall array (target + callData). */
34
+ declare function expectCallsArrayExact(calls: MultiCall[], expected: MultiCall[], label?: string): void;
35
+ /**
36
+ * Asserts a successful adjust-style resume preview: ok, instant branch present,
37
+ * exact calls (empty unless `expectedCalls` is provided), metrics from the
38
+ * post-claim CA, and exact operations (incl. changeQuota).
39
+ * Returns the adjust preview state for further asset/quota assertions.
40
+ */
41
+ declare function expectAdjustResumePreview(result: IntentPreviewResult, args: {
42
+ totalValue: bigint;
43
+ accountDebt: bigint;
44
+ expectedOps: ExpectedFlowOp[];
45
+ expectedCalls?: MultiCall[];
46
+ }): AdjustState;
47
+ declare function assetBalance(assets: Array<{
48
+ token: Address;
49
+ balance: bigint;
50
+ }>, token: Address): bigint;
51
+ //#endregion
52
+ export { ExpectedFlowOp, assetBalance, expectAdjustResumePreview, expectCallsArrayExact, expectOpsArrayExact, withOnchainOpCalls };
@@ -0,0 +1,84 @@
1
+ import { DelayedIntent } from "../../withdrawal-compressor/types.js";
2
+ import { MultiCall } from "../../../types/transactions.js";
3
+ import { OnchainSDK } from "../../../OnchainSDK.js";
4
+ import { CreditAccountSlice } from "../types.js";
5
+ import { ClaimDelayedOption } from "../operations/claim-delayed/index.js";
6
+ import "../operations/index.js";
7
+ import "../../../index.js";
8
+ import { ExpectedFlowOp } from "./expect.js";
9
+ import { Address } from "viem";
10
+ //#region src/sdk/accounts/intents/testing/resume.d.ts
11
+ /**
12
+ * Shared kit for claim-only resume fixtures (add collateral, increase
13
+ * leverage, deposit, deposit+increase).
14
+ *
15
+ * Unlike the legacy props (which echoed `creditAccount.totalValue`), the
16
+ * service computes totalValue from CA token balances via the price oracle.
17
+ * Each case's base balance is therefore `postClaimTotalValue − claimed value
18
+ * in UND`, so the derived totalValue matches the legacy expectation exactly.
19
+ */
20
+ declare const UND_DECIMALS = 8;
21
+ declare const TOK_DECIMALS = 18;
22
+ declare const UND: Address;
23
+ declare const ANY: Address;
24
+ declare const ANY2: Address;
25
+ declare const RWA_ASSET: Address;
26
+ declare const RESUME_FIXTURE_PHANTOM: Address;
27
+ declare const CREDIT_MANAGER: Address;
28
+ declare const CREDIT_FACADE: Address;
29
+ declare const CREDIT_ACCOUNT: Address;
30
+ interface ResumeCase {
31
+ claimedToken: Address;
32
+ claimedAmount: bigint;
33
+ postClaimTotalValue: bigint;
34
+ postClaimDebt: bigint;
35
+ resumeOps: ExpectedFlowOp[];
36
+ expectedQuotaBalance?: bigint;
37
+ /**
38
+ * Pre-existing CA balances besides the withdrawal phantom. Defaults to
39
+ * `postClaimTotalValue − claimed value` in UND. Cases claiming UND override
40
+ * it with another token so the claimed balance stays distinguishable.
41
+ */
42
+ baseAssets?: CreditAccountSlice["tokens"];
43
+ }
44
+ /** Claimed proceeds converted to UND (mirrors the mock price oracle). */
45
+ declare function claimedValueInUnd(amount: bigint, token: Address): bigint;
46
+ /**
47
+ * Mock sdk for a resume case. The fixture phantom token gets the claimed
48
+ * token's decimals so the offchain `toTargetDecimals` rescale stays identity
49
+ * (its `10n * decimals` factor is only correct for equal decimals).
50
+ * `closePath` configures the router `findBestClosePath` result (close resume).
51
+ */
52
+ declare function buildResumeSdk(c: Pick<ResumeCase, "claimedToken">, extras?: {
53
+ closePath?: {
54
+ amount: bigint;
55
+ minAmount: bigint;
56
+ underlyingBalance: bigint;
57
+ calls: MultiCall[];
58
+ };
59
+ /** RWA markets: underlying → rwa.asset (tokensMeta.rwaUnderlyings). */
60
+ rwaAssets?: Record<Address, Address>;
61
+ /** Additional / overriding token prices (PRICE_DECIMALS_POW-scaled). */
62
+ extraPrices?: Record<Address, bigint>;
63
+ /** Additional / overriding token decimals. */
64
+ extraDecimals?: Record<Address, number>;
65
+ /** Withdrawal phantom address (defaults to RESUME_FIXTURE_PHANTOM). */
66
+ phantom?: Address;
67
+ }): OnchainSDK;
68
+ declare function buildOffchainOptions(c: Pick<ResumeCase, "claimedToken" | "claimedAmount">): ClaimDelayedOption;
69
+ declare function buildOnchainOptions(c: Pick<ResumeCase, "claimedToken" | "claimedAmount">): ClaimDelayedOption;
70
+ declare function buildClaimResumeProps<T extends DelayedIntent>(args: {
71
+ intent: T;
72
+ case: ResumeCase;
73
+ sdk: OnchainSDK;
74
+ options: ClaimDelayedOption;
75
+ }): {
76
+ intent: T;
77
+ creditAccount: CreditAccountSlice;
78
+ sdk: OnchainSDK<{}>;
79
+ quotaReserve: undefined;
80
+ options: ClaimDelayedOption;
81
+ slippage: undefined;
82
+ };
83
+ //#endregion
84
+ export { ANY, ANY2, CREDIT_ACCOUNT, CREDIT_FACADE, CREDIT_MANAGER, RESUME_FIXTURE_PHANTOM, RWA_ASSET, ResumeCase, TOK_DECIMALS, UND, UND_DECIMALS, buildClaimResumeProps, buildOffchainOptions, buildOnchainOptions, buildResumeSdk, claimedValueInUnd };
@@ -0,0 +1,90 @@
1
+ import { MultiCall } from "../../../types/transactions.js";
2
+ import { OnchainSDK } from "../../../OnchainSDK.js";
3
+ import "../../../index.js";
4
+ import { Address } from "viem";
5
+ //#region src/sdk/accounts/intents/testing/sdk-mock.d.ts
6
+ /**
7
+ * Test kit for intent-service specs.
8
+ *
9
+ * The service resolves all market data through `OnchainSDK`
10
+ * (`marketRegister`, `tokensMeta`, `accounts`). `buildMockSdk` builds a mock
11
+ * from plain records; assemble mocks ECHO recognizable sentinel calls derived
12
+ * from their inputs, so `result.instant.calls` pins down which ops reached the
13
+ * assembler and in which order.
14
+ */
15
+ /** Fixture `claimableWithdrawal.claimCalls` content; echoes through claim ops. */
16
+ declare const MOCK_CLAIM_CALL: MultiCall;
17
+ /** Recognizable router call embedded in close path results. */
18
+ declare const MOCK_ROUTER_CALL: MultiCall;
19
+ /** Returned by the `getRWAWrapCalls` mock; passes through per wrap op. */
20
+ declare const MOCK_RWA_WRAP_CALL: MultiCall;
21
+ /** Router-produced call for an RWA underlying → asset unwrap leg. */
22
+ declare const MOCK_RWA_UNWRAP_CALL: MultiCall;
23
+ /** Returned by the `assembleCloseCreditAccountCalls` mock. */
24
+ declare const MOCK_CLOSE_CALL: MultiCall;
25
+ /** One sentinel call per plain encodable op type. */
26
+ declare const CA_OP_CALLS: {
27
+ readonly addCollateral: {
28
+ readonly target: Address;
29
+ readonly callData: "0x";
30
+ };
31
+ readonly increaseDebt: {
32
+ readonly target: Address;
33
+ readonly callData: "0x";
34
+ };
35
+ readonly decreaseDebt: {
36
+ readonly target: Address;
37
+ readonly callData: "0x";
38
+ };
39
+ readonly withdrawCollateral: {
40
+ readonly target: Address;
41
+ readonly callData: "0x";
42
+ };
43
+ readonly changeQuota: {
44
+ readonly target: Address;
45
+ readonly callData: "0x";
46
+ };
47
+ };
48
+ interface MockQuotaEntry {
49
+ token: Address;
50
+ rate: bigint;
51
+ limit: bigint;
52
+ totalQuoted?: bigint;
53
+ quotaIncreaseFee?: bigint;
54
+ isActive: boolean;
55
+ }
56
+ interface BuildMockSdkArgs {
57
+ /** Price per token (PRICE_DECIMALS_POW-scaled), like legacy `prices`. */
58
+ prices: Record<Address, bigint>;
59
+ /** Token decimals; used by `tokensMeta` and the price conversion. */
60
+ decimals: Record<Address, number>;
61
+ /** Pool quota params (AddressMap values shape). */
62
+ quotas: Record<Address, MockQuotaEntry>;
63
+ liquidationThresholds: Record<Address, number>;
64
+ maxDebt: bigint;
65
+ creditManager: Address;
66
+ creditFacade: Address;
67
+ /** Market underlying token (`market.pool.underlying`). */
68
+ underlying: Address;
69
+ /**
70
+ * Close resume: router `findBestClosePath` result. When set, the mock
71
+ * provides `routerFor` and `assembleCloseCreditAccountCalls`.
72
+ */
73
+ closePath?: {
74
+ amount: bigint;
75
+ minAmount: bigint;
76
+ underlyingBalance: bigint;
77
+ calls: MultiCall[];
78
+ };
79
+ /** RWA markets: underlying → rwa.asset (`tokensMeta.rwaUnderlyings`). */
80
+ rwaAssets?: Record<Address, Address>;
81
+ }
82
+ /**
83
+ * Mock `OnchainSDK` covering exactly what the intent-service touches:
84
+ * price conversion, quota params, CM/facade lookup and call assembly.
85
+ * Conversion mirrors the legacy price-based math:
86
+ * `amount * price[from] * 10^dec(to) / (price[to] * 10^dec(from))`.
87
+ */
88
+ declare function buildMockSdk(args: BuildMockSdkArgs): OnchainSDK;
89
+ //#endregion
90
+ export { CA_OP_CALLS, MOCK_CLAIM_CALL, MOCK_CLOSE_CALL, MOCK_ROUTER_CALL, MOCK_RWA_UNWRAP_CALL, MOCK_RWA_WRAP_CALL, MockQuotaEntry, buildMockSdk };
@@ -0,0 +1,75 @@
1
+ import { DelayedIntent, RequestableWithdrawal } from "../withdrawal-compressor/types.js";
2
+ import { Asset } from "../../base/types.js";
3
+ import { RouterCASlice } from "../../router/types.js";
4
+ import { MultiCall } from "../../types/transactions.js";
5
+ import { AccountCalculatorOperation } from "./operations/types.js";
6
+ import "./operations/index.js";
7
+ import "../../index.js";
8
+ import { Address } from "viem";
9
+ //#region src/sdk/accounts/intents/types.d.ts
10
+ /**
11
+ * Minimal credit-account data needed by resume previews:
12
+ * account address, CM lookup, underlying for conversion, debt, token balances
13
+ * and initial quotas.
14
+ */
15
+ type CreditAccountSlice = Omit<RouterCASlice, "debt"> & {
16
+ /** either base debt or debt plus interest and fees */
17
+ accountDebt: bigint;
18
+ };
19
+ /** Post-adjust CA metrics. */
20
+ type AdjustState = {
21
+ kind: "adjust";
22
+ /** Account TVL after operation */
23
+ totalValue: bigint;
24
+ /** Account debt after operation */
25
+ accountDebt: bigint;
26
+ /** Account assets after operation */
27
+ assets: Asset[];
28
+ /** Account quotas after operation */
29
+ quotas: Record<Address, Asset>;
30
+ };
31
+ /** Close state result. */
32
+ type CloseState = {
33
+ kind: "close";
34
+ /** Received amount */
35
+ amount: bigint;
36
+ /** Conservative receive (min branch / pathfinder floor). */
37
+ minAmount: bigint;
38
+ /** Pathfinder underlying on CA after close path; 0n when unknown (instant). */
39
+ underlyingBalance: bigint;
40
+ };
41
+ type OperationState = AdjustState | CloseState;
42
+ type DelayedBranchKind = "instantSettle" | "partialSettle" | "delayedSettle";
43
+ type DelayedBranchResult = {
44
+ kind: DelayedBranchKind;
45
+ operations: AccountCalculatorOperation[];
46
+ preview: {
47
+ min: OperationState;
48
+ };
49
+ calls: MultiCall[];
50
+ intent: DelayedIntent;
51
+ request?: RequestableWithdrawal;
52
+ };
53
+ type DelayedErrorReason = "multipleDelayedWithdrawals" | "withdrawalInProgress";
54
+ type InstantBranchResult = {
55
+ operations: AccountCalculatorOperation[];
56
+ preview: {
57
+ min: OperationState;
58
+ };
59
+ calls: MultiCall[];
60
+ };
61
+ type InstantErrorReason = "pathNotFound";
62
+ type PreviewErrorResult = {
63
+ ok: false;
64
+ reason: "unsupportedFieldPair" | "debtOutOfRange" | "leverageOutOfRange" | "multipleDelayedWithdrawals" | "unsupportedMixedDelayedWithdrawal" | "unsupportedCloseClaimOutput" | "insufficientSourceBalance";
65
+ };
66
+ interface IntentPreviewSuccessResult {
67
+ ok: true;
68
+ instant: InstantBranchResult | undefined;
69
+ instantError: InstantErrorReason | undefined;
70
+ delayedBranch: DelayedBranchResult | undefined;
71
+ delayedError: DelayedErrorReason | undefined;
72
+ }
73
+ type IntentPreviewResult = IntentPreviewSuccessResult | PreviewErrorResult;
74
+ //#endregion
75
+ export { AdjustState, CloseState, CreditAccountSlice, IntentPreviewResult, OperationState };
@@ -0,0 +1,10 @@
1
+ import { MultiCall } from "../../../types/transactions.js";
2
+ import { AccountCalculatorOperation } from "../operations/types.js";
3
+ import "../../../index.js";
4
+ //#region src/sdk/accounts/intents/utils/assemble-operation-calls.d.ts
5
+ interface Props {
6
+ operations: AccountCalculatorOperation[];
7
+ }
8
+ declare function assembleOperationCalls({ operations }: Props): MultiCall[];
9
+ //#endregion
10
+ export { assembleOperationCalls };
@@ -0,0 +1,17 @@
1
+ //#region src/sdk/accounts/intents/utils/borrowed-amount-plus-interest-and-fees.d.ts
2
+ /**
3
+ * Total debt of a credit account: principal + accrued interest + accrued fees.
4
+ *
5
+ * On the v3 SDK `CreditAccountData` the parts
6
+ * come as separate `debt` / `accruedInterest` / `accruedFees` fields.
7
+ */
8
+ declare function calcBorrowedAmountPlusInterestAndFees(ca: {
9
+ /** Debt principal in underlying. */
10
+ debt: bigint;
11
+ /** Base and quota interest accrued on the account. */
12
+ accruedInterest: bigint;
13
+ /** Fees accrued on the account. */
14
+ accruedFees: bigint;
15
+ }): bigint;
16
+ //#endregion
17
+ export { calcBorrowedAmountPlusInterestAndFees };
@@ -0,0 +1,19 @@
1
+ import { Asset } from "../../../base/types.js";
2
+ import { RouterCASlice } from "../../../router/types.js";
3
+ import { OnchainSDK } from "../../../OnchainSDK.js";
4
+ import { CreditAccountSlice } from "../types.js";
5
+ import "../../../index.js";
6
+ import { Address } from "viem";
7
+ //#region src/sdk/accounts/intents/utils/common.d.ts
8
+ /** Case-insensitive address equality. */
9
+ declare const eq: (a: Address, b: Address) => boolean;
10
+ declare function toTargetDecimals(fromAmount: bigint, fromToken: Address, toToken: Address, sdk: OnchainSDK): bigint;
11
+ /**
12
+ * Router CA slice from the account slice. RouterV310 reads `ca.tokens` for
13
+ * underlyingBalance, so balances are overlaid with the post-claim projection
14
+ * (legacy `overlayExpectedBalancesOntoCaTokens`): existing tokens keep quota
15
+ * with balance from the projection (0n when absent), new tokens get quota 0n.
16
+ */
17
+ declare function toRouterCaSlice(creditAccount: CreditAccountSlice, expectedBalances?: Asset[]): RouterCASlice;
18
+ //#endregion
19
+ export { eq, toRouterCaSlice, toTargetDecimals };
@@ -0,0 +1,13 @@
1
+ import { OnchainSDK } from "../../../OnchainSDK.js";
2
+ import "../../../index.js";
3
+ import { Address } from "viem";
4
+ //#region src/sdk/accounts/intents/utils/convert-amount.d.ts
5
+ /**
6
+ * Converts an amount from one token to another using oracle prices of the
7
+ * given credit manager's market. When the direct oracle path is missing
8
+ * (e.g. `rwa.asset` has no pool price), bridges via the wrapped underlying
9
+ * (1:1 wrap + decimals rescale) — mirrors legacy `convertAmountWithRwaBridge`.
10
+ */
11
+ declare const convertAmount: (sdk: OnchainSDK, creditManager: Address) => (fromTokenRaw: Address, toTokenRaw: Address, amount: bigint) => bigint;
12
+ //#endregion
13
+ export { convertAmount };
@@ -0,0 +1,9 @@
1
+ import { assembleOperationCalls } from "./assemble-operation-calls.js";
2
+ import { calcBorrowedAmountPlusInterestAndFees } from "./borrowed-amount-plus-interest-and-fees.js";
3
+ import { eq, toRouterCaSlice, toTargetDecimals } from "./common.js";
4
+ import { convertAmount } from "./convert-amount.js";
5
+ import { ConvertFn, simulateOperationAssets } from "./simulate-assets.js";
6
+ import { getQuotasForUpdate } from "./quotas-for-update.js";
7
+ import { SimulateStateReturn, simulateState } from "./simulate-adjust-state.js";
8
+ import { getOperationsWithQuotaUpdate } from "./with-quota-update.js";
9
+ export { ConvertFn, SimulateStateReturn, assembleOperationCalls, calcBorrowedAmountPlusInterestAndFees, convertAmount, eq, getOperationsWithQuotaUpdate, getQuotasForUpdate, simulateOperationAssets, simulateState, toRouterCaSlice, toTargetDecimals };
@@ -0,0 +1,35 @@
1
+ import { AddressMap } from "../../../utils/AddressMap.js";
2
+ import { Asset } from "../../../base/types.js";
3
+ import { QuotaUpdateState } from "../operations/quota-update/index.js";
4
+ import "../operations/index.js";
5
+ import "../../../index.js";
6
+ import { ConvertFn } from "./simulate-assets.js";
7
+ import { Address } from "viem";
8
+ //#region src/sdk/accounts/intents/utils/quotas-for-update.d.ts
9
+ interface InitialQuota {
10
+ token: Address;
11
+ quota: bigint;
12
+ }
13
+ interface Quota {
14
+ token: Address;
15
+ rate: number;
16
+ cumulativeIndexLU: bigint;
17
+ quotaIncreaseFee: number;
18
+ totalQuoted: bigint;
19
+ limit: bigint;
20
+ isActive: boolean;
21
+ }
22
+ interface GetQuotasForUpdateProps {
23
+ assetsBefore: Asset[] | readonly Asset[];
24
+ assetsAfter: Asset[];
25
+ initialQuotas: Array<InitialQuota> | readonly InitialQuota[];
26
+ quotaReserve: number | undefined;
27
+ underlyingToken: Address;
28
+ liquidationThresholds: AddressMap<number>;
29
+ quotas: AddressMap<Quota>;
30
+ maxDebt: bigint;
31
+ convert: ConvertFn;
32
+ }
33
+ declare function getQuotasForUpdate({ assetsBefore, assetsAfter, initialQuotas, quotaReserve, liquidationThresholds: liquidationThresholdsMap, quotas: quotasMap, maxDebt, underlyingToken, convert }: GetQuotasForUpdateProps): QuotaUpdateState;
34
+ //#endregion
35
+ export { getQuotasForUpdate };
@@ -0,0 +1,19 @@
1
+ import { OnchainSDK } from "../../../OnchainSDK.js";
2
+ import { AdjustState, CreditAccountSlice } from "../types.js";
3
+ import { QuotaUpdateState } from "../operations/quota-update/index.js";
4
+ import { AccountCalculatorOperation } from "../operations/types.js";
5
+ import "../../../index.js";
6
+ //#region src/sdk/accounts/intents/utils/simulate-adjust-state.d.ts
7
+ interface Props {
8
+ operations: AccountCalculatorOperation[];
9
+ creditAccount: CreditAccountSlice;
10
+ sdk: OnchainSDK;
11
+ quotaReserve: number | undefined;
12
+ }
13
+ type SimulateStateReturn = ReturnType<typeof simulateState>;
14
+ declare function simulateState(props: Props): {
15
+ state: AdjustState;
16
+ quotaResult: QuotaUpdateState;
17
+ };
18
+ //#endregion
19
+ export { SimulateStateReturn, simulateState };
@@ -0,0 +1,21 @@
1
+ import { Asset } from "../../../base/types.js";
2
+ import { AccountCalculatorOperation } from "../operations/types.js";
3
+ import "../../../index.js";
4
+ import { Address } from "viem";
5
+ //#region src/sdk/accounts/intents/utils/simulate-assets.d.ts
6
+ type ConvertFn = (token: Address, to: Address, amount: bigint) => bigint;
7
+ interface SimulateOperationAssetsProps {
8
+ initialAssets: readonly Asset[] | Asset[];
9
+ operations: AccountCalculatorOperation[];
10
+ underlyingToken: Address;
11
+ debt: bigint;
12
+ convert: ConvertFn;
13
+ }
14
+ /** Apply an op chain to CA token balances. Address keys are lowercased. */
15
+ declare function simulateOperationAssets({ initialAssets, operations, underlyingToken, debt, convert }: SimulateOperationAssetsProps): {
16
+ assets: Asset[];
17
+ totalValue: bigint;
18
+ debt: bigint;
19
+ };
20
+ //#endregion
21
+ export { ConvertFn, simulateOperationAssets };
@@ -0,0 +1,16 @@
1
+ import { OnchainSDK } from "../../../OnchainSDK.js";
2
+ import { CreditAccountSlice } from "../types.js";
3
+ import { AccountCalculatorOperation, OperationBuilderOption } from "../operations/types.js";
4
+ import "../../../index.js";
5
+ import { SimulateStateReturn } from "./simulate-adjust-state.js";
6
+ //#region src/sdk/accounts/intents/utils/with-quota-update.d.ts
7
+ interface Props {
8
+ operations: AccountCalculatorOperation[];
9
+ state: SimulateStateReturn;
10
+ creditAccount: CreditAccountSlice;
11
+ sdk: OnchainSDK;
12
+ options: OperationBuilderOption;
13
+ }
14
+ declare function getOperationsWithQuotaUpdate({ operations: coreOps, state, creditAccount, sdk, options }: Props): AccountCalculatorOperation[];
15
+ //#endregion
16
+ export { getOperationsWithQuotaUpdate };
@@ -1080,6 +1080,26 @@ interface ICreditAccountsService extends Construct {
1080
1080
  * @returns Array of facade / adapter multicall calls (without price feed updates)
1081
1081
  */
1082
1082
  assembleCaOperations(props: AssembleCaOperationsProps): Array<MultiCall>;
1083
+ /**
1084
+ * Encodes a facade `increaseDebt` multicall entry.
1085
+ */
1086
+ prepareIncreaseDebt(creditFacade: Address, debt: bigint): MultiCall;
1087
+ /**
1088
+ * Encodes a facade `increaseDebt` or `decreaseDebt` multicall entry.
1089
+ */
1090
+ prepareChangeDebt(creditFacade: Address, change: bigint, isDecrease: boolean): MultiCall;
1091
+ /**
1092
+ * Encodes facade `addCollateral` / `addCollateralWithPermit` multicall entries.
1093
+ */
1094
+ prepareAddCollateral(creditFacade: Address, assets: Array<Asset>, permits: Record<string, PermitResult>): Array<MultiCall>;
1095
+ /**
1096
+ * Encodes a facade `withdrawCollateral` multicall entry.
1097
+ */
1098
+ prepareWithdrawToken(creditFacade: Address, token: Address, amount: bigint, to: Address): MultiCall;
1099
+ /**
1100
+ * Encodes facade `updateQuota` multicall entries from average/min quota assets.
1101
+ */
1102
+ prepareUpdateQuotas(creditFacade: Address, props: PrepareUpdateQuotasProps): Array<MultiCall>;
1083
1103
  /**
1084
1104
  * Executes a credit account update: prepends price feed updates and builds the raw
1085
1105
  * multicall transaction. Uses the RWA factory when applicable.