@gearbox-protocol/sdk 17.0.0-next.4 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/dist/cjs/dev/abi.js +14 -15
  2. package/dist/cjs/dev/claimFromFaucet.js +4 -8
  3. package/dist/cjs/dev/createAnvilClient.js +35 -17
  4. package/dist/cjs/dev/index.js +7 -2
  5. package/dist/cjs/dev/kycUtils.js +66 -58
  6. package/dist/cjs/dev/midasUtils.js +113 -16
  7. package/dist/cjs/dev/securitizeUtils.js +82 -42
  8. package/dist/cjs/dev/withdrawalUtils.js +3 -6
  9. package/dist/cjs/model/errors/index.js +2 -0
  10. package/dist/cjs/model/errors/operation-errors.js +19 -1
  11. package/dist/cjs/model/index.js +4 -2
  12. package/dist/cjs/model/rwa.js +4 -4
  13. package/dist/cjs/model/rwa.schema.js +4 -4
  14. package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +1 -1
  15. package/dist/cjs/onchain/OnchainSDK.js +3 -3
  16. package/dist/cjs/onchain/accounts/CreditAccountsServiceV310.js +2 -17
  17. package/dist/cjs/onchain/accounts/intents/borrow.js +140 -0
  18. package/dist/cjs/onchain/accounts/intents/collateral-valuation.js +41 -0
  19. package/dist/cjs/onchain/accounts/intents/guards.js +15 -3
  20. package/dist/cjs/onchain/accounts/intents/index.js +107 -20
  21. package/dist/cjs/onchain/accounts/intents/leverage-band.js +2 -12
  22. package/dist/cjs/onchain/accounts/intents/maxBorrow.js +89 -0
  23. package/dist/cjs/onchain/accounts/intents/maxWithdrawCollateral.js +15 -41
  24. package/dist/cjs/onchain/accounts/intents/open-strategy.js +8 -46
  25. package/dist/cjs/onchain/accounts/intents/operations.js +0 -1
  26. package/dist/cjs/onchain/accounts/intents/realize.js +61 -4
  27. package/dist/cjs/onchain/accounts/intents/tail.js +1 -1
  28. package/dist/cjs/onchain/accounts/intents/testing/sdk-mock.js +1 -0
  29. package/dist/cjs/onchain/accounts/intents/utils/common.js +19 -0
  30. package/dist/cjs/onchain/accounts/intents/utils/credit-account-slice.js +21 -0
  31. package/dist/cjs/onchain/accounts/intents/utils/index.js +2 -0
  32. package/dist/cjs/onchain/accounts/intents/utils/price-impact.js +12 -9
  33. package/dist/cjs/onchain/accounts/intents/utils/router-path.js +4 -5
  34. package/dist/cjs/onchain/accounts/intents/withdraw-limits.js +97 -0
  35. package/dist/cjs/onchain/accounts/liquidations/LiquidationsService.js +1 -1
  36. package/dist/cjs/onchain/constants/address-provider.js +0 -2
  37. package/dist/cjs/onchain/constants/index.js +0 -1
  38. package/dist/cjs/onchain/core/createAddressProvider.js +2 -5
  39. package/dist/cjs/onchain/index.js +60 -43
  40. package/dist/cjs/onchain/market/adapters/abi/conctructorAbi.js +2 -2
  41. package/dist/cjs/onchain/market/adapters/contracts/AbstractAdapter.js +6 -0
  42. package/dist/cjs/onchain/market/adapters/contracts/MidasGatewayAdapterContract.js +49 -5
  43. package/dist/cjs/onchain/market/credit/CreditSuite.js +26 -9
  44. package/dist/cjs/onchain/market/index.js +50 -38
  45. package/dist/cjs/onchain/market/oracle/PriceOracleBaseContract.js +3 -3
  46. package/dist/cjs/onchain/market/pricefeeds/AbstractPriceFeed.js +0 -5
  47. package/dist/cjs/onchain/market/pricefeeds/PriceFeedRegistry.js +127 -0
  48. package/dist/cjs/onchain/market/pricefeeds/{BalancerStablePriceFeed.js → feeds/BalancerStablePriceFeed.js} +4 -4
  49. package/dist/cjs/onchain/market/pricefeeds/{BalancerWeightedPriceFeed.js → feeds/BalancerWeightedPriceFeed.js} +4 -4
  50. package/dist/cjs/onchain/market/pricefeeds/{BoundedPriceFeed.js → feeds/BoundedPriceFeed.js} +4 -4
  51. package/dist/cjs/onchain/market/pricefeeds/{CompositePriceFeed.js → feeds/CompositePriceFeed.js} +4 -4
  52. package/dist/cjs/onchain/market/pricefeeds/{ConstantPriceFeed.js → feeds/ConstantPriceFeed.js} +3 -3
  53. package/dist/cjs/onchain/market/pricefeeds/{CurveCryptoPriceFeed.js → feeds/CurveCryptoPriceFeed.js} +4 -4
  54. package/dist/cjs/onchain/market/pricefeeds/{CurveStablePriceFeed.js → feeds/CurveStablePriceFeed.js} +4 -4
  55. package/dist/cjs/onchain/market/pricefeeds/{CurveUSDPriceFeed.js → feeds/CurveUSDPriceFeed.js} +4 -4
  56. package/dist/cjs/onchain/market/pricefeeds/{Erc4626PriceFeed.js → feeds/Erc4626PriceFeed.js} +4 -4
  57. package/dist/cjs/onchain/market/pricefeeds/{ExternalPriceFeed.js → feeds/ExternalPriceFeed.js} +4 -4
  58. package/dist/cjs/onchain/market/pricefeeds/{MellowLRTPriceFeed.js → feeds/MellowLRTPriceFeed.js} +4 -4
  59. package/dist/cjs/onchain/market/pricefeeds/{PendleTWAPPTPriceFeed.js → feeds/PendleTWAPPTPriceFeed.js} +4 -4
  60. package/dist/cjs/onchain/market/pricefeeds/{PythPriceFeed.js → feeds/PythPriceFeed.js} +3 -3
  61. package/dist/cjs/onchain/market/pricefeeds/{RedstonePriceFeed.js → feeds/RedstonePriceFeed.js} +6 -6
  62. package/dist/cjs/onchain/market/pricefeeds/{WstETHPriceFeed.js → feeds/WstETHPriceFeed.js} +4 -4
  63. package/dist/cjs/onchain/market/pricefeeds/{YearnPriceFeed.js → feeds/YearnPriceFeed.js} +4 -4
  64. package/dist/cjs/onchain/market/pricefeeds/{ZeroPriceFeed.js → feeds/ZeroPriceFeed.js} +4 -4
  65. package/dist/cjs/onchain/market/pricefeeds/feeds/index.js +35 -0
  66. package/dist/cjs/onchain/market/pricefeeds/index.js +51 -39
  67. package/dist/cjs/onchain/market/pricefeeds/updates/UpdatablePriceFeedRegistry.js +189 -0
  68. package/dist/cjs/onchain/market/pricefeeds/{getRawPriceUpdates.js → updates/getRawPriceUpdates.js} +2 -2
  69. package/dist/cjs/onchain/market/pricefeeds/updates/index.js +8 -0
  70. package/dist/cjs/onchain/market/pricefeeds/{isUpdatablePriceFeed.js → updates/isUpdatablePriceFeed.js} +1 -1
  71. package/dist/cjs/onchain/market/pricefeeds/updates/updatableDependencies.js +14 -0
  72. package/dist/cjs/onchain/market/rwa/RWARegistry.js +4 -7
  73. package/dist/cjs/onchain/market/rwa/index.js +1 -0
  74. package/dist/cjs/onchain/market/rwa/midas/MidasDegenNFT.js +45 -5
  75. package/dist/cjs/onchain/market/rwa/securitize/SecuritizeDegenNFT.js +56 -12
  76. package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +0 -37
  77. package/dist/cjs/onchain/opportunities/MultichainOpportunitiesService.js +8 -2
  78. package/dist/cjs/onchain/opportunities/OpportunitiesService.js +16 -4
  79. package/dist/cjs/onchain/positions/calcHealthFactor.js +3 -3
  80. package/dist/cjs/onchain/preview/index.js +2 -0
  81. package/dist/cjs/onchain/preview/parse/parseRWAFactoryOperationCalldata.js +2 -2
  82. package/dist/cjs/onchain/preview/preview/index.js +2 -0
  83. package/dist/cjs/onchain/preview/preview/midasGreenlistsAccount.js +17 -0
  84. package/dist/cjs/onchain/preview/preview/previewOpenStrategyPosition.js +13 -16
  85. package/dist/cjs/onchain/preview/preview/previewOperation.js +19 -11
  86. package/dist/cjs/onchain/preview/preview/replayMulticall.js +4 -3
  87. package/dist/cjs/onchain/validation/bundles/checkCollateralFunding.js +3 -3
  88. package/dist/cjs/onchain/validation/bundles/checkCreditOperation.js +11 -9
  89. package/dist/cjs/onchain/validation/bundles/{checkDraw.js → checkIncreaseDebt.js} +10 -10
  90. package/dist/cjs/onchain/validation/bundles/{checkQuotasAsked.js → checkIncreaseQuota.js} +3 -3
  91. package/dist/cjs/onchain/validation/bundles/checkMidasAccountGreenlist.js +44 -0
  92. package/dist/cjs/onchain/validation/bundles/checkRWAOpenRequirements.js +9 -9
  93. package/dist/cjs/onchain/validation/bundles/checkRWAOpening.js +18 -8
  94. package/dist/cjs/onchain/validation/bundles/index.js +6 -4
  95. package/dist/cjs/onchain/validation/checkOperation.js +0 -1
  96. package/dist/cjs/onchain/validation/checks/checkBorrowLimit.js +1 -1
  97. package/dist/cjs/onchain/validation/checks/checkPoolLiquidity.js +1 -1
  98. package/dist/cjs/onchain/validation/checks/checkReservePriceLimited.js +30 -0
  99. package/dist/cjs/onchain/validation/checks/index.js +2 -0
  100. package/dist/cjs/onchain/validation/index.js +8 -4
  101. package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +2 -2
  102. package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +2 -2
  103. package/dist/cjs/sdk/execute/ExecuteApi.js +67 -7
  104. package/dist/cjs/sdk/opportunities/OpportunitiesNamespace.js +9 -3
  105. package/dist/cjs/sdk/prepare/PrepareApi.js +89 -14
  106. package/dist/esm/dev/abi.js +14 -15
  107. package/dist/esm/dev/claimFromFaucet.js +4 -8
  108. package/dist/esm/dev/createAnvilClient.js +36 -19
  109. package/dist/esm/dev/index.js +4 -4
  110. package/dist/esm/dev/kycUtils.js +66 -59
  111. package/dist/esm/dev/midasUtils.js +112 -18
  112. package/dist/esm/dev/securitizeUtils.js +84 -44
  113. package/dist/esm/dev/withdrawalUtils.js +3 -6
  114. package/dist/esm/model/errors/index.js +2 -2
  115. package/dist/esm/model/errors/operation-errors.js +18 -2
  116. package/dist/esm/model/index.js +4 -4
  117. package/dist/esm/model/rwa.js +4 -4
  118. package/dist/esm/model/rwa.schema.js +5 -5
  119. package/dist/esm/offchain/opportunities/OffchainOpportunities.js +1 -1
  120. package/dist/esm/onchain/OnchainSDK.js +3 -3
  121. package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -17
  122. package/dist/esm/onchain/accounts/intents/borrow.js +138 -0
  123. package/dist/esm/onchain/accounts/intents/collateral-valuation.js +40 -0
  124. package/dist/esm/onchain/accounts/intents/guards.js +15 -3
  125. package/dist/esm/onchain/accounts/intents/index.js +107 -20
  126. package/dist/esm/onchain/accounts/intents/leverage-band.js +2 -12
  127. package/dist/esm/onchain/accounts/intents/maxBorrow.js +87 -0
  128. package/dist/esm/onchain/accounts/intents/maxWithdrawCollateral.js +15 -41
  129. package/dist/esm/onchain/accounts/intents/open-strategy.js +8 -46
  130. package/dist/esm/onchain/accounts/intents/operations.js +0 -1
  131. package/dist/esm/onchain/accounts/intents/realize.js +61 -4
  132. package/dist/esm/onchain/accounts/intents/tail.js +1 -1
  133. package/dist/esm/onchain/accounts/intents/testing/sdk-mock.js +1 -0
  134. package/dist/esm/onchain/accounts/intents/utils/common.js +19 -1
  135. package/dist/esm/onchain/accounts/intents/utils/credit-account-slice.js +21 -1
  136. package/dist/esm/onchain/accounts/intents/utils/index.js +3 -3
  137. package/dist/esm/onchain/accounts/intents/utils/price-impact.js +12 -9
  138. package/dist/esm/onchain/accounts/intents/utils/router-path.js +4 -5
  139. package/dist/esm/onchain/accounts/intents/withdraw-limits.js +95 -0
  140. package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +1 -1
  141. package/dist/esm/onchain/constants/address-provider.js +1 -2
  142. package/dist/esm/onchain/constants/index.js +2 -2
  143. package/dist/esm/onchain/core/createAddressProvider.js +2 -5
  144. package/dist/esm/onchain/index.js +32 -24
  145. package/dist/esm/onchain/market/adapters/abi/conctructorAbi.js +2 -2
  146. package/dist/esm/onchain/market/adapters/contracts/AbstractAdapter.js +6 -0
  147. package/dist/esm/onchain/market/adapters/contracts/MidasGatewayAdapterContract.js +50 -6
  148. package/dist/esm/onchain/market/credit/CreditSuite.js +26 -9
  149. package/dist/esm/onchain/market/index.js +26 -21
  150. package/dist/esm/onchain/market/oracle/PriceOracleBaseContract.js +1 -1
  151. package/dist/esm/onchain/market/pricefeeds/AbstractPriceFeed.js +0 -5
  152. package/dist/esm/onchain/market/pricefeeds/PriceFeedRegistry.js +126 -0
  153. package/dist/esm/onchain/market/pricefeeds/{BalancerStablePriceFeed.js → feeds/BalancerStablePriceFeed.js} +4 -4
  154. package/dist/esm/onchain/market/pricefeeds/{BalancerWeightedPriceFeed.js → feeds/BalancerWeightedPriceFeed.js} +4 -4
  155. package/dist/esm/onchain/market/pricefeeds/{BoundedPriceFeed.js → feeds/BoundedPriceFeed.js} +4 -4
  156. package/dist/esm/onchain/market/pricefeeds/{CompositePriceFeed.js → feeds/CompositePriceFeed.js} +4 -4
  157. package/dist/esm/onchain/market/pricefeeds/{ConstantPriceFeed.js → feeds/ConstantPriceFeed.js} +3 -3
  158. package/dist/esm/onchain/market/pricefeeds/{CurveCryptoPriceFeed.js → feeds/CurveCryptoPriceFeed.js} +4 -4
  159. package/dist/esm/onchain/market/pricefeeds/{CurveStablePriceFeed.js → feeds/CurveStablePriceFeed.js} +4 -4
  160. package/dist/esm/onchain/market/pricefeeds/{CurveUSDPriceFeed.js → feeds/CurveUSDPriceFeed.js} +4 -4
  161. package/dist/esm/onchain/market/pricefeeds/{Erc4626PriceFeed.js → feeds/Erc4626PriceFeed.js} +4 -4
  162. package/dist/esm/onchain/market/pricefeeds/{ExternalPriceFeed.js → feeds/ExternalPriceFeed.js} +4 -4
  163. package/dist/esm/onchain/market/pricefeeds/{MellowLRTPriceFeed.js → feeds/MellowLRTPriceFeed.js} +4 -4
  164. package/dist/esm/onchain/market/pricefeeds/{PendleTWAPPTPriceFeed.js → feeds/PendleTWAPPTPriceFeed.js} +4 -4
  165. package/dist/esm/onchain/market/pricefeeds/{PythPriceFeed.js → feeds/PythPriceFeed.js} +3 -3
  166. package/dist/esm/onchain/market/pricefeeds/{RedstonePriceFeed.js → feeds/RedstonePriceFeed.js} +6 -6
  167. package/dist/esm/onchain/market/pricefeeds/{WstETHPriceFeed.js → feeds/WstETHPriceFeed.js} +4 -4
  168. package/dist/esm/onchain/market/pricefeeds/{YearnPriceFeed.js → feeds/YearnPriceFeed.js} +4 -4
  169. package/dist/esm/onchain/market/pricefeeds/{ZeroPriceFeed.js → feeds/ZeroPriceFeed.js} +4 -4
  170. package/dist/esm/onchain/market/pricefeeds/feeds/index.js +18 -0
  171. package/dist/esm/onchain/market/pricefeeds/index.js +27 -21
  172. package/dist/esm/onchain/market/pricefeeds/updates/UpdatablePriceFeedRegistry.js +188 -0
  173. package/dist/esm/onchain/market/pricefeeds/{getRawPriceUpdates.js → updates/getRawPriceUpdates.js} +2 -2
  174. package/dist/esm/onchain/market/pricefeeds/updates/index.js +5 -1
  175. package/dist/esm/onchain/market/pricefeeds/{isUpdatablePriceFeed.js → updates/isUpdatablePriceFeed.js} +1 -1
  176. package/dist/esm/onchain/market/pricefeeds/updates/updatableDependencies.js +13 -0
  177. package/dist/esm/onchain/market/rwa/RWARegistry.js +4 -8
  178. package/dist/esm/onchain/market/rwa/index.js +2 -2
  179. package/dist/esm/onchain/market/rwa/midas/MidasDegenNFT.js +45 -5
  180. package/dist/esm/onchain/market/rwa/securitize/SecuritizeDegenNFT.js +55 -10
  181. package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +0 -37
  182. package/dist/esm/onchain/opportunities/MultichainOpportunitiesService.js +8 -2
  183. package/dist/esm/onchain/opportunities/OpportunitiesService.js +16 -4
  184. package/dist/esm/onchain/positions/calcHealthFactor.js +3 -3
  185. package/dist/esm/onchain/preview/index.js +2 -1
  186. package/dist/esm/onchain/preview/parse/parseRWAFactoryOperationCalldata.js +2 -2
  187. package/dist/esm/onchain/preview/preview/index.js +2 -1
  188. package/dist/esm/onchain/preview/preview/midasGreenlistsAccount.js +16 -0
  189. package/dist/esm/onchain/preview/preview/previewOpenStrategyPosition.js +14 -17
  190. package/dist/esm/onchain/preview/preview/previewOperation.js +19 -11
  191. package/dist/esm/onchain/preview/preview/replayMulticall.js +4 -3
  192. package/dist/esm/onchain/validation/bundles/checkCollateralFunding.js +3 -3
  193. package/dist/esm/onchain/validation/bundles/checkCreditOperation.js +11 -9
  194. package/dist/esm/onchain/validation/bundles/checkIncreaseDebt.js +27 -0
  195. package/dist/esm/onchain/validation/bundles/{checkQuotasAsked.js → checkIncreaseQuota.js} +3 -3
  196. package/dist/esm/onchain/validation/bundles/checkMidasAccountGreenlist.js +43 -0
  197. package/dist/esm/onchain/validation/bundles/checkRWAOpenRequirements.js +9 -9
  198. package/dist/esm/onchain/validation/bundles/checkRWAOpening.js +18 -8
  199. package/dist/esm/onchain/validation/bundles/index.js +4 -3
  200. package/dist/esm/onchain/validation/checkOperation.js +0 -1
  201. package/dist/esm/onchain/validation/checks/checkBorrowLimit.js +1 -1
  202. package/dist/esm/onchain/validation/checks/checkPoolLiquidity.js +1 -1
  203. package/dist/esm/onchain/validation/checks/checkReservePriceLimited.js +29 -0
  204. package/dist/esm/onchain/validation/checks/index.js +2 -1
  205. package/dist/esm/onchain/validation/index.js +5 -3
  206. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
  207. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
  208. package/dist/esm/sdk/execute/ExecuteApi.js +67 -7
  209. package/dist/esm/sdk/opportunities/OpportunitiesNamespace.js +9 -3
  210. package/dist/esm/sdk/prepare/PrepareApi.js +94 -19
  211. package/dist/types/dev/abi.d.ts +13 -15
  212. package/dist/types/dev/claimFromFaucet.d.ts +0 -1
  213. package/dist/types/dev/createAnvilClient.d.ts +10 -3
  214. package/dist/types/dev/index.d.ts +4 -4
  215. package/dist/types/dev/kycUtils.d.ts +15 -24
  216. package/dist/types/dev/midasUtils.d.ts +35 -4
  217. package/dist/types/dev/securitizeUtils.d.ts +3 -9
  218. package/dist/types/model/errors/index.d.ts +2 -2
  219. package/dist/types/model/errors/operation-errors.d.ts +62 -7
  220. package/dist/types/model/index.d.ts +5 -5
  221. package/dist/types/model/opportunities.d.ts +6 -7
  222. package/dist/types/model/previews.d.ts +25 -19
  223. package/dist/types/model/rwa.d.ts +47 -27
  224. package/dist/types/model/rwa.schema.d.ts +3 -3
  225. package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +1 -2
  226. package/dist/types/offchain/opportunities/types.d.ts +1 -4
  227. package/dist/types/onchain/OnchainSDK.d.ts +2 -2
  228. package/dist/types/onchain/accounts/index.d.ts +5 -4
  229. package/dist/types/onchain/accounts/intents/borrow.d.ts +141 -0
  230. package/dist/types/onchain/accounts/intents/collateral-valuation.d.ts +42 -0
  231. package/dist/types/onchain/accounts/intents/guards.d.ts +18 -2
  232. package/dist/types/onchain/accounts/intents/index.d.ts +103 -15
  233. package/dist/types/onchain/accounts/intents/maxBorrow.d.ts +54 -0
  234. package/dist/types/onchain/accounts/intents/maxWithdrawCollateral.d.ts +3 -8
  235. package/dist/types/onchain/accounts/intents/open-strategy.d.ts +3 -17
  236. package/dist/types/onchain/accounts/intents/testing/sdk-mock.d.ts +2 -0
  237. package/dist/types/onchain/accounts/intents/tests/open-strategy.fixtures.d.ts +2 -2
  238. package/dist/types/onchain/accounts/intents/types.d.ts +51 -6
  239. package/dist/types/onchain/accounts/intents/utils/common.d.ts +15 -1
  240. package/dist/types/onchain/accounts/intents/utils/credit-account-slice.d.ts +14 -1
  241. package/dist/types/onchain/accounts/intents/utils/index.d.ts +3 -3
  242. package/dist/types/onchain/accounts/intents/utils/price-impact.d.ts +4 -1
  243. package/dist/types/onchain/accounts/intents/utils/router-path.d.ts +2 -5
  244. package/dist/types/onchain/accounts/intents/withdraw-limits.d.ts +80 -0
  245. package/dist/types/onchain/accounts/types.d.ts +4 -2
  246. package/dist/types/onchain/constants/address-provider.d.ts +1 -2
  247. package/dist/types/onchain/constants/index.d.ts +2 -2
  248. package/dist/types/onchain/index.d.ts +40 -31
  249. package/dist/types/onchain/market/adapters/contracts/AbstractAdapter.d.ts +6 -0
  250. package/dist/types/onchain/market/adapters/contracts/MidasGatewayAdapterContract.d.ts +20 -4
  251. package/dist/types/onchain/market/adapters/types.d.ts +8 -0
  252. package/dist/types/onchain/market/credit/CreditSuite.d.ts +13 -3
  253. package/dist/types/onchain/market/index.d.ts +29 -24
  254. package/dist/types/onchain/market/oracle/PriceOracleBaseContract.d.ts +2 -1
  255. package/dist/types/onchain/market/oracle/types.d.ts +2 -1
  256. package/dist/types/onchain/market/pool/types.d.ts +1 -1
  257. package/dist/types/onchain/market/pricefeeds/AbstractPriceFeed.d.ts +1 -2
  258. package/dist/types/onchain/market/pricefeeds/PriceFeedRegistry.d.ts +60 -0
  259. package/dist/types/onchain/market/pricefeeds/feeds/BalancerStablePriceFeed.d.ts +12 -0
  260. package/dist/types/onchain/market/pricefeeds/{BalancerWeightedPriceFeed.d.ts → feeds/BalancerWeightedPriceFeed.d.ts} +7 -7
  261. package/dist/types/onchain/market/pricefeeds/feeds/BoundedPriceFeed.d.ts +15 -0
  262. package/dist/types/onchain/market/pricefeeds/{CompositePriceFeed.d.ts → feeds/CompositePriceFeed.d.ts} +6 -6
  263. package/dist/types/onchain/market/pricefeeds/{ConstantPriceFeed.d.ts → feeds/ConstantPriceFeed.d.ts} +6 -6
  264. package/dist/types/onchain/market/pricefeeds/feeds/CurveCryptoPriceFeed.d.ts +12 -0
  265. package/dist/types/onchain/market/pricefeeds/feeds/CurveStablePriceFeed.d.ts +12 -0
  266. package/dist/types/onchain/market/pricefeeds/feeds/CurveUSDPriceFeed.d.ts +12 -0
  267. package/dist/types/onchain/market/pricefeeds/feeds/Erc4626PriceFeed.d.ts +12 -0
  268. package/dist/types/onchain/market/pricefeeds/feeds/ExternalPriceFeed.d.ts +11 -0
  269. package/dist/types/onchain/market/pricefeeds/feeds/MellowLRTPriceFeed.d.ts +12 -0
  270. package/dist/types/onchain/market/pricefeeds/{PendleTWAPPTPriceFeed.d.ts → feeds/PendleTWAPPTPriceFeed.d.ts} +3 -3
  271. package/dist/types/onchain/market/pricefeeds/{PythPriceFeed.d.ts → feeds/PythPriceFeed.d.ts} +3 -3
  272. package/dist/types/onchain/market/pricefeeds/{RedstonePriceFeed.d.ts → feeds/RedstonePriceFeed.d.ts} +9 -9
  273. package/dist/types/onchain/market/pricefeeds/feeds/WstETHPriceFeed.d.ts +12 -0
  274. package/dist/types/onchain/market/pricefeeds/feeds/YearnPriceFeed.d.ts +12 -0
  275. package/dist/types/onchain/market/pricefeeds/feeds/ZeroPriceFeed.d.ts +11 -0
  276. package/dist/types/onchain/market/pricefeeds/feeds/index.d.ts +18 -0
  277. package/dist/types/onchain/market/pricefeeds/index.d.ts +28 -22
  278. package/dist/types/onchain/market/pricefeeds/types.d.ts +1 -31
  279. package/dist/types/onchain/market/pricefeeds/updates/RedstoneUpdater.d.ts +1 -1
  280. package/dist/types/onchain/market/pricefeeds/updates/UpdatablePriceFeedRegistry.d.ts +106 -0
  281. package/dist/types/onchain/market/pricefeeds/updates/getRawPriceUpdates.d.ts +6 -0
  282. package/dist/types/onchain/market/pricefeeds/updates/index.d.ts +7 -3
  283. package/dist/types/onchain/market/pricefeeds/updates/isUpdatablePriceFeed.d.ts +6 -0
  284. package/dist/types/onchain/market/pricefeeds/updates/types.d.ts +56 -2
  285. package/dist/types/onchain/market/pricefeeds/updates/updatableDependencies.d.ts +10 -0
  286. package/dist/types/onchain/market/rwa/RWARegistry.d.ts +2 -1
  287. package/dist/types/onchain/market/rwa/index.d.ts +3 -3
  288. package/dist/types/onchain/market/rwa/midas/MidasDegenNFT.d.ts +19 -4
  289. package/dist/types/onchain/market/rwa/securitize/SecuritizeDegenNFT.d.ts +24 -4
  290. package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +2 -14
  291. package/dist/types/onchain/market/rwa/types.d.ts +39 -37
  292. package/dist/types/onchain/opportunities/MultichainOpportunitiesService.d.ts +5 -1
  293. package/dist/types/onchain/opportunities/OpportunitiesService.d.ts +10 -3
  294. package/dist/types/onchain/opportunities/types.d.ts +6 -1
  295. package/dist/types/onchain/preview/index.d.ts +2 -1
  296. package/dist/types/onchain/preview/preview/index.d.ts +2 -1
  297. package/dist/types/onchain/preview/preview/midasGreenlistsAccount.d.ts +13 -0
  298. package/dist/types/onchain/preview/preview/previewOpenStrategyPosition.d.ts +5 -3
  299. package/dist/types/onchain/preview/preview/replayMulticall.d.ts +8 -7
  300. package/dist/types/onchain/validation/bundles/checkCreditOperation.d.ts +5 -4
  301. package/dist/types/onchain/validation/bundles/{checkDraw.d.ts → checkIncreaseDebt.d.ts} +7 -7
  302. package/dist/types/onchain/validation/bundles/{checkQuotasAsked.d.ts → checkIncreaseQuota.d.ts} +3 -3
  303. package/dist/types/onchain/validation/bundles/checkMidasAccountGreenlist.d.ts +22 -0
  304. package/dist/types/onchain/validation/bundles/checkRWAOpenRequirements.d.ts +2 -2
  305. package/dist/types/onchain/validation/bundles/checkRWAOpening.d.ts +9 -7
  306. package/dist/types/onchain/validation/bundles/index.d.ts +5 -4
  307. package/dist/types/onchain/validation/checks/checkBorrowLimit.d.ts +1 -1
  308. package/dist/types/onchain/validation/checks/checkDebtLimits.d.ts +2 -2
  309. package/dist/types/onchain/validation/checks/checkPoolLiquidity.d.ts +1 -1
  310. package/dist/types/onchain/validation/checks/checkReservePriceLimited.d.ts +31 -0
  311. package/dist/types/onchain/validation/checks/index.d.ts +2 -1
  312. package/dist/types/onchain/validation/index.d.ts +6 -4
  313. package/dist/types/onchain/validation/raise.d.ts +2 -2
  314. package/dist/types/sdk/execute/index.d.ts +2 -2
  315. package/dist/types/sdk/execute/types.d.ts +48 -6
  316. package/dist/types/sdk/index.d.ts +5 -4
  317. package/dist/types/sdk/opportunities/OpportunitiesNamespace.d.ts +5 -1
  318. package/dist/types/sdk/opportunities/types.d.ts +9 -3
  319. package/dist/types/sdk/prepare/PrepareApi.d.ts +16 -4
  320. package/dist/types/sdk/prepare/index.d.ts +4 -3
  321. package/dist/types/sdk/prepare/types.d.ts +200 -66
  322. package/package.json +1 -1
  323. package/dist/cjs/onchain/accounts/utils/midasUtils.js +0 -70
  324. package/dist/cjs/onchain/market/pricefeeds/PriceFeedsRegister.js +0 -301
  325. package/dist/cjs/plugins/degen-distributors/DegenDistributorsPlugin.js +0 -61
  326. package/dist/cjs/plugins/degen-distributors/index.js +0 -4
  327. package/dist/cjs/plugins/degen-distributors/package.json +0 -1
  328. package/dist/cjs/plugins/degen-distributors/types.js +0 -1
  329. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +0 -114
  330. package/dist/cjs/plugins/delayed-withdrawal/index.js +0 -4
  331. package/dist/cjs/plugins/delayed-withdrawal/package.json +0 -1
  332. package/dist/cjs/plugins/delayed-withdrawal/types.js +0 -1
  333. package/dist/esm/onchain/accounts/utils/midasUtils.js +0 -69
  334. package/dist/esm/onchain/market/pricefeeds/PriceFeedsRegister.js +0 -300
  335. package/dist/esm/onchain/validation/bundles/checkDraw.js +0 -27
  336. package/dist/esm/plugins/degen-distributors/DegenDistributorsPlugin.js +0 -60
  337. package/dist/esm/plugins/degen-distributors/index.js +0 -3
  338. package/dist/esm/plugins/degen-distributors/package.json +0 -1
  339. package/dist/esm/plugins/degen-distributors/types.js +0 -1
  340. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +0 -113
  341. package/dist/esm/plugins/delayed-withdrawal/index.js +0 -3
  342. package/dist/esm/plugins/delayed-withdrawal/package.json +0 -1
  343. package/dist/esm/plugins/delayed-withdrawal/types.js +0 -1
  344. package/dist/types/onchain/accounts/utils/midasUtils.d.ts +0 -38
  345. package/dist/types/onchain/market/pricefeeds/BalancerStablePriceFeed.d.ts +0 -12
  346. package/dist/types/onchain/market/pricefeeds/BoundedPriceFeed.d.ts +0 -15
  347. package/dist/types/onchain/market/pricefeeds/CurveCryptoPriceFeed.d.ts +0 -12
  348. package/dist/types/onchain/market/pricefeeds/CurveStablePriceFeed.d.ts +0 -12
  349. package/dist/types/onchain/market/pricefeeds/CurveUSDPriceFeed.d.ts +0 -12
  350. package/dist/types/onchain/market/pricefeeds/Erc4626PriceFeed.d.ts +0 -12
  351. package/dist/types/onchain/market/pricefeeds/ExternalPriceFeed.d.ts +0 -11
  352. package/dist/types/onchain/market/pricefeeds/MellowLRTPriceFeed.d.ts +0 -12
  353. package/dist/types/onchain/market/pricefeeds/PriceFeedsRegister.d.ts +0 -180
  354. package/dist/types/onchain/market/pricefeeds/WstETHPriceFeed.d.ts +0 -12
  355. package/dist/types/onchain/market/pricefeeds/YearnPriceFeed.d.ts +0 -12
  356. package/dist/types/onchain/market/pricefeeds/ZeroPriceFeed.d.ts +0 -11
  357. package/dist/types/onchain/market/pricefeeds/getRawPriceUpdates.d.ts +0 -5
  358. package/dist/types/onchain/market/pricefeeds/isUpdatablePriceFeed.d.ts +0 -5
  359. package/dist/types/plugins/degen-distributors/DegenDistributorsPlugin.d.ts +0 -25
  360. package/dist/types/plugins/degen-distributors/index.d.ts +0 -3
  361. package/dist/types/plugins/degen-distributors/types.d.ts +0 -8
  362. package/dist/types/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.d.ts +0 -25
  363. package/dist/types/plugins/delayed-withdrawal/index.d.ts +0 -3
  364. package/dist/types/plugins/delayed-withdrawal/types.d.ts +0 -10
@@ -8,8 +8,8 @@ const require_onchain_accounts_intents_utils_common = require("./utils/common.js
8
8
  const require_onchain_accounts_intents_utils_router_path = require("./utils/router-path.js");
9
9
  const require_onchain_accounts_intents_plan = require("./plan.js");
10
10
  const require_onchain_accounts_intents_operations = require("./operations.js");
11
- const require_onchain_accounts_intents_realize = require("./realize.js");
12
11
  const require_onchain_accounts_intents_view = require("./view.js");
12
+ const require_onchain_accounts_intents_realize = require("./realize.js");
13
13
  //#region src/onchain/accounts/intents/tail.ts
14
14
  /**
15
15
  * The second half of a delayed intent: the claim, then whatever the intent
@@ -203,6 +203,7 @@ function buildMockSdk(args) {
203
203
  liquidationThresholds,
204
204
  collateralTokens,
205
205
  feeInterest: args.feeInterest ?? 0,
206
+ maxEnabledTokens: args.maxEnabledTokens ?? 4,
206
207
  maxLeverage: (collateral, targetHF) => require_onchain_market_math.calcMaxLeverage(liquidationThresholds.get(collateral) ?? 0, targetHF)
207
208
  },
208
209
  creditFacade: {
@@ -3,6 +3,24 @@ const require_onchain_utils_AddressMap = require("../../../utils/AddressMap.js")
3
3
  //#region src/onchain/accounts/intents/utils/common.ts
4
4
  /** Case-insensitive address equality. */
5
5
  const eq = (a, b) => a.toLowerCase() === b.toLowerCase();
6
+ /**
7
+ * The suite and market behind a credit manager, or nothing where the register
8
+ * has no entry for it.
9
+ *
10
+ * For the reads a form calls on every keystroke, including before the SDK has
11
+ * finished attaching: a question the register cannot answer yet is not an
12
+ * error. Everything that prepares a transaction wants the throw instead.
13
+ */
14
+ function resolveCreditManager(sdk, creditManager) {
15
+ try {
16
+ return {
17
+ suite: sdk.marketRegister.findCreditManager(creditManager),
18
+ market: sdk.marketRegister.findByCreditManager(creditManager)
19
+ };
20
+ } catch {
21
+ return;
22
+ }
23
+ }
6
24
  function toTargetDecimals(fromAmount, fromToken, toToken, sdk) {
7
25
  const fromDecimals = sdk.tokensMeta.get(fromToken)?.decimals ?? 18;
8
26
  const toDecimals = sdk.tokensMeta.get(toToken)?.decimals ?? 18;
@@ -39,5 +57,6 @@ function toRouterCaSlice(creditAccount, expectedBalances = []) {
39
57
  }
40
58
  //#endregion
41
59
  exports.eq = eq;
60
+ exports.resolveCreditManager = resolveCreditManager;
42
61
  exports.toRouterCaSlice = toRouterCaSlice;
43
62
  exports.toTargetDecimals = toTargetDecimals;
@@ -27,6 +27,26 @@ function toCreditAccountSlice(ca) {
27
27
  };
28
28
  }
29
29
  /**
30
+ * The slice a flow that has no account yet quotes against.
31
+ *
32
+ * Nothing of it exists on chain until the transaction lands, and nothing has
33
+ * to: the pathfinder is asked about the credit manager, and every balance the
34
+ * flow reasons about is one the transaction itself puts there. The zero
35
+ * address stands in for the account so the shape is complete.
36
+ */
37
+ function unopenedAccountSlice(args) {
38
+ return {
39
+ creditAccount: "0x0000000000000000000000000000000000000000",
40
+ creditManager: args.creditManager.toLowerCase(),
41
+ creditFacade: args.creditFacade.toLowerCase(),
42
+ underlying: args.underlying.toLowerCase(),
43
+ enabledTokensMask: 0n,
44
+ totalDebtUSD: 0n,
45
+ totalDebt: 0n,
46
+ tokens: []
47
+ };
48
+ }
49
+ /**
30
50
  * Reads an account by address and narrows it to {@link CreditAccountSlice}.
31
51
  *
32
52
  * The shared read model's `StrategyPosition` carries neither `tokens` nor
@@ -43,3 +63,4 @@ async function fetchCreditAccountSlice(sdk, creditAccount) {
43
63
  //#endregion
44
64
  exports.fetchCreditAccountSlice = fetchCreditAccountSlice;
45
65
  exports.toCreditAccountSlice = toCreditAccountSlice;
66
+ exports.unopenedAccountSlice = unopenedAccountSlice;
@@ -26,7 +26,9 @@ exports.lossRate = require_onchain_accounts_intents_utils_price_impact.lossRate;
26
26
  exports.pickFattestNonPhantomToken = require_onchain_accounts_intents_utils_pick_token.pickFattestNonPhantomToken;
27
27
  exports.quotasAfterUpdate = require_onchain_accounts_intents_utils_quotas_for_update.quotasAfterUpdate;
28
28
  exports.rankAccountTokens = require_onchain_accounts_intents_utils_pick_token.rankAccountTokens;
29
+ exports.resolveCreditManager = require_onchain_accounts_intents_utils_common.resolveCreditManager;
29
30
  exports.startProbe = require_onchain_accounts_intents_utils_price_impact.startProbe;
30
31
  exports.toCreditAccountSlice = require_onchain_accounts_intents_utils_credit_account_slice.toCreditAccountSlice;
31
32
  exports.toRouterCaSlice = require_onchain_accounts_intents_utils_common.toRouterCaSlice;
32
33
  exports.toTargetDecimals = require_onchain_accounts_intents_utils_common.toTargetDecimals;
34
+ exports.unopenedAccountSlice = require_onchain_accounts_intents_utils_credit_account_slice.unopenedAccountSlice;
@@ -19,12 +19,12 @@ function probeBasket(balances, oracle) {
19
19
  if (usd > 0n) basketWad += usd * require_onchain_constants_math.WAD / require_onchain_constants_math.PRICE_DECIMALS;
20
20
  }
21
21
  if (basketWad <= 0n) return;
22
- const probeWad = PROBE_UNIT_USD_WAD;
23
22
  const scaled = balances.map((asset) => ({
24
23
  token: asset.token,
25
- balance: asset.balance * probeWad / basketWad
24
+ balance: asset.balance * PROBE_UNIT_USD_WAD / basketWad
26
25
  }));
27
- if (!scaled.some((a) => a.balance > 0n)) return;
26
+ const probeWad = scaled.reduce((sum, a) => sum + oracle.safeConvertToUSD(a.token, a.balance).value * require_onchain_constants_math.WAD / require_onchain_constants_math.PRICE_DECIMALS, 0n);
27
+ if (probeWad <= 0n) return;
28
28
  return {
29
29
  balances: scaled,
30
30
  basketWad,
@@ -86,12 +86,15 @@ async function collectPriceImpact(probes, ctx) {
86
86
  lossUnd += loss;
87
87
  }
88
88
  if (expectedUnd <= 0n) return;
89
- return lossRate({
90
- lossUnd,
91
- expectedUnd,
92
- totalValue: ctx.totalValue,
93
- netValue: ctx.netValue
94
- });
89
+ return {
90
+ ...lossRate({
91
+ lossUnd,
92
+ expectedUnd,
93
+ totalValue: ctx.totalValue,
94
+ netValue: ctx.netValue
95
+ }),
96
+ absolutePriceImpact: ctx.toUnderlyingAmount(-lossUnd)
97
+ };
95
98
  }
96
99
  //#endregion
97
100
  exports.collectPriceImpact = collectPriceImpact;
@@ -3,11 +3,8 @@ const require_onchain_accounts_intents_utils_common = require("./common.js");
3
3
  const require_onchain_accounts_intents_utils_price_impact = require("./price-impact.js");
4
4
  //#region src/onchain/accounts/intents/utils/router-path.ts
5
5
  /**
6
- * The engine's only door to the pathfinder.
7
- *
8
- * Deliberately not a quoter abstraction with an oracle-priced twin: paths are
9
- * always resolved on-chain, because a preview whose swap amounts came from
10
- * oracle prices could not produce the calldata that realises them.
6
+ * The engine's only door to the pathfinder, and the only quoter whose legs can
7
+ * be sent. {@link createOraclePaths} is the twin for a walk that only projects.
11
8
  */
12
9
  function createRouterPaths(args) {
13
10
  const { sdk, creditAccount, slippage } = args;
@@ -92,6 +89,7 @@ function createRouterPaths(args) {
92
89
  amount,
93
90
  keep
94
91
  });
92
+ if (leg.calls.length === 0) throw new Error("swap: missing router calls");
95
93
  return {
96
94
  ...leg,
97
95
  probe: probe && {
@@ -108,6 +106,7 @@ function createRouterPaths(args) {
108
106
  route: async (quoted) => (await quoteClose(quoted)).amount
109
107
  });
110
108
  const { amount, minAmount, calls } = await quoteClose(balances);
109
+ if (calls.length === 0 && minAmount > 0n) throw new Error("closeAll: missing router calls");
111
110
  const leg = {
112
111
  amount,
113
112
  minAmount,
@@ -0,0 +1,97 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_onchain_utils_bigint_math = require("../../utils/bigint-math.js");
3
+ require("../../utils/index.js");
4
+ const require_onchain_validation_helpers_health_factor_limits = require("../../validation/helpers/health-factor-limits.js");
5
+ require("../../validation/index.js");
6
+ const require_onchain_accounts_intents_utils_common = require("./utils/common.js");
7
+ const require_onchain_accounts_intents_math = require("./math.js");
8
+ const require_onchain_accounts_intents_collateral_valuation = require("./collateral-valuation.js");
9
+ const require_onchain_accounts_intents_view = require("./view.js");
10
+ //#region src/onchain/accounts/intents/withdraw-limits.ts
11
+ /**
12
+ * Every limit a `WITHDRAW` answers to, in underlying units.
13
+ *
14
+ * The one place they are assembled, so the figure a form is offered and the
15
+ * figure the collateral guard names when it turns a withdrawal down cannot
16
+ * drift apart: `CreditAccountOperationsService` reports this, and the guard
17
+ * quotes it back.
18
+ *
19
+ * @param props - Account slice, the SDK holding its market, and optionally the
20
+ * collateral the withdrawal would be funded from
21
+ * @returns The three limits, see {@link WithdrawCeilings}
22
+ **/
23
+ function withdrawLimits(props) {
24
+ const { creditAccount, sdk } = props;
25
+ const view = require_onchain_accounts_intents_view.accountView(creditAccount, sdk);
26
+ const partial = require_onchain_accounts_intents_math.maxProportionalWithdrawal(view, view.debtLimits);
27
+ const safe = maxSafeWithdrawal({
28
+ ...props,
29
+ targetHF: BigInt(require_onchain_validation_helpers_health_factor_limits.MIN_HEALTH_FACTOR_FACADE)
30
+ });
31
+ return {
32
+ partial,
33
+ safePartial: require_onchain_utils_bigint_math.BigIntMath.min(partial, safe),
34
+ exit: view.collateral > 0n ? view.collateral : 0n
35
+ };
36
+ }
37
+ /**
38
+ * Largest proportional withdrawal the safe-price collateral check still clears,
39
+ * in underlying units.
40
+ *
41
+ * A withdrawal hands funds over, so the facade weighs the account it leaves
42
+ * behind at safe prices rather than main ones — see {@link collateralValuation}.
43
+ * That is a second limit on top of the facade's `debtLimits`, and the two are
44
+ * independent: a caller wanting the amount a form may actually offer takes the
45
+ * lesser of this and `maxProportionalWithdrawal`.
46
+ *
47
+ * The arithmetic is the check solved for the amount. Taking `W` out at fixed
48
+ * leverage repays `dD = D·W/C`, so `W·TVL/C` of value is sold out of the source
49
+ * token; each dollar of that sale costs the check the source's threshold times
50
+ * its safe-to-main price ratio, while the repayment relieves `targetHF` per
51
+ * dollar of debt. Both terms are linear in `W`, which is why one division
52
+ * answers instead of a search — and why the answer is exact rather than a
53
+ * bound, as long as the plan really does fund itself from `sourceToken`.
54
+ *
55
+ * Two consequences worth stating, because they surprise:
56
+ *
57
+ * - An account whose collateral is entirely a token the reserve feed marks
58
+ * down cannot withdraw at all once it is under the threshold. A proportional
59
+ * withdrawal scales collateral and debt together, so it leaves the safe-price
60
+ * factor exactly where it found it — no amount climbs back over.
61
+ * - Leaving entirely is never refused for this reason: the exit settles the
62
+ * debt instead of shrinking it, and a check with no debt to divide by has
63
+ * nothing to refuse.
64
+ *
65
+ * @returns Amount in underlying units. The account's net value when safe prices
66
+ * do not limit the withdrawal at all, so the caller's `min` is a no-op; `0n`
67
+ * when the account already sits below `targetHF` at safe prices, and only the
68
+ * exit is left
69
+ **/
70
+ function maxSafeWithdrawal(props) {
71
+ const { creditAccount, sdk, targetHF } = props;
72
+ const view = require_onchain_accounts_intents_view.accountView(creditAccount, sdk);
73
+ if (view.collateral <= 0n) return 0n;
74
+ if (view.debt === 0n) return view.collateral;
75
+ const valuation = require_onchain_accounts_intents_collateral_valuation.collateralValuation(creditAccount, sdk);
76
+ const source = props.sourceToken ?? view.fattest();
77
+ const holding = source === void 0 ? void 0 : creditAccount.tokens.find((t) => require_onchain_accounts_intents_utils_common.eq(t.token, source));
78
+ if (!holding) return view.collateral;
79
+ let total = 0n;
80
+ for (const t of creditAccount.tokens) if (valuation.counts(t)) total += valuation.weigh(t);
81
+ const debtUsd = valuation.mainUsd(valuation.underlying, view.debt);
82
+ if (debtUsd === void 0 || debtUsd <= 0n) return view.collateral;
83
+ const slack = total - debtUsd * targetHF;
84
+ if (slack < 0n) return 0n;
85
+ const sourceMainUsd = valuation.mainUsd(holding.token, holding.balance);
86
+ if (sourceMainUsd === void 0 || sourceMainUsd <= 0n) return view.collateral;
87
+ const sourceRate = valuation.lt(holding.token) * valuation.checkedUsd(holding);
88
+ const tvlUsd = valuation.mainUsd(valuation.underlying, view.collateral + view.debt);
89
+ if (tvlUsd === void 0) return view.collateral;
90
+ const drain = sourceRate * tvlUsd - targetHF * debtUsd * sourceMainUsd;
91
+ if (drain <= 0n) return view.collateral;
92
+ const limit = view.collateral * slack * sourceMainUsd / drain;
93
+ return limit < view.collateral ? limit : view.collateral;
94
+ }
95
+ //#endregion
96
+ exports.maxSafeWithdrawal = maxSafeWithdrawal;
97
+ exports.withdrawLimits = withdrawLimits;
@@ -10,9 +10,9 @@ require("../../utils/index.js");
10
10
  const require_onchain_base_SDKConstruct = require("../../base/SDKConstruct.js");
11
11
  require("../../base/index.js");
12
12
  const require_onchain_market_math = require("../../market/math.js");
13
+ const require_onchain_market_rwa_midas_constants = require("../../market/rwa/midas/constants.js");
13
14
  const require_model_liquidations = require("../../../model/liquidations.js");
14
15
  require("../../../model/index.js");
15
- const require_onchain_market_rwa_midas_constants = require("../../market/rwa/midas/constants.js");
16
16
  const require_onchain_market_rwa_securitize_constants = require("../../market/rwa/securitize/constants.js");
17
17
  const require_onchain_market_credit_collateralUtils = require("../../market/credit/collateralUtils.js");
18
18
  const require_onchain_market_rwa_midas_MidasLiquidatorContract = require("../../market/rwa/midas/MidasLiquidatorContract.js");
@@ -33,7 +33,6 @@ const AP_WETH_GATEWAY = "WETH_GATEWAY";
33
33
  const AP_WETH_TOKEN = "WETH_TOKEN";
34
34
  const AP_ZAPPER_REGISTER = "ZAPPER_REGISTER";
35
35
  const AP_ZERO_PRICE_FEED = "ZERO_PRICE_FEED";
36
- const AP_RWA_COMPRESSOR = "GLOBAL::RWA_COMPRESSOR";
37
36
  const AP_REDEMPTION_LOGGER = "LOCAL::REDEMPTION_LOGGER";
38
37
  /**
39
38
  * Default address provider address for v3.1.0
@@ -69,7 +68,6 @@ exports.AP_PRICE_ORACLE = AP_PRICE_ORACLE;
69
68
  exports.AP_REDEMPTION_LOGGER = AP_REDEMPTION_LOGGER;
70
69
  exports.AP_REWARDS_COMPRESSOR = AP_REWARDS_COMPRESSOR;
71
70
  exports.AP_ROUTER = AP_ROUTER;
72
- exports.AP_RWA_COMPRESSOR = AP_RWA_COMPRESSOR;
73
71
  exports.AP_TOKEN_COMPRESSOR = AP_TOKEN_COMPRESSOR;
74
72
  exports.AP_TREASURY = AP_TREASURY;
75
73
  exports.AP_WETH_GATEWAY = AP_WETH_GATEWAY;
@@ -35,7 +35,6 @@ exports.AP_PRICE_ORACLE = require_onchain_constants_address_provider.AP_PRICE_OR
35
35
  exports.AP_REDEMPTION_LOGGER = require_onchain_constants_address_provider.AP_REDEMPTION_LOGGER;
36
36
  exports.AP_REWARDS_COMPRESSOR = require_onchain_constants_address_provider.AP_REWARDS_COMPRESSOR;
37
37
  exports.AP_ROUTER = require_onchain_constants_address_provider.AP_ROUTER;
38
- exports.AP_RWA_COMPRESSOR = require_onchain_constants_address_provider.AP_RWA_COMPRESSOR;
39
38
  exports.AP_TOKEN_COMPRESSOR = require_onchain_constants_address_provider.AP_TOKEN_COMPRESSOR;
40
39
  exports.AP_TREASURY = require_onchain_constants_address_provider.AP_TREASURY;
41
40
  exports.AP_WETH_GATEWAY = require_onchain_constants_address_provider.AP_WETH_GATEWAY;
@@ -1,15 +1,12 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_abi_iVersion = require("../../abi/iVersion.js");
3
- const require_onchain_constants_address_provider = require("../constants/address-provider.js");
3
+ require("../constants/address-provider.js");
4
4
  const require_onchain_constants_versions = require("../constants/versions.js");
5
5
  require("../constants/index.js");
6
6
  const require_onchain_utils_hex = require("../utils/hex.js");
7
7
  const require_onchain_core_AddressProviderV310Contract = require("./AddressProviderV310Contract.js");
8
8
  //#region src/onchain/core/createAddressProvider.ts
9
- const OVERRIDE_ADDRESSES = { Mainnet: {
10
- [require_onchain_constants_address_provider.AP_PRICE_FEED_COMPRESSOR]: { 311: "0x1fA2637B9fab0CD14290A7EE908DDc9688a15120" },
11
- [require_onchain_constants_address_provider.AP_MARKET_COMPRESSOR]: { 311: "0x0C27F242f6e9F2A9AD3261bE6e439De3B948bcA2" }
12
- } };
9
+ const OVERRIDE_ADDRESSES = {};
13
10
  async function createAddressProvider(sdk, address) {
14
11
  let v;
15
12
  if (require_onchain_utils_hex.hexEq(address, "0xF7f0a609BfAb9a0A98786951ef10e5FE26cC1E38")) v = 310n;
@@ -150,29 +150,34 @@ const require_onchain_utils_viem_sendRawTx = require("./utils/viem/sendRawTx.js"
150
150
  const require_onchain_utils_viem_watchBlocksAsync = require("./utils/viem/watchBlocksAsync.js");
151
151
  require("./utils/viem/index.js");
152
152
  const require_onchain_market_oracle_collateralPriceInUnderlying = require("./market/oracle/collateralPriceInUnderlying.js");
153
- const require_onchain_market_pricefeeds_isUpdatablePriceFeed = require("./market/pricefeeds/isUpdatablePriceFeed.js");
154
153
  const require_onchain_market_pricefeeds_PriceFeedRef = require("./market/pricefeeds/PriceFeedRef.js");
155
154
  const require_onchain_market_pricefeeds_AbstractPriceFeed = require("./market/pricefeeds/AbstractPriceFeed.js");
156
155
  const require_onchain_market_pricefeeds_AbstractLPPriceFeed = require("./market/pricefeeds/AbstractLPPriceFeed.js");
157
- const require_onchain_market_pricefeeds_BalancerStablePriceFeed = require("./market/pricefeeds/BalancerStablePriceFeed.js");
158
- const require_onchain_market_pricefeeds_BalancerWeightedPriceFeed = require("./market/pricefeeds/BalancerWeightedPriceFeed.js");
159
- const require_onchain_market_pricefeeds_BoundedPriceFeed = require("./market/pricefeeds/BoundedPriceFeed.js");
160
- const require_onchain_market_pricefeeds_CompositePriceFeed = require("./market/pricefeeds/CompositePriceFeed.js");
161
- const require_onchain_market_pricefeeds_CurveCryptoPriceFeed = require("./market/pricefeeds/CurveCryptoPriceFeed.js");
162
- const require_onchain_market_pricefeeds_CurveStablePriceFeed = require("./market/pricefeeds/CurveStablePriceFeed.js");
163
- const require_onchain_market_pricefeeds_CurveUSDPriceFeed = require("./market/pricefeeds/CurveUSDPriceFeed.js");
164
- const require_onchain_market_pricefeeds_Erc4626PriceFeed = require("./market/pricefeeds/Erc4626PriceFeed.js");
165
- const require_onchain_market_pricefeeds_ExternalPriceFeed = require("./market/pricefeeds/ExternalPriceFeed.js");
166
- const require_onchain_market_pricefeeds_getRawPriceUpdates = require("./market/pricefeeds/getRawPriceUpdates.js");
167
- const require_onchain_market_pricefeeds_MellowLRTPriceFeed = require("./market/pricefeeds/MellowLRTPriceFeed.js");
168
- const require_onchain_market_pricefeeds_PendleTWAPPTPriceFeed = require("./market/pricefeeds/PendleTWAPPTPriceFeed.js");
169
- const require_onchain_market_pricefeeds_PythPriceFeed = require("./market/pricefeeds/PythPriceFeed.js");
170
- const require_onchain_market_pricefeeds_RedstonePriceFeed = require("./market/pricefeeds/RedstonePriceFeed.js");
156
+ const require_onchain_market_pricefeeds_feeds_BalancerStablePriceFeed = require("./market/pricefeeds/feeds/BalancerStablePriceFeed.js");
157
+ const require_onchain_market_pricefeeds_feeds_BalancerWeightedPriceFeed = require("./market/pricefeeds/feeds/BalancerWeightedPriceFeed.js");
158
+ const require_onchain_market_pricefeeds_feeds_BoundedPriceFeed = require("./market/pricefeeds/feeds/BoundedPriceFeed.js");
159
+ const require_onchain_market_pricefeeds_feeds_CompositePriceFeed = require("./market/pricefeeds/feeds/CompositePriceFeed.js");
160
+ const require_onchain_market_pricefeeds_feeds_ConstantPriceFeed = require("./market/pricefeeds/feeds/ConstantPriceFeed.js");
161
+ const require_onchain_market_pricefeeds_feeds_CurveCryptoPriceFeed = require("./market/pricefeeds/feeds/CurveCryptoPriceFeed.js");
162
+ const require_onchain_market_pricefeeds_feeds_CurveStablePriceFeed = require("./market/pricefeeds/feeds/CurveStablePriceFeed.js");
163
+ const require_onchain_market_pricefeeds_feeds_CurveUSDPriceFeed = require("./market/pricefeeds/feeds/CurveUSDPriceFeed.js");
164
+ const require_onchain_market_pricefeeds_feeds_Erc4626PriceFeed = require("./market/pricefeeds/feeds/Erc4626PriceFeed.js");
165
+ const require_onchain_market_pricefeeds_feeds_ExternalPriceFeed = require("./market/pricefeeds/feeds/ExternalPriceFeed.js");
166
+ const require_onchain_market_pricefeeds_feeds_MellowLRTPriceFeed = require("./market/pricefeeds/feeds/MellowLRTPriceFeed.js");
167
+ const require_onchain_market_pricefeeds_feeds_PendleTWAPPTPriceFeed = require("./market/pricefeeds/feeds/PendleTWAPPTPriceFeed.js");
168
+ const require_onchain_market_pricefeeds_feeds_PythPriceFeed = require("./market/pricefeeds/feeds/PythPriceFeed.js");
169
+ const require_onchain_market_pricefeeds_feeds_RedstonePriceFeed = require("./market/pricefeeds/feeds/RedstonePriceFeed.js");
170
+ const require_onchain_market_pricefeeds_feeds_WstETHPriceFeed = require("./market/pricefeeds/feeds/WstETHPriceFeed.js");
171
+ const require_onchain_market_pricefeeds_feeds_YearnPriceFeed = require("./market/pricefeeds/feeds/YearnPriceFeed.js");
172
+ const require_onchain_market_pricefeeds_feeds_ZeroPriceFeed = require("./market/pricefeeds/feeds/ZeroPriceFeed.js");
173
+ const require_onchain_market_pricefeeds_PriceFeedRegistry = require("./market/pricefeeds/PriceFeedRegistry.js");
171
174
  const require_onchain_market_pricefeeds_updates_fetchRedstonePayloads = require("./market/pricefeeds/updates/fetchRedstonePayloads.js");
172
- const require_onchain_market_pricefeeds_WstETHPriceFeed = require("./market/pricefeeds/WstETHPriceFeed.js");
173
- const require_onchain_market_pricefeeds_YearnPriceFeed = require("./market/pricefeeds/YearnPriceFeed.js");
174
- const require_onchain_market_pricefeeds_ZeroPriceFeed = require("./market/pricefeeds/ZeroPriceFeed.js");
175
- const require_onchain_market_pricefeeds_PriceFeedsRegister = require("./market/pricefeeds/PriceFeedsRegister.js");
175
+ const require_onchain_market_pricefeeds_updates_getRawPriceUpdates = require("./market/pricefeeds/updates/getRawPriceUpdates.js");
176
+ const require_onchain_market_pricefeeds_updates_isUpdatablePriceFeed = require("./market/pricefeeds/updates/isUpdatablePriceFeed.js");
177
+ const require_onchain_market_pricefeeds_updates_PriceUpdatesCache = require("./market/pricefeeds/updates/PriceUpdatesCache.js");
178
+ const require_onchain_market_pricefeeds_updates_RedstoneUpdater = require("./market/pricefeeds/updates/RedstoneUpdater.js");
179
+ const require_onchain_market_pricefeeds_updates_updatableDependencies = require("./market/pricefeeds/updates/updatableDependencies.js");
180
+ const require_onchain_market_pricefeeds_updates_UpdatablePriceFeedRegistry = require("./market/pricefeeds/updates/UpdatablePriceFeedRegistry.js");
176
181
  const require_onchain_market_oracle_PriceOracleV310Contract = require("./market/oracle/PriceOracleV310Contract.js");
177
182
  const require_onchain_market_oracle_createPriceOracle = require("./market/oracle/createPriceOracle.js");
178
183
  const require_onchain_market_pool_GaugeContract = require("./market/pool/GaugeContract.js");
@@ -213,15 +218,17 @@ const require_onchain_validation_checks_checkPoolPaused = require("./validation/
213
218
  const require_onchain_validation_checks_checkPoolSunset = require("./validation/checks/checkPoolSunset.js");
214
219
  const require_onchain_validation_checks_checkQuotaCount = require("./validation/checks/checkQuotaCount.js");
215
220
  const require_onchain_validation_checks_checkQuotaLimit = require("./validation/checks/checkQuotaLimit.js");
221
+ const require_onchain_validation_checks_checkReservePriceLimited = require("./validation/checks/checkReservePriceLimited.js");
216
222
  const require_onchain_validation_bundles_checkAccountQuotas = require("./validation/bundles/checkAccountQuotas.js");
217
223
  const require_onchain_validation_bundles_checkWalletAllowance = require("./validation/bundles/checkWalletAllowance.js");
218
224
  const require_onchain_validation_bundles_checkWalletBalance = require("./validation/bundles/checkWalletBalance.js");
219
225
  const require_onchain_validation_bundles_checkCollateralFunding = require("./validation/bundles/checkCollateralFunding.js");
220
- const require_onchain_validation_bundles_checkDraw = require("./validation/bundles/checkDraw.js");
221
226
  const require_onchain_validation_bundles_checkHealthFactors = require("./validation/bundles/checkHealthFactors.js");
227
+ const require_onchain_validation_bundles_checkIncreaseDebt = require("./validation/bundles/checkIncreaseDebt.js");
228
+ const require_onchain_validation_bundles_checkIncreaseQuota = require("./validation/bundles/checkIncreaseQuota.js");
222
229
  const require_onchain_validation_bundles_checkMarket = require("./validation/bundles/checkMarket.js");
223
230
  const require_onchain_validation_bundles_checkObtained = require("./validation/bundles/checkObtained.js");
224
- const require_onchain_validation_bundles_checkQuotasAsked = require("./validation/bundles/checkQuotasAsked.js");
231
+ const require_onchain_validation_bundles_checkMidasAccountGreenlist = require("./validation/bundles/checkMidasAccountGreenlist.js");
225
232
  const require_onchain_validation_bundles_checkRWAOpenRequirements = require("./validation/bundles/checkRWAOpenRequirements.js");
226
233
  const require_onchain_validation_bundles_checkRWAOpening = require("./validation/bundles/checkRWAOpening.js");
227
234
  const require_onchain_validation_bundles_checkCreditOperation = require("./validation/bundles/checkCreditOperation.js");
@@ -292,6 +299,7 @@ const require_onchain_preview_preview_detectCloseOrRepay = require("./preview/pr
292
299
  const require_onchain_preview_preview_detectDelayedClaim = require("./preview/preview/detectDelayedClaim.js");
293
300
  const require_onchain_preview_preview_detectDelayedOperation = require("./preview/preview/detectDelayedOperation.js");
294
301
  const require_onchain_preview_preview_estimateClaimableAt = require("./preview/preview/estimateClaimableAt.js");
302
+ const require_onchain_preview_preview_midasGreenlistsAccount = require("./preview/preview/midasGreenlistsAccount.js");
295
303
  const require_onchain_preview_preview_previewAdjustStrategyPosition = require("./preview/preview/previewAdjustStrategyPosition.js");
296
304
  const require_onchain_preview_preview_previewExitOrRepayStrategyPosition = require("./preview/preview/previewExitOrRepayStrategyPosition.js");
297
305
  const require_onchain_preview_preview_replayInnerOperations = require("./preview/preview/replayInnerOperations.js");
@@ -328,7 +336,6 @@ exports.AP_PRICE_ORACLE = require_onchain_constants_address_provider.AP_PRICE_OR
328
336
  exports.AP_REDEMPTION_LOGGER = require_onchain_constants_address_provider.AP_REDEMPTION_LOGGER;
329
337
  exports.AP_REWARDS_COMPRESSOR = require_onchain_constants_address_provider.AP_REWARDS_COMPRESSOR;
330
338
  exports.AP_ROUTER = require_onchain_constants_address_provider.AP_ROUTER;
331
- exports.AP_RWA_COMPRESSOR = require_onchain_constants_address_provider.AP_RWA_COMPRESSOR;
332
339
  exports.AP_TOKEN_COMPRESSOR = require_onchain_constants_address_provider.AP_TOKEN_COMPRESSOR;
333
340
  exports.AP_TREASURY = require_onchain_constants_address_provider.AP_TREASURY;
334
341
  exports.AP_WETH_GATEWAY = require_onchain_constants_address_provider.AP_WETH_GATEWAY;
@@ -347,20 +354,21 @@ exports.AddressProviderV310Contract = require_onchain_core_AddressProviderV310Co
347
354
  exports.AddressSet = require_onchain_utils_AddressSet.AddressSet;
348
355
  exports.AssetsMap = require_onchain_utils_AssetsMap.AssetsMap;
349
356
  exports.BLOCKS_PER_WEEK_BY_NETWORK = require_onchain_constants_networks.BLOCKS_PER_WEEK_BY_NETWORK;
350
- exports.BalancerStablePriceFeedContract = require_onchain_market_pricefeeds_BalancerStablePriceFeed.BalancerStablePriceFeedContract;
357
+ exports.BalancerStablePriceFeedContract = require_onchain_market_pricefeeds_feeds_BalancerStablePriceFeed.BalancerStablePriceFeedContract;
351
358
  exports.BalancerV3PoolStatus = require_onchain_market_adapters_contracts_BalancerV3RouterAdapterContract.BalancerV3PoolStatus;
352
359
  exports.BalancerV3RouterAdapterContract = require_onchain_market_adapters_contracts_BalancerV3RouterAdapterContract.BalancerV3RouterAdapterContract;
353
360
  exports.BalancerV3WrapperAdapterContract = require_onchain_market_adapters_contracts_BalancerV3WrapperAdapterContract.BalancerV3WrapperAdapterContract;
354
- exports.BalancerWeightedPriceFeedContract = require_onchain_market_pricefeeds_BalancerWeightedPriceFeed.BalancerWeightedPriceFeedContract;
361
+ exports.BalancerWeightedPriceFeedContract = require_onchain_market_pricefeeds_feeds_BalancerWeightedPriceFeed.BalancerWeightedPriceFeedContract;
355
362
  exports.BaseContract = require_onchain_base_BaseContract.BaseContract;
356
363
  exports.BasePlugin = require_onchain_plugins_BasePlugin.BasePlugin;
357
364
  exports.BigIntMath = require_onchain_utils_bigint_math.BigIntMath;
358
365
  exports.BotPermissions = require_onchain_constants_bot_permissions.BotPermissions;
359
- exports.BoundedPriceFeedContract = require_onchain_market_pricefeeds_BoundedPriceFeed.BoundedPriceFeedContract;
366
+ exports.BoundedPriceFeedContract = require_onchain_market_pricefeeds_feeds_BoundedPriceFeed.BoundedPriceFeedContract;
360
367
  exports.CamelotV3AdapterContract = require_onchain_market_adapters_contracts_CamelotV3AdapterContract.CamelotV3AdapterContract;
361
368
  exports.ChainContractsRegister = require_onchain_base_ChainContractsRegister.ChainContractsRegister;
362
369
  exports.ChainNotConfiguredError = require_onchain_core_errors.ChainNotConfiguredError;
363
- exports.CompositePriceFeedContract = require_onchain_market_pricefeeds_CompositePriceFeed.CompositePriceFeedContract;
370
+ exports.CompositePriceFeedContract = require_onchain_market_pricefeeds_feeds_CompositePriceFeed.CompositePriceFeedContract;
371
+ exports.ConstantPriceFeedContract = require_onchain_market_pricefeeds_feeds_ConstantPriceFeed.ConstantPriceFeedContract;
364
372
  exports.Construct = require_onchain_base_Construct.Construct;
365
373
  exports.ContractParseError = require_onchain_base_BaseContract.ContractParseError;
366
374
  exports.ConvexV1BaseRewardPoolAdapterContract = require_onchain_market_adapters_contracts_ConvexV1BaseRewardPoolAdapterContract.ConvexV1BaseRewardPoolAdapterContract;
@@ -378,9 +386,9 @@ exports.CreditSuite = require_onchain_market_credit_CreditSuite.CreditSuite;
378
386
  exports.Curve2AssetsAdapterContract = require_onchain_market_adapters_contracts_Curve2AssetsAdapterContract.Curve2AssetsAdapterContract;
379
387
  exports.Curve3AssetsAdapterContract = require_onchain_market_adapters_contracts_Curve3AssetsAdapterContract.Curve3AssetsAdapterContract;
380
388
  exports.Curve4AssetsAdapterContract = require_onchain_market_adapters_contracts_Curve4AssetsAdapterContract.Curve4AssetsAdapterContract;
381
- exports.CurveCryptoPriceFeedContract = require_onchain_market_pricefeeds_CurveCryptoPriceFeed.CurveCryptoPriceFeedContract;
382
- exports.CurveStablePriceFeedContract = require_onchain_market_pricefeeds_CurveStablePriceFeed.CurveStablePriceFeedContract;
383
- exports.CurveUSDPriceFeedContract = require_onchain_market_pricefeeds_CurveUSDPriceFeed.CurveUSDPriceFeedContract;
389
+ exports.CurveCryptoPriceFeedContract = require_onchain_market_pricefeeds_feeds_CurveCryptoPriceFeed.CurveCryptoPriceFeedContract;
390
+ exports.CurveStablePriceFeedContract = require_onchain_market_pricefeeds_feeds_CurveStablePriceFeed.CurveStablePriceFeedContract;
391
+ exports.CurveUSDPriceFeedContract = require_onchain_market_pricefeeds_feeds_CurveUSDPriceFeed.CurveUSDPriceFeedContract;
384
392
  exports.CurveV1AdapterStETHContract = require_onchain_market_adapters_contracts_CurveV1AdapterStETHContract.CurveV1AdapterStETHContract;
385
393
  exports.CurveV1StableNGAdapterContract = require_onchain_market_adapters_contracts_CurveV1StableNGAdapterContract.CurveV1StableNGAdapterContract;
386
394
  exports.DEFAULT_QUOTA_BUFFER_BPS = require_onchain_market_math.DEFAULT_QUOTA_BUFFER_BPS;
@@ -393,8 +401,8 @@ exports.DaiUsdsAdapterContract = require_onchain_market_adapters_contracts_DaiUs
393
401
  exports.ERC4626AdapterContract = require_onchain_market_adapters_contracts_ERC4626AdapterContract.ERC4626AdapterContract;
394
402
  exports.ERC4626ReferralAdapterContract = require_onchain_market_adapters_contracts_ERC4626ReferralAdapterContract.ERC4626ReferralAdapterContract;
395
403
  exports.EXECUTE_BYTES_SELECTOR = require_onchain_utils_trace.EXECUTE_BYTES_SELECTOR;
396
- exports.Erc4626PriceFeedContract = require_onchain_market_pricefeeds_Erc4626PriceFeed.Erc4626PriceFeedContract;
397
- exports.ExternalPriceFeedContract = require_onchain_market_pricefeeds_ExternalPriceFeed.ExternalPriceFeedContract;
404
+ exports.Erc4626PriceFeedContract = require_onchain_market_pricefeeds_feeds_Erc4626PriceFeed.Erc4626PriceFeedContract;
405
+ exports.ExternalPriceFeedContract = require_onchain_market_pricefeeds_feeds_ExternalPriceFeed.ExternalPriceFeedContract;
398
406
  exports.FluidDexAdapterContract = require_onchain_market_adapters_contracts_FluidDexAdapterContract.FluidDexAdapterContract;
399
407
  exports.GaugeContract = require_onchain_market_pool_GaugeContract.GaugeContract;
400
408
  exports.IERC20ZapperContract = require_onchain_market_zapper_IERC20ZapperContract.IERC20ZapperContract;
@@ -424,7 +432,7 @@ exports.MarketSuite = require_onchain_market_MarketSuite.MarketSuite;
424
432
  exports.MellowClaimerAdapterContract = require_onchain_market_adapters_contracts_MellowClaimerAdapterContract.MellowClaimerAdapterContract;
425
433
  exports.MellowDVVAdapterContract = require_onchain_market_adapters_contracts_MellowDVVAdapterContract.MellowDVVAdapterContract;
426
434
  exports.MellowERC4626VaultAdapterContract = require_onchain_market_adapters_contracts_MellowERC4626VaultAdapterContract.MellowERC4626VaultAdapterContract;
427
- exports.MellowLRTPriceFeedContract = require_onchain_market_pricefeeds_MellowLRTPriceFeed.MellowLRTPriceFeedContract;
435
+ exports.MellowLRTPriceFeedContract = require_onchain_market_pricefeeds_feeds_MellowLRTPriceFeed.MellowLRTPriceFeedContract;
428
436
  exports.MellowWrapperAdapterContract = require_onchain_market_adapters_contracts_MellowWrapperAdapterContract.MellowWrapperAdapterContract;
429
437
  exports.MidasDegenNFT = require_onchain_market_rwa_midas_MidasDegenNFT.MidasDegenNFT;
430
438
  exports.MidasGatewayAdapterContract = require_onchain_market_adapters_contracts_MidasGatewayAdapterContract.MidasGatewayAdapterContract;
@@ -457,7 +465,7 @@ exports.PRICE_DECIMALS_POW = require_onchain_constants_math.PRICE_DECIMALS_POW;
457
465
  exports.PartialPriceFeedInitError = require_onchain_market_pricefeeds_AbstractPriceFeed.PartialPriceFeedInitError;
458
466
  exports.PendlePairStatus = require_onchain_market_adapters_contracts_PendleRouterAdapterContract.PendlePairStatus;
459
467
  exports.PendleRouterAdapterContract = require_onchain_market_adapters_contracts_PendleRouterAdapterContract.PendleRouterAdapterContract;
460
- exports.PendleTWAPPTPriceFeed = require_onchain_market_pricefeeds_PendleTWAPPTPriceFeed.PendleTWAPPTPriceFeed;
468
+ exports.PendleTWAPPTPriceFeed = require_onchain_market_pricefeeds_feeds_PendleTWAPPTPriceFeed.PendleTWAPPTPriceFeed;
461
469
  exports.PendleTokenType = require_onchain_market_adapters_contracts_PendleRouterAdapterContract.PendleTokenType;
462
470
  exports.PeripheryCompressorV310Contract = require_onchain_accounts_bots_PeripheryCompressorV310Contract.PeripheryCompressorV310Contract;
463
471
  exports.PluginStateVersionError = require_onchain_plugins_errors.PluginStateVersionError;
@@ -466,20 +474,24 @@ exports.PoolSuite = require_onchain_market_pool_PoolSuite.PoolSuite;
466
474
  exports.PoolV310Contract = require_onchain_market_pool_PoolV310Contract.PoolV310Contract;
467
475
  exports.PositionsService = require_onchain_positions_PositionsService.PositionsService;
468
476
  exports.PriceFeedRef = require_onchain_market_pricefeeds_PriceFeedRef.PriceFeedRef;
469
- exports.PriceFeedRegister = require_onchain_market_pricefeeds_PriceFeedsRegister.PriceFeedRegister;
477
+ exports.PriceFeedRegistry = require_onchain_market_pricefeeds_PriceFeedRegistry.PriceFeedRegistry;
470
478
  exports.PriceOracleV310Contract = require_onchain_market_oracle_PriceOracleV310Contract.PriceOracleV310Contract;
471
- exports.PythPriceFeed = require_onchain_market_pricefeeds_PythPriceFeed.PythPriceFeed;
479
+ exports.PriceUpdatesCache = require_onchain_market_pricefeeds_updates_PriceUpdatesCache.PriceUpdatesCache;
480
+ exports.PythPriceFeed = require_onchain_market_pricefeeds_feeds_PythPriceFeed.PythPriceFeed;
472
481
  exports.RAMP_DURATION_BY_NETWORK = require_onchain_constants_networks.RAMP_DURATION_BY_NETWORK;
473
482
  exports.RAY = require_onchain_constants_math.RAY;
474
483
  exports.RAY_DECIMALS_POW = require_onchain_constants_math.RAY_DECIMALS_POW;
475
484
  exports.RWARegistry = require_onchain_market_rwa_RWARegistry.RWARegistry;
485
+ exports.RWA_COMPRESSOR_ADDRESS = require_onchain_market_rwa_RWARegistry.RWA_COMPRESSOR_ADDRESS;
476
486
  exports.RWA_LIQUIDATOR_MIDAS = require_onchain_market_rwa_midas_constants.RWA_LIQUIDATOR_MIDAS;
477
487
  exports.RWA_LIQUIDATOR_SECURITIZE = require_onchain_market_rwa_securitize_constants.RWA_LIQUIDATOR_SECURITIZE;
478
488
  exports.RWA_ON_DEMAND_LP_MONOPOLIZED = require_onchain_base_token_types.RWA_ON_DEMAND_LP_MONOPOLIZED;
479
489
  exports.RWA_UNDERLYING_DEFAULT = require_onchain_base_token_types.RWA_UNDERLYING_DEFAULT;
480
490
  exports.RWA_UNDERLYING_ON_DEMAND = require_onchain_base_token_types.RWA_UNDERLYING_ON_DEMAND;
481
491
  exports.RedemptionLoggerV310Contract = require_onchain_accounts_withdrawal_compressor_RedemptionLoggerV310Contract.RedemptionLoggerV310Contract;
482
- exports.RedstonePriceFeedContract = require_onchain_market_pricefeeds_RedstonePriceFeed.RedstonePriceFeedContract;
492
+ exports.RedstoneOptions = require_onchain_market_pricefeeds_updates_RedstoneUpdater.RedstoneOptions;
493
+ exports.RedstonePriceFeedContract = require_onchain_market_pricefeeds_feeds_RedstonePriceFeed.RedstonePriceFeedContract;
494
+ exports.RedstoneUpdater = require_onchain_market_pricefeeds_updates_RedstoneUpdater.RedstoneUpdater;
483
495
  exports.RouterV310Contract = require_onchain_router_RouterV310Contract.RouterV310Contract;
484
496
  exports.SDKConstruct = require_onchain_base_SDKConstruct.SDKConstruct;
485
497
  exports.SECONDS_PER_YEAR = require_onchain_constants_math.SECONDS_PER_YEAR;
@@ -508,6 +520,7 @@ exports.TypedObjectUtils = require_onchain_utils_mappers.TypedObjectUtils;
508
520
  exports.UniswapV2AdapterContract = require_onchain_market_adapters_contracts_UniswapV2AdapterContract.UniswapV2AdapterContract;
509
521
  exports.UniswapV3AdapterContract = require_onchain_market_adapters_contracts_UniswapV3AdapterContract.UniswapV3AdapterContract;
510
522
  exports.UniswapV4AdapterContract = require_onchain_market_adapters_contracts_UniswapV4AdapterContract.UniswapV4AdapterContract;
523
+ exports.UpdatablePriceFeedRegistry = require_onchain_market_pricefeeds_updates_UpdatablePriceFeedRegistry.UpdatablePriceFeedRegistry;
511
524
  exports.UpshiftVaultAdapterContract = require_onchain_market_adapters_contracts_UpshiftVaultAdapterContract.UpshiftVaultAdapterContract;
512
525
  exports.VERSION_RANGE_310 = require_onchain_constants_versions.VERSION_RANGE_310;
513
526
  exports.VelodromeV2RouterAdapterContract = require_onchain_market_adapters_contracts_VelodromeV2AdapterContract.VelodromeV2RouterAdapterContract;
@@ -517,11 +530,11 @@ exports.WAD_DECIMALS_POW = require_onchain_constants_math.WAD_DECIMALS_POW;
517
530
  exports.WithdrawalCompressorV310Contract = require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV310Contract.WithdrawalCompressorV310Contract;
518
531
  exports.WithdrawalCompressorV311Contract = require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV311Contract.WithdrawalCompressorV311Contract;
519
532
  exports.WithdrawalCompressorV313Contract = require_onchain_accounts_withdrawal_compressor_WithdrawalCompressorV313Contract.WithdrawalCompressorV313Contract;
520
- exports.WstETHPriceFeedContract = require_onchain_market_pricefeeds_WstETHPriceFeed.WstETHPriceFeedContract;
533
+ exports.WstETHPriceFeedContract = require_onchain_market_pricefeeds_feeds_WstETHPriceFeed.WstETHPriceFeedContract;
521
534
  exports.WstETHV1AdapterContract = require_onchain_market_adapters_contracts_WstETHV1AdapterContract.WstETHV1AdapterContract;
522
- exports.YearnPriceFeedContract = require_onchain_market_pricefeeds_YearnPriceFeed.YearnPriceFeedContract;
535
+ exports.YearnPriceFeedContract = require_onchain_market_pricefeeds_feeds_YearnPriceFeed.YearnPriceFeedContract;
523
536
  exports.ZapperContract = require_onchain_market_zapper_ZapperContract.ZapperContract;
524
- exports.ZeroPriceFeedContract = require_onchain_market_pricefeeds_ZeroPriceFeed.ZeroPriceFeedContract;
537
+ exports.ZeroPriceFeedContract = require_onchain_market_pricefeeds_feeds_ZeroPriceFeed.ZeroPriceFeedContract;
525
538
  exports.ZodAddress = require_onchain_utils_zod.ZodAddress;
526
539
  exports.ZodBigInt = require_onchain_utils_zod.ZodBigInt;
527
540
  exports.ZodHex = require_onchain_utils_zod.ZodHex;
@@ -563,10 +576,11 @@ exports.checkCreditAccountFrozen = require_onchain_validation_checks_checkCredit
563
576
  exports.checkCreditManagerPaused = require_onchain_validation_checks_checkCreditManagerPaused.checkCreditManagerPaused;
564
577
  exports.checkCreditOperation = require_onchain_validation_bundles_checkCreditOperation.checkCreditOperation;
565
578
  exports.checkDebtLimits = require_onchain_validation_checks_checkDebtLimits.checkDebtLimits;
566
- exports.checkDraw = require_onchain_validation_bundles_checkDraw.checkDraw;
567
579
  exports.checkEmergencyLiquidator = require_onchain_validation_checks_checkEmergencyLiquidator.checkEmergencyLiquidator;
568
580
  exports.checkForbiddenToken = require_onchain_validation_checks_checkForbiddenToken.checkForbiddenToken;
569
581
  exports.checkHealthFactors = require_onchain_validation_bundles_checkHealthFactors.checkHealthFactors;
582
+ exports.checkIncreaseDebt = require_onchain_validation_bundles_checkIncreaseDebt.checkIncreaseDebt;
583
+ exports.checkIncreaseQuota = require_onchain_validation_bundles_checkIncreaseQuota.checkIncreaseQuota;
570
584
  exports.checkLeverage = require_onchain_validation_checks_checkLeverage.checkLeverage;
571
585
  exports.checkLiquidation = require_onchain_validation_checkLiquidation.checkLiquidation;
572
586
  exports.checkLiquidationEligibility = require_onchain_validation_bundles_checkLiquidationEligibility.checkLiquidationEligibility;
@@ -574,6 +588,7 @@ exports.checkLiquidationFunding = require_onchain_validation_bundles_checkLiquid
574
588
  exports.checkLiquidatorEligible = require_onchain_validation_checks_checkLiquidatorEligible.checkLiquidatorEligible;
575
589
  exports.checkMarket = require_onchain_validation_bundles_checkMarket.checkMarket;
576
590
  exports.checkMarketExpired = require_onchain_validation_checks_checkMarketExpired.checkMarketExpired;
591
+ exports.checkMidasAccountGreenlist = require_onchain_validation_bundles_checkMidasAccountGreenlist.checkMidasAccountGreenlist;
577
592
  exports.checkObtained = require_onchain_validation_bundles_checkObtained.checkObtained;
578
593
  exports.checkOperation = require_onchain_validation_checkOperation.checkOperation;
579
594
  exports.checkPoolFunding = require_onchain_validation_bundles_checkPoolFunding.checkPoolFunding;
@@ -583,9 +598,9 @@ exports.checkPoolPaused = require_onchain_validation_checks_checkPoolPaused.chec
583
598
  exports.checkPoolSunset = require_onchain_validation_checks_checkPoolSunset.checkPoolSunset;
584
599
  exports.checkQuotaCount = require_onchain_validation_checks_checkQuotaCount.checkQuotaCount;
585
600
  exports.checkQuotaLimit = require_onchain_validation_checks_checkQuotaLimit.checkQuotaLimit;
586
- exports.checkQuotasAsked = require_onchain_validation_bundles_checkQuotasAsked.checkQuotasAsked;
587
601
  exports.checkRWAOpenRequirements = require_onchain_validation_bundles_checkRWAOpenRequirements.checkRWAOpenRequirements;
588
602
  exports.checkRWAOpening = require_onchain_validation_bundles_checkRWAOpening.checkRWAOpening;
603
+ exports.checkReservePriceLimited = require_onchain_validation_checks_checkReservePriceLimited.checkReservePriceLimited;
589
604
  exports.checkSimulation = require_onchain_validation_checkSimulation.checkSimulation;
590
605
  exports.checkWallet = require_onchain_validation_bundles_checkWallet.checkWallet;
591
606
  exports.checkWalletAllowance = require_onchain_validation_bundles_checkWalletAllowance.checkWalletAllowance;
@@ -652,7 +667,7 @@ exports.getCuratorName = require_onchain_chain_chains.getCuratorName;
652
667
  exports.getFunctionSignature = require_onchain_utils_abi_decode.getFunctionSignature;
653
668
  exports.getLegacyStrategyTarget = require_onchain_chain_chains.getLegacyStrategyTarget;
654
669
  exports.getNetworkType = require_onchain_chain_chains.getNetworkType;
655
- exports.getRawPriceUpdates = require_onchain_market_pricefeeds_getRawPriceUpdates.getRawPriceUpdates;
670
+ exports.getRawPriceUpdates = require_onchain_market_pricefeeds_updates_getRawPriceUpdates.getRawPriceUpdates;
656
671
  exports.getSimulateWithPriceUpdatesError = require_onchain_utils_viem_simulateWithPriceUpdates.getSimulateWithPriceUpdatesError;
657
672
  exports.getWithdrawalCompressorAddress = require_onchain_accounts_withdrawal_compressor_addresses.getWithdrawalCompressorAddress;
658
673
  exports.halfRAY = require_onchain_constants_math.halfRAY;
@@ -742,7 +757,7 @@ exports.isStrategyCollateral = require_onchain_market_credit_collateralUtils.isS
742
757
  exports.isSunsetPool = require_onchain_chain_chains.isSunsetPool;
743
758
  exports.isSunsetStrategy = require_onchain_chain_chains.isSunsetStrategy;
744
759
  exports.isSupportedNetwork = require_onchain_chain_chains.isSupportedNetwork;
745
- exports.isUpdatablePriceFeed = require_onchain_market_pricefeeds_isUpdatablePriceFeed.isUpdatablePriceFeed;
760
+ exports.isUpdatablePriceFeed = require_onchain_market_pricefeeds_updates_isUpdatablePriceFeed.isUpdatablePriceFeed;
746
761
  exports.isV310 = require_onchain_constants_versions.isV310;
747
762
  exports.isVersionRange = require_onchain_constants_versions.isVersionRange;
748
763
  exports.isZeroBalance = require_onchain_constants_math.isZeroBalance;
@@ -753,6 +768,7 @@ exports.json_stringify = require_onchain_utils_json.json_stringify;
753
768
  exports.lidoV1_WETHGatewayAbi = require_onchain_market_adapters_abi_targetContractAbi.lidoV1_WETHGatewayAbi;
754
769
  exports.makeReplayState = require_onchain_preview_preview_replayInnerOperations.makeReplayState;
755
770
  exports.mellowDvvAdapterAbi = require_onchain_market_adapters_abi_adapters_mellowDvvAdapter.mellowDvvAdapterAbi;
771
+ exports.midasGreenlistsAccount = require_onchain_preview_preview_midasGreenlistsAccount.midasGreenlistsAccount;
756
772
  exports.minSeizedAmount = require_onchain_market_math.minSeizedAmount;
757
773
  exports.numberWithCommas = require_onchain_utils_formatter.numberWithCommas;
758
774
  exports.onchainSDKOptionsSchema = require_onchain_options.onchainSDKOptionsSchema;
@@ -802,5 +818,6 @@ exports.toSignificant = require_onchain_utils_formatter.toSignificant;
802
818
  exports.toToken = require_onchain_validation_helpers_token.toToken;
803
819
  exports.toTokenAmount = require_onchain_validation_helpers_token.toTokenAmount;
804
820
  exports.toWithdrawalStatus = require_onchain_accounts_withdrawal_compressor_types.toWithdrawalStatus;
821
+ exports.updatableDependencies = require_onchain_market_pricefeeds_updates_updatableDependencies.updatableDependencies;
805
822
  exports.usdToNumber = require_onchain_market_math.usdToNumber;
806
823
  exports.watchBlocksAsync = require_onchain_utils_viem_watchBlocksAsync.watchBlocksAsync;
@@ -20,7 +20,7 @@ const adapterConstructorAbi = {
20
20
  ["INFINIFI_GATEWAY"]: { 310: require_onchain_market_adapters_abi_conctructorAbiPatterns.BASIC_ADAPTER_ABI },
21
21
  ["LIDO_V1"]: { 310: require_onchain_market_adapters_abi_conctructorAbiPatterns.BASIC_ADAPTER_ABI },
22
22
  ["LIDO_WSTETH_V1"]: { 310: require_onchain_market_adapters_abi_conctructorAbiPatterns.BASIC_ADAPTER_ABI },
23
- ["MIDAS_GATEWAY"]: { 311: require_onchain_market_adapters_abi_conctructorAbiPatterns.REFERER_ID_ADAPTER_ABI },
23
+ ["MIDAS_GATEWAY"]: { 311: require_onchain_market_adapters_abi_conctructorAbiPatterns.BASIC_ADAPTER_ABI },
24
24
  ["MIDAS_REDEMPTION_VAULT"]: {
25
25
  310: require_onchain_market_adapters_abi_conctructorAbiPatterns.BASIC_ADAPTER_ABI,
26
26
  311: require_onchain_market_adapters_abi_conctructorAbiPatterns.BASIC_ADAPTER_ABI
@@ -66,7 +66,7 @@ const adapterConstructorAbi = {
66
66
  ["INFINIFI_UNWINDING"]: { 310: require_onchain_market_adapters_abi_conctructorAbiPatterns.PHANTOM_TOKEN_ADAPTER_ABI },
67
67
  ["SECURITIZE_REDEMPTION"]: {
68
68
  310: require_onchain_market_adapters_abi_conctructorAbiPatterns.PHANTOM_TOKEN_ADAPTER_ABI,
69
- 311: require_onchain_market_adapters_abi_conctructorAbiPatterns.PHANTOM_TOKEN_ADAPTER_ABI
69
+ 311: require_onchain_market_adapters_abi_conctructorAbiPatterns.BASIC_ADAPTER_ABI
70
70
  },
71
71
  ["STAKING_REWARDS"]: { 312: require_onchain_market_adapters_abi_conctructorAbiPatterns.STAKING_REWARDS_ADAPTER_ABI },
72
72
  ["MIDAS_ISSUANCE_VAULT"]: {