@gearbox-protocol/sdk 17.13.0-next.1 → 17.13.0-next.10

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 (885) hide show
  1. package/dist/cjs/dev/index.js +2 -0
  2. package/dist/cjs/dev/lowerHealthFactor.js +32 -0
  3. package/dist/cjs/dev/ltUtils.js +3 -2
  4. package/dist/cjs/model/analytics.schema.js +71 -7
  5. package/dist/cjs/model/errors/index.js +4 -0
  6. package/dist/cjs/model/errors/liquidation-errors.js +9 -0
  7. package/dist/cjs/model/errors/operation-errors.js +27 -0
  8. package/dist/cjs/model/index.js +9 -1
  9. package/dist/cjs/model/liquidations.schema.js +5 -3
  10. package/dist/cjs/model/opportunities.schema.js +1 -1
  11. package/dist/cjs/model/positions.schema.js +3 -0
  12. package/dist/cjs/offchain/analytics/OffchainAnalyticsPositions.js +8 -0
  13. package/dist/cjs/onchain/accounts/CreditAccountsServiceV310.js +0 -37
  14. package/dist/cjs/onchain/accounts/intents/index.js +1 -0
  15. package/dist/cjs/onchain/accounts/intents/operations.js +1 -1
  16. package/dist/cjs/onchain/accounts/intents/plan.js +21 -0
  17. package/dist/cjs/onchain/accounts/intents/realize.js +29 -7
  18. package/dist/cjs/onchain/accounts/intents/resolveQuotaUpdate.js +149 -0
  19. package/dist/cjs/onchain/accounts/intents/testing/sdk-mock.js +1 -0
  20. package/dist/cjs/onchain/accounts/intents/tests/update-quota.fixtures.js +102 -0
  21. package/dist/cjs/onchain/accounts/intents/utils/index.js +1 -0
  22. package/dist/cjs/onchain/accounts/intents/utils/quotas-for-update.js +28 -10
  23. package/dist/cjs/onchain/accounts/liquidations/LiquidationsService.js +156 -28
  24. package/dist/cjs/onchain/accounts/liquidations/MultichainLiquidationsService.js +28 -0
  25. package/dist/cjs/onchain/accounts/liquidations/constants.js +1 -1
  26. package/dist/cjs/onchain/accounts/liquidations/partialLiquidation.js +11 -15
  27. package/dist/cjs/onchain/base/TokensMeta.js +15 -0
  28. package/dist/cjs/onchain/constants/index.js +1 -0
  29. package/dist/cjs/onchain/constants/math.js +6 -0
  30. package/dist/cjs/onchain/index.js +11 -0
  31. package/dist/cjs/onchain/pools/PoolService.js +1 -0
  32. package/dist/cjs/onchain/positions/PositionsService.js +1 -0
  33. package/dist/cjs/onchain/positions/calcHealthFactor.js +1 -1
  34. package/dist/cjs/onchain/preview/preview/CreditAccountState.js +4 -2
  35. package/dist/cjs/onchain/validation/bundles/checkCreditOperation.js +2 -0
  36. package/dist/cjs/onchain/validation/bundles/checkLiquidationEligibility.js +8 -1
  37. package/dist/cjs/onchain/validation/bundles/checkLiquidationFunding.js +2 -1
  38. package/dist/cjs/onchain/validation/bundles/checkQuotaUpdates.js +45 -0
  39. package/dist/cjs/onchain/validation/bundles/index.js +2 -0
  40. package/dist/cjs/onchain/validation/checkLiquidation.js +2 -1
  41. package/dist/cjs/onchain/validation/checks/checkMaxQuota.js +18 -0
  42. package/dist/cjs/onchain/validation/checks/checkPartiallyLiquidatable.js +13 -0
  43. package/dist/cjs/onchain/validation/checks/checkQuotaActive.js +10 -0
  44. package/dist/cjs/onchain/validation/checks/checkQuotaChange.js +18 -0
  45. package/dist/cjs/onchain/validation/checks/index.js +8 -0
  46. package/dist/cjs/onchain/validation/index.js +10 -0
  47. package/dist/cjs/sdk/liquidations/LiquidationsNamespace.js +14 -0
  48. package/dist/cjs/sdk/prepare/PrepareApi.js +67 -0
  49. package/dist/cjs/sdk/rewards/merkl-api.js +1 -1
  50. package/dist/cjs/sdk/rewards/turtle-api.js +1 -1
  51. package/dist/esm/dev/index.js +2 -1
  52. package/dist/esm/dev/lowerHealthFactor.js +31 -0
  53. package/dist/esm/dev/ltUtils.js +3 -2
  54. package/dist/esm/dev/mint/index.js +1 -2
  55. package/dist/esm/model/analytics.schema.js +69 -9
  56. package/dist/esm/model/errors/index.js +3 -3
  57. package/dist/esm/model/errors/liquidation-errors.js +9 -1
  58. package/dist/esm/model/errors/operation-errors.js +25 -1
  59. package/dist/esm/model/index.js +5 -5
  60. package/dist/esm/model/liquidations.schema.js +5 -3
  61. package/dist/esm/model/opportunities.schema.js +1 -1
  62. package/dist/esm/model/positions.schema.js +3 -0
  63. package/dist/esm/offchain/analytics/OffchainAnalyticsPositions.js +9 -1
  64. package/dist/esm/offchain/notices/index.js +1 -2
  65. package/dist/esm/offchain/opportunities/index.js +1 -2
  66. package/dist/esm/offchain/positions/index.js +1 -2
  67. package/dist/esm/onchain/abi/index.js +1 -2
  68. package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +0 -37
  69. package/dist/esm/onchain/accounts/intents/index.js +2 -1
  70. package/dist/esm/onchain/accounts/intents/operations.js +1 -1
  71. package/dist/esm/onchain/accounts/intents/plan.js +22 -2
  72. package/dist/esm/onchain/accounts/intents/realize.js +29 -7
  73. package/dist/esm/onchain/accounts/intents/resolveQuotaUpdate.js +148 -0
  74. package/dist/esm/onchain/accounts/intents/testing/sdk-mock.js +1 -0
  75. package/dist/esm/onchain/accounts/intents/tests/update-quota.fixtures.js +92 -0
  76. package/dist/esm/onchain/accounts/intents/utils/index.js +2 -2
  77. package/dist/esm/onchain/accounts/intents/utils/quotas-for-update.js +28 -11
  78. package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +156 -28
  79. package/dist/esm/onchain/accounts/liquidations/MultichainLiquidationsService.js +28 -0
  80. package/dist/esm/onchain/accounts/liquidations/constants.js +1 -1
  81. package/dist/esm/onchain/accounts/liquidations/partialLiquidation.js +11 -15
  82. package/dist/esm/onchain/base/TokensMeta.js +15 -0
  83. package/dist/esm/onchain/constants/index.js +2 -2
  84. package/dist/esm/onchain/constants/math.js +6 -1
  85. package/dist/esm/onchain/index.js +7 -2
  86. package/dist/esm/onchain/market/adapters/abi/midas/index.js +1 -2
  87. package/dist/esm/onchain/pools/PoolService.js +1 -0
  88. package/dist/esm/onchain/pools/index.js +1 -2
  89. package/dist/esm/onchain/positions/PositionsService.js +1 -0
  90. package/dist/esm/onchain/positions/calcHealthFactor.js +1 -1
  91. package/dist/esm/onchain/preview/preview/CreditAccountState.js +4 -2
  92. package/dist/esm/onchain/utils/internal/index.js +1 -2
  93. package/dist/esm/onchain/validation/bundles/checkCreditOperation.js +2 -0
  94. package/dist/esm/onchain/validation/bundles/checkLiquidationEligibility.js +8 -1
  95. package/dist/esm/onchain/validation/bundles/checkLiquidationFunding.js +2 -1
  96. package/dist/esm/onchain/validation/bundles/checkQuotaUpdates.js +44 -0
  97. package/dist/esm/onchain/validation/bundles/index.js +2 -1
  98. package/dist/esm/onchain/validation/checkLiquidation.js +2 -1
  99. package/dist/esm/onchain/validation/checks/checkMaxQuota.js +17 -0
  100. package/dist/esm/onchain/validation/checks/checkPartiallyLiquidatable.js +12 -0
  101. package/dist/esm/onchain/validation/checks/checkQuotaActive.js +9 -0
  102. package/dist/esm/onchain/validation/checks/checkQuotaChange.js +17 -0
  103. package/dist/esm/onchain/validation/checks/index.js +5 -1
  104. package/dist/esm/onchain/validation/index.js +6 -1
  105. package/dist/esm/permissionless/api/chains/index.js +1 -2
  106. package/dist/esm/permissionless/api/oracles/index.js +1 -2
  107. package/dist/esm/permissionless/api/transactions/index.js +1 -2
  108. package/dist/esm/permissionless/bindings/router/index.js +1 -2
  109. package/dist/esm/permissionless/core/index.js +1 -2
  110. package/dist/esm/plugins/accounts/index.js +1 -2
  111. package/dist/esm/plugins/accounts-counter/index.js +1 -2
  112. package/dist/esm/plugins/bots/abi/index.js +1 -2
  113. package/dist/esm/sdk/analytics/index.js +1 -2
  114. package/dist/esm/sdk/execute/index.js +1 -2
  115. package/dist/esm/sdk/liquidations/LiquidationsNamespace.js +14 -0
  116. package/dist/esm/sdk/liquidations/index.js +1 -2
  117. package/dist/esm/sdk/opportunities/index.js +1 -2
  118. package/dist/esm/sdk/positions/index.js +1 -2
  119. package/dist/esm/sdk/prepare/PrepareApi.js +67 -0
  120. package/dist/esm/sdk/preview/index.js +1 -2
  121. package/dist/esm/sdk/rewards/merkl-api.js +1 -1
  122. package/dist/esm/sdk/rewards/turtle-api.js +1 -1
  123. package/dist/types/abi/310/configure/creditSuiteParams.d.ts +4 -5
  124. package/dist/types/abi/310/configure/iCreditConfigureActions.d.ts +2 -3
  125. package/dist/types/abi/310/configure/iPoolConfigureActions.d.ts +2 -3
  126. package/dist/types/abi/310/configure/iPriceOracleConfigureActions.d.ts +2 -3
  127. package/dist/types/abi/310/crossChainMultisig.d.ts +2 -3
  128. package/dist/types/abi/310/generated.d.ts +15 -16
  129. package/dist/types/abi/310/iBytecodeRepository.d.ts +2 -3
  130. package/dist/types/abi/310/iLinearInterestRateModelV310.d.ts +2 -3
  131. package/dist/types/abi/310/iMarketConfiguratorFactory.d.ts +2 -3
  132. package/dist/types/abi/310/iPriceFeedStore.d.ts +2 -3
  133. package/dist/types/abi/310/iTreasurySplitter.d.ts +2 -3
  134. package/dist/types/abi/310/instanceManager.d.ts +2 -3
  135. package/dist/types/abi/AccountMigrator.d.ts +2 -3
  136. package/dist/types/abi/ILiquidationCompressorV313.d.ts +2 -3
  137. package/dist/types/abi/IWithdrawalCompressorV310.d.ts +2 -3
  138. package/dist/types/abi/IWithdrawalCompressorV311.d.ts +2 -3
  139. package/dist/types/abi/IWithdrawalCompressorV313.d.ts +2 -3
  140. package/dist/types/abi/compressors/creditAccountCompressor.d.ts +2 -3
  141. package/dist/types/abi/compressors/creditSuiteCompressor.d.ts +2 -3
  142. package/dist/types/abi/compressors/defillamaCompressor.d.ts +2 -3
  143. package/dist/types/abi/compressors/gaugeCompressor.d.ts +2 -3
  144. package/dist/types/abi/compressors/liquidationCompressor.d.ts +2 -3
  145. package/dist/types/abi/compressors/marketCompressor.d.ts +2 -3
  146. package/dist/types/abi/compressors/peripheryCompressor.d.ts +2 -3
  147. package/dist/types/abi/compressors/priceFeedCompressor.d.ts +2 -3
  148. package/dist/types/abi/compressors/rewardsCompressor.d.ts +2 -3
  149. package/dist/types/abi/compressors/rwaCompressor.d.ts +2 -3
  150. package/dist/types/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.d.ts +2 -3
  151. package/dist/types/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.d.ts +2 -3
  152. package/dist/types/abi/compressors/subcompressors/rwa/onDemandRWAUnderlyingSubcompressor.d.ts +2 -3
  153. package/dist/types/abi/compressors/subcompressors/rwa/securitizeRWAFactorySubcompressor.d.ts +2 -3
  154. package/dist/types/abi/compressors/subcompressors/withdrawal/infinifiWithdrawalSubcompressor.d.ts +2 -3
  155. package/dist/types/abi/compressors/subcompressors/withdrawal/kelpLRTWithdrawalSubcompressor.d.ts +2 -3
  156. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowFlexibleDepositSubcompressor.d.ts +2 -3
  157. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowFlexibleRedeemSubcompressor.d.ts +2 -3
  158. package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +2 -3
  159. package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +2 -3
  160. package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +2 -3
  161. package/dist/types/abi/compressors/subcompressors/withdrawal/upshiftWithdrawalSubcompressor.d.ts +2 -3
  162. package/dist/types/abi/compressors/tokenCompressor.d.ts +2 -3
  163. package/dist/types/abi/compressors/withdrawalCompressor.d.ts +2 -3
  164. package/dist/types/abi/errors.d.ts +11 -12
  165. package/dist/types/abi/governance/batchesChain.d.ts +2 -3
  166. package/dist/types/abi/governance/governor.d.ts +2 -3
  167. package/dist/types/abi/governance/iTimeLock.d.ts +2 -3
  168. package/dist/types/abi/helpers/redemptionLogger.d.ts +2 -3
  169. package/dist/types/abi/iAirdropDistributor.d.ts +2 -3
  170. package/dist/types/abi/iBaseRewardPool.d.ts +2 -3
  171. package/dist/types/abi/iCurvePool.d.ts +2 -3
  172. package/dist/types/abi/iDefaultAccountFactoryV3.d.ts +2 -3
  173. package/dist/types/abi/iDegenNFTV2.d.ts +2 -3
  174. package/dist/types/abi/iERC20.d.ts +2 -3
  175. package/dist/types/abi/iERC20Permit.d.ts +2 -3
  176. package/dist/types/abi/iERC20Zapper.d.ts +2 -3
  177. package/dist/types/abi/iERC20ZapperDeposits.d.ts +2 -3
  178. package/dist/types/abi/iETHZapper.d.ts +2 -3
  179. package/dist/types/abi/iETHZapperDeposits.d.ts +2 -3
  180. package/dist/types/abi/iExpirable.d.ts +2 -3
  181. package/dist/types/abi/iFarmingPool.d.ts +2 -3
  182. package/dist/types/abi/iInterestRateModel.d.ts +2 -3
  183. package/dist/types/abi/iMulticall3.d.ts +2 -3
  184. package/dist/types/abi/iOffchainOracle.d.ts +2 -3
  185. package/dist/types/abi/iPausable.d.ts +2 -3
  186. package/dist/types/abi/iPhantomToken.d.ts +2 -3
  187. package/dist/types/abi/iPriceFeed.d.ts +2 -3
  188. package/dist/types/abi/iRedemptionLoggerV310.d.ts +2 -3
  189. package/dist/types/abi/iStateSerializer.d.ts +2 -3
  190. package/dist/types/abi/iUpdatablePriceFeed.d.ts +2 -3
  191. package/dist/types/abi/iVersion.d.ts +2 -3
  192. package/dist/types/abi/iZapper.d.ts +2 -3
  193. package/dist/types/abi/ierc4626Adapter.d.ts +2 -3
  194. package/dist/types/abi/mellow.d.ts +6 -7
  195. package/dist/types/abi/migration.d.ts +3 -4
  196. package/dist/types/abi/router/balancerV2Worker.d.ts +2 -3
  197. package/dist/types/abi/router/balancerV3Worker.d.ts +2 -3
  198. package/dist/types/abi/router/balancerV3WrapperWorker.d.ts +2 -3
  199. package/dist/types/abi/router/camelotV3Worker.d.ts +2 -3
  200. package/dist/types/abi/router/convexWorker.d.ts +2 -3
  201. package/dist/types/abi/router/curveWorker.d.ts +2 -3
  202. package/dist/types/abi/router/daiUsdsWorker.d.ts +2 -3
  203. package/dist/types/abi/router/equalizerRouterWorker.d.ts +2 -3
  204. package/dist/types/abi/router/erc4626Worker.d.ts +2 -3
  205. package/dist/types/abi/router/fluidDexWorker.d.ts +2 -3
  206. package/dist/types/abi/router/gearboxRouter.d.ts +2 -3
  207. package/dist/types/abi/router/infinifiWorker.d.ts +2 -3
  208. package/dist/types/abi/router/infraredVaultWorker.d.ts +2 -3
  209. package/dist/types/abi/router/kelpLRTDepositPoolWorker.d.ts +2 -3
  210. package/dist/types/abi/router/kodiakWorker.d.ts +2 -3
  211. package/dist/types/abi/router/lidoWorker.d.ts +2 -3
  212. package/dist/types/abi/router/mellow4626Worker.d.ts +2 -3
  213. package/dist/types/abi/router/mellowDVVWorker.d.ts +2 -3
  214. package/dist/types/abi/router/mellowVaultWorker.d.ts +2 -3
  215. package/dist/types/abi/router/midasWorker.d.ts +2 -3
  216. package/dist/types/abi/router/pendleRouterWorker.d.ts +2 -3
  217. package/dist/types/abi/router/routingManager.d.ts +2 -3
  218. package/dist/types/abi/router/securitizeOnrampWorker.d.ts +2 -3
  219. package/dist/types/abi/router/stakingRewardsWorker.d.ts +2 -3
  220. package/dist/types/abi/router/traderJoeWorker.d.ts +2 -3
  221. package/dist/types/abi/router/uniswapV2Worker.d.ts +2 -3
  222. package/dist/types/abi/router/uniswapV3Worker.d.ts +2 -3
  223. package/dist/types/abi/router/uniswapV4Worker.d.ts +2 -3
  224. package/dist/types/abi/router/upshiftWorker.d.ts +2 -3
  225. package/dist/types/abi/router/velodromeV2Worker.d.ts +2 -3
  226. package/dist/types/abi/router/wstETHWorker.d.ts +2 -3
  227. package/dist/types/abi/router/yearnV2Worker.d.ts +2 -3
  228. package/dist/types/abi/rwa/iDSRegistryService.d.ts +2 -3
  229. package/dist/types/abi/rwa/iDSToken.d.ts +2 -3
  230. package/dist/types/abi/rwa/iMidasAccessControl.d.ts +2 -3
  231. package/dist/types/abi/rwa/iMidasDegenNFT.d.ts +2 -3
  232. package/dist/types/abi/rwa/iMidasLiquidatorV311.d.ts +2 -3
  233. package/dist/types/abi/rwa/iRWACompressor.d.ts +2 -3
  234. package/dist/types/abi/rwa/iRWAFactory.d.ts +2 -3
  235. package/dist/types/abi/rwa/iRWAGateway.d.ts +2 -3
  236. package/dist/types/abi/rwa/iRWAUnderlying.d.ts +2 -3
  237. package/dist/types/abi/rwa/iSecuritizeDegenNFT.d.ts +2 -3
  238. package/dist/types/abi/rwa/iSecuritizeLiquidatorV311.d.ts +2 -3
  239. package/dist/types/abi/rwa/iSecuritizeRWAFactory.d.ts +2 -3
  240. package/dist/types/dev/AccountOpener.d.ts +9 -9
  241. package/dist/types/dev/EthCallSpy.d.ts +6 -7
  242. package/dist/types/dev/RevolverTransport.d.ts +12 -12
  243. package/dist/types/dev/abi.d.ts +6 -7
  244. package/dist/types/dev/calcLiquidatableLTs.d.ts +2 -3
  245. package/dist/types/dev/claimFromFaucet.d.ts +2 -2
  246. package/dist/types/dev/create2.d.ts +10 -11
  247. package/dist/types/dev/createAnvilClient.d.ts +13 -14
  248. package/dist/types/dev/detectChain.d.ts +2 -3
  249. package/dist/types/dev/index.d.ts +2 -1
  250. package/dist/types/dev/isOutOfSyncError.d.ts +2 -3
  251. package/dist/types/dev/isRateLimitError.d.ts +2 -3
  252. package/dist/types/dev/isTransientError.d.ts +2 -3
  253. package/dist/types/dev/kycUtils.d.ts +13 -14
  254. package/dist/types/dev/logSplitterTransport.d.ts +10 -10
  255. package/dist/types/dev/lowerHealthFactor.d.ts +34 -0
  256. package/dist/types/dev/ltUtils.d.ts +3 -4
  257. package/dist/types/dev/midasUtils.d.ts +8 -9
  258. package/dist/types/dev/migrateFaucet.d.ts +2 -3
  259. package/dist/types/dev/mint/AbstractMinter.d.ts +2 -3
  260. package/dist/types/dev/mint/DealMinter.d.ts +2 -3
  261. package/dist/types/dev/mint/DirectMinter.d.ts +2 -3
  262. package/dist/types/dev/mint/FallbackMinter.d.ts +2 -3
  263. package/dist/types/dev/mint/TransferMinter.d.ts +2 -3
  264. package/dist/types/dev/mint/factory.d.ts +2 -3
  265. package/dist/types/dev/mint/types.d.ts +2 -3
  266. package/dist/types/dev/mode-parity/compareOpportunities.d.ts +8 -8
  267. package/dist/types/dev/mode-parity/comparePositions.d.ts +12 -13
  268. package/dist/types/dev/mode-parity/compareRules.d.ts +6 -7
  269. package/dist/types/dev/mode-parity/fieldDiff.d.ts +29 -30
  270. package/dist/types/dev/mode-parity/scriptUtils.d.ts +18 -19
  271. package/dist/types/dev/providers.d.ts +10 -11
  272. package/dist/types/dev/replaceStorage.d.ts +3 -4
  273. package/dist/types/dev/resilientTransport.d.ts +6 -7
  274. package/dist/types/dev/securitizeUtils.d.ts +6 -6
  275. package/dist/types/dev/transports.d.ts +2 -3
  276. package/dist/types/dev/types.d.ts +4 -5
  277. package/dist/types/dev/verifyTestnet.d.ts +4 -5
  278. package/dist/types/dev/withdrawalAbi.d.ts +9 -10
  279. package/dist/types/dev/withdrawalUtils.d.ts +3 -4
  280. package/dist/types/history/assembleOperations.d.ts +3 -4
  281. package/dist/types/history/classifyMulticallOperations.d.ts +3 -4
  282. package/dist/types/history/mapOperations.d.ts +3 -4
  283. package/dist/types/history/parseCreditAccountTransaction.d.ts +3 -4
  284. package/dist/types/history/populateContractsRegister.d.ts +4 -5
  285. package/dist/types/history/toLegacyOperation.d.ts +6 -7
  286. package/dist/types/history/trace/errors.d.ts +6 -7
  287. package/dist/types/history/trace/extractAdapterCallTraces.d.ts +2 -3
  288. package/dist/types/history/trace/extractTransfers.d.ts +4 -4
  289. package/dist/types/history/trace/findFacadeCalls.d.ts +2 -3
  290. package/dist/types/history/trace/types.d.ts +3 -4
  291. package/dist/types/history/types.d.ts +13 -13
  292. package/dist/types/model/analytics.d.ts +66 -13
  293. package/dist/types/model/analytics.schema.d.ts +182 -39
  294. package/dist/types/model/charts.d.ts +29 -29
  295. package/dist/types/model/charts.schema.d.ts +16 -17
  296. package/dist/types/model/compare.schema.d.ts +9 -10
  297. package/dist/types/model/curators.d.ts +3 -4
  298. package/dist/types/model/curators.schema.d.ts +3 -4
  299. package/dist/types/model/delayed-intent.schema.d.ts +2 -3
  300. package/dist/types/model/delayed-intents.d.ts +9 -10
  301. package/dist/types/model/errors/base.d.ts +2 -3
  302. package/dist/types/model/errors/index.d.ts +3 -3
  303. package/dist/types/model/errors/liquidation-errors.d.ts +20 -8
  304. package/dist/types/model/errors/operation-errors.d.ts +76 -39
  305. package/dist/types/model/errors/oracle-errors.d.ts +3 -4
  306. package/dist/types/model/errors/prepare-errors.d.ts +21 -22
  307. package/dist/types/model/errors/preview-errors.d.ts +9 -10
  308. package/dist/types/model/filters.d.ts +6 -7
  309. package/dist/types/model/filters.schema.d.ts +5 -6
  310. package/dist/types/model/index.d.ts +6 -6
  311. package/dist/types/model/liquidations.d.ts +37 -18
  312. package/dist/types/model/liquidations.schema.d.ts +12 -10
  313. package/dist/types/model/notices.d.ts +4 -5
  314. package/dist/types/model/notices.schema.d.ts +3 -4
  315. package/dist/types/model/opportunities.d.ts +32 -33
  316. package/dist/types/model/opportunities.schema.d.ts +26 -27
  317. package/dist/types/model/positions.d.ts +34 -30
  318. package/dist/types/model/positions.schema.d.ts +102 -23
  319. package/dist/types/model/previews.d.ts +21 -21
  320. package/dist/types/model/primitives.d.ts +12 -13
  321. package/dist/types/model/primitives.schema.d.ts +11 -12
  322. package/dist/types/model/response.d.ts +8 -9
  323. package/dist/types/model/response.schema.d.ts +7 -8
  324. package/dist/types/model/result.d.ts +8 -9
  325. package/dist/types/model/rewards.d.ts +4 -5
  326. package/dist/types/model/rwa.d.ts +20 -21
  327. package/dist/types/model/rwa.schema.d.ts +3 -4
  328. package/dist/types/model/withdrawals.d.ts +5 -6
  329. package/dist/types/model/withdrawals.schema.d.ts +5 -6
  330. package/dist/types/offchain/AbstractOffchainNamespace.d.ts +4 -5
  331. package/dist/types/offchain/GearboxAPI.d.ts +2 -3
  332. package/dist/types/offchain/analytics/OffchainAnalytics.d.ts +2 -3
  333. package/dist/types/offchain/analytics/OffchainAnalyticsPositions.d.ts +6 -4
  334. package/dist/types/offchain/analytics/types.d.ts +17 -5
  335. package/dist/types/offchain/errors/OffchainInvalidJsonError.d.ts +2 -3
  336. package/dist/types/offchain/errors/OffchainNotConfiguredError.d.ts +2 -3
  337. package/dist/types/offchain/errors/OffchainNotImplementedError.d.ts +2 -3
  338. package/dist/types/offchain/errors/OffchainRequestFailedError.d.ts +2 -3
  339. package/dist/types/offchain/errors/OffchainStatusError.d.ts +2 -3
  340. package/dist/types/offchain/errors/OffchainTransportError.d.ts +3 -4
  341. package/dist/types/offchain/errors/OffchainValidationError.d.ts +2 -3
  342. package/dist/types/offchain/errors/backendMessage.d.ts +2 -3
  343. package/dist/types/offchain/errors/errorCause.d.ts +3 -4
  344. package/dist/types/offchain/errors/readResponseBody.d.ts +2 -3
  345. package/dist/types/offchain/notices/OffchainNotices.d.ts +2 -3
  346. package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +2 -3
  347. package/dist/types/offchain/opportunities/types.d.ts +3 -4
  348. package/dist/types/offchain/positions/OffchainPositions.d.ts +2 -3
  349. package/dist/types/offchain/positions/types.d.ts +3 -4
  350. package/dist/types/offchain/types.d.ts +2 -3
  351. package/dist/types/onchain/MultichainSDK.d.ts +7 -8
  352. package/dist/types/onchain/OnchainSDK.d.ts +9 -10
  353. package/dist/types/onchain/abi/oracles.d.ts +27 -28
  354. package/dist/types/onchain/accounts/CreditAccountsServiceV310.d.ts +3 -12
  355. package/dist/types/onchain/accounts/bots/AccountBotsService.d.ts +2 -3
  356. package/dist/types/onchain/accounts/bots/PeripheryCompressorV310Contract.d.ts +2 -2
  357. package/dist/types/onchain/accounts/bots/abi.d.ts +2 -3
  358. package/dist/types/onchain/accounts/bots/types.d.ts +13 -14
  359. package/dist/types/onchain/accounts/credit-account-compressor/CreditAccountCompressor.d.ts +2 -3
  360. package/dist/types/onchain/accounts/credit-account-compressor/CreditAccountCompressorV310Contract.d.ts +2 -2
  361. package/dist/types/onchain/accounts/credit-account-compressor/types.d.ts +11 -12
  362. package/dist/types/onchain/accounts/index.d.ts +9 -9
  363. package/dist/types/onchain/accounts/intents/borrow.d.ts +6 -7
  364. package/dist/types/onchain/accounts/intents/collateral-valuation.d.ts +4 -5
  365. package/dist/types/onchain/accounts/intents/guards.d.ts +7 -7
  366. package/dist/types/onchain/accounts/intents/index.d.ts +6 -6
  367. package/dist/types/onchain/accounts/intents/leverage-band.d.ts +4 -5
  368. package/dist/types/onchain/accounts/intents/math.d.ts +8 -8
  369. package/dist/types/onchain/accounts/intents/maxBorrow.d.ts +3 -4
  370. package/dist/types/onchain/accounts/intents/maxWithdrawCollateral.d.ts +3 -4
  371. package/dist/types/onchain/accounts/intents/open-strategy.d.ts +4 -5
  372. package/dist/types/onchain/accounts/intents/operations.d.ts +34 -28
  373. package/dist/types/onchain/accounts/intents/plan.d.ts +35 -19
  374. package/dist/types/onchain/accounts/intents/realize.d.ts +4 -5
  375. package/dist/types/onchain/accounts/intents/resolveQuotaUpdate.d.ts +38 -0
  376. package/dist/types/onchain/accounts/intents/strategyLimits.d.ts +2 -2
  377. package/dist/types/onchain/accounts/intents/tail.d.ts +4 -4
  378. package/dist/types/onchain/accounts/intents/testing/delayed.d.ts +2 -2
  379. package/dist/types/onchain/accounts/intents/testing/expect.d.ts +2 -2
  380. package/dist/types/onchain/accounts/intents/testing/market.d.ts +6 -6
  381. package/dist/types/onchain/accounts/intents/testing/sdk-mock.d.ts +3 -3
  382. package/dist/types/onchain/accounts/intents/tests/add-collateral.fixtures.d.ts +15 -16
  383. package/dist/types/onchain/accounts/intents/tests/adjust-leverage.fixtures.d.ts +22 -23
  384. package/dist/types/onchain/accounts/intents/tests/deposit.fixtures.d.ts +24 -25
  385. package/dist/types/onchain/accounts/intents/tests/finish-decrease-leverage.fixtures.d.ts +21 -21
  386. package/dist/types/onchain/accounts/intents/tests/finish-withdraw.fixtures.d.ts +30 -31
  387. package/dist/types/onchain/accounts/intents/tests/open-strategy.fixtures.d.ts +16 -17
  388. package/dist/types/onchain/accounts/intents/tests/update-quota.fixtures.d.ts +48 -0
  389. package/dist/types/onchain/accounts/intents/tests/withdraw-asset.fixtures.d.ts +16 -17
  390. package/dist/types/onchain/accounts/intents/tests/withdraw.fixtures.d.ts +26 -27
  391. package/dist/types/onchain/accounts/intents/types.d.ts +46 -30
  392. package/dist/types/onchain/accounts/intents/utils/adjust-state-to-snapshot.d.ts +2 -3
  393. package/dist/types/onchain/accounts/intents/utils/assemble-operation-calls.d.ts +2 -2
  394. package/dist/types/onchain/accounts/intents/utils/borrowed-amount-plus-interest-and-fees.d.ts +2 -3
  395. package/dist/types/onchain/accounts/intents/utils/common.d.ts +5 -6
  396. package/dist/types/onchain/accounts/intents/utils/credit-account-slice.d.ts +4 -5
  397. package/dist/types/onchain/accounts/intents/utils/index.d.ts +2 -2
  398. package/dist/types/onchain/accounts/intents/utils/ledger.d.ts +3 -4
  399. package/dist/types/onchain/accounts/intents/utils/pick-token.d.ts +6 -7
  400. package/dist/types/onchain/accounts/intents/utils/price-impact.d.ts +5 -6
  401. package/dist/types/onchain/accounts/intents/utils/quotas-for-update.d.ts +27 -9
  402. package/dist/types/onchain/accounts/intents/utils/router-path.d.ts +6 -7
  403. package/dist/types/onchain/accounts/intents/view.d.ts +2 -3
  404. package/dist/types/onchain/accounts/intents/withdraw-limits.d.ts +5 -6
  405. package/dist/types/onchain/accounts/liquidations/LiquidationsService.d.ts +39 -19
  406. package/dist/types/onchain/accounts/liquidations/MultichainLiquidationsService.d.ts +13 -4
  407. package/dist/types/onchain/accounts/liquidations/constants.d.ts +4 -5
  408. package/dist/types/onchain/accounts/liquidations/index.d.ts +2 -2
  409. package/dist/types/onchain/accounts/liquidations/partialLiquidation.d.ts +15 -8
  410. package/dist/types/onchain/accounts/liquidations/skipLiquidatableAccount.d.ts +2 -3
  411. package/dist/types/onchain/accounts/liquidations/types.d.ts +125 -35
  412. package/dist/types/onchain/accounts/multicall-utils.d.ts +4 -5
  413. package/dist/types/onchain/accounts/quota-utils.d.ts +11 -11
  414. package/dist/types/onchain/accounts/types.d.ts +17 -96
  415. package/dist/types/onchain/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +7 -7
  416. package/dist/types/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +2 -2
  417. package/dist/types/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.d.ts +2 -2
  418. package/dist/types/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.d.ts +2 -2
  419. package/dist/types/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +2 -2
  420. package/dist/types/onchain/accounts/withdrawal-compressor/addresses.d.ts +4 -5
  421. package/dist/types/onchain/accounts/withdrawal-compressor/createRedemptionLogger.d.ts +2 -3
  422. package/dist/types/onchain/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +2 -3
  423. package/dist/types/onchain/accounts/withdrawal-compressor/intent-codec.d.ts +5 -6
  424. package/dist/types/onchain/accounts/withdrawal-compressor/types.d.ts +16 -17
  425. package/dist/types/onchain/base/BaseContract.d.ts +5 -6
  426. package/dist/types/onchain/base/ChainContractsRegister.d.ts +3 -4
  427. package/dist/types/onchain/base/Construct.d.ts +3 -4
  428. package/dist/types/onchain/base/MultichainConstruct.d.ts +7 -8
  429. package/dist/types/onchain/base/SDKConstruct.d.ts +2 -3
  430. package/dist/types/onchain/base/TokensMeta.d.ts +13 -6
  431. package/dist/types/onchain/base/errors.d.ts +2 -3
  432. package/dist/types/onchain/base/token-types.d.ts +18 -18
  433. package/dist/types/onchain/base/types.d.ts +37 -38
  434. package/dist/types/onchain/chain/chains.d.ts +20 -21
  435. package/dist/types/onchain/chain/detectNetwork.d.ts +2 -3
  436. package/dist/types/onchain/constants/address-provider.d.ts +36 -37
  437. package/dist/types/onchain/constants/addresses.d.ts +5 -6
  438. package/dist/types/onchain/constants/bot-permissions.d.ts +3 -4
  439. package/dist/types/onchain/constants/index.d.ts +2 -2
  440. package/dist/types/onchain/constants/math.d.ts +25 -21
  441. package/dist/types/onchain/constants/networks.d.ts +3 -4
  442. package/dist/types/onchain/constants/periphery.d.ts +3 -4
  443. package/dist/types/onchain/constants/versions.d.ts +5 -6
  444. package/dist/types/onchain/core/AbstractAddressProviderContract.d.ts +2 -3
  445. package/dist/types/onchain/core/AddressProviderV310Contract.d.ts +2 -2
  446. package/dist/types/onchain/core/createAddressProvider.d.ts +3 -4
  447. package/dist/types/onchain/core/errors.d.ts +9 -10
  448. package/dist/types/onchain/core/types.d.ts +4 -5
  449. package/dist/types/onchain/index.d.ts +14 -9
  450. package/dist/types/onchain/market/MarketConfiguratorContract.d.ts +2 -2
  451. package/dist/types/onchain/market/MarketRegister.d.ts +4 -5
  452. package/dist/types/onchain/market/MarketSuite.d.ts +2 -3
  453. package/dist/types/onchain/market/ZapperRegister.d.ts +2 -3
  454. package/dist/types/onchain/market/adapters/abi/actionAbi.d.ts +4 -5
  455. package/dist/types/onchain/market/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +2 -3
  456. package/dist/types/onchain/market/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +2 -3
  457. package/dist/types/onchain/market/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +2 -3
  458. package/dist/types/onchain/market/adapters/abi/adapters/iCamelotV3Adapter.d.ts +2 -3
  459. package/dist/types/onchain/market/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +2 -3
  460. package/dist/types/onchain/market/adapters/abi/adapters/iConvexV1BoosterAdapter.d.ts +2 -3
  461. package/dist/types/onchain/market/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +2 -3
  462. package/dist/types/onchain/market/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +2 -3
  463. package/dist/types/onchain/market/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +2 -3
  464. package/dist/types/onchain/market/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +2 -3
  465. package/dist/types/onchain/market/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +2 -3
  466. package/dist/types/onchain/market/adapters/abi/adapters/iFluidDexAdapter.d.ts +2 -3
  467. package/dist/types/onchain/market/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +2 -3
  468. package/dist/types/onchain/market/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +3 -4
  469. package/dist/types/onchain/market/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +3 -4
  470. package/dist/types/onchain/market/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +3 -4
  471. package/dist/types/onchain/market/adapters/abi/adapters/iLidoV1Adapter.d.ts +2 -3
  472. package/dist/types/onchain/market/adapters/abi/adapters/iMellow4626VaultAdapter.d.ts +2 -3
  473. package/dist/types/onchain/market/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +2 -3
  474. package/dist/types/onchain/market/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +2 -3
  475. package/dist/types/onchain/market/adapters/abi/adapters/iMidasGatewayAdapterV311.d.ts +2 -3
  476. package/dist/types/onchain/market/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.d.ts +2 -3
  477. package/dist/types/onchain/market/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.d.ts +3 -4
  478. package/dist/types/onchain/market/adapters/abi/adapters/iPendleRouterAdapter.d.ts +2 -3
  479. package/dist/types/onchain/market/adapters/abi/adapters/iSecuritizeOnRampAdapterV310.d.ts +2 -3
  480. package/dist/types/onchain/market/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts +2 -3
  481. package/dist/types/onchain/market/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +2 -3
  482. package/dist/types/onchain/market/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +2 -3
  483. package/dist/types/onchain/market/adapters/abi/adapters/iUniswapV2Adapter.d.ts +2 -3
  484. package/dist/types/onchain/market/adapters/abi/adapters/iUniswapV3Adapter.d.ts +2 -3
  485. package/dist/types/onchain/market/adapters/abi/adapters/iUniswapV4Adapter.d.ts +3 -4
  486. package/dist/types/onchain/market/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +3 -4
  487. package/dist/types/onchain/market/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +2 -3
  488. package/dist/types/onchain/market/adapters/abi/adapters/iwstEthv1Adapter.d.ts +2 -3
  489. package/dist/types/onchain/market/adapters/abi/adapters/mellowDvvAdapter.d.ts +2 -3
  490. package/dist/types/onchain/market/adapters/abi/conctructorAbi.d.ts +2 -3
  491. package/dist/types/onchain/market/adapters/abi/conctructorAbiPatterns.d.ts +12 -13
  492. package/dist/types/onchain/market/adapters/abi/midas/iMidasGatewayV311.d.ts +2 -3
  493. package/dist/types/onchain/market/adapters/abi/securitize/iBaseOnRamp.d.ts +2 -3
  494. package/dist/types/onchain/market/adapters/abi/securitize/iSecuritizeOnRamp.d.ts +2 -3
  495. package/dist/types/onchain/market/adapters/abi/securitize/iSecuritizeRedemptionGatewayV311.d.ts +2 -3
  496. package/dist/types/onchain/market/adapters/abi/targetContractAbi.d.ts +29 -30
  497. package/dist/types/onchain/market/adapters/abi/utils.d.ts +7 -8
  498. package/dist/types/onchain/market/adapters/contracts/AbstractAdapter.d.ts +4 -5
  499. package/dist/types/onchain/market/adapters/contracts/AbstractCurveAdapter.d.ts +2 -3
  500. package/dist/types/onchain/market/adapters/contracts/AccountMigratorAdapterContract.d.ts +2 -2
  501. package/dist/types/onchain/market/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +4 -4
  502. package/dist/types/onchain/market/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +2 -2
  503. package/dist/types/onchain/market/adapters/contracts/CamelotV3AdapterContract.d.ts +3 -3
  504. package/dist/types/onchain/market/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +2 -2
  505. package/dist/types/onchain/market/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +2 -2
  506. package/dist/types/onchain/market/adapters/contracts/Curve2AssetsAdapterContract.d.ts +2 -2
  507. package/dist/types/onchain/market/adapters/contracts/Curve3AssetsAdapterContract.d.ts +2 -2
  508. package/dist/types/onchain/market/adapters/contracts/Curve4AssetsAdapterContract.d.ts +2 -2
  509. package/dist/types/onchain/market/adapters/contracts/CurveV1AdapterStETHContract.d.ts +2 -2
  510. package/dist/types/onchain/market/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +2 -2
  511. package/dist/types/onchain/market/adapters/contracts/DaiUsdsAdapterContract.d.ts +2 -2
  512. package/dist/types/onchain/market/adapters/contracts/ERC4626AdapterContract.d.ts +2 -2
  513. package/dist/types/onchain/market/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +2 -2
  514. package/dist/types/onchain/market/adapters/contracts/FluidDexAdapterContract.d.ts +2 -2
  515. package/dist/types/onchain/market/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +2 -2
  516. package/dist/types/onchain/market/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +2 -2
  517. package/dist/types/onchain/market/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +2 -2
  518. package/dist/types/onchain/market/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +2 -2
  519. package/dist/types/onchain/market/adapters/contracts/LidoV1AdapterContract.d.ts +2 -2
  520. package/dist/types/onchain/market/adapters/contracts/MellowClaimerAdapterContract.d.ts +2 -2
  521. package/dist/types/onchain/market/adapters/contracts/MellowDVVAdapterContract.d.ts +2 -2
  522. package/dist/types/onchain/market/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +2 -2
  523. package/dist/types/onchain/market/adapters/contracts/MellowWrapperAdapterContract.d.ts +2 -2
  524. package/dist/types/onchain/market/adapters/contracts/MidasGatewayAdapterContract.d.ts +2 -2
  525. package/dist/types/onchain/market/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +2 -2
  526. package/dist/types/onchain/market/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +2 -2
  527. package/dist/types/onchain/market/adapters/contracts/PendleRouterAdapterContract.d.ts +5 -5
  528. package/dist/types/onchain/market/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +2 -2
  529. package/dist/types/onchain/market/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +2 -2
  530. package/dist/types/onchain/market/adapters/contracts/StakingRewardsAdapterContract.d.ts +2 -2
  531. package/dist/types/onchain/market/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +4 -4
  532. package/dist/types/onchain/market/adapters/contracts/UniswapV2AdapterContract.d.ts +2 -2
  533. package/dist/types/onchain/market/adapters/contracts/UniswapV3AdapterContract.d.ts +2 -2
  534. package/dist/types/onchain/market/adapters/contracts/UniswapV4AdapterContract.d.ts +2 -2
  535. package/dist/types/onchain/market/adapters/contracts/UpshiftVaultAdapterContract.d.ts +2 -2
  536. package/dist/types/onchain/market/adapters/contracts/VelodromeV2AdapterContract.d.ts +2 -2
  537. package/dist/types/onchain/market/adapters/contracts/WstETHV1AdapterContract.d.ts +2 -2
  538. package/dist/types/onchain/market/adapters/createAdapter.d.ts +3 -4
  539. package/dist/types/onchain/market/adapters/legacyAdapterOperations.d.ts +27 -28
  540. package/dist/types/onchain/market/adapters/transferHelpers.d.ts +10 -11
  541. package/dist/types/onchain/market/adapters/transfers.d.ts +2 -3
  542. package/dist/types/onchain/market/adapters/types.d.ts +9 -10
  543. package/dist/types/onchain/market/credit/CreditConfiguratorV310Contract.d.ts +3 -3
  544. package/dist/types/onchain/market/credit/CreditFacadeV310BaseContract.d.ts +2 -2
  545. package/dist/types/onchain/market/credit/CreditFacadeV310Contract.d.ts +3 -3
  546. package/dist/types/onchain/market/credit/CreditManagerV310Contract.d.ts +3 -3
  547. package/dist/types/onchain/market/credit/CreditSuite.d.ts +2 -3
  548. package/dist/types/onchain/market/credit/CreditSuiteStrategy.d.ts +2 -3
  549. package/dist/types/onchain/market/credit/collateralUtils.d.ts +5 -6
  550. package/dist/types/onchain/market/credit/createCreditConfigurator.d.ts +2 -3
  551. package/dist/types/onchain/market/credit/createCreditFacade.d.ts +2 -3
  552. package/dist/types/onchain/market/credit/createCreditManager.d.ts +2 -3
  553. package/dist/types/onchain/market/credit/expectedBalanceDeltas.d.ts +4 -5
  554. package/dist/types/onchain/market/credit/types.d.ts +10 -11
  555. package/dist/types/onchain/market/loss-policy/AliasLossPolicyV310Contract.d.ts +3 -3
  556. package/dist/types/onchain/market/loss-policy/LossPolicyContract.d.ts +2 -2
  557. package/dist/types/onchain/market/loss-policy/constants.d.ts +5 -6
  558. package/dist/types/onchain/market/loss-policy/createLossPolicy.d.ts +2 -3
  559. package/dist/types/onchain/market/loss-policy/types.d.ts +2 -3
  560. package/dist/types/onchain/market/math.d.ts +23 -24
  561. package/dist/types/onchain/market/oracle/PriceFeedAnswerMap.d.ts +2 -3
  562. package/dist/types/onchain/market/oracle/PriceOracleBaseContract.d.ts +2 -3
  563. package/dist/types/onchain/market/oracle/PriceOracleV310Contract.d.ts +2 -2
  564. package/dist/types/onchain/market/oracle/collateralPriceInUnderlying.d.ts +2 -3
  565. package/dist/types/onchain/market/oracle/createPriceOracle.d.ts +2 -3
  566. package/dist/types/onchain/market/oracle/types.d.ts +5 -6
  567. package/dist/types/onchain/market/pool/GaugeContract.d.ts +3 -3
  568. package/dist/types/onchain/market/pool/LinearInterestRateModelContract.d.ts +2 -2
  569. package/dist/types/onchain/market/pool/PoolQuotaKeeperV310Contract.d.ts +2 -2
  570. package/dist/types/onchain/market/pool/PoolSuite.d.ts +2 -3
  571. package/dist/types/onchain/market/pool/PoolV310Contract.d.ts +3 -3
  572. package/dist/types/onchain/market/pool/TumblerContract.d.ts +2 -2
  573. package/dist/types/onchain/market/pool/createInterestRateModel.d.ts +2 -3
  574. package/dist/types/onchain/market/pool/createPool.d.ts +2 -3
  575. package/dist/types/onchain/market/pool/createPoolQuotaKeeper.d.ts +2 -3
  576. package/dist/types/onchain/market/pool/createRateKeeper.d.ts +2 -3
  577. package/dist/types/onchain/market/pool/math.d.ts +6 -7
  578. package/dist/types/onchain/market/pool/types.d.ts +7 -8
  579. package/dist/types/onchain/market/pricefeeds/AbstractLPPriceFeed.d.ts +3 -4
  580. package/dist/types/onchain/market/pricefeeds/AbstractPriceFeed.d.ts +5 -6
  581. package/dist/types/onchain/market/pricefeeds/PriceFeedRef.d.ts +2 -3
  582. package/dist/types/onchain/market/pricefeeds/PriceFeedRegistry.d.ts +2 -3
  583. package/dist/types/onchain/market/pricefeeds/feeds/BalancerStablePriceFeed.d.ts +2 -2
  584. package/dist/types/onchain/market/pricefeeds/feeds/BalancerWeightedPriceFeed.d.ts +2 -2
  585. package/dist/types/onchain/market/pricefeeds/feeds/BoundedPriceFeed.d.ts +2 -2
  586. package/dist/types/onchain/market/pricefeeds/feeds/CompositePriceFeed.d.ts +2 -2
  587. package/dist/types/onchain/market/pricefeeds/feeds/ConstantPriceFeed.d.ts +2 -2
  588. package/dist/types/onchain/market/pricefeeds/feeds/CurveCryptoPriceFeed.d.ts +2 -2
  589. package/dist/types/onchain/market/pricefeeds/feeds/CurveStablePriceFeed.d.ts +2 -2
  590. package/dist/types/onchain/market/pricefeeds/feeds/CurveUSDPriceFeed.d.ts +2 -2
  591. package/dist/types/onchain/market/pricefeeds/feeds/Erc4626PriceFeed.d.ts +2 -2
  592. package/dist/types/onchain/market/pricefeeds/feeds/ExternalPriceFeed.d.ts +2 -2
  593. package/dist/types/onchain/market/pricefeeds/feeds/MellowLRTPriceFeed.d.ts +2 -2
  594. package/dist/types/onchain/market/pricefeeds/feeds/PendleTWAPPTPriceFeed.d.ts +2 -2
  595. package/dist/types/onchain/market/pricefeeds/feeds/PythPriceFeed.d.ts +2 -2
  596. package/dist/types/onchain/market/pricefeeds/feeds/RedstonePriceFeed.d.ts +2 -2
  597. package/dist/types/onchain/market/pricefeeds/feeds/WstETHPriceFeed.d.ts +2 -2
  598. package/dist/types/onchain/market/pricefeeds/feeds/YearnPriceFeed.d.ts +2 -2
  599. package/dist/types/onchain/market/pricefeeds/feeds/ZeroPriceFeed.d.ts +2 -2
  600. package/dist/types/onchain/market/pricefeeds/types.d.ts +5 -6
  601. package/dist/types/onchain/market/pricefeeds/updates/PriceUpdateTx.d.ts +2 -3
  602. package/dist/types/onchain/market/pricefeeds/updates/PriceUpdatesCache.d.ts +3 -4
  603. package/dist/types/onchain/market/pricefeeds/updates/UpdatablePriceFeedRegistry.d.ts +2 -3
  604. package/dist/types/onchain/market/pricefeeds/updates/getRawPriceUpdates.d.ts +2 -3
  605. package/dist/types/onchain/market/pricefeeds/updates/isUpdatablePriceFeed.d.ts +2 -3
  606. package/dist/types/onchain/market/pricefeeds/updates/types.d.ts +8 -9
  607. package/dist/types/onchain/market/pricefeeds/updates/updatableDependencies.d.ts +2 -3
  608. package/dist/types/onchain/market/rwa/RWARegistry.d.ts +3 -4
  609. package/dist/types/onchain/market/rwa/createDegenNFT.d.ts +2 -3
  610. package/dist/types/onchain/market/rwa/midas/MidasDegenNFT.d.ts +2 -2
  611. package/dist/types/onchain/market/rwa/midas/MidasLiquidatorContract.d.ts +2 -2
  612. package/dist/types/onchain/market/rwa/midas/constants.d.ts +4 -5
  613. package/dist/types/onchain/market/rwa/securitize/SecuritizeDegenNFT.d.ts +2 -2
  614. package/dist/types/onchain/market/rwa/securitize/SecuritizeLiquidatorContract.d.ts +2 -2
  615. package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +2 -2
  616. package/dist/types/onchain/market/rwa/securitize/constants.d.ts +4 -5
  617. package/dist/types/onchain/market/rwa/securitize/types.d.ts +5 -6
  618. package/dist/types/onchain/market/rwa/types.d.ts +16 -16
  619. package/dist/types/onchain/market/strategyName.d.ts +2 -3
  620. package/dist/types/onchain/market/types.d.ts +3 -4
  621. package/dist/types/onchain/market/zapper/IERC20ZapperContract.d.ts +2 -2
  622. package/dist/types/onchain/market/zapper/IETHZapperContract.d.ts +2 -2
  623. package/dist/types/onchain/market/zapper/ZapperContract.d.ts +2 -3
  624. package/dist/types/onchain/market/zapper/createZapper.d.ts +2 -3
  625. package/dist/types/onchain/market/zapper/types.d.ts +5 -6
  626. package/dist/types/onchain/opportunities/MultichainOpportunitiesService.d.ts +2 -3
  627. package/dist/types/onchain/opportunities/OpportunitiesService.d.ts +2 -3
  628. package/dist/types/onchain/opportunities/types.d.ts +2 -3
  629. package/dist/types/onchain/options.d.ts +4 -5
  630. package/dist/types/onchain/plugins/BasePlugin.d.ts +2 -3
  631. package/dist/types/onchain/plugins/errors.d.ts +2 -3
  632. package/dist/types/onchain/plugins/types.d.ts +9 -10
  633. package/dist/types/onchain/pools/PoolService.d.ts +2 -3
  634. package/dist/types/onchain/pools/types.d.ts +12 -13
  635. package/dist/types/onchain/positions/MultichainPositionsService.d.ts +2 -3
  636. package/dist/types/onchain/positions/PositionsService.d.ts +3 -4
  637. package/dist/types/onchain/positions/calcBorrowRate.d.ts +3 -4
  638. package/dist/types/onchain/positions/calcHealthFactor.d.ts +3 -4
  639. package/dist/types/onchain/positions/calcLiquidationPrice.d.ts +3 -4
  640. package/dist/types/onchain/positions/calcLiquidationPriceForTarget.d.ts +4 -5
  641. package/dist/types/onchain/positions/calcTimeToLiquidationMs.d.ts +2 -3
  642. package/dist/types/onchain/positions/types.d.ts +9 -10
  643. package/dist/types/onchain/preview/parse/classifyInnerOperations.d.ts +3 -4
  644. package/dist/types/onchain/preview/parse/parseFacadeOperationCalldata.d.ts +2 -3
  645. package/dist/types/onchain/preview/parse/parseOperationCalldata.d.ts +2 -3
  646. package/dist/types/onchain/preview/parse/parsePoolOperationCalldata.d.ts +2 -3
  647. package/dist/types/onchain/preview/parse/parseRWAFactoryOperationCalldata.d.ts +2 -3
  648. package/dist/types/onchain/preview/parse/types-adapters.d.ts +4 -5
  649. package/dist/types/onchain/preview/parse/types-facades.d.ts +20 -21
  650. package/dist/types/onchain/preview/parse/types-pools.d.ts +6 -7
  651. package/dist/types/onchain/preview/parse/types-rwa.d.ts +5 -6
  652. package/dist/types/onchain/preview/parse/types.d.ts +4 -4
  653. package/dist/types/onchain/preview/preview/CreditAccountState.d.ts +5 -5
  654. package/dist/types/onchain/preview/preview/buildDelayedStrategyPositionOperationPreview.d.ts +2 -3
  655. package/dist/types/onchain/preview/preview/detectCloseOrRepay.d.ts +3 -4
  656. package/dist/types/onchain/preview/preview/detectDelayedClaim.d.ts +4 -5
  657. package/dist/types/onchain/preview/preview/detectDelayedOperation.d.ts +3 -4
  658. package/dist/types/onchain/preview/preview/estimateClaimableAt.d.ts +2 -3
  659. package/dist/types/onchain/preview/preview/midasGreenlistsAccount.d.ts +2 -3
  660. package/dist/types/onchain/preview/preview/previewAdjustStrategyPosition.d.ts +2 -3
  661. package/dist/types/onchain/preview/preview/previewExitOrRepayStrategyPosition.d.ts +3 -4
  662. package/dist/types/onchain/preview/preview/previewOpenStrategyPosition.d.ts +2 -2
  663. package/dist/types/onchain/preview/preview/previewOperation.d.ts +3 -4
  664. package/dist/types/onchain/preview/preview/previewPoolPositionOperation.d.ts +2 -3
  665. package/dist/types/onchain/preview/preview/replayInnerOperations.d.ts +4 -5
  666. package/dist/types/onchain/preview/preview/replayMulticall.d.ts +4 -5
  667. package/dist/types/onchain/preview/preview/unwrapNativeCollateral.d.ts +2 -3
  668. package/dist/types/onchain/router/AbstractRouterContract.d.ts +4 -5
  669. package/dist/types/onchain/router/RouterV310Contract.d.ts +2 -2
  670. package/dist/types/onchain/router/createRouter.d.ts +2 -3
  671. package/dist/types/onchain/router/helpers.d.ts +3 -4
  672. package/dist/types/onchain/router/types.d.ts +15 -16
  673. package/dist/types/onchain/types/logger.d.ts +3 -4
  674. package/dist/types/onchain/types/multichain.d.ts +6 -7
  675. package/dist/types/onchain/types/state-human.d.ts +36 -37
  676. package/dist/types/onchain/types/state.d.ts +3 -4
  677. package/dist/types/onchain/types/transactions.d.ts +5 -6
  678. package/dist/types/onchain/utils/AddressMap.d.ts +2 -3
  679. package/dist/types/onchain/utils/AddressSet.d.ts +2 -3
  680. package/dist/types/onchain/utils/AssetsMap.d.ts +2 -3
  681. package/dist/types/onchain/utils/abi-decode.d.ts +4 -5
  682. package/dist/types/onchain/utils/bigint-math.d.ts +2 -3
  683. package/dist/types/onchain/utils/bytes32ToString.d.ts +2 -3
  684. package/dist/types/onchain/utils/childLogger.d.ts +2 -3
  685. package/dist/types/onchain/utils/createRawTx.d.ts +2 -3
  686. package/dist/types/onchain/utils/etherscan.d.ts +4 -5
  687. package/dist/types/onchain/utils/filterDust.d.ts +4 -5
  688. package/dist/types/onchain/utils/formatter.d.ts +17 -17
  689. package/dist/types/onchain/utils/hex.d.ts +2 -3
  690. package/dist/types/onchain/utils/internal/Hooks.d.ts +3 -4
  691. package/dist/types/onchain/utils/isDust.d.ts +3 -4
  692. package/dist/types/onchain/utils/json.d.ts +3 -4
  693. package/dist/types/onchain/utils/mappers.d.ts +5 -6
  694. package/dist/types/onchain/utils/retry.d.ts +3 -4
  695. package/dist/types/onchain/utils/toAddress.d.ts +2 -3
  696. package/dist/types/onchain/utils/trace.d.ts +8 -9
  697. package/dist/types/onchain/utils/type-utils.d.ts +2 -3
  698. package/dist/types/onchain/utils/viem/cast.d.ts +3 -4
  699. package/dist/types/onchain/utils/viem/executeDelegatedMulticalls.d.ts +3 -4
  700. package/dist/types/onchain/utils/viem/executeMulticallBatches.d.ts +4 -5
  701. package/dist/types/onchain/utils/viem/sendRawTx.d.ts +5 -6
  702. package/dist/types/onchain/utils/viem/simulateCall.d.ts +7 -8
  703. package/dist/types/onchain/utils/viem/simulateMulticall.d.ts +4 -5
  704. package/dist/types/onchain/utils/viem/simulateWithPriceUpdates.d.ts +8 -9
  705. package/dist/types/onchain/utils/viem/watchBlocksAsync.d.ts +4 -4
  706. package/dist/types/onchain/utils/zod.d.ts +4 -5
  707. package/dist/types/onchain/validation/bundles/checkAccountQuotas.d.ts +2 -3
  708. package/dist/types/onchain/validation/bundles/checkCollateralFunding.d.ts +4 -5
  709. package/dist/types/onchain/validation/bundles/checkCreditOperation.d.ts +6 -7
  710. package/dist/types/onchain/validation/bundles/checkHealthFactors.d.ts +4 -5
  711. package/dist/types/onchain/validation/bundles/checkIncreaseDebt.d.ts +2 -3
  712. package/dist/types/onchain/validation/bundles/checkIncreaseQuota.d.ts +2 -3
  713. package/dist/types/onchain/validation/bundles/checkLiquidationEligibility.d.ts +7 -7
  714. package/dist/types/onchain/validation/bundles/checkLiquidationFunding.d.ts +5 -5
  715. package/dist/types/onchain/validation/bundles/checkMarket.d.ts +3 -4
  716. package/dist/types/onchain/validation/bundles/checkMidasAccountGreenlist.d.ts +3 -4
  717. package/dist/types/onchain/validation/bundles/checkObtained.d.ts +2 -3
  718. package/dist/types/onchain/validation/bundles/checkPoolFunding.d.ts +3 -4
  719. package/dist/types/onchain/validation/bundles/checkPoolOperation.d.ts +4 -5
  720. package/dist/types/onchain/validation/bundles/checkQuotaUpdates.d.ts +15 -0
  721. package/dist/types/onchain/validation/bundles/checkRWAOpenRequirements.d.ts +3 -4
  722. package/dist/types/onchain/validation/bundles/checkRWAOpening.d.ts +4 -5
  723. package/dist/types/onchain/validation/bundles/checkWallet.d.ts +4 -5
  724. package/dist/types/onchain/validation/bundles/checkWalletAllowance.d.ts +3 -4
  725. package/dist/types/onchain/validation/bundles/checkWalletBalance.d.ts +3 -4
  726. package/dist/types/onchain/validation/bundles/index.d.ts +2 -1
  727. package/dist/types/onchain/validation/checkLiquidation.d.ts +7 -7
  728. package/dist/types/onchain/validation/checkOperation.d.ts +5 -6
  729. package/dist/types/onchain/validation/checkSimulation.d.ts +5 -6
  730. package/dist/types/onchain/validation/checks/checkBorrowLimit.d.ts +3 -4
  731. package/dist/types/onchain/validation/checks/checkCollateralised.d.ts +3 -4
  732. package/dist/types/onchain/validation/checks/checkCreditAccountFrozen.d.ts +3 -4
  733. package/dist/types/onchain/validation/checks/checkCreditManagerPaused.d.ts +3 -4
  734. package/dist/types/onchain/validation/checks/checkDebtLimits.d.ts +3 -4
  735. package/dist/types/onchain/validation/checks/checkEmergencyLiquidator.d.ts +3 -4
  736. package/dist/types/onchain/validation/checks/checkForbiddenToken.d.ts +3 -4
  737. package/dist/types/onchain/validation/checks/checkLeverage.d.ts +3 -4
  738. package/dist/types/onchain/validation/checks/checkLiquidatorEligible.d.ts +3 -4
  739. package/dist/types/onchain/validation/checks/checkMarketExpired.d.ts +3 -4
  740. package/dist/types/onchain/validation/checks/checkMaxQuota.d.ts +15 -0
  741. package/dist/types/onchain/validation/checks/checkPartiallyLiquidatable.d.ts +16 -0
  742. package/dist/types/onchain/validation/checks/checkPoolLiquidity.d.ts +3 -4
  743. package/dist/types/onchain/validation/checks/checkPoolPaused.d.ts +3 -4
  744. package/dist/types/onchain/validation/checks/checkPoolSunset.d.ts +3 -4
  745. package/dist/types/onchain/validation/checks/checkQuotaActive.d.ts +12 -0
  746. package/dist/types/onchain/validation/checks/checkQuotaChange.d.ts +16 -0
  747. package/dist/types/onchain/validation/checks/checkQuotaCount.d.ts +3 -4
  748. package/dist/types/onchain/validation/checks/checkQuotaLimit.d.ts +3 -4
  749. package/dist/types/onchain/validation/checks/checkReservePriceLimited.d.ts +3 -4
  750. package/dist/types/onchain/validation/checks/index.d.ts +5 -1
  751. package/dist/types/onchain/validation/helpers/amount.d.ts +2 -3
  752. package/dist/types/onchain/validation/helpers/health-factor-limits.d.ts +5 -6
  753. package/dist/types/onchain/validation/helpers/token.d.ts +3 -4
  754. package/dist/types/onchain/validation/index.d.ts +6 -1
  755. package/dist/types/onchain/validation/raise.d.ts +5 -6
  756. package/dist/types/permissionless/api/GearboxPermissionless.d.ts +2 -3
  757. package/dist/types/permissionless/api/chains/ChainsNamespace.d.ts +2 -3
  758. package/dist/types/permissionless/api/chains/schemas.d.ts +5 -6
  759. package/dist/types/permissionless/api/chains/types.d.ts +6 -7
  760. package/dist/types/permissionless/api/deploy/PermissionlessDeploy.d.ts +4 -5
  761. package/dist/types/permissionless/api/deploy/effective-staleness.d.ts +2 -3
  762. package/dist/types/permissionless/api/deploy/types.d.ts +6 -7
  763. package/dist/types/permissionless/api/errors.d.ts +6 -7
  764. package/dist/types/permissionless/api/oracles/PermissionlessOracles.d.ts +4 -5
  765. package/dist/types/permissionless/api/oracles/schemas.d.ts +5 -6
  766. package/dist/types/permissionless/api/oracles/types.d.ts +5 -6
  767. package/dist/types/permissionless/api/schemas.d.ts +4 -5
  768. package/dist/types/permissionless/api/transactions/InstanceOwnerTransactions.d.ts +2 -3
  769. package/dist/types/permissionless/api/transactions/lp-price-feeds.d.ts +3 -4
  770. package/dist/types/permissionless/api/transactions/types.d.ts +7 -8
  771. package/dist/types/permissionless/api/types.d.ts +2 -3
  772. package/dist/types/permissionless/bindings/address-provider.d.ts +2 -3
  773. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +2 -2
  774. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +2 -2
  775. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +2 -2
  776. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +4 -4
  777. package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +2 -3
  778. package/dist/types/permissionless/bindings/factory/credit-factory.d.ts +2 -2
  779. package/dist/types/permissionless/bindings/factory/loss-policy-factory.d.ts +2 -2
  780. package/dist/types/permissionless/bindings/factory/pool-factory.d.ts +2 -2
  781. package/dist/types/permissionless/bindings/factory/price-oracle-factory.d.ts +2 -2
  782. package/dist/types/permissionless/bindings/factory/rate-keeper-factory.d.ts +2 -2
  783. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +2 -2
  784. package/dist/types/permissionless/bindings/governance/governor.d.ts +2 -2
  785. package/dist/types/permissionless/bindings/governance/timelock.d.ts +2 -3
  786. package/dist/types/permissionless/bindings/governance/types.d.ts +7 -8
  787. package/dist/types/permissionless/bindings/instance-manager.d.ts +2 -2
  788. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +2 -2
  789. package/dist/types/permissionless/bindings/market-configurator.d.ts +2 -2
  790. package/dist/types/permissionless/bindings/price-feed-store.d.ts +2 -2
  791. package/dist/types/permissionless/bindings/pricefeeds/balancer-stable.d.ts +2 -3
  792. package/dist/types/permissionless/bindings/pricefeeds/balancer-weighted.d.ts +2 -3
  793. package/dist/types/permissionless/bindings/pricefeeds/bounded.d.ts +2 -3
  794. package/dist/types/permissionless/bindings/pricefeeds/composite.d.ts +2 -3
  795. package/dist/types/permissionless/bindings/pricefeeds/constant.d.ts +2 -3
  796. package/dist/types/permissionless/bindings/pricefeeds/curve-crypto.d.ts +2 -3
  797. package/dist/types/permissionless/bindings/pricefeeds/curve-stable.d.ts +2 -3
  798. package/dist/types/permissionless/bindings/pricefeeds/curve-twap.d.ts +2 -3
  799. package/dist/types/permissionless/bindings/pricefeeds/curve-usd.d.ts +2 -3
  800. package/dist/types/permissionless/bindings/pricefeeds/erc4626.d.ts +2 -3
  801. package/dist/types/permissionless/bindings/pricefeeds/external.d.ts +2 -3
  802. package/dist/types/permissionless/bindings/pricefeeds/index.d.ts +2 -3
  803. package/dist/types/permissionless/bindings/pricefeeds/kodiak.d.ts +2 -3
  804. package/dist/types/permissionless/bindings/pricefeeds/mellow-lrt.d.ts +2 -3
  805. package/dist/types/permissionless/bindings/pricefeeds/pendle-pt-twap.d.ts +2 -3
  806. package/dist/types/permissionless/bindings/pricefeeds/pyth.d.ts +2 -3
  807. package/dist/types/permissionless/bindings/pricefeeds/redstone.d.ts +2 -3
  808. package/dist/types/permissionless/bindings/pricefeeds/wsteth.d.ts +2 -3
  809. package/dist/types/permissionless/bindings/pricefeeds/zero.d.ts +2 -3
  810. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +2 -2
  811. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +2 -2
  812. package/dist/types/permissionless/bindings/types.d.ts +17 -18
  813. package/dist/types/permissionless/chains/archive-transport.d.ts +3 -4
  814. package/dist/types/permissionless/chains/chunked-log-transport.d.ts +2 -2
  815. package/dist/types/permissionless/core/auditor.d.ts +2 -3
  816. package/dist/types/permissionless/core/bytecode.d.ts +5 -6
  817. package/dist/types/permissionless/core/pricefeed-builder.d.ts +6 -7
  818. package/dist/types/permissionless/core/pricefeed.d.ts +2 -3
  819. package/dist/types/permissionless/core/proposal.d.ts +5 -6
  820. package/dist/types/permissionless/core/raw-tx.d.ts +2 -3
  821. package/dist/types/permissionless/deployment/addresses.d.ts +2 -3
  822. package/dist/types/permissionless/deployment/mainnet.d.ts +6 -7
  823. package/dist/types/permissionless/plugins/irm/constructor-params-abi.d.ts +8 -8
  824. package/dist/types/permissionless/plugins/loss-policies/constructor-params-abi.d.ts +8 -8
  825. package/dist/types/permissionless/plugins/rate-keepers/constructor-params-abi.d.ts +9 -9
  826. package/dist/types/permissionless/utils/abi-encoder.d.ts +4 -5
  827. package/dist/types/permissionless/utils/block-utils.d.ts +2 -3
  828. package/dist/types/permissionless/utils/create2.d.ts +9 -10
  829. package/dist/types/permissionless/utils/format.d.ts +7 -8
  830. package/dist/types/permissionless/utils/governance/batch.d.ts +5 -6
  831. package/dist/types/permissionless/utils/governance/timelock-txs.d.ts +2 -3
  832. package/dist/types/permissionless/utils/governance/types.d.ts +3 -4
  833. package/dist/types/permissionless/utils/literals.d.ts +8 -9
  834. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +2 -3
  835. package/dist/types/permissionless/utils/price-update/get-prices.d.ts +2 -3
  836. package/dist/types/permissionless/utils/price-update/get-updatable-feeds.d.ts +3 -4
  837. package/dist/types/permissionless/utils/signature.d.ts +2 -3
  838. package/dist/types/plugins/accounts/AccountsPlugin.d.ts +3 -4
  839. package/dist/types/plugins/accounts-counter/AccountsCounterPlugin.d.ts +3 -4
  840. package/dist/types/plugins/bots/BotsPlugin.d.ts +2 -3
  841. package/dist/types/plugins/bots/PartialLiquidationBotV310Contract.d.ts +3 -3
  842. package/dist/types/plugins/bots/abi/iPartialLiquidationBotV310.d.ts +2 -3
  843. package/dist/types/plugins/bots/config.d.ts +6 -7
  844. package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +2 -3
  845. package/dist/types/plugins/bots/types.d.ts +11 -12
  846. package/dist/types/sdk/AbstractNamespace.d.ts +3 -4
  847. package/dist/types/sdk/GearboxSDK.d.ts +3 -4
  848. package/dist/types/sdk/analytics/AnalyticsNamespace.d.ts +2 -3
  849. package/dist/types/sdk/analytics/types.d.ts +3 -4
  850. package/dist/types/sdk/errors/AllSourcesFailedError.d.ts +2 -3
  851. package/dist/types/sdk/errors/MissingSourceError.d.ts +2 -3
  852. package/dist/types/sdk/errors/NoSourceServedError.d.ts +2 -3
  853. package/dist/types/sdk/errors/SourceChainMismatchError.d.ts +3 -4
  854. package/dist/types/sdk/errors/SourceUnavailableError.d.ts +2 -3
  855. package/dist/types/sdk/errors/assertSameChains.d.ts +2 -3
  856. package/dist/types/sdk/errors/everyChainFailed.d.ts +2 -3
  857. package/dist/types/sdk/execute/ExecuteApi.d.ts +2 -3
  858. package/dist/types/sdk/execute/types.d.ts +9 -10
  859. package/dist/types/sdk/index.d.ts +2 -2
  860. package/dist/types/sdk/liquidations/LiquidationsNamespace.d.ts +11 -4
  861. package/dist/types/sdk/liquidations/types.d.ts +24 -9
  862. package/dist/types/sdk/opportunities/OpportunitiesNamespace.d.ts +2 -3
  863. package/dist/types/sdk/opportunities/types.d.ts +9 -10
  864. package/dist/types/sdk/positions/PositionsNamespace.d.ts +2 -3
  865. package/dist/types/sdk/positions/mergePositionList.d.ts +2 -3
  866. package/dist/types/sdk/positions/types.d.ts +9 -10
  867. package/dist/types/sdk/prepare/PrepareApi.d.ts +14 -7
  868. package/dist/types/sdk/prepare/index.d.ts +2 -2
  869. package/dist/types/sdk/prepare/types.d.ts +72 -33
  870. package/dist/types/sdk/prepare/withdrawable-collaterals.d.ts +2 -3
  871. package/dist/types/sdk/preview/PreviewNamespace.d.ts +2 -3
  872. package/dist/types/sdk/preview/types.d.ts +4 -5
  873. package/dist/types/sdk/rewards/RewardsNamespace.d.ts +2 -3
  874. package/dist/types/sdk/rewards/errors.d.ts +3 -4
  875. package/dist/types/sdk/rewards/helpers.d.ts +7 -8
  876. package/dist/types/sdk/rewards/merkl-api.d.ts +6 -6
  877. package/dist/types/sdk/rewards/toMerklRewards.d.ts +2 -3
  878. package/dist/types/sdk/rewards/toTurtleRewards.d.ts +2 -3
  879. package/dist/types/sdk/rewards/turtle-api.d.ts +7 -8
  880. package/dist/types/sdk/rewards/types.d.ts +5 -6
  881. package/dist/types/sdk/types.d.ts +13 -14
  882. package/dist/types/sdk/utils/filterResponse.d.ts +2 -3
  883. package/dist/types/sdk/utils/mergeChains.d.ts +4 -5
  884. package/dist/types/sdk/utils/types.d.ts +5 -5
  885. package/package.json +15 -15
@@ -0,0 +1,148 @@
1
+ import { BigIntMath } from "../../utils/bigint-math.js";
2
+ import { MAX_QUOTA_MULTIPLIER, MIN_INT96, PERCENTAGE_FACTOR } from "../../constants/math.js";
3
+ import { toToken } from "../../validation/helpers/token.js";
4
+ import { checkForbiddenToken } from "../../validation/checks/checkForbiddenToken.js";
5
+ import { checkMaxQuota } from "../../validation/checks/checkMaxQuota.js";
6
+ import { checkQuotaActive } from "../../validation/checks/checkQuotaActive.js";
7
+ import { checkQuotaChange } from "../../validation/checks/checkQuotaChange.js";
8
+ import { checkQuotaLimit } from "../../validation/checks/checkQuotaLimit.js";
9
+ import { raise } from "../../validation/raise.js";
10
+ import "../../validation/index.js";
11
+ import { eq } from "./utils/common.js";
12
+ import { assertQuotaAvailable } from "./guards.js";
13
+ import { roundUpQuota } from "../quota-utils.js";
14
+ import { resizedQuota } from "./utils/quotas-for-update.js";
15
+ //#region src/onchain/accounts/intents/resolveQuotaUpdate.ts
16
+ /**
17
+ * Synchronous calculation from the SDK's loaded market state; no RPC reads.
18
+ * @throws IntentPreviewError when quota validation rejects the change.
19
+ *
20
+ * The single `updateQuota` an `UPDATE_QUOTA` intent sends, checked against
21
+ * what the facade and the quota keeper would revert on.
22
+ *
23
+ * A target is taken as named and refused when the market cannot meet it. A
24
+ * sized quota is held to what the market can give instead: an increase is capped
25
+ * at the pool's available quota, and `minQuota` accepts a partial fill so long as the
26
+ * token stays enabled.
27
+ */
28
+ function resolveQuotaUpdate(props) {
29
+ const { sdk, creditAccount, quotaReserve, limits } = props;
30
+ const suite = sdk.marketRegister.findCreditManager(creditAccount.creditManager);
31
+ const { market } = suite;
32
+ const { pqk } = market.pool;
33
+ const tokenLc = props.token.toLowerCase();
34
+ const token = toToken(sdk, tokenLc);
35
+ const underlying = toToken(sdk, market.pool.underlying);
36
+ const current = creditAccount.tokens.find((t) => eq(t.token, tokenLc))?.quota ?? 0n;
37
+ raise(checkQuotaActive({
38
+ token,
39
+ isActive: pqk.quotas.get(tokenLc)?.isActive ?? false
40
+ }), `updateQuota: ${tokenLc} has no active quota`);
41
+ let resolved;
42
+ if (props.quota === void 0) {
43
+ const price = (from, to, amount) => market.priceOracle.safeConvert(from, to, amount).value;
44
+ resolved = sizedChange(current, resizedQuota({
45
+ token: tokenLc,
46
+ assets: creditAccount.tokens,
47
+ initialQuotas: creditAccount.tokens,
48
+ quotaReserve,
49
+ underlyingToken: market.pool.underlying,
50
+ liquidationThresholds: suite.creditManager.liquidationThresholds,
51
+ quotas: pqk.quotas,
52
+ maxDebt: suite.creditFacade.maxDebt,
53
+ convert: price
54
+ }), tokenLc, roundUpQuota(pqk.quotaAvailable(tokenLc)));
55
+ if (resolved.change === 0n && resolved.requested > current) raise(checkQuotaLimit({
56
+ token,
57
+ requested: resolved.requested - current,
58
+ available: 0n,
59
+ ...limits,
60
+ underlying
61
+ }), `updateQuota: the pool has no quota left for ${tokenLc}`);
62
+ } else resolved = targetChange(current, props.quota);
63
+ const { requested, change, resulting } = resolved;
64
+ raise(checkQuotaChange({
65
+ token,
66
+ current,
67
+ requested,
68
+ change,
69
+ underlying
70
+ }), `updateQuota: ${requested} rounds to the current ${current}`);
71
+ if (change > 0n) raise(checkForbiddenToken({
72
+ token,
73
+ isForbidden: suite.isForbidden(tokenLc)
74
+ }), `updateQuota: ${tokenLc} is forbidden, its quota cannot grow`);
75
+ if (props.quota !== void 0) {
76
+ const maxQuota = MAX_QUOTA_MULTIPLIER * suite.creditFacade.maxDebt;
77
+ raise(checkMaxQuota({
78
+ token,
79
+ requested: resulting,
80
+ maxQuota,
81
+ underlying
82
+ }), `updateQuota: ${resulting} exceeds maxQuota ${maxQuota}`);
83
+ if (change > 0n) assertQuotaAvailable(sdk, market, [{
84
+ token: tokenLc,
85
+ balance: change
86
+ }], limits);
87
+ }
88
+ const entry = {
89
+ token: tokenLc,
90
+ balance: change
91
+ };
92
+ return {
93
+ update: {
94
+ desiredQuota: { [tokenLc]: {
95
+ token: tokenLc,
96
+ balance: resulting
97
+ } },
98
+ quotaIncrease: change > 0n ? [entry] : [],
99
+ quotaDecrease: change < 0n ? [entry] : []
100
+ },
101
+ minQuota: [{
102
+ token: tokenLc,
103
+ balance: resolved.minQuota
104
+ }]
105
+ };
106
+ }
107
+ function targetChange(current, quota) {
108
+ const target = BigIntMath.max(quota, 0n);
109
+ if (target === 0n) return {
110
+ requested: 0n,
111
+ change: current > 0n ? MIN_INT96 : 0n,
112
+ resulting: 0n,
113
+ minQuota: 0n
114
+ };
115
+ const change = roundUpQuota(target - current);
116
+ return {
117
+ requested: target,
118
+ change,
119
+ resulting: current + change,
120
+ minQuota: current + change
121
+ };
122
+ }
123
+ /**
124
+ * Reads the one token's change back out of {@link resizedQuota}, then caps an
125
+ * increase at `available`.
126
+ */
127
+ function sizedChange(current, sized, token, available) {
128
+ const requested = sized.desiredQuota[token]?.balance ?? current;
129
+ const decrease = sized.quotaDecrease.find((a) => a.token === token)?.balance;
130
+ if (decrease !== void 0) {
131
+ const resulting = decrease === -39614081257132168796771975168n ? 0n : current + decrease;
132
+ return {
133
+ requested,
134
+ change: decrease,
135
+ resulting,
136
+ minQuota: resulting
137
+ };
138
+ }
139
+ const increase = BigIntMath.min(sized.quotaIncrease.find((a) => a.token === token)?.balance ?? 0n, available);
140
+ return {
141
+ requested,
142
+ change: increase,
143
+ resulting: current + increase,
144
+ minQuota: increase > 0n ? BigIntMath.max(current, PERCENTAGE_FACTOR) : current
145
+ };
146
+ }
147
+ //#endregion
148
+ export { resolveQuotaUpdate };
@@ -340,6 +340,7 @@ function buildMockSdk(args) {
340
340
  } }
341
341
  },
342
342
  marketRegister: {
343
+ creditManagers: [creditManagerSuite],
343
344
  findByCreditManager: vi.fn(() => market),
344
345
  findCreditManager: vi.fn(() => creditManagerSuite)
345
346
  },
@@ -0,0 +1,92 @@
1
+ import { MIN_INT96 } from "../../../constants/math.js";
2
+ import { ANY, buildFixtureCreditAccount, buildMarketSdk, caToken, valueInUnd } from "../testing/market.js";
3
+ //#region src/onchain/accounts/intents/tests/update-quota.fixtures.ts
4
+ /**
5
+ * Start update-quota fixtures.
6
+ *
7
+ * The account holds 1000 UND and 2000 ANY (another 1000 UND) against 500 UND of
8
+ * debt. Nothing moves, so every case is a single `changeQuota` and the totals
9
+ * stand still.
10
+ */
11
+ const BASE_UND = 100000000000n;
12
+ const BALANCE_ANY = 2000000000000000000000n;
13
+ const DEBT = 50000000000n;
14
+ /** What 2000 ANY is sized to: 1000 UND × 92%. */
15
+ const SIZED_ANY = 92000000000n;
16
+ const TOTAL_VALUE = BASE_UND + valueInUnd(BALANCE_ANY, ANY);
17
+ /** Omitted quota on an unquoted balance: bought at balance × LT. */
18
+ const case_auto_increase = {
19
+ intent: {
20
+ type: "UPDATE_QUOTA",
21
+ token: ANY
22
+ },
23
+ current: 0n,
24
+ ops: [{
25
+ type: "changeQuota",
26
+ quotaIncrease: [{
27
+ token: ANY,
28
+ balance: SIZED_ANY
29
+ }],
30
+ quotaDecrease: [],
31
+ desiredQuota: {}
32
+ }],
33
+ quotaAfter: SIZED_ANY,
34
+ minQuota: 10000n
35
+ };
36
+ /** A lower target: the quota drops to exactly it. */
37
+ const case_target_decrease = {
38
+ intent: {
39
+ type: "UPDATE_QUOTA",
40
+ token: ANY,
41
+ quota: 40000000000n
42
+ },
43
+ current: SIZED_ANY,
44
+ ops: [{
45
+ type: "changeQuota",
46
+ quotaIncrease: [],
47
+ quotaDecrease: [{
48
+ token: ANY,
49
+ balance: 40000000000n - SIZED_ANY
50
+ }],
51
+ desiredQuota: {}
52
+ }],
53
+ quotaAfter: 40000000000n,
54
+ minQuota: 40000000000n
55
+ };
56
+ /** Target 0: the quota is reset with the sentinel. */
57
+ const case_target_disable = {
58
+ intent: {
59
+ type: "UPDATE_QUOTA",
60
+ token: ANY,
61
+ quota: 0n
62
+ },
63
+ current: SIZED_ANY,
64
+ ops: [{
65
+ type: "changeQuota",
66
+ quotaIncrease: [],
67
+ quotaDecrease: [{
68
+ token: ANY,
69
+ balance: MIN_INT96
70
+ }],
71
+ desiredQuota: {}
72
+ }],
73
+ quotaAfter: 0n,
74
+ minQuota: 0n
75
+ };
76
+ function buildUpdateQuotaSdk(c) {
77
+ return buildMarketSdk(c.extras);
78
+ }
79
+ function buildUpdateQuotaProps(c, sdk) {
80
+ return {
81
+ intent: c.intent,
82
+ creditAccount: buildFixtureCreditAccount({
83
+ totalDebt: c.totalDebt ?? 50000000000n,
84
+ tokens: [...c.others ?? [caToken("0x3333333333333333333333333333333333333333", 100000000000n)], caToken(ANY, BALANCE_ANY, c.current)]
85
+ }),
86
+ sdk,
87
+ quotaReserve: void 0,
88
+ slippage: void 0
89
+ };
90
+ }
91
+ //#endregion
92
+ export { BALANCE_ANY, BASE_UND, DEBT, SIZED_ANY, TOTAL_VALUE, buildUpdateQuotaProps, buildUpdateQuotaSdk, case_auto_increase, case_target_decrease, case_target_disable };
@@ -6,6 +6,6 @@ import { calcBorrowedAmountPlusInterestAndFees } from "./borrowed-amount-plus-in
6
6
  import { fetchCreditAccountSlice, toCreditAccountSlice, unopenedAccountSlice } from "./credit-account-slice.js";
7
7
  import { OperationLedger } from "./ledger.js";
8
8
  import { collectPriceImpact, lossRate, startProbe } from "./price-impact.js";
9
- import { clearedQuotas, getQuotasForUpdate, quotaIncreaseLimit, quotasAfterUpdate, withDirectTransferQuota } from "./quotas-for-update.js";
9
+ import { clearedQuotas, getQuotasForUpdate, quotaIncreaseLimit, quotasAfterUpdate, resizedQuota, withDirectTransferQuota } from "./quotas-for-update.js";
10
10
  import { createOraclePaths, createRouterPaths } from "./router-path.js";
11
- export { OperationLedger, adjustStateToSnapshot, assembleOperationCalls, calcBorrowedAmountPlusInterestAndFees, clearedQuotas, collectPriceImpact, createOraclePaths, createRouterPaths, eq, fetchCreditAccountSlice, getQuotasForUpdate, isPhantomToken, isRedemptionPhantomToken, lossRate, pickFattestNonPhantomToken, quotaIncreaseLimit, quotasAfterUpdate, rankAccountTokens, resolveCreditManager, startProbe, toCreditAccountSlice, toRouterCaSlice, toTargetDecimals, unopenedAccountSlice, withDirectTransferQuota };
11
+ export { OperationLedger, adjustStateToSnapshot, assembleOperationCalls, calcBorrowedAmountPlusInterestAndFees, clearedQuotas, collectPriceImpact, createOraclePaths, createRouterPaths, eq, fetchCreditAccountSlice, getQuotasForUpdate, isPhantomToken, isRedemptionPhantomToken, lossRate, pickFattestNonPhantomToken, quotaIncreaseLimit, quotasAfterUpdate, rankAccountTokens, resizedQuota, resolveCreditManager, startProbe, toCreditAccountSlice, toRouterCaSlice, toTargetDecimals, unopenedAccountSlice, withDirectTransferQuota };
@@ -4,17 +4,28 @@ import { TypedObjectUtils } from "../../../utils/mappers.js";
4
4
  import "../../../constants/index.js";
5
5
  import { DIRECT_TRANSFERS_QUOTA, calcQuotaUpdate, maxAmountForQuota, roundUpQuota } from "../../quota-utils.js";
6
6
  //#region src/onchain/accounts/intents/utils/quotas-for-update.ts
7
- function getQuotasForUpdate({ assetsBefore, assetsAfter, initialQuotas, quotaReserve = 0, liquidationThresholds: liquidationThresholdsMap, quotas: quotasMap, maxDebt, underlyingToken, convert }) {
7
+ function getQuotasForUpdate(props) {
8
+ const assetsAfterLc = lowercased(props.assetsAfter);
9
+ const { spend, obtain } = collectQuotaChange(lowercased(props.assetsBefore), assetsAfterLc);
10
+ return sizeQuotas(assetsAfterLc, spend, obtain, props);
11
+ }
12
+ /**
13
+ * The update that sizes one token's quota to the balance the account holds of
14
+ * it, whatever moved.
15
+ *
16
+ * Sits beside {@link getQuotasForUpdate} because that one only resizes what an
17
+ * operation spent or obtained, and an operation that changes a quota alone
18
+ * moves no balance at all.
19
+ */
20
+ function resizedQuota(props) {
21
+ const entry = [{
22
+ token: props.token.toLowerCase(),
23
+ balance: 0n
24
+ }];
25
+ return sizeQuotas(lowercased(props.assets), entry, entry, props);
26
+ }
27
+ function sizeQuotas(assetsAfterLc, spend, obtain, { initialQuotas, quotaReserve = 0, liquidationThresholds: liquidationThresholdsMap, quotas: quotasMap, maxDebt, underlyingToken, convert }) {
8
28
  const underlyingTokenLc = underlyingToken.toLowerCase();
9
- const assetsBeforeLc = assetsBefore.map((a) => ({
10
- ...a,
11
- token: a.token.toLowerCase()
12
- }));
13
- const assetsAfterLc = assetsAfter.map((a) => ({
14
- ...a,
15
- token: a.token.toLowerCase()
16
- }));
17
- const { spend, obtain } = collectQuotaChange(assetsBeforeLc, assetsAfterLc);
18
29
  const initialQuotasLc = initialQuotas.map((a) => {
19
30
  const tokenLc = a.token.toLowerCase();
20
31
  return [tokenLc, {
@@ -130,6 +141,12 @@ function quotasAfterUpdate(initialQuotas, desiredQuota) {
130
141
  else delete after[token];
131
142
  return after;
132
143
  }
144
+ function lowercased(assets) {
145
+ return assets.map((a) => ({
146
+ ...a,
147
+ token: a.token.toLowerCase()
148
+ }));
149
+ }
133
150
  function collectQuotaChange(assetsBefore, assetsAfter) {
134
151
  const before = new Map(assetsBefore.map((a) => [a.token, a.balance]));
135
152
  const after = new Map(assetsAfter.map((a) => [a.token, a.balance]));
@@ -233,4 +250,4 @@ function quotaIncreaseLimit({ suite, token, balance, initialQuotas, quotaReserve
233
250
  return { value: increaseResult.value - (purchaseValue.value >= excessTokenIncrease ? 1n : 0n) };
234
251
  }
235
252
  //#endregion
236
- export { clearedQuotas, getQuotasForUpdate, quotaIncreaseLimit, quotasAfterUpdate, withDirectTransferQuota };
253
+ export { clearedQuotas, getQuotasForUpdate, quotaIncreaseLimit, quotasAfterUpdate, resizedQuota, withDirectTransferQuota };
@@ -22,6 +22,7 @@ import "../../market/index.js";
22
22
  import { LIQUIDATION_APPROVAL_BUFFER, LIQUIDATION_COMPRESSOR_V313_ADDRESS } from "./constants.js";
23
23
  import { optimalPartialLiquidation, partialLiquidationParams } from "./partialLiquidation.js";
24
24
  import { skipLiquidatableAccount } from "./skipLiquidatableAccount.js";
25
+ import { isAddressEqual } from "viem";
25
26
  //#region src/onchain/accounts/liquidations/LiquidationsService.ts
26
27
  /**
27
28
  * Service for discovering liquidatable credit accounts and previewing manual
@@ -70,7 +71,8 @@ var LiquidationsService = class extends SDKConstruct {
70
71
  isCreditAccountFrozen: data.isCreditAccountFrozen,
71
72
  kycProtocol: data.kycProtocol || void 0,
72
73
  kycToken: hexEq(data.kycToken, "0x0000000000000000000000000000000000000000") ? void 0 : this.sdk.tokensMeta.getToken(data.kycToken),
73
- approve: this.#liquidationApproval(data, suite, priceOracle)
74
+ approve: this.#liquidationApproval(data, suite, priceOracle),
75
+ isPartial: false
74
76
  };
75
77
  }
76
78
  /**
@@ -88,41 +90,127 @@ var LiquidationsService = class extends SDKConstruct {
88
90
  };
89
91
  }
90
92
  /**
93
+ * Builds the transaction that fully liquidates a credit account, repaying
94
+ * the debt by swapping the account's own collateral through the router.
95
+ * The underlying left after the swaps is sent to `to`.
96
+ **/
97
+ async fullyLiquidate(props) {
98
+ const { account, to, slippage = 50n, keepAssets, ignoreReservePrices, applyLossPolicy, debtOnly } = props;
99
+ const cm = this.sdk.marketRegister.findCreditManager(account.creditManager);
100
+ const routerCloseResult = await this.sdk.routerFor(account).findBestClosePath({
101
+ creditAccount: account,
102
+ creditManager: cm.creditManager,
103
+ slippage,
104
+ keepAssets,
105
+ debtOnly
106
+ });
107
+ const calls = await this.sdk.accounts.prependPriceUpdates(account.creditManager, routerCloseResult.calls, account, { ignoreReservePrices });
108
+ let lossPolicyData;
109
+ if (applyLossPolicy) {
110
+ lossPolicyData = await cm.market.lossPolicy.getLiquidationData(account.creditAccount);
111
+ this.logger?.debug({ lossPolicyData }, "loss policy data");
112
+ }
113
+ return {
114
+ tx: cm.creditFacade.liquidateCreditAccount(account.creditAccount, to, calls, lossPolicyData),
115
+ calls,
116
+ routerCloseResult
117
+ };
118
+ }
119
+ /**
120
+ * Details of a partial liquidation of a credit account, in the shape of a
121
+ * full one: what the liquidator pays, what it receives and what it must
122
+ * approve, plus {@link LiquidationDetails.isPartiallyLiquidatable}.
123
+ *
124
+ * A local estimate, not onchain read: no price feed updates are applied, so
125
+ * `ignoreReservePrices` has no effect here.
126
+ * Parameters left out of `props` are derived from current state.
127
+ *
128
+ * @throws For markets with a wrapped RWA underlying (Securitize), for a
129
+ * `tokenOut` that cannot be seized, and when no `tokenOut` can be picked.
130
+ **/
131
+ async getPartialLiquidationDetails(props) {
132
+ const { creditAccount, liquidator, blockNumber } = props;
133
+ const ca = await this.#getCreditAccountData(creditAccount, blockNumber);
134
+ const suite = this.sdk.marketRegister.findCreditManager(ca.creditManager);
135
+ const { priceOracle } = suite.market;
136
+ const { underlying } = suite;
137
+ const { tokenOut, repaidAmount, isPartiallyLiquidatable } = this.#getPartialLiquidationParams(ca, suite, props);
138
+ const { liquidationDiscount } = suite.liquidationFees();
139
+ const seizedValue = repaidAmount * PERCENTAGE_FACTOR / BigInt(liquidationDiscount);
140
+ const seizedAmount = priceOracle.convert(underlying, tokenOut, repaidAmount) * PERCENTAGE_FACTOR / BigInt(liquidationDiscount);
141
+ const nft = await suite.degenNFT();
142
+ let isLiquidatorEligible = !nft;
143
+ if (nft && liquidator) {
144
+ const requirements = await nft.getOpenAccountRequirements(liquidator, { tokenOutAddress: tokenOut });
145
+ isLiquidatorEligible = nft.isRegistered(requirements);
146
+ }
147
+ const [kycToken] = nft && !isLiquidatorEligible ? await nft.getTokens() : [];
148
+ return {
149
+ ...this.#buildAccount(ca, suite),
150
+ repaymentAmount: priceOracle.toTokenAmount(underlying, repaidAmount),
151
+ estimatedProfit: priceOracle.toTokenAmount(underlying, seizedValue - repaidAmount),
152
+ isDelayed: false,
153
+ receivedAssets: [{
154
+ isDelayed: false,
155
+ ...priceOracle.toTokenAmount(tokenOut, seizedAmount),
156
+ token: this.sdk.tokensMeta.mustGetToken(this.sdk.tokensMeta.depositedToken(tokenOut))
157
+ }],
158
+ isLiquidatorEligible,
159
+ kycProtocol: isLiquidatorEligible ? void 0 : nft?.protocol,
160
+ kycToken: kycToken ? this.sdk.tokensMeta.getToken(kycToken) : void 0,
161
+ isCreditAccountFrozen: false,
162
+ approve: repaidAmount === 0n ? void 0 : {
163
+ spender: suite.creditManager.address,
164
+ ...priceOracle.toTokenAmount(underlying, repaidAmount * (PERCENTAGE_FACTOR + LIQUIDATION_APPROVAL_BUFFER) / PERCENTAGE_FACTOR)
165
+ },
166
+ isPartiallyLiquidatable,
167
+ isPartial: true
168
+ };
169
+ }
170
+ /**
171
+ * Builds the transaction that partially liquidates a credit account,
172
+ * repaying part of its debt from the liquidator's funds in exchange for
173
+ * discounted collateral sent to the liquidator. Parameters left out of
174
+ * `props` are derived from current state.
175
+ *
176
+ * @throws For markets with a wrapped RWA underlying (Securitize), for a
177
+ * `tokenOut` that cannot be seized, when no `tokenOut` can be picked, and
178
+ * when the account cannot be partially liquidated, see
179
+ * {@link LiquidationDetails.isPartiallyLiquidatable}.
180
+ **/
181
+ async buildPartialLiquidationTx(props) {
182
+ const { creditAccount, liquidator, ignoreReservePrices, blockNumber } = props;
183
+ const ca = await this.#getCreditAccountData(creditAccount, blockNumber);
184
+ const suite = this.sdk.marketRegister.findCreditManager(ca.creditManager);
185
+ const params = this.#getPartialLiquidationParams(ca, suite, props);
186
+ if (!params.isPartiallyLiquidatable) throw new Error(`credit account ${this.labelAddress(creditAccount)} cannot be partially liquidated`);
187
+ const updates = await this.sdk.accounts.getOnDemandPriceUpdates(ca, ignoreReservePrices);
188
+ const tx = suite.creditFacade.partiallyLiquidateCreditAccount(ca.creditAccount, params.tokenOut, params.repaidAmount, params.minSeizedAmount, liquidator, updates);
189
+ this.logger?.debug(`built tx to partially liquidate credit account ${this.labelAddress(creditAccount)} to ${this.labelAddress(liquidator)}`);
190
+ return {
191
+ to: tx.to,
192
+ callData: tx.callData
193
+ };
194
+ }
195
+ /**
91
196
  * Optimal partial liquidation of a credit account: the collateral to seize
92
197
  * and the amounts that bring its health factor close to `optimalHF`.
93
198
  *
94
- * Prices come from the last synced oracle state and `ca`, not from fresh
95
- * price updates. Withdrawal phantom tokens are never seized.
96
- *
97
199
  * @param ca - Credit account to partially liquidate.
98
200
  * @param optimalHF - Health factor to aim for, in basis points. Defaults to
99
201
  * {@link CreditSuite.optimalHFForPartialLiquidation}.
202
+ * @param liquidationThresholds - Liquidation thresholds to use instead of
203
+ * the credit manager's cached ones, for example LTs just set on a fork.
100
204
  * @throws If no `tokenOut` can be picked.
101
205
  **/
102
- getOptimalPartialLiquidation(ca, optimalHF) {
206
+ getOptimalPartialLiquidation(ca, optimalHF, liquidationThresholds) {
207
+ const suite = this.sdk.marketRegister.findCreditManager(ca.creditManager);
103
208
  return optimalPartialLiquidation({
104
- suite: this.sdk.marketRegister.findCreditManager(ca.creditManager),
209
+ suite,
105
210
  account: ca,
106
211
  optimalHF,
107
- exclude: (token) => this.#isWithdrawalPhantom(token)
108
- });
109
- }
110
- /**
111
- * Everything a partial liquidation of a credit account needs, with any
112
- * parameter the caller pinned down taken as given and the rest derived from
113
- * current state. A derived `tokenOut` is never a withdrawal phantom token.
114
- *
115
- * @param ca - Credit account to partially liquidate.
116
- * @param overrides - Parameters to use instead of the derived defaults.
117
- * @throws If a derived `tokenOut` cannot be picked, or if the seized token is
118
- * not a collateral token of the credit manager.
119
- **/
120
- getPartialLiquidationParams(ca, overrides) {
121
- return partialLiquidationParams({
122
- suite: this.sdk.marketRegister.findCreditManager(ca.creditManager),
123
- account: ca,
124
- overrides,
125
- exclude: (token) => this.#isWithdrawalPhantom(token)
212
+ exclude: (token) => this.#isUnseizable(suite, token),
213
+ liquidationThresholds
126
214
  });
127
215
  }
128
216
  /**
@@ -247,11 +335,42 @@ var LiquidationsService = class extends SDKConstruct {
247
335
  #liquidationApproval(data, suite, priceOracle) {
248
336
  const { requiredToken, requiredAmount, liquidationCall } = data;
249
337
  if (requiredAmount === 0n) return;
338
+ const spender = hexEq(liquidationCall.target, suite.creditFacade.address) ? suite.creditManager.address : liquidationCall.target;
339
+ const bufferedAmount = requiredAmount * (PERCENTAGE_FACTOR + LIQUIDATION_APPROVAL_BUFFER) / PERCENTAGE_FACTOR;
250
340
  return {
251
- spender: hexEq(liquidationCall.target, suite.creditFacade.address) ? suite.creditManager.address : liquidationCall.target,
252
- ...priceOracle.toTokenAmount(requiredToken, requiredAmount * (PERCENTAGE_FACTOR + LIQUIDATION_APPROVAL_BUFFER) / PERCENTAGE_FACTOR)
341
+ spender,
342
+ ...priceOracle.toTokenAmount(requiredToken, bufferedAmount)
253
343
  };
254
344
  }
345
+ /**
346
+ * Everything a partial liquidation of a credit account needs, with any
347
+ * parameter the caller pinned down taken as given and the rest derived from
348
+ * current state. A derived `tokenOut` is never a token that cannot be seized.
349
+ *
350
+ * @throws For markets with a wrapped RWA underlying (Securitize), whose
351
+ * repayment the liquidator cannot fund, for a `tokenOut` that cannot be
352
+ * seized (a withdrawal phantom token, which does not redeem instantly, or a
353
+ * phantom token that unwraps to the underlying), if a derived `tokenOut`
354
+ * cannot be picked, and if the seized token is not a collateral token of the
355
+ * credit manager.
356
+ **/
357
+ #getPartialLiquidationParams(ca, suite, overrides) {
358
+ const label = this.labelAddress(ca.creditAccount);
359
+ if (this.sdk.tokensMeta.isRWAUnderlying(this.sdk.tokensMeta.mustGet(suite.underlying))) throw new Error(`cannot partially liquidate ${label}: markets with a wrapped RWA underlying are not supported`);
360
+ if (overrides.tokenOut && this.#isUnseizable(suite, overrides.tokenOut)) throw new Error(`cannot partially liquidate ${label}: ${this.labelAddress(overrides.tokenOut)} cannot be seized`);
361
+ return partialLiquidationParams({
362
+ suite,
363
+ account: ca,
364
+ overrides,
365
+ exclude: (token) => this.#isUnseizable(suite, token)
366
+ });
367
+ }
368
+ /**
369
+ * The facade reverts when a phantom tokenOut unwraps to the underlying
370
+ **/
371
+ #isUnseizable(suite, token) {
372
+ return this.#isWithdrawalPhantom(token) || isAddressEqual(this.sdk.tokensMeta.depositedToken(token), suite.underlying);
373
+ }
255
374
  async #getCreditAccountData(creditAccount, blockNumber) {
256
375
  const ca = await this.sdk.accounts.getCreditAccountData(creditAccount, blockNumber);
257
376
  if (!ca) throw new Error(`credit account ${creditAccount} not found`);
@@ -319,9 +438,18 @@ var LiquidationsService = class extends SDKConstruct {
319
438
  },
320
439
  isDelayed: ca.tokens.some((t) => t.balance > 10n && this.#isWithdrawalPhantom(t.token)),
321
440
  paused: suite.creditFacade.isPaused,
322
- rwa: market.rwa
441
+ rwa: market.rwa,
442
+ isPartiallyLiquidatable: this.#isPartiallyLiquidatable(ca, suite)
323
443
  };
324
444
  }
445
+ #isPartiallyLiquidatable(ca, suite) {
446
+ try {
447
+ return this.#getPartialLiquidationParams(ca, suite, {}).isPartiallyLiquidatable;
448
+ } catch (e) {
449
+ this.logger?.debug(e, `credit account ${this.labelAddress(ca.creditAccount)} cannot be partially liquidated`);
450
+ return false;
451
+ }
452
+ }
325
453
  #isWithdrawalPhantom(token) {
326
454
  return !!this.sdk.withdrawalCompressor?.getWithdrawalSourceToken(token);
327
455
  }
@@ -52,6 +52,34 @@ var MultichainLiquidationsService = class extends MultichainConstruct {
52
52
  });
53
53
  }
54
54
  /**
55
+ * {@inheritDoc LiquidationsService.getPartialLiquidationDetails}
56
+ **/
57
+ async getPartialLiquidationDetails(props) {
58
+ return this.queryChain({
59
+ network: props.network,
60
+ block: props.blockNumber ?? "latest",
61
+ run: (sdk, block) => sdk.liquidations.getPartialLiquidationDetails({
62
+ ...props,
63
+ blockNumber: block.blockNumber
64
+ })
65
+ });
66
+ }
67
+ /**
68
+ * {@inheritDoc LiquidationsService.buildPartialLiquidationTx}
69
+ *
70
+ * The reported block is the one the transaction was built against.
71
+ **/
72
+ async buildPartialLiquidationTx(props) {
73
+ return this.queryChain({
74
+ network: props.network,
75
+ block: props.blockNumber ?? "latest",
76
+ run: (sdk, block) => sdk.liquidations.buildPartialLiquidationTx({
77
+ ...props,
78
+ blockNumber: block.blockNumber
79
+ })
80
+ });
81
+ }
82
+ /**
55
83
  * Liquidation positions of all queried chains, see
56
84
  * {@link LiquidationsService.getLiquidationPositions}.
57
85
  **/
@@ -3,7 +3,7 @@ const LIQUIDATION_COMPRESSOR_V313_ADDRESS = "0xB70C4500a0afF02107eB983a348F22492
3
3
  /**
4
4
  * Headroom (in bps) added on top of the amount the liquidation pulls when
5
5
  * building the liquidator's approval, so that the transaction does not revert
6
- * when prices move between the preview and the execution.
6
+ * when prices move or interest accrues between the preview and the execution.
7
7
  **/
8
8
  const LIQUIDATION_APPROVAL_BUFFER = 50n;
9
9
  //#endregion
@@ -1,3 +1,5 @@
1
+ import { WAD } from "../../constants/math.js";
2
+ import "../../constants/index.js";
1
3
  import { minSeizedAmount, optimalPartialLiquidationAmounts } from "../../market/math.js";
2
4
  import { dominantCollateral } from "../../market/credit/collateralUtils.js";
3
5
  import "../../market/index.js";
@@ -11,11 +13,11 @@ import "../../market/index.js";
11
13
  *
12
14
  * @throws If no `tokenOut` can be picked.
13
15
  **/
14
- function optimalPartialLiquidation({ suite, account, optimalHF = suite.optimalHFForPartialLiquidation(account), exclude }) {
16
+ function optimalPartialLiquidation({ suite, account, optimalHF = suite.optimalHFForPartialLiquidation(account), exclude, liquidationThresholds }) {
15
17
  const tokenOut = bestTokenOut(suite, account, exclude);
16
18
  return {
17
19
  tokenOut,
18
- ...optimalAmounts(suite, account, tokenOut, optimalHF)
20
+ ...optimalAmounts(suite, account, tokenOut, optimalHF, liquidationThresholds)
19
21
  };
20
22
  }
21
23
  /**
@@ -28,12 +30,15 @@ function optimalPartialLiquidation({ suite, account, optimalHF = suite.optimalHF
28
30
  function partialLiquidationParams({ suite, account, overrides = {}, exclude }) {
29
31
  const tokenOut = overrides.tokenOut ?? bestTokenOut(suite, account, exclude);
30
32
  const optimalHF = overrides.optimalHF ?? suite.optimalHFForPartialLiquidation(account);
31
- const repaidAmount = overrides.repaidAmount ?? optimalAmounts(suite, account, tokenOut, optimalHF).repaidAmount;
33
+ const { market } = suite;
34
+ const { optimalAmount, isOptimalRepayable } = optimalAmounts(suite, account, tokenOut, optimalHF);
35
+ const repaidAmount = overrides.repaidAmount ?? optimalAmount;
32
36
  return {
33
37
  tokenOut,
34
38
  optimalHF,
35
39
  repaidAmount,
36
- minSeizedAmount: overrides.minSeizedAmount ?? minSeizedAmountOf(suite, tokenOut, repaidAmount)
40
+ minSeizedAmount: overrides.minSeizedAmount ?? minSeizedAmount(market.priceOracle.convert(market.underlying, tokenOut, repaidAmount), suite.liquidationFees().liquidationDiscount),
41
+ isPartiallyLiquidatable: (account.healthFactor < WAD || suite.isExpired) && isOptimalRepayable && optimalAmount > 0n
37
42
  };
38
43
  }
39
44
  function bestTokenOut(suite, account, exclude) {
@@ -44,10 +49,10 @@ function bestTokenOut(suite, account, exclude) {
44
49
  /**
45
50
  * @throws If `tokenOut` is not a collateral token of the credit manager.
46
51
  **/
47
- function optimalAmounts(suite, account, tokenOut, optimalHF) {
52
+ function optimalAmounts(suite, account, tokenOut, optimalHF, liquidationThresholds) {
48
53
  const { creditManager: cm, market } = suite;
49
54
  const { feeLiquidation, liquidationDiscount } = suite.liquidationFees();
50
- const ltTokenOut = cm.liquidationThresholds.get(tokenOut);
55
+ const ltTokenOut = liquidationThresholds?.get(tokenOut) ?? cm.liquidationThresholds.get(tokenOut);
51
56
  if (ltTokenOut === void 0) throw new Error(`token ${suite.register.labelAddress(tokenOut)} is not a collateral token in credit manager ${suite.register.labelAddress(cm.address)}`);
52
57
  return optimalPartialLiquidationAmounts({
53
58
  totalDebt: account.debt + account.accruedInterest + account.accruedFees,
@@ -59,14 +64,5 @@ function optimalAmounts(suite, account, tokenOut, optimalHF) {
59
64
  ltTokenOut: BigInt(ltTokenOut)
60
65
  });
61
66
  }
62
- /**
63
- * Minimum amount of `token` that must be seized when repaying `repaidAmount`
64
- * of underlying.
65
- **/
66
- function minSeizedAmountOf(suite, token, repaidAmount) {
67
- const { market } = suite;
68
- const tokenAmount = market.priceOracle.convert(market.underlying, token, repaidAmount);
69
- return minSeizedAmount(tokenAmount, suite.liquidationFees().liquidationDiscount);
70
- }
71
67
  //#endregion
72
68
  export { optimalPartialLiquidation, partialLiquidationParams };