@gearbox-protocol/sdk 15.1.0-next.1 → 15.1.0-next.11

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 (436) hide show
  1. package/dist/cjs/abi/iExpirable.js +15 -0
  2. package/dist/cjs/common-utils/utils/apy/get-single-quota-borrow-rate.js +2 -0
  3. package/dist/cjs/common-utils/utils/creditAccount/calc-health-factor.js +24 -22
  4. package/dist/cjs/common-utils/utils/creditAccount/calc-quota-borrow-rate.js +2 -0
  5. package/dist/cjs/common-utils/utils/creditAccount/get-time-to-liquidation.js +8 -5
  6. package/dist/cjs/common-utils/utils/creditAccount/liquidation-price.js +21 -11
  7. package/dist/cjs/dev/AccountOpener.js +0 -1
  8. package/dist/cjs/dev/compareOpportunities.js +137 -0
  9. package/dist/cjs/dev/comparePositions.js +183 -0
  10. package/dist/cjs/dev/fieldDiff.js +241 -0
  11. package/dist/cjs/model/charts.js +147 -0
  12. package/dist/cjs/model/charts.schema.js +240 -0
  13. package/dist/cjs/model/index.js +35 -22
  14. package/dist/cjs/model/liquidations.schema.js +1 -1
  15. package/dist/cjs/model/notices.schema.js +25 -0
  16. package/dist/cjs/model/opportunities.schema.js +1 -1
  17. package/dist/cjs/model/positions.schema.js +48 -2
  18. package/dist/cjs/new-sdk/AbstractNamespace.js +34 -4
  19. package/dist/cjs/new-sdk/GearboxSDK.js +72 -3
  20. package/dist/cjs/new-sdk/execute/ExecuteApi.js +95 -0
  21. package/dist/cjs/new-sdk/execute/index.js +3 -0
  22. package/dist/cjs/new-sdk/index.js +7 -0
  23. package/dist/cjs/new-sdk/opportunities/OpportunitiesNamespace.js +29 -6
  24. package/dist/cjs/new-sdk/positions/PositionsNamespace.js +3 -6
  25. package/dist/cjs/new-sdk/simulate/SimulateApi.js +361 -0
  26. package/dist/cjs/new-sdk/simulate/index.js +4 -0
  27. package/dist/cjs/new-sdk/utils/index.js +0 -1
  28. package/dist/cjs/offchain/AbstractOffchainNamespace.js +10 -7
  29. package/dist/cjs/offchain/GearboxAPI.js +7 -0
  30. package/dist/cjs/offchain/index.js +3 -0
  31. package/dist/cjs/offchain/notices/OffchainNotices.js +27 -0
  32. package/dist/cjs/offchain/notices/index.js +3 -0
  33. package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +4 -8
  34. package/dist/cjs/offchain/positions/OffchainPositions.js +12 -12
  35. package/dist/cjs/preview/preview/CreditAccountState.js +14 -1
  36. package/dist/cjs/preview/preview/buildDelayedPreview.js +16 -6
  37. package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +9 -2
  38. package/dist/cjs/preview/preview/previewOpenCreditAccount.js +11 -3
  39. package/dist/cjs/preview/preview/previewOperation.js +1 -1
  40. package/dist/cjs/sdk/MultichainSDK.js +3 -4
  41. package/dist/cjs/sdk/OnchainSDK.js +42 -13
  42. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +2 -8
  43. package/dist/cjs/sdk/accounts/credit-account-compressor/CreditAccountCompressor.js +2 -90
  44. package/dist/cjs/sdk/accounts/index.js +5 -2
  45. package/dist/cjs/sdk/accounts/intents/guards.js +114 -0
  46. package/dist/cjs/sdk/accounts/intents/index.js +216 -358
  47. package/dist/cjs/sdk/accounts/intents/math.js +56 -0
  48. package/dist/cjs/sdk/accounts/intents/open-strategy.js +133 -0
  49. package/dist/cjs/sdk/accounts/intents/operations.js +165 -0
  50. package/dist/cjs/sdk/accounts/intents/plan.js +373 -0
  51. package/dist/cjs/sdk/accounts/intents/realize.js +301 -0
  52. package/dist/cjs/sdk/accounts/intents/testing/delayed.js +50 -0
  53. package/dist/cjs/sdk/accounts/intents/testing/market.js +166 -0
  54. package/dist/cjs/sdk/accounts/intents/testing/sdk-mock.js +194 -35
  55. package/dist/cjs/sdk/accounts/intents/tests/add-collateral.fixtures.js +123 -0
  56. package/dist/cjs/sdk/accounts/intents/tests/adjust-leverage.fixtures.js +254 -0
  57. package/dist/cjs/sdk/accounts/intents/tests/deposit.fixtures.js +324 -0
  58. package/dist/cjs/sdk/accounts/intents/tests/finish-decrease-leverage.fixtures.js +242 -0
  59. package/dist/cjs/sdk/accounts/intents/tests/finish-withdraw.fixtures.js +383 -0
  60. package/dist/cjs/sdk/accounts/intents/tests/open-strategy.fixtures.js +133 -0
  61. package/dist/cjs/sdk/accounts/intents/tests/withdraw-asset.fixtures.js +131 -0
  62. package/dist/cjs/sdk/accounts/intents/tests/withdraw.fixtures.js +426 -0
  63. package/dist/cjs/sdk/accounts/intents/types.js +16 -0
  64. package/dist/cjs/sdk/accounts/intents/utils/adjust-state-to-snapshot.js +18 -0
  65. package/dist/cjs/sdk/accounts/intents/utils/credit-account-slice.js +45 -0
  66. package/dist/cjs/sdk/accounts/intents/utils/index.js +17 -8
  67. package/dist/cjs/sdk/accounts/intents/utils/ledger.js +94 -0
  68. package/dist/cjs/sdk/accounts/intents/utils/pick-token.js +72 -0
  69. package/dist/cjs/sdk/accounts/intents/utils/quotas-for-update.js +27 -0
  70. package/dist/cjs/sdk/accounts/intents/utils/router-path.js +86 -0
  71. package/dist/cjs/sdk/accounts/intents/view.js +38 -0
  72. package/dist/cjs/sdk/accounts/liquidations/LiquidationsService.js +0 -3
  73. package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +29 -18
  74. package/dist/cjs/sdk/base/BaseContract.js +1 -1
  75. package/dist/cjs/sdk/base/TokensMeta.js +78 -27
  76. package/dist/cjs/sdk/index.js +30 -7
  77. package/dist/cjs/sdk/market/MarketRegister.js +16 -7
  78. package/dist/cjs/sdk/market/ZapperRegister.js +56 -25
  79. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +1 -12
  80. package/dist/cjs/sdk/market/credit/CreditSuite.js +28 -9
  81. package/dist/cjs/sdk/market/credit/index.js +3 -0
  82. package/dist/cjs/sdk/market/credit/isStrategyCollateral.js +50 -0
  83. package/dist/cjs/sdk/market/index.js +17 -0
  84. package/dist/cjs/sdk/market/math.js +65 -45
  85. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +10 -3
  86. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +15 -1
  87. package/dist/cjs/sdk/market/rwa/RWARegistry.js +22 -0
  88. package/dist/cjs/sdk/opportunities/index.js +0 -13
  89. package/dist/cjs/sdk/options.js +1 -5
  90. package/dist/cjs/sdk/pools/PoolService.js +133 -4
  91. package/dist/cjs/sdk/pools/index.js +2 -0
  92. package/dist/cjs/sdk/positions/PositionsService.js +218 -1
  93. package/dist/cjs/sdk/positions/calcBorrowRate.js +43 -0
  94. package/dist/cjs/sdk/positions/calcHealthFactor.js +52 -0
  95. package/dist/cjs/sdk/positions/calcLiquidationPrice.js +23 -0
  96. package/dist/cjs/sdk/positions/calcLiquidationPriceForTarget.js +30 -0
  97. package/dist/cjs/sdk/positions/calcTimeToLiquidationMs.js +19 -0
  98. package/dist/cjs/sdk/positions/index.js +12 -1
  99. package/dist/cjs/sdk/positions/types.js +31 -0
  100. package/dist/cjs/sdk/utils/abi-decode.js +2 -2
  101. package/dist/cjs/sdk/utils/viem/executeMulticallBatches.js +32 -0
  102. package/dist/cjs/sdk/utils/viem/index.js +2 -0
  103. package/dist/esm/abi/iExpirable.js +14 -0
  104. package/dist/esm/common-utils/utils/apy/get-single-quota-borrow-rate.js +2 -0
  105. package/dist/esm/common-utils/utils/creditAccount/calc-health-factor.js +24 -22
  106. package/dist/esm/common-utils/utils/creditAccount/calc-quota-borrow-rate.js +2 -0
  107. package/dist/esm/common-utils/utils/creditAccount/get-time-to-liquidation.js +8 -5
  108. package/dist/esm/common-utils/utils/creditAccount/liquidation-price.js +21 -11
  109. package/dist/esm/dev/AccountOpener.js +0 -1
  110. package/dist/esm/dev/compareOpportunities.js +135 -0
  111. package/dist/esm/dev/comparePositions.js +181 -0
  112. package/dist/esm/dev/fieldDiff.js +224 -0
  113. package/dist/esm/model/charts.js +140 -0
  114. package/dist/esm/model/charts.schema.js +226 -0
  115. package/dist/esm/model/index.js +9 -7
  116. package/dist/esm/model/liquidations.schema.js +1 -1
  117. package/dist/esm/model/notices.schema.js +23 -0
  118. package/dist/esm/model/opportunities.schema.js +1 -1
  119. package/dist/esm/model/positions.schema.js +46 -4
  120. package/dist/esm/new-sdk/AbstractNamespace.js +34 -4
  121. package/dist/esm/new-sdk/GearboxSDK.js +72 -4
  122. package/dist/esm/new-sdk/execute/ExecuteApi.js +94 -0
  123. package/dist/esm/new-sdk/execute/index.js +2 -0
  124. package/dist/esm/new-sdk/index.js +6 -2
  125. package/dist/esm/new-sdk/opportunities/OpportunitiesNamespace.js +29 -6
  126. package/dist/esm/new-sdk/positions/PositionsNamespace.js +3 -6
  127. package/dist/esm/new-sdk/simulate/SimulateApi.js +360 -0
  128. package/dist/esm/new-sdk/simulate/index.js +3 -0
  129. package/dist/esm/new-sdk/utils/index.js +0 -1
  130. package/dist/esm/offchain/AbstractOffchainNamespace.js +10 -7
  131. package/dist/esm/offchain/GearboxAPI.js +7 -0
  132. package/dist/esm/offchain/index.js +3 -1
  133. package/dist/esm/offchain/notices/OffchainNotices.js +26 -0
  134. package/dist/esm/offchain/notices/index.js +2 -0
  135. package/dist/esm/offchain/opportunities/OffchainOpportunities.js +4 -8
  136. package/dist/esm/offchain/positions/OffchainPositions.js +12 -12
  137. package/dist/esm/preview/preview/CreditAccountState.js +14 -1
  138. package/dist/esm/preview/preview/buildDelayedPreview.js +16 -6
  139. package/dist/esm/preview/preview/previewAdjustCreditAccount.js +9 -2
  140. package/dist/esm/preview/preview/previewOpenCreditAccount.js +11 -3
  141. package/dist/esm/preview/preview/previewOperation.js +1 -1
  142. package/dist/esm/sdk/MultichainSDK.js +3 -4
  143. package/dist/esm/sdk/OnchainSDK.js +42 -13
  144. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +2 -8
  145. package/dist/esm/sdk/accounts/credit-account-compressor/CreditAccountCompressor.js +2 -90
  146. package/dist/esm/sdk/accounts/index.js +3 -2
  147. package/dist/esm/sdk/accounts/intents/guards.js +108 -0
  148. package/dist/esm/sdk/accounts/intents/index.js +214 -358
  149. package/dist/esm/sdk/accounts/intents/math.js +51 -0
  150. package/dist/esm/sdk/accounts/intents/open-strategy.js +132 -0
  151. package/dist/esm/sdk/accounts/intents/operations.js +153 -0
  152. package/dist/esm/sdk/accounts/intents/plan.js +361 -0
  153. package/dist/esm/sdk/accounts/intents/realize.js +300 -0
  154. package/dist/esm/sdk/accounts/intents/testing/delayed.js +38 -0
  155. package/dist/esm/sdk/accounts/intents/testing/market.js +148 -0
  156. package/dist/esm/sdk/accounts/intents/testing/sdk-mock.js +194 -35
  157. package/dist/esm/sdk/accounts/intents/tests/add-collateral.fixtures.js +110 -0
  158. package/dist/esm/sdk/accounts/intents/tests/adjust-leverage.fixtures.js +234 -0
  159. package/dist/esm/sdk/accounts/intents/tests/deposit.fixtures.js +302 -0
  160. package/dist/esm/sdk/accounts/intents/tests/finish-decrease-leverage.fixtures.js +220 -0
  161. package/dist/esm/sdk/accounts/intents/tests/finish-withdraw.fixtures.js +355 -0
  162. package/dist/esm/sdk/accounts/intents/tests/open-strategy.fixtures.js +119 -0
  163. package/dist/esm/sdk/accounts/intents/tests/withdraw-asset.fixtures.js +117 -0
  164. package/dist/esm/sdk/accounts/intents/tests/withdraw.fixtures.js +402 -0
  165. package/dist/esm/sdk/accounts/intents/types.js +16 -1
  166. package/dist/esm/sdk/accounts/intents/utils/adjust-state-to-snapshot.js +17 -0
  167. package/dist/esm/sdk/accounts/intents/utils/credit-account-slice.js +43 -0
  168. package/dist/esm/sdk/accounts/intents/utils/index.js +9 -7
  169. package/dist/esm/sdk/accounts/intents/utils/ledger.js +93 -0
  170. package/dist/esm/sdk/accounts/intents/utils/pick-token.js +68 -0
  171. package/dist/esm/sdk/accounts/intents/utils/quotas-for-update.js +27 -1
  172. package/dist/esm/sdk/accounts/intents/utils/router-path.js +85 -0
  173. package/dist/esm/sdk/accounts/intents/view.js +37 -0
  174. package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +0 -3
  175. package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +29 -18
  176. package/dist/esm/sdk/base/BaseContract.js +1 -1
  177. package/dist/esm/sdk/base/TokensMeta.js +78 -27
  178. package/dist/esm/sdk/index.js +13 -4
  179. package/dist/esm/sdk/market/MarketRegister.js +16 -7
  180. package/dist/esm/sdk/market/ZapperRegister.js +56 -25
  181. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +2 -13
  182. package/dist/esm/sdk/market/credit/CreditSuite.js +29 -10
  183. package/dist/esm/sdk/market/credit/index.js +2 -1
  184. package/dist/esm/sdk/market/credit/isStrategyCollateral.js +48 -0
  185. package/dist/esm/sdk/market/index.js +3 -1
  186. package/dist/esm/sdk/market/math.js +60 -41
  187. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +10 -3
  188. package/dist/esm/sdk/market/pool/PoolV310Contract.js +16 -2
  189. package/dist/esm/sdk/market/rwa/RWARegistry.js +22 -0
  190. package/dist/esm/sdk/opportunities/index.js +1 -2
  191. package/dist/esm/sdk/options.js +1 -5
  192. package/dist/esm/sdk/pools/PoolService.js +133 -6
  193. package/dist/esm/sdk/pools/index.js +2 -2
  194. package/dist/esm/sdk/positions/PositionsService.js +218 -1
  195. package/dist/esm/sdk/positions/calcBorrowRate.js +42 -0
  196. package/dist/esm/sdk/positions/calcHealthFactor.js +51 -0
  197. package/dist/esm/sdk/positions/calcLiquidationPrice.js +22 -0
  198. package/dist/esm/sdk/positions/calcLiquidationPriceForTarget.js +29 -0
  199. package/dist/esm/sdk/positions/calcTimeToLiquidationMs.js +18 -0
  200. package/dist/esm/sdk/positions/index.js +7 -2
  201. package/dist/esm/sdk/positions/types.js +31 -1
  202. package/dist/esm/sdk/utils/abi-decode.js +2 -2
  203. package/dist/esm/sdk/utils/viem/executeMulticallBatches.js +31 -0
  204. package/dist/esm/sdk/utils/viem/index.js +2 -1
  205. package/dist/types/abi/iExpirable.d.ts +14 -0
  206. package/dist/types/common-utils/utils/apy/get-single-quota-borrow-rate.d.ts +2 -0
  207. package/dist/types/common-utils/utils/creditAccount/calc-health-factor.d.ts +3 -0
  208. package/dist/types/common-utils/utils/creditAccount/calc-quota-borrow-rate.d.ts +2 -0
  209. package/dist/types/common-utils/utils/creditAccount/get-time-to-liquidation.d.ts +6 -1
  210. package/dist/types/common-utils/utils/creditAccount/liquidation-price.d.ts +3 -0
  211. package/dist/types/dev/compareOpportunities.d.ts +105 -0
  212. package/dist/types/dev/comparePositions.d.ts +149 -0
  213. package/dist/types/dev/fieldDiff.d.ts +167 -0
  214. package/dist/types/model/charts.d.ts +349 -0
  215. package/dist/types/model/charts.schema.d.ts +364 -0
  216. package/dist/types/model/index.d.ts +8 -6
  217. package/dist/types/model/notices.d.ts +29 -0
  218. package/dist/types/model/notices.schema.d.ts +23 -0
  219. package/dist/types/model/opportunities.d.ts +9 -9
  220. package/dist/types/model/positions.d.ts +133 -7
  221. package/dist/types/model/positions.schema.d.ts +128 -1
  222. package/dist/types/new-sdk/AbstractNamespace.d.ts +15 -2
  223. package/dist/types/new-sdk/GearboxSDK.d.ts +14 -2
  224. package/dist/types/new-sdk/execute/ExecuteApi.d.ts +108 -0
  225. package/dist/types/new-sdk/execute/index.d.ts +2 -0
  226. package/dist/types/new-sdk/index.d.ts +8 -4
  227. package/dist/types/new-sdk/opportunities/OpportunitiesNamespace.d.ts +19 -7
  228. package/dist/types/new-sdk/opportunities/types.d.ts +30 -9
  229. package/dist/types/new-sdk/positions/PositionsNamespace.d.ts +4 -5
  230. package/dist/types/new-sdk/positions/types.d.ts +9 -9
  231. package/dist/types/new-sdk/simulate/SimulateApi.d.ts +90 -0
  232. package/dist/types/new-sdk/simulate/index.d.ts +3 -0
  233. package/dist/types/new-sdk/simulate/types.d.ts +508 -0
  234. package/dist/types/new-sdk/types.d.ts +35 -1
  235. package/dist/types/new-sdk/utils/index.d.ts +1 -2
  236. package/dist/types/offchain/AbstractOffchainNamespace.d.ts +5 -21
  237. package/dist/types/offchain/GearboxAPI.d.ts +6 -0
  238. package/dist/types/offchain/index.d.ts +4 -2
  239. package/dist/types/offchain/notices/OffchainNotices.d.ts +19 -0
  240. package/dist/types/offchain/notices/index.d.ts +2 -0
  241. package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +8 -4
  242. package/dist/types/offchain/positions/OffchainPositions.d.ts +8 -6
  243. package/dist/types/preview/preview/CreditAccountState.d.ts +6 -0
  244. package/dist/types/preview/preview/buildDelayedPreview.d.ts +5 -1
  245. package/dist/types/preview/preview/types.d.ts +4 -2
  246. package/dist/types/sdk/MultichainSDK.d.ts +0 -5
  247. package/dist/types/sdk/OnchainSDK.d.ts +1 -5
  248. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -7
  249. package/dist/types/sdk/accounts/credit-account-compressor/CreditAccountCompressor.d.ts +3 -12
  250. package/dist/types/sdk/accounts/credit-account-compressor/index.d.ts +2 -2
  251. package/dist/types/sdk/accounts/credit-account-compressor/types.d.ts +1 -19
  252. package/dist/types/sdk/accounts/index.d.ts +7 -5
  253. package/dist/types/sdk/accounts/intents/guards.d.ts +72 -0
  254. package/dist/types/sdk/accounts/intents/index.d.ts +130 -15
  255. package/dist/types/sdk/accounts/intents/math.d.ts +46 -0
  256. package/dist/types/sdk/accounts/intents/open-strategy.d.ts +64 -0
  257. package/dist/types/sdk/accounts/intents/operations.d.ts +215 -0
  258. package/dist/types/sdk/accounts/intents/plan.d.ts +189 -0
  259. package/dist/types/sdk/accounts/intents/realize.d.ts +35 -0
  260. package/dist/types/sdk/accounts/intents/testing/delayed.d.ts +50 -0
  261. package/dist/types/sdk/accounts/intents/testing/expect.d.ts +17 -21
  262. package/dist/types/sdk/accounts/intents/testing/market.d.ts +91 -0
  263. package/dist/types/sdk/accounts/intents/testing/sdk-mock.d.ts +64 -16
  264. package/dist/types/sdk/accounts/intents/tests/add-collateral.fixtures.d.ts +45 -0
  265. package/dist/types/sdk/accounts/intents/tests/adjust-leverage.fixtures.d.ts +56 -0
  266. package/dist/types/sdk/accounts/intents/tests/deposit.fixtures.d.ts +64 -0
  267. package/dist/types/sdk/accounts/intents/tests/finish-decrease-leverage.fixtures.d.ts +107 -0
  268. package/dist/types/sdk/accounts/intents/tests/finish-withdraw.fixtures.d.ts +136 -0
  269. package/dist/types/sdk/accounts/intents/tests/open-strategy.fixtures.d.ts +56 -0
  270. package/dist/types/sdk/accounts/intents/tests/withdraw-asset.fixtures.d.ts +60 -0
  271. package/dist/types/sdk/accounts/intents/tests/withdraw.fixtures.d.ts +79 -0
  272. package/dist/types/sdk/accounts/intents/types.d.ts +369 -43
  273. package/dist/types/sdk/accounts/intents/utils/adjust-state-to-snapshot.d.ts +13 -0
  274. package/dist/types/sdk/accounts/intents/utils/assemble-operation-calls.d.ts +1 -1
  275. package/dist/types/sdk/accounts/intents/utils/credit-account-slice.d.ts +29 -0
  276. package/dist/types/sdk/accounts/intents/utils/index.d.ts +7 -5
  277. package/dist/types/sdk/accounts/intents/utils/ledger.d.ts +41 -0
  278. package/dist/types/sdk/accounts/intents/utils/pick-token.d.ts +55 -0
  279. package/dist/types/sdk/accounts/intents/utils/quotas-for-update.d.ts +15 -4
  280. package/dist/types/sdk/accounts/intents/utils/router-path.d.ts +70 -0
  281. package/dist/types/sdk/accounts/intents/view.d.ts +15 -0
  282. package/dist/types/sdk/accounts/types.d.ts +17 -14
  283. package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +6 -0
  284. package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +18 -0
  285. package/dist/types/sdk/base/TokensMeta.d.ts +44 -1
  286. package/dist/types/sdk/base/index.d.ts +2 -2
  287. package/dist/types/sdk/base/token-types.d.ts +12 -1
  288. package/dist/types/sdk/index.d.ts +28 -19
  289. package/dist/types/sdk/market/MarketRegister.d.ts +7 -3
  290. package/dist/types/sdk/market/ZapperRegister.d.ts +20 -2
  291. package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +0 -4
  292. package/dist/types/sdk/market/credit/CreditSuite.d.ts +6 -3
  293. package/dist/types/sdk/market/credit/index.d.ts +2 -1
  294. package/dist/types/sdk/market/credit/isStrategyCollateral.d.ts +74 -0
  295. package/dist/types/sdk/market/credit/types.d.ts +2 -9
  296. package/dist/types/sdk/market/index.d.ts +4 -2
  297. package/dist/types/sdk/market/math.d.ts +46 -34
  298. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +6 -2
  299. package/dist/types/sdk/market/oracle/types.d.ts +10 -2
  300. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +5 -0
  301. package/dist/types/sdk/market/pool/types.d.ts +5 -0
  302. package/dist/types/sdk/market/rwa/RWARegistry.d.ts +13 -0
  303. package/dist/types/sdk/market/types.d.ts +5 -1
  304. package/dist/types/sdk/opportunities/index.d.ts +1 -2
  305. package/dist/types/sdk/options.d.ts +0 -1
  306. package/dist/types/sdk/pools/PoolService.d.ts +32 -2
  307. package/dist/types/sdk/pools/index.d.ts +3 -3
  308. package/dist/types/sdk/pools/types.d.ts +109 -4
  309. package/dist/types/sdk/positions/PositionsService.d.ts +33 -2
  310. package/dist/types/sdk/positions/calcBorrowRate.d.ts +40 -0
  311. package/dist/types/sdk/positions/calcHealthFactor.d.ts +55 -0
  312. package/dist/types/sdk/positions/calcLiquidationPrice.d.ts +12 -0
  313. package/dist/types/sdk/positions/calcLiquidationPriceForTarget.d.ts +43 -0
  314. package/dist/types/sdk/positions/calcTimeToLiquidationMs.d.ts +16 -0
  315. package/dist/types/sdk/positions/index.d.ts +7 -2
  316. package/dist/types/sdk/positions/types.d.ts +58 -1
  317. package/dist/types/sdk/types/state.d.ts +6 -0
  318. package/dist/types/sdk/utils/viem/executeMulticallBatches.d.ts +39 -0
  319. package/dist/types/sdk/utils/viem/index.d.ts +3 -2
  320. package/package.json +2 -1
  321. package/dist/cjs/model/history.js +0 -53
  322. package/dist/cjs/model/history.schema.js +0 -128
  323. package/dist/cjs/sdk/accounts/intents/intents/index.js +0 -14
  324. package/dist/cjs/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.js +0 -121
  325. package/dist/cjs/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.js +0 -15
  326. package/dist/cjs/sdk/accounts/intents/intents/resume/close/close.fixtures.js +0 -108
  327. package/dist/cjs/sdk/accounts/intents/intents/resume/close/close.js +0 -51
  328. package/dist/cjs/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.js +0 -130
  329. package/dist/cjs/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.js +0 -83
  330. package/dist/cjs/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.js +0 -117
  331. package/dist/cjs/sdk/accounts/intents/intents/resume/deposit/deposit.js +0 -15
  332. package/dist/cjs/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.js +0 -95
  333. package/dist/cjs/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.js +0 -15
  334. package/dist/cjs/sdk/accounts/intents/intents/resume/index.js +0 -13
  335. package/dist/cjs/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.js +0 -138
  336. package/dist/cjs/sdk/accounts/intents/intents/resume/withdraw/withdraw.js +0 -161
  337. package/dist/cjs/sdk/accounts/intents/operations/add-collateral/index.js +0 -17
  338. package/dist/cjs/sdk/accounts/intents/operations/claim-delayed/index.js +0 -54
  339. package/dist/cjs/sdk/accounts/intents/operations/close-credit-account/index.js +0 -26
  340. package/dist/cjs/sdk/accounts/intents/operations/decrease-debt/index.js +0 -12
  341. package/dist/cjs/sdk/accounts/intents/operations/increase-debt/index.js +0 -12
  342. package/dist/cjs/sdk/accounts/intents/operations/index.js +0 -27
  343. package/dist/cjs/sdk/accounts/intents/operations/quota-update/index.js +0 -22
  344. package/dist/cjs/sdk/accounts/intents/operations/repay-credit-account/index.js +0 -22
  345. package/dist/cjs/sdk/accounts/intents/operations/start-delayed-withdrawal/index.js +0 -18
  346. package/dist/cjs/sdk/accounts/intents/operations/swap/index.js +0 -18
  347. package/dist/cjs/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.js +0 -27
  348. package/dist/cjs/sdk/accounts/intents/operations/withdraw-collateral/index.js +0 -43
  349. package/dist/cjs/sdk/accounts/intents/operations/wrap-rwa-collateral/index.js +0 -27
  350. package/dist/cjs/sdk/accounts/intents/quoters/close.js +0 -58
  351. package/dist/cjs/sdk/accounts/intents/quoters/index.js +0 -7
  352. package/dist/cjs/sdk/accounts/intents/quoters/swap.js +0 -79
  353. package/dist/cjs/sdk/accounts/intents/testing/expect.js +0 -167
  354. package/dist/cjs/sdk/accounts/intents/testing/resume.js +0 -172
  355. package/dist/cjs/sdk/accounts/intents/utils/simulate-adjust-state.js +0 -39
  356. package/dist/cjs/sdk/accounts/intents/utils/simulate-assets.js +0 -69
  357. package/dist/cjs/sdk/accounts/intents/utils/with-quota-update.js +0 -13
  358. package/dist/esm/model/history.js +0 -49
  359. package/dist/esm/model/history.schema.js +0 -116
  360. package/dist/esm/sdk/accounts/intents/intents/index.js +0 -8
  361. package/dist/esm/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.js +0 -107
  362. package/dist/esm/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.js +0 -14
  363. package/dist/esm/sdk/accounts/intents/intents/resume/close/close.fixtures.js +0 -94
  364. package/dist/esm/sdk/accounts/intents/intents/resume/close/close.js +0 -50
  365. package/dist/esm/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.js +0 -114
  366. package/dist/esm/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.js +0 -82
  367. package/dist/esm/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.js +0 -110
  368. package/dist/esm/sdk/accounts/intents/intents/resume/deposit/deposit.js +0 -14
  369. package/dist/esm/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.js +0 -88
  370. package/dist/esm/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.js +0 -14
  371. package/dist/esm/sdk/accounts/intents/intents/resume/index.js +0 -7
  372. package/dist/esm/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.js +0 -121
  373. package/dist/esm/sdk/accounts/intents/intents/resume/withdraw/withdraw.js +0 -160
  374. package/dist/esm/sdk/accounts/intents/operations/add-collateral/index.js +0 -16
  375. package/dist/esm/sdk/accounts/intents/operations/claim-delayed/index.js +0 -52
  376. package/dist/esm/sdk/accounts/intents/operations/close-credit-account/index.js +0 -25
  377. package/dist/esm/sdk/accounts/intents/operations/decrease-debt/index.js +0 -11
  378. package/dist/esm/sdk/accounts/intents/operations/increase-debt/index.js +0 -11
  379. package/dist/esm/sdk/accounts/intents/operations/index.js +0 -14
  380. package/dist/esm/sdk/accounts/intents/operations/quota-update/index.js +0 -21
  381. package/dist/esm/sdk/accounts/intents/operations/repay-credit-account/index.js +0 -21
  382. package/dist/esm/sdk/accounts/intents/operations/start-delayed-withdrawal/index.js +0 -17
  383. package/dist/esm/sdk/accounts/intents/operations/swap/index.js +0 -17
  384. package/dist/esm/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.js +0 -26
  385. package/dist/esm/sdk/accounts/intents/operations/withdraw-collateral/index.js +0 -42
  386. package/dist/esm/sdk/accounts/intents/operations/wrap-rwa-collateral/index.js +0 -26
  387. package/dist/esm/sdk/accounts/intents/quoters/close.js +0 -56
  388. package/dist/esm/sdk/accounts/intents/quoters/index.js +0 -3
  389. package/dist/esm/sdk/accounts/intents/quoters/swap.js +0 -77
  390. package/dist/esm/sdk/accounts/intents/testing/expect.js +0 -162
  391. package/dist/esm/sdk/accounts/intents/testing/resume.js +0 -157
  392. package/dist/esm/sdk/accounts/intents/utils/simulate-adjust-state.js +0 -38
  393. package/dist/esm/sdk/accounts/intents/utils/simulate-assets.js +0 -68
  394. package/dist/esm/sdk/accounts/intents/utils/with-quota-update.js +0 -12
  395. package/dist/types/model/history.d.ts +0 -153
  396. package/dist/types/model/history.schema.d.ts +0 -95
  397. package/dist/types/new-sdk/utils/history.d.ts +0 -18
  398. package/dist/types/sdk/accounts/intents/intents/index.d.ts +0 -8
  399. package/dist/types/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.d.ts +0 -13
  400. package/dist/types/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.d.ts +0 -38
  401. package/dist/types/sdk/accounts/intents/intents/resume/close/close.d.ts +0 -26
  402. package/dist/types/sdk/accounts/intents/intents/resume/close/close.fixtures.d.ts +0 -63
  403. package/dist/types/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.d.ts +0 -26
  404. package/dist/types/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.d.ts +0 -86
  405. package/dist/types/sdk/accounts/intents/intents/resume/deposit/deposit.d.ts +0 -13
  406. package/dist/types/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.d.ts +0 -48
  407. package/dist/types/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.d.ts +0 -13
  408. package/dist/types/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.d.ts +0 -46
  409. package/dist/types/sdk/accounts/intents/intents/resume/index.d.ts +0 -7
  410. package/dist/types/sdk/accounts/intents/intents/resume/withdraw/withdraw.d.ts +0 -33
  411. package/dist/types/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.d.ts +0 -68
  412. package/dist/types/sdk/accounts/intents/operations/add-collateral/index.d.ts +0 -23
  413. package/dist/types/sdk/accounts/intents/operations/claim-delayed/index.d.ts +0 -55
  414. package/dist/types/sdk/accounts/intents/operations/close-credit-account/index.d.ts +0 -22
  415. package/dist/types/sdk/accounts/intents/operations/decrease-debt/index.d.ts +0 -18
  416. package/dist/types/sdk/accounts/intents/operations/increase-debt/index.d.ts +0 -18
  417. package/dist/types/sdk/accounts/intents/operations/index.d.ts +0 -14
  418. package/dist/types/sdk/accounts/intents/operations/quota-update/index.d.ts +0 -24
  419. package/dist/types/sdk/accounts/intents/operations/repay-credit-account/index.d.ts +0 -31
  420. package/dist/types/sdk/accounts/intents/operations/start-delayed-withdrawal/index.d.ts +0 -23
  421. package/dist/types/sdk/accounts/intents/operations/swap/index.d.ts +0 -28
  422. package/dist/types/sdk/accounts/intents/operations/types.d.ts +0 -21
  423. package/dist/types/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.d.ts +0 -30
  424. package/dist/types/sdk/accounts/intents/operations/withdraw-collateral/index.d.ts +0 -36
  425. package/dist/types/sdk/accounts/intents/operations/wrap-rwa-collateral/index.d.ts +0 -30
  426. package/dist/types/sdk/accounts/intents/quoters/close.d.ts +0 -43
  427. package/dist/types/sdk/accounts/intents/quoters/index.d.ts +0 -3
  428. package/dist/types/sdk/accounts/intents/quoters/swap.d.ts +0 -43
  429. package/dist/types/sdk/accounts/intents/testing/resume.d.ts +0 -84
  430. package/dist/types/sdk/accounts/intents/utils/simulate-adjust-state.d.ts +0 -19
  431. package/dist/types/sdk/accounts/intents/utils/simulate-assets.d.ts +0 -21
  432. package/dist/types/sdk/accounts/intents/utils/with-quota-update.d.ts +0 -16
  433. /package/dist/cjs/{new-sdk/utils/history.js → model/notices.js} +0 -0
  434. /package/dist/cjs/{sdk/accounts/intents/operations → new-sdk/simulate}/types.js +0 -0
  435. /package/dist/esm/{new-sdk/utils/history.js → model/notices.js} +0 -0
  436. /package/dist/esm/{sdk/accounts/intents/operations → new-sdk/simulate}/types.js +0 -0
@@ -0,0 +1,35 @@
1
+ import { MultiCall } from "../../types/transactions.js";
2
+ import { OnchainSDK } from "../../OnchainSDK.js";
3
+ import { CreditAccountSlice, DelayedStart, OperationState } from "./types.js";
4
+ import { AccountCalculatorOperation } from "./operations.js";
5
+ import "../../index.js";
6
+ import { Step } from "./plan.js";
7
+ //#region src/sdk/accounts/intents/realize.d.ts
8
+ interface RealizeProps {
9
+ creditAccount: CreditAccountSlice;
10
+ sdk: OnchainSDK;
11
+ /** Router slippage in PERCENTAGE_FORMAT (100% = 10_000). */
12
+ slippage: number;
13
+ /** Extra quota headroom in PERCENTAGE_FORMAT. */
14
+ quotaReserve: number | undefined;
15
+ }
16
+ interface Realized {
17
+ operations: AccountCalculatorOperation[];
18
+ state: OperationState;
19
+ calls: MultiCall[];
20
+ /** Set when the plan started a redemption, i.e. it needs a tail. */
21
+ delayed: DelayedStart | undefined;
22
+ }
23
+ /**
24
+ * Turns a plan into operations: the one place that talks to the router, knows
25
+ * how an RWA leg differs from a swap, and keeps the running balances.
26
+ *
27
+ * Steps are applied to a ledger as they are built, so every leg sees the
28
+ * balances the previous ones left behind: a swap only spends what the plan
29
+ * says and keeps the rest of its input token in place, a repayment never
30
+ * exceeds the underlying actually raised. Once the walk is done the projected
31
+ * balances yield the quota update and the reported state.
32
+ */
33
+ declare function realize(steps: Step[], props: RealizeProps): Promise<Realized>;
34
+ //#endregion
35
+ export { RealizeProps, Realized, realize };
@@ -0,0 +1,50 @@
1
+ import { ClaimableWithdrawal } from "../../withdrawal-compressor/types.js";
2
+ import { OnchainSDK } from "../../../OnchainSDK.js";
3
+ import { CreditAccountSlice, ResumableIntent } from "../types.js";
4
+ import "../../../index.js";
5
+ import { ExpectedFlowOp } from "./expect.js";
6
+ import { ANY, MarketSdkExtras, RWA_ASSET, UND } from "./market.js";
7
+ import { Address } from "viem";
8
+ //#region src/sdk/accounts/intents/testing/delayed.d.ts
9
+ declare const FIXTURE_PHANTOM: Address;
10
+ interface TailCase {
11
+ claimedToken: Address;
12
+ claimedAmount: bigint;
13
+ postClaimTotalValue: bigint;
14
+ postClaimDebt: bigint;
15
+ /** The operations the tail is expected to produce. */
16
+ tailOps: ExpectedFlowOp[];
17
+ expectedQuotaBalance?: bigint;
18
+ /**
19
+ * Pre-existing balances besides the withdrawal phantom. Defaults to
20
+ * `postClaimTotalValue − claimed value` in UND. Cases claiming UND override
21
+ * it with another token so the claimed balance stays distinguishable.
22
+ */
23
+ baseAssets?: CreditAccountSlice["tokens"];
24
+ }
25
+ /** Claimed proceeds converted to UND (mirrors the mock price oracle). */
26
+ declare function claimedValueInUnd(amount: bigint, token: Address): bigint;
27
+ /**
28
+ * Mock sdk for a tail case. The phantom token inherits the claimed token's
29
+ * decimals, so any 1:1 rescale through it stays the identity.
30
+ */
31
+ declare function buildTailSdk(c: Pick<TailCase, "claimedToken">, extras?: MarketSdkExtras & {
32
+ phantom?: Address;
33
+ }): OnchainSDK;
34
+ /** The matured withdrawal a tail case claims. */
35
+ declare function buildClaimable(c: Pick<TailCase, "claimedToken" | "claimedAmount">): ClaimableWithdrawal;
36
+ /** Props for `finishIntent`: the account after the delay, plus the claimable. */
37
+ declare function buildFinishProps<T extends ResumableIntent>(args: {
38
+ intent: T;
39
+ case: TailCase;
40
+ sdk: OnchainSDK;
41
+ }): {
42
+ intent: T;
43
+ creditAccount: CreditAccountSlice;
44
+ sdk: OnchainSDK<{}>;
45
+ quotaReserve: undefined;
46
+ claimable: ClaimableWithdrawal;
47
+ slippage: undefined;
48
+ };
49
+ //#endregion
50
+ export { ANY, RWA_ASSET, TailCase, UND };
@@ -1,30 +1,22 @@
1
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";
2
+ import { DelayedStartResult, IntentPreviewResult, OperationState } from "../types.js";
3
+ import { AccountCalculatorOperation } from "../operations.js";
8
4
  import "../../../index.js";
9
5
  import { Address } from "viem";
10
6
  //#region src/sdk/accounts/intents/testing/expect.d.ts
11
7
  /**
12
8
  * 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}.
9
+ * Shared offchain fixtures may omit `calls` (treated as `[]`); onchain
10
+ * expectations should set sentinel calls via {@link withOnchainOpCalls}.
17
11
  */
18
12
  type CallsOptional<T> = T extends {
19
13
  calls: MultiCall[];
20
14
  } ? Omit<T, "calls"> & {
21
15
  calls?: MultiCall[];
22
16
  } : T;
23
- type ExpectedFlowOp = CallsOptional<ClaimDelayedWithdrawalOperation | QuotaUpdateOperation | CloseCreditAccountOperation | Extract<AccountCalculatorOperation, {
24
- type: "swap" | "decreaseDebt" | "withdrawCollateral" | "unwrapRwaCollateral" | "wrapRwaCollateral";
25
- }>>;
17
+ type ExpectedFlowOp = CallsOptional<AccountCalculatorOperation>;
26
18
  /**
27
- * Fills sentinel `calls` for onchain resume expectations. Shared fixtures keep
19
+ * Fills sentinel `calls` for onchain expectations. Shared fixtures keep
28
20
  * `calls: []` for offchain; onchain tests map through this helper.
29
21
  */
30
22
  declare function withOnchainOpCalls(ops: ExpectedFlowOp[]): ExpectedFlowOp[];
@@ -33,20 +25,24 @@ declare function expectOpsArrayExact(ops: AccountCalculatorOperation[], expected
33
25
  /** Asserts exact calls on a raw MultiCall array (target + callData). */
34
26
  declare function expectCallsArrayExact(calls: MultiCall[], expected: MultiCall[], label?: string): void;
35
27
  /**
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.
28
+ * Asserts a successful preview: ok, exact calls (empty unless `expectedCalls`
29
+ * is provided), post-operation metrics, and exact operations (incl. the
30
+ * trailing changeQuota).
31
+ * Returns the projected state for further asset/quota assertions.
40
32
  */
41
- declare function expectAdjustResumePreview(result: IntentPreviewResult, args: {
33
+ declare function expectAdjustPreview(result: IntentPreviewResult | DelayedStartResult, args: {
42
34
  totalValue: bigint;
43
35
  accountDebt: bigint;
44
36
  expectedOps: ExpectedFlowOp[];
45
37
  expectedCalls?: MultiCall[];
46
- }): AdjustState;
38
+ }): OperationState;
39
+ /** Asserts the preview failed for a specific reason. */
40
+ declare function expectPreviewError(result: IntentPreviewResult | DelayedStartResult, reason: Extract<IntentPreviewResult, {
41
+ ok: false;
42
+ }>["reason"]): void;
47
43
  declare function assetBalance(assets: Array<{
48
44
  token: Address;
49
45
  balance: bigint;
50
46
  }>, token: Address): bigint;
51
47
  //#endregion
52
- export { ExpectedFlowOp, assetBalance, expectAdjustResumePreview, expectCallsArrayExact, expectOpsArrayExact, withOnchainOpCalls };
48
+ export { ExpectedFlowOp };
@@ -0,0 +1,91 @@
1
+ import { OnchainSDK } from "../../../OnchainSDK.js";
2
+ import { CreditAccountSlice } from "../types.js";
3
+ import "../../../index.js";
4
+ import { MockDelayedVenue, MockQuotaEntry } from "./sdk-mock.js";
5
+ import { Address } from "viem";
6
+ //#region src/sdk/accounts/intents/testing/market.d.ts
7
+ /**
8
+ * Shared market fixture — token set, prices, decimals, quotas and CM/facade
9
+ * addresses — used by every intent spec.
10
+ *
11
+ * `UND` deliberately has 8 decimals while `ANY`/`ANY2` have 18, so that any
12
+ * decimals-rescaling bug shows up as a wrong amount rather than passing by
13
+ * coincidence. `UND` is priced at 2 and the others at 1 for the same reason.
14
+ */
15
+ declare const UND_DECIMALS = 8;
16
+ declare const TOK_DECIMALS = 18;
17
+ declare const UND: Address;
18
+ declare const ANY: Address;
19
+ declare const ANY2: Address;
20
+ declare const RWA_ASSET: Address;
21
+ /**
22
+ * Position token that converts 1:1 with `UND` (same decimals, same price).
23
+ *
24
+ * The mock router echoes the input amount as the output amount, so a 1:1 pair is
25
+ * the only way a swap leg's expected amounts stay decimals-correct. Use `POS`
26
+ * for flows whose amounts cross a swap, and `ANY` where they do not.
27
+ */
28
+ declare const POS: Address;
29
+ /** Second 1:1 token, for flows routing between two non-underlying tokens. */
30
+ declare const POS2: Address;
31
+ declare const CREDIT_MANAGER: Address;
32
+ declare const CREDIT_FACADE: Address;
33
+ declare const CREDIT_ACCOUNT: Address;
34
+ declare const WALLET: Address;
35
+ declare const PRICES: Record<Address, bigint>;
36
+ declare const DECIMALS: Record<Address, number>;
37
+ declare const QUOTAS: Record<Address, MockQuotaEntry>;
38
+ declare const LIQUIDATION_THRESHOLDS: Record<Address, number>;
39
+ declare const MAX_DEBT: bigint;
40
+ interface MarketSdkExtras {
41
+ /** RWA markets: underlying → rwa.asset (`tokensMeta.rwaUnderlyings`). */
42
+ rwaAssets?: Record<Address, Address>;
43
+ /** Additional / overriding token prices (PRICE_DECIMALS_POW-scaled). */
44
+ extraPrices?: Record<Address, bigint>;
45
+ /** Reserve feed prices; the fixture market has none by default. */
46
+ reservePrices?: Record<Address, bigint>;
47
+ /** Additional / overriding token decimals. */
48
+ extraDecimals?: Record<Address, number>;
49
+ /** Tokens the registry should report as phantoms. */
50
+ phantoms?: Address[];
51
+ /** Facade `minDebt`; 0n when omitted. */
52
+ minDebt?: bigint;
53
+ /** Accounts `accounts.getCreditAccountData` answers for. */
54
+ creditAccounts?: CreditAccountSlice[];
55
+ /** Redemption venues per source token; omit for a market without any. */
56
+ delayed?: Record<Address, MockDelayedVenue[]>;
57
+ /** Quota params replacing the fixture's, e.g. a token with no room left. */
58
+ quotas?: Record<Address, MockQuotaEntry>;
59
+ /** Facade pause flag. */
60
+ facadePaused?: boolean;
61
+ /** Pool pause flag, which pauses the suite with it. */
62
+ poolPaused?: boolean;
63
+ /** Facade expiry in unix seconds; `0` means never. */
64
+ expirationDate?: number;
65
+ /** "Now" the expiry is judged against. */
66
+ timestamp?: number;
67
+ /** Free liquidity in the pool. */
68
+ availableLiquidity?: bigint;
69
+ /** What is left of this manager's debt limit. */
70
+ debtLimitAvailable?: bigint;
71
+ /** Per-block borrow cap as a multiple of `maxDebt`; `0` switches it off. */
72
+ maxDebtPerBlockMultiplier?: number;
73
+ /** Tokens the facade forbids. */
74
+ forbiddenTokens?: Address[];
75
+ }
76
+ /** Mock SDK on the shared fixture market. */
77
+ declare function buildMarketSdk(extras?: MarketSdkExtras): OnchainSDK;
78
+ /** Converts an amount to UND at fixture prices (mirrors the mock oracle). */
79
+ declare function valueInUnd(amount: bigint, token: Address, overrides?: {
80
+ prices?: Record<Address, bigint>;
81
+ decimals?: Record<Address, number>;
82
+ }): bigint;
83
+ /** Token entry for a fixture CA, with quota defaulting to zero. */
84
+ declare function caToken(token: Address, balance: bigint, quota?: bigint): CreditAccountSlice["tokens"][number];
85
+ /** Bare CA slice on the fixture market. */
86
+ declare function buildFixtureCreditAccount(args: {
87
+ accountDebt: bigint;
88
+ tokens: CreditAccountSlice["tokens"];
89
+ }): CreditAccountSlice;
90
+ //#endregion
91
+ export { ANY, MarketSdkExtras, RWA_ASSET, UND, caToken };
@@ -1,5 +1,6 @@
1
1
  import { MultiCall } from "../../../types/transactions.js";
2
2
  import { OnchainSDK } from "../../../OnchainSDK.js";
3
+ import { CreditAccountSlice } from "../types.js";
3
4
  import "../../../index.js";
4
5
  import { Address } from "viem";
5
6
  //#region src/sdk/accounts/intents/testing/sdk-mock.d.ts
@@ -9,19 +10,21 @@ import { Address } from "viem";
9
10
  * The service resolves all market data through `OnchainSDK`
10
11
  * (`marketRegister`, `tokensMeta`, `accounts`). `buildMockSdk` builds a mock
11
12
  * 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
+ * from their inputs, so `result.calls` pins down which ops reached the
13
14
  * assembler and in which order.
14
15
  */
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. */
16
+ /** Recognizable router call embedded in routed leg results. */
18
17
  declare const MOCK_ROUTER_CALL: MultiCall;
18
+ /** Router call of the many-to-one leg an exit routes. */
19
+ declare const MOCK_CLOSE_CALL: MultiCall;
19
20
  /** Returned by the `getRWAWrapCalls` mock; passes through per wrap op. */
20
21
  declare const MOCK_RWA_WRAP_CALL: MultiCall;
21
22
  /** Router-produced call for an RWA underlying → asset unwrap leg. */
22
23
  declare const MOCK_RWA_UNWRAP_CALL: MultiCall;
23
- /** Returned by the `assembleCloseCreditAccountCalls` mock. */
24
- declare const MOCK_CLOSE_CALL: MultiCall;
24
+ /** Fixture `claimableWithdrawal.claimCalls` content; echoes through claim ops. */
25
+ declare const MOCK_CLAIM_CALL: MultiCall;
26
+ /** Fixture `requestableWithdrawal.requestCalls`; echoes through request ops. */
27
+ declare const MOCK_REQUEST_CALL: MultiCall;
25
28
  /** One sentinel call per plain encodable op type. */
26
29
  declare const CA_OP_CALLS: {
27
30
  readonly addCollateral: {
@@ -56,28 +59,73 @@ interface MockQuotaEntry {
56
59
  interface BuildMockSdkArgs {
57
60
  /** Price per token (PRICE_DECIMALS_POW-scaled), like legacy `prices`. */
58
61
  prices: Record<Address, bigint>;
62
+ /** Reserve feed price per token; a token omitted here has no reserve feed. */
63
+ reservePrices?: Record<Address, bigint>;
59
64
  /** Token decimals; used by `tokensMeta` and the price conversion. */
60
65
  decimals: Record<Address, number>;
61
66
  /** Pool quota params (AddressMap values shape). */
62
67
  quotas: Record<Address, MockQuotaEntry>;
63
68
  liquidationThresholds: Record<Address, number>;
64
69
  maxDebt: bigint;
70
+ /** Facade `minDebt`; defaults to 0n so debt-range checks stay opt-in. */
71
+ minDebt?: bigint;
72
+ /** Pool base rate in ray; feeds `calcBorrowApy` of position metrics. */
73
+ baseInterestRate?: bigint;
74
+ /** Credit manager interest fee in Bps; feeds position metrics. */
75
+ feeInterest?: number;
65
76
  creditManager: Address;
66
77
  creditFacade: Address;
67
78
  /** Market underlying token (`market.pool.underlying`). */
68
79
  underlying: Address;
80
+ /** RWA markets: underlying → rwa.asset (`tokensMeta.rwaUnderlyings`). */
81
+ rwaAssets?: Record<Address, Address>;
82
+ /** Tokens reported as phantoms by `tokensMeta.get(...).contractType`. */
83
+ phantoms?: Address[];
84
+ /** Facade pause flag, which the suite reports as `isPaused`. */
85
+ facadePaused?: boolean;
86
+ /** Pool pause flag, which pauses the suite with it. */
87
+ poolPaused?: boolean;
88
+ /** Facade expiry in unix seconds; `0` (the default) means never. */
89
+ expirationDate?: number;
90
+ /** "Now" the expiry is judged against; `sdk.timestamp` in the real thing. */
91
+ timestamp?: number;
92
+ /** Free liquidity in the pool; defaults to more than any fixture borrows. */
93
+ availableLiquidity?: bigint;
94
+ /** What is left of this manager's debt limit in the pool. */
95
+ debtLimitAvailable?: bigint;
96
+ /** Per-block borrow cap as a multiple of `maxDebt`; `0` switches it off. */
97
+ maxDebtPerBlockMultiplier?: number;
98
+ /** Tokens the facade forbids, which the mock turns into its mask. */
99
+ forbiddenTokens?: Address[];
69
100
  /**
70
- * Close resume: router `findBestClosePath` result. When set, the mock
71
- * provides `routerFor` and `assembleCloseCreditAccountCalls`.
101
+ * Redemption venues the mock compressor reports, keyed by source token. An
102
+ * empty array stands for "this token has no delayed route"; several entries
103
+ * stand for the ambiguous config the engine refuses.
72
104
  */
73
- closePath?: {
105
+ delayed?: Record<Address, MockDelayedVenue[]>;
106
+ /**
107
+ * Accounts `accounts.getCreditAccountData` knows, keyed by address. What the
108
+ * simulate layer reads on its own instead of taking a slice from the caller;
109
+ * `accountDebt` lands as the principal with no interest or fees accrued.
110
+ */
111
+ creditAccounts?: CreditAccountSlice[];
112
+ }
113
+ /** One redemption venue of the mock compressor. */
114
+ interface MockDelayedVenue {
115
+ withdrawalPhantomToken: Address;
116
+ /** Claim target; defaults to the market underlying. */
117
+ underlying?: Address;
118
+ /**
119
+ * What the request produces. Defaults to the whole `amount` as a delayed
120
+ * output on the phantom token, i.e. a venue with no instant liquidity.
121
+ */
122
+ outputs?: (amount: bigint) => Array<{
123
+ token: Address;
74
124
  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>;
125
+ isDelayed: boolean;
126
+ }>;
127
+ /** Unix seconds reported as `claimableAt`. */
128
+ claimableAt?: bigint;
81
129
  }
82
130
  /**
83
131
  * Mock `OnchainSDK` covering exactly what the intent-service touches:
@@ -87,4 +135,4 @@ interface BuildMockSdkArgs {
87
135
  */
88
136
  declare function buildMockSdk(args: BuildMockSdkArgs): OnchainSDK;
89
137
  //#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 };
138
+ export { MockDelayedVenue, MockQuotaEntry };
@@ -0,0 +1,45 @@
1
+ import { OnchainSDK } from "../../../OnchainSDK.js";
2
+ import { AddCollateralIntent, CreditAccountSlice } from "../types.js";
3
+ import "../../../index.js";
4
+ import { ExpectedFlowOp } from "../testing/expect.js";
5
+ import { caToken } from "../testing/market.js";
6
+ import { Address } from "viem";
7
+ //#region src/sdk/accounts/intents/tests/add-collateral.fixtures.d.ts
8
+ declare const LT_ANY = 9200n;
9
+ /** 1000 UND of pre-existing collateral, 500 UND of debt. */
10
+ declare const BASE_UND = 100000000000n;
11
+ declare const DEBT = 50000000000n;
12
+ /** 2000 ANY = 1000 UND at fixture prices. */
13
+ declare const ADD_ANY = 2000000000000000000000n;
14
+ /** 500 UND. */
15
+ declare const ADD_UND = 50000000000n;
16
+ /** 1000 RWA_ASSET = 1000 UND at fixture prices. */
17
+ declare const ADD_RWA = 100000000000n;
18
+ declare const QUOTA_ANY: bigint;
19
+ declare const QUOTA_RWA: bigint;
20
+ interface AddCollateralCase {
21
+ intent: AddCollateralIntent;
22
+ /** Balances already on the account. */
23
+ tokens: ReturnType<typeof caToken>[];
24
+ accountDebt: bigint;
25
+ /** Expected TVL in UND after the operation. */
26
+ totalValue: bigint;
27
+ ops: ExpectedFlowOp[];
28
+ rwaAssets?: Record<Address, Address>;
29
+ }
30
+ /** Position token with a quota: addCollateral then buy quota for it. */
31
+ declare const case_position_token: AddCollateralCase;
32
+ /** Underlying has no quota, so the flow is a bare addCollateral. */
33
+ declare const case_underlying: AddCollateralCase;
34
+ /** RWA market: the rwa asset is deposited as-is, with no wrap leg. */
35
+ declare const case_rwa_asset: AddCollateralCase;
36
+ declare function buildAddCollateralSdk(c: AddCollateralCase): OnchainSDK;
37
+ declare function buildAddCollateralProps(c: AddCollateralCase, sdk: OnchainSDK): {
38
+ intent: AddCollateralIntent;
39
+ creditAccount: CreditAccountSlice;
40
+ sdk: OnchainSDK<{}>;
41
+ quotaReserve: undefined;
42
+ slippage: undefined;
43
+ };
44
+ //#endregion
45
+ export { ADD_ANY, ADD_RWA, ADD_UND, AddCollateralCase, BASE_UND, DEBT, LT_ANY, QUOTA_ANY, QUOTA_RWA, buildAddCollateralProps, buildAddCollateralSdk, case_position_token, case_rwa_asset, case_underlying };
@@ -0,0 +1,56 @@
1
+ import { OnchainSDK } from "../../../OnchainSDK.js";
2
+ import { AdjustLeverageIntent, CreditAccountSlice } from "../types.js";
3
+ import "../../../index.js";
4
+ import { ExpectedFlowOp } from "../testing/expect.js";
5
+ import { caToken } from "../testing/market.js";
6
+ import { Address } from "viem";
7
+ //#region src/sdk/accounts/intents/tests/adjust-leverage.fixtures.d.ts
8
+ /** 500 UND. */
9
+ declare const STEP = 50000000000n;
10
+ /** 1000 UND. */
11
+ declare const TVL_2X = 100000000000n;
12
+ /** 1500 UND. */
13
+ declare const TVL_3X = 150000000000n;
14
+ declare const DEBT_2X = 50000000000n;
15
+ declare const DEBT_3X = 100000000000n;
16
+ /** Leverage targets in LEVERAGE_DECIMALS (100n = 1x). */
17
+ declare const LEV_2X = 200n;
18
+ declare const LEV_3X = 300n;
19
+ declare const QUOTA_1000: bigint;
20
+ declare const QUOTA_1500: bigint;
21
+ /** Quota ops carry signed deltas. */
22
+ declare const QUOTA_UP: bigint;
23
+ declare const QUOTA_DOWN: bigint;
24
+ interface AdjustLeverageCase {
25
+ intent: AdjustLeverageIntent;
26
+ tokens: ReturnType<typeof caToken>[];
27
+ accountDebt: bigint;
28
+ totalValue: bigint;
29
+ accountDebtAfter: bigint;
30
+ ops: ExpectedFlowOp[];
31
+ rwaAssets?: Record<Address, Address>;
32
+ }
33
+ /** 2x → 3x: borrow the difference and buy the position token with it. */
34
+ declare const case_increase: AdjustLeverageCase;
35
+ /** Position token is the underlying: borrowing alone reaches the target. */
36
+ declare const case_increase_underlying: AdjustLeverageCase;
37
+ /** RWA market: the borrowed wrapper is unwrapped instead of swapped. */
38
+ declare const case_increase_rwa: AdjustLeverageCase;
39
+ /** 3x → 2x: sell position token, repay with the proceeds. */
40
+ declare const case_decrease: AdjustLeverageCase;
41
+ /** Idle underlying already covers the repayment, so no swap leg is built. */
42
+ declare const case_decrease_from_idle_underlying: AdjustLeverageCase;
43
+ /** RWA market: the asset is wrapped back into the underlying to repay. */
44
+ declare const case_decrease_rwa: AdjustLeverageCase;
45
+ /** Target equals the current leverage: nothing to do. */
46
+ declare const case_noop: AdjustLeverageCase;
47
+ declare function buildAdjustLeverageSdk(c: AdjustLeverageCase): OnchainSDK;
48
+ declare function buildAdjustLeverageProps(c: AdjustLeverageCase, sdk: OnchainSDK): {
49
+ intent: AdjustLeverageIntent;
50
+ creditAccount: CreditAccountSlice;
51
+ sdk: OnchainSDK<{}>;
52
+ quotaReserve: undefined;
53
+ slippage: undefined;
54
+ };
55
+ //#endregion
56
+ export { AdjustLeverageCase, DEBT_2X, DEBT_3X, LEV_2X, LEV_3X, QUOTA_1000, QUOTA_1500, QUOTA_DOWN, QUOTA_UP, STEP, TVL_2X, TVL_3X, buildAdjustLeverageProps, buildAdjustLeverageSdk, case_decrease, case_decrease_from_idle_underlying, case_decrease_rwa, case_increase, case_increase_rwa, case_increase_underlying, case_noop };
@@ -0,0 +1,64 @@
1
+ import { OnchainSDK } from "../../../OnchainSDK.js";
2
+ import { CreditAccountSlice, DepositStrategyIntent } from "../types.js";
3
+ import "../../../index.js";
4
+ import { ExpectedFlowOp } from "../testing/expect.js";
5
+ import { caToken } from "../testing/market.js";
6
+ import { Address } from "viem";
7
+ //#region src/sdk/accounts/intents/tests/deposit.fixtures.d.ts
8
+ /** 500 UND. */
9
+ declare const DEP = 50000000000n;
10
+ declare const P1000 = 100000000000n;
11
+ declare const P2000 = 200000000000n;
12
+ declare const P3000 = 300000000000n;
13
+ declare const DEBT_START = 50000000000n;
14
+ declare const QUOTA_1000: bigint;
15
+ declare const QUOTA_2000: bigint;
16
+ declare const QUOTA_3000: bigint;
17
+ declare const LEV_3X = 300n;
18
+ interface DepositCase {
19
+ intent: DepositStrategyIntent;
20
+ tokens: ReturnType<typeof caToken>[];
21
+ accountDebt: bigint;
22
+ totalValue: bigint;
23
+ accountDebtAfter: bigint;
24
+ ops: ExpectedFlowOp[];
25
+ rwaAssets?: Record<Address, Address>;
26
+ }
27
+ /** 1.1 — leverage preserved: deposit 500, borrow 500, buy 1000 of the position. */
28
+ declare const case_fixed_leverage: DepositCase;
29
+ /** 1.2 — deposit and lever up to 3x in one shot. */
30
+ declare const case_target_leverage: DepositCase;
31
+ /** Position is the underlying itself: borrow and stop, nothing to convert. */
32
+ declare const case_position_is_underlying: DepositCase;
33
+ /** RWA market: the unwrapped asset is deposited, wrapped, then routed. */
34
+ declare const case_rwa_collateral: DepositCase;
35
+ /**
36
+ * RWA market where the position token is the asset itself: the deposit stays put
37
+ * and only the borrowed underlying is unwrapped.
38
+ */
39
+ declare const case_rwa_position: DepositCase;
40
+ /** Matrix baseline: 10A of position against 8U of debt (2U collateral at 5x). */
41
+ declare const M32_BALANCE = 1000000000n;
42
+ declare const M32_DEBT = 800000000n;
43
+ /** 1U deposited, paid in the native coin. */
44
+ declare const M32_DEP = 100000000n;
45
+ /** Proportional debt drawn: D0 * a / C0 = 4U. */
46
+ declare const M32_DD = 400000000n;
47
+ /** Native coin value attached to the addCollateral call (18 decimals). */
48
+ declare const NATIVE_VALUE = 1000000000000000000n;
49
+ /**
50
+ * Matrix 3.2 — deposit 1U paid in the native coin at preserved 5x. The
51
+ * position token defaults to the fattest balance (`POS`); `value` rides on
52
+ * the addCollateral op.
53
+ */
54
+ declare const case_native_coin: DepositCase;
55
+ declare function buildDepositSdk(c: DepositCase): OnchainSDK;
56
+ declare function buildDepositProps(c: DepositCase, sdk: OnchainSDK): {
57
+ intent: DepositStrategyIntent;
58
+ creditAccount: CreditAccountSlice;
59
+ sdk: OnchainSDK<{}>;
60
+ quotaReserve: undefined;
61
+ slippage: undefined;
62
+ };
63
+ //#endregion
64
+ export { DEBT_START, DEP, DepositCase, LEV_3X, M32_BALANCE, M32_DD, M32_DEBT, M32_DEP, NATIVE_VALUE, P1000, P2000, P3000, QUOTA_1000, QUOTA_2000, QUOTA_3000, buildDepositProps, buildDepositSdk, case_fixed_leverage, case_native_coin, case_position_is_underlying, case_rwa_collateral, case_rwa_position, case_target_leverage };
@@ -0,0 +1,107 @@
1
+ import { ClaimableWithdrawal, DelayedDecreaseLeverageIntent } from "../../withdrawal-compressor/types.js";
2
+ import { OnchainSDK } from "../../../OnchainSDK.js";
3
+ import { CreditAccountSlice } from "../types.js";
4
+ import "../../../index.js";
5
+ import { ExpectedFlowOp } from "../testing/expect.js";
6
+ import { ANY, RWA_ASSET, UND } from "../testing/market.js";
7
+ import "../testing/delayed.js";
8
+ import { Address } from "viem";
9
+ //#region src/sdk/accounts/intents/tests/finish-decrease-leverage.fixtures.d.ts
10
+ /**
11
+ * Decrease-leverage tail fixtures, ported from intent-calculator
12
+ * `decreaseLeverage.flowFixtures.ts` (tail cases only).
13
+ */
14
+ /** Repay for L0 → L1_FOUR with fixed collateral. */
15
+ declare const DECREASE_REPAY = 1000000000000n;
16
+ /** CA ANY spent to fund {@link DECREASE_REPAY} (oracle: ANY@$1 → UND@$2). */
17
+ declare const DECREASE_AMOUNT_S = 20000000000000000000000n;
18
+ /** Post-claim metrics after claim repay (fixed C). */
19
+ declare const DECREASE_POST_T = 4000000000000n;
20
+ declare const DECREASE_POST_D = 3000000000000n;
21
+ /** Pre-repay account debt (D0). */
22
+ declare const DECREASE_PRE_D: bigint;
23
+ /** Pre-repay TVL with claim proceeds still on CA (T0). */
24
+ declare const DECREASE_PRE_T: bigint;
25
+ declare const PHANTOM: Address;
26
+ declare function buildDecreaseSdk(args: {
27
+ claimedToken: Address;
28
+ rwaAssets?: Record<Address, Address>;
29
+ }): OnchainSDK;
30
+ /** The matured withdrawal these fixtures claim. */
31
+ declare function buildDecreaseClaimable(args: {
32
+ claimedToken: Address;
33
+ claimedAmount: bigint;
34
+ }): ClaimableWithdrawal;
35
+ declare function buildDecreaseTailProps(args: {
36
+ claimedToken: Address;
37
+ claimedAmount: bigint;
38
+ sdk: OnchainSDK;
39
+ slippage?: number;
40
+ /**
41
+ * Extra CA balances besides the withdrawal phantom. Defaults so that after
42
+ * claim the TVL equals {@link DECREASE_PRE_T} (post-repay →
43
+ * {@link DECREASE_POST_T}).
44
+ */
45
+ tokens?: CreditAccountSlice["tokens"];
46
+ }): {
47
+ intent: DelayedDecreaseLeverageIntent;
48
+ creditAccount: CreditAccountSlice;
49
+ sdk: OnchainSDK<{}>;
50
+ quotaReserve: undefined;
51
+ claimable: ClaimableWithdrawal;
52
+ slippage: number;
53
+ };
54
+ /** Convenience: props for a claimed token/amount. */
55
+ declare function buildDecreaseOnchainTailProps(args: {
56
+ claimedToken: Address;
57
+ claimedAmount: bigint;
58
+ rwaAssets?: Record<Address, Address>;
59
+ slippage?: number;
60
+ }): {
61
+ intent: DelayedDecreaseLeverageIntent;
62
+ creditAccount: CreditAccountSlice;
63
+ sdk: OnchainSDK<{}>;
64
+ quotaReserve: undefined;
65
+ claimable: ClaimableWithdrawal;
66
+ slippage: number;
67
+ };
68
+ /** Matrix baseline debt: 8U. */
69
+ declare const M7_DEBT = 800000000n;
70
+ /** Delayed deleverage 5x → 3x repays 4U. */
71
+ declare const M7_DD = 400000000n;
72
+ /** Position left after the leading half redeemed 4A of the 10A. */
73
+ declare const M7_POS_LEFT = 600000000n;
74
+ /** 4U claimed in `ANY` (priced 1 against `UND` priced 2): 8 ANY. */
75
+ declare const M7_CLAIM_ANY = 8000000000000000000n;
76
+ /** Quotable withdrawal phantom: `POS2`, 1:1 with `POS`. */
77
+ declare const M7_PHANTOM: `0x${string}`;
78
+ interface MatrixDecreaseTailCase {
79
+ claimedToken: Address;
80
+ claimedAmount: bigint;
81
+ totalValue: bigint;
82
+ ops: ExpectedFlowOp[];
83
+ }
84
+ /** Matrix 7.2 tail — the claim pays `UND`; everything claimed repays the debt. */
85
+ declare const case_matrix_7_2_tail: MatrixDecreaseTailCase;
86
+ /**
87
+ * Matrix 7.3 tail — the claim pays `ANY`, swapped into `UND` before repaying.
88
+ * The swap output (`amountOut`) comes from the router quote, which the spec
89
+ * mocks to a realistic 1:1-in-value path — the echo router would otherwise
90
+ * repay its raw input as debt (same override as case D above).
91
+ */
92
+ declare const case_matrix_7_3_tail: MatrixDecreaseTailCase;
93
+ /**
94
+ * Props for a matrix decrease-leverage tail: the account as the delayed
95
+ * deleverage to 3x left it — 6A of position and 4A of phantom — plus the
96
+ * matured claim.
97
+ */
98
+ declare function buildMatrixDecreaseTailProps(c: MatrixDecreaseTailCase): {
99
+ intent: DelayedDecreaseLeverageIntent;
100
+ creditAccount: CreditAccountSlice;
101
+ sdk: OnchainSDK<{}>;
102
+ quotaReserve: undefined;
103
+ claimable: ClaimableWithdrawal;
104
+ slippage: undefined;
105
+ };
106
+ //#endregion
107
+ export { ANY, DECREASE_AMOUNT_S, DECREASE_POST_D, DECREASE_POST_T, DECREASE_PRE_D, DECREASE_PRE_T, DECREASE_REPAY, M7_CLAIM_ANY, M7_DD, M7_DEBT, M7_PHANTOM, M7_POS_LEFT, MatrixDecreaseTailCase, PHANTOM, RWA_ASSET, UND, buildDecreaseClaimable, buildDecreaseOnchainTailProps, buildDecreaseSdk, buildDecreaseTailProps, buildMatrixDecreaseTailProps, case_matrix_7_2_tail, case_matrix_7_3_tail };