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

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 (376) 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/math.js +12 -3
  23. package/dist/cjs/onchain/accounts/intents/maxBorrow.js +89 -0
  24. package/dist/cjs/onchain/accounts/intents/maxWithdrawCollateral.js +15 -41
  25. package/dist/cjs/onchain/accounts/intents/open-strategy.js +8 -46
  26. package/dist/cjs/onchain/accounts/intents/operations.js +0 -1
  27. package/dist/cjs/onchain/accounts/intents/plan.js +1 -8
  28. package/dist/cjs/onchain/accounts/intents/realize.js +61 -4
  29. package/dist/cjs/onchain/accounts/intents/tail.js +1 -1
  30. package/dist/cjs/onchain/accounts/intents/testing/sdk-mock.js +1 -0
  31. package/dist/cjs/onchain/accounts/intents/utils/common.js +19 -0
  32. package/dist/cjs/onchain/accounts/intents/utils/credit-account-slice.js +21 -0
  33. package/dist/cjs/onchain/accounts/intents/utils/index.js +2 -0
  34. package/dist/cjs/onchain/accounts/intents/utils/price-impact.js +12 -9
  35. package/dist/cjs/onchain/accounts/intents/utils/router-path.js +4 -5
  36. package/dist/cjs/onchain/accounts/intents/withdraw-limits.js +97 -0
  37. package/dist/cjs/onchain/accounts/liquidations/LiquidationsService.js +1 -1
  38. package/dist/cjs/onchain/constants/address-provider.js +0 -2
  39. package/dist/cjs/onchain/constants/index.js +0 -1
  40. package/dist/cjs/onchain/core/createAddressProvider.js +2 -5
  41. package/dist/cjs/onchain/index.js +60 -43
  42. package/dist/cjs/onchain/market/adapters/abi/conctructorAbi.js +2 -2
  43. package/dist/cjs/onchain/market/adapters/contracts/AbstractAdapter.js +6 -0
  44. package/dist/cjs/onchain/market/adapters/contracts/MidasGatewayAdapterContract.js +49 -5
  45. package/dist/cjs/onchain/market/credit/CreditSuite.js +26 -9
  46. package/dist/cjs/onchain/market/index.js +50 -38
  47. package/dist/cjs/onchain/market/oracle/PriceOracleBaseContract.js +3 -3
  48. package/dist/cjs/onchain/market/pricefeeds/AbstractPriceFeed.js +0 -5
  49. package/dist/cjs/onchain/market/pricefeeds/PriceFeedRegistry.js +127 -0
  50. package/dist/cjs/onchain/market/pricefeeds/{BalancerStablePriceFeed.js → feeds/BalancerStablePriceFeed.js} +4 -4
  51. package/dist/cjs/onchain/market/pricefeeds/{BalancerWeightedPriceFeed.js → feeds/BalancerWeightedPriceFeed.js} +4 -4
  52. package/dist/cjs/onchain/market/pricefeeds/{BoundedPriceFeed.js → feeds/BoundedPriceFeed.js} +4 -4
  53. package/dist/cjs/onchain/market/pricefeeds/{CompositePriceFeed.js → feeds/CompositePriceFeed.js} +4 -4
  54. package/dist/cjs/onchain/market/pricefeeds/{ConstantPriceFeed.js → feeds/ConstantPriceFeed.js} +3 -3
  55. package/dist/cjs/onchain/market/pricefeeds/{CurveCryptoPriceFeed.js → feeds/CurveCryptoPriceFeed.js} +4 -4
  56. package/dist/cjs/onchain/market/pricefeeds/{CurveStablePriceFeed.js → feeds/CurveStablePriceFeed.js} +4 -4
  57. package/dist/cjs/onchain/market/pricefeeds/{CurveUSDPriceFeed.js → feeds/CurveUSDPriceFeed.js} +4 -4
  58. package/dist/cjs/onchain/market/pricefeeds/{Erc4626PriceFeed.js → feeds/Erc4626PriceFeed.js} +4 -4
  59. package/dist/cjs/onchain/market/pricefeeds/{ExternalPriceFeed.js → feeds/ExternalPriceFeed.js} +4 -4
  60. package/dist/cjs/onchain/market/pricefeeds/{MellowLRTPriceFeed.js → feeds/MellowLRTPriceFeed.js} +4 -4
  61. package/dist/cjs/onchain/market/pricefeeds/{PendleTWAPPTPriceFeed.js → feeds/PendleTWAPPTPriceFeed.js} +4 -4
  62. package/dist/cjs/onchain/market/pricefeeds/{PythPriceFeed.js → feeds/PythPriceFeed.js} +3 -3
  63. package/dist/cjs/onchain/market/pricefeeds/{RedstonePriceFeed.js → feeds/RedstonePriceFeed.js} +6 -6
  64. package/dist/cjs/onchain/market/pricefeeds/{WstETHPriceFeed.js → feeds/WstETHPriceFeed.js} +4 -4
  65. package/dist/cjs/onchain/market/pricefeeds/{YearnPriceFeed.js → feeds/YearnPriceFeed.js} +4 -4
  66. package/dist/cjs/onchain/market/pricefeeds/{ZeroPriceFeed.js → feeds/ZeroPriceFeed.js} +4 -4
  67. package/dist/cjs/onchain/market/pricefeeds/feeds/index.js +35 -0
  68. package/dist/cjs/onchain/market/pricefeeds/index.js +51 -39
  69. package/dist/cjs/onchain/market/pricefeeds/updates/UpdatablePriceFeedRegistry.js +189 -0
  70. package/dist/cjs/onchain/market/pricefeeds/{getRawPriceUpdates.js → updates/getRawPriceUpdates.js} +2 -2
  71. package/dist/cjs/onchain/market/pricefeeds/updates/index.js +8 -0
  72. package/dist/cjs/onchain/market/pricefeeds/{isUpdatablePriceFeed.js → updates/isUpdatablePriceFeed.js} +1 -1
  73. package/dist/cjs/onchain/market/pricefeeds/updates/updatableDependencies.js +14 -0
  74. package/dist/cjs/onchain/market/rwa/RWARegistry.js +4 -7
  75. package/dist/cjs/onchain/market/rwa/index.js +1 -0
  76. package/dist/cjs/onchain/market/rwa/midas/MidasDegenNFT.js +45 -5
  77. package/dist/cjs/onchain/market/rwa/securitize/SecuritizeDegenNFT.js +56 -12
  78. package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +0 -37
  79. package/dist/cjs/onchain/opportunities/MultichainOpportunitiesService.js +8 -2
  80. package/dist/cjs/onchain/opportunities/OpportunitiesService.js +16 -4
  81. package/dist/cjs/onchain/pools/PoolService.js +7 -8
  82. package/dist/cjs/onchain/positions/calcHealthFactor.js +3 -3
  83. package/dist/cjs/onchain/preview/index.js +2 -0
  84. package/dist/cjs/onchain/preview/parse/parseRWAFactoryOperationCalldata.js +2 -2
  85. package/dist/cjs/onchain/preview/preview/index.js +2 -0
  86. package/dist/cjs/onchain/preview/preview/midasGreenlistsAccount.js +17 -0
  87. package/dist/cjs/onchain/preview/preview/previewOpenStrategyPosition.js +13 -16
  88. package/dist/cjs/onchain/preview/preview/previewOperation.js +19 -11
  89. package/dist/cjs/onchain/preview/preview/replayMulticall.js +4 -3
  90. package/dist/cjs/onchain/validation/bundles/checkCollateralFunding.js +3 -3
  91. package/dist/cjs/onchain/validation/bundles/checkCreditOperation.js +11 -9
  92. package/dist/cjs/onchain/validation/bundles/{checkDraw.js → checkIncreaseDebt.js} +10 -10
  93. package/dist/cjs/onchain/validation/bundles/{checkQuotasAsked.js → checkIncreaseQuota.js} +3 -3
  94. package/dist/cjs/onchain/validation/bundles/checkMidasAccountGreenlist.js +44 -0
  95. package/dist/cjs/onchain/validation/bundles/checkPoolOperation.js +2 -8
  96. package/dist/cjs/onchain/validation/bundles/checkRWAOpenRequirements.js +9 -9
  97. package/dist/cjs/onchain/validation/bundles/checkRWAOpening.js +18 -8
  98. package/dist/cjs/onchain/validation/bundles/index.js +6 -4
  99. package/dist/cjs/onchain/validation/checkOperation.js +0 -1
  100. package/dist/cjs/onchain/validation/checks/checkBorrowLimit.js +1 -1
  101. package/dist/cjs/onchain/validation/checks/checkPoolLiquidity.js +2 -9
  102. package/dist/cjs/onchain/validation/checks/checkReservePriceLimited.js +30 -0
  103. package/dist/cjs/onchain/validation/checks/index.js +2 -0
  104. package/dist/cjs/onchain/validation/index.js +8 -4
  105. package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +2 -2
  106. package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +2 -2
  107. package/dist/cjs/sdk/execute/ExecuteApi.js +67 -7
  108. package/dist/cjs/sdk/opportunities/OpportunitiesNamespace.js +9 -3
  109. package/dist/cjs/sdk/prepare/PrepareApi.js +89 -14
  110. package/dist/esm/dev/abi.js +14 -15
  111. package/dist/esm/dev/claimFromFaucet.js +4 -8
  112. package/dist/esm/dev/createAnvilClient.js +36 -19
  113. package/dist/esm/dev/index.js +4 -4
  114. package/dist/esm/dev/kycUtils.js +66 -59
  115. package/dist/esm/dev/midasUtils.js +112 -18
  116. package/dist/esm/dev/securitizeUtils.js +84 -44
  117. package/dist/esm/dev/withdrawalUtils.js +3 -6
  118. package/dist/esm/model/errors/index.js +2 -2
  119. package/dist/esm/model/errors/operation-errors.js +18 -2
  120. package/dist/esm/model/index.js +4 -4
  121. package/dist/esm/model/rwa.js +4 -4
  122. package/dist/esm/model/rwa.schema.js +5 -5
  123. package/dist/esm/offchain/opportunities/OffchainOpportunities.js +1 -1
  124. package/dist/esm/onchain/OnchainSDK.js +3 -3
  125. package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -17
  126. package/dist/esm/onchain/accounts/intents/borrow.js +138 -0
  127. package/dist/esm/onchain/accounts/intents/collateral-valuation.js +40 -0
  128. package/dist/esm/onchain/accounts/intents/guards.js +15 -3
  129. package/dist/esm/onchain/accounts/intents/index.js +107 -20
  130. package/dist/esm/onchain/accounts/intents/leverage-band.js +2 -12
  131. package/dist/esm/onchain/accounts/intents/math.js +13 -5
  132. package/dist/esm/onchain/accounts/intents/maxBorrow.js +87 -0
  133. package/dist/esm/onchain/accounts/intents/maxWithdrawCollateral.js +15 -41
  134. package/dist/esm/onchain/accounts/intents/open-strategy.js +8 -46
  135. package/dist/esm/onchain/accounts/intents/operations.js +0 -1
  136. package/dist/esm/onchain/accounts/intents/plan.js +1 -8
  137. package/dist/esm/onchain/accounts/intents/realize.js +61 -4
  138. package/dist/esm/onchain/accounts/intents/tail.js +1 -1
  139. package/dist/esm/onchain/accounts/intents/testing/sdk-mock.js +1 -0
  140. package/dist/esm/onchain/accounts/intents/utils/common.js +19 -1
  141. package/dist/esm/onchain/accounts/intents/utils/credit-account-slice.js +21 -1
  142. package/dist/esm/onchain/accounts/intents/utils/index.js +3 -3
  143. package/dist/esm/onchain/accounts/intents/utils/price-impact.js +12 -9
  144. package/dist/esm/onchain/accounts/intents/utils/router-path.js +4 -5
  145. package/dist/esm/onchain/accounts/intents/withdraw-limits.js +95 -0
  146. package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +1 -1
  147. package/dist/esm/onchain/constants/address-provider.js +1 -2
  148. package/dist/esm/onchain/constants/index.js +2 -2
  149. package/dist/esm/onchain/core/createAddressProvider.js +2 -5
  150. package/dist/esm/onchain/index.js +32 -24
  151. package/dist/esm/onchain/market/adapters/abi/conctructorAbi.js +2 -2
  152. package/dist/esm/onchain/market/adapters/contracts/AbstractAdapter.js +6 -0
  153. package/dist/esm/onchain/market/adapters/contracts/MidasGatewayAdapterContract.js +50 -6
  154. package/dist/esm/onchain/market/credit/CreditSuite.js +26 -9
  155. package/dist/esm/onchain/market/index.js +26 -21
  156. package/dist/esm/onchain/market/oracle/PriceOracleBaseContract.js +1 -1
  157. package/dist/esm/onchain/market/pricefeeds/AbstractPriceFeed.js +0 -5
  158. package/dist/esm/onchain/market/pricefeeds/PriceFeedRegistry.js +126 -0
  159. package/dist/esm/onchain/market/pricefeeds/{BalancerStablePriceFeed.js → feeds/BalancerStablePriceFeed.js} +4 -4
  160. package/dist/esm/onchain/market/pricefeeds/{BalancerWeightedPriceFeed.js → feeds/BalancerWeightedPriceFeed.js} +4 -4
  161. package/dist/esm/onchain/market/pricefeeds/{BoundedPriceFeed.js → feeds/BoundedPriceFeed.js} +4 -4
  162. package/dist/esm/onchain/market/pricefeeds/{CompositePriceFeed.js → feeds/CompositePriceFeed.js} +4 -4
  163. package/dist/esm/onchain/market/pricefeeds/{ConstantPriceFeed.js → feeds/ConstantPriceFeed.js} +3 -3
  164. package/dist/esm/onchain/market/pricefeeds/{CurveCryptoPriceFeed.js → feeds/CurveCryptoPriceFeed.js} +4 -4
  165. package/dist/esm/onchain/market/pricefeeds/{CurveStablePriceFeed.js → feeds/CurveStablePriceFeed.js} +4 -4
  166. package/dist/esm/onchain/market/pricefeeds/{CurveUSDPriceFeed.js → feeds/CurveUSDPriceFeed.js} +4 -4
  167. package/dist/esm/onchain/market/pricefeeds/{Erc4626PriceFeed.js → feeds/Erc4626PriceFeed.js} +4 -4
  168. package/dist/esm/onchain/market/pricefeeds/{ExternalPriceFeed.js → feeds/ExternalPriceFeed.js} +4 -4
  169. package/dist/esm/onchain/market/pricefeeds/{MellowLRTPriceFeed.js → feeds/MellowLRTPriceFeed.js} +4 -4
  170. package/dist/esm/onchain/market/pricefeeds/{PendleTWAPPTPriceFeed.js → feeds/PendleTWAPPTPriceFeed.js} +4 -4
  171. package/dist/esm/onchain/market/pricefeeds/{PythPriceFeed.js → feeds/PythPriceFeed.js} +3 -3
  172. package/dist/esm/onchain/market/pricefeeds/{RedstonePriceFeed.js → feeds/RedstonePriceFeed.js} +6 -6
  173. package/dist/esm/onchain/market/pricefeeds/{WstETHPriceFeed.js → feeds/WstETHPriceFeed.js} +4 -4
  174. package/dist/esm/onchain/market/pricefeeds/{YearnPriceFeed.js → feeds/YearnPriceFeed.js} +4 -4
  175. package/dist/esm/onchain/market/pricefeeds/{ZeroPriceFeed.js → feeds/ZeroPriceFeed.js} +4 -4
  176. package/dist/esm/onchain/market/pricefeeds/feeds/index.js +18 -0
  177. package/dist/esm/onchain/market/pricefeeds/index.js +27 -21
  178. package/dist/esm/onchain/market/pricefeeds/updates/UpdatablePriceFeedRegistry.js +188 -0
  179. package/dist/esm/onchain/market/pricefeeds/{getRawPriceUpdates.js → updates/getRawPriceUpdates.js} +2 -2
  180. package/dist/esm/onchain/market/pricefeeds/updates/index.js +5 -1
  181. package/dist/esm/onchain/market/pricefeeds/{isUpdatablePriceFeed.js → updates/isUpdatablePriceFeed.js} +1 -1
  182. package/dist/esm/onchain/market/pricefeeds/updates/updatableDependencies.js +13 -0
  183. package/dist/esm/onchain/market/rwa/RWARegistry.js +4 -8
  184. package/dist/esm/onchain/market/rwa/index.js +2 -2
  185. package/dist/esm/onchain/market/rwa/midas/MidasDegenNFT.js +45 -5
  186. package/dist/esm/onchain/market/rwa/securitize/SecuritizeDegenNFT.js +55 -10
  187. package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +0 -37
  188. package/dist/esm/onchain/opportunities/MultichainOpportunitiesService.js +8 -2
  189. package/dist/esm/onchain/opportunities/OpportunitiesService.js +16 -4
  190. package/dist/esm/onchain/pools/PoolService.js +7 -8
  191. package/dist/esm/onchain/positions/calcHealthFactor.js +3 -3
  192. package/dist/esm/onchain/preview/index.js +2 -1
  193. package/dist/esm/onchain/preview/parse/parseRWAFactoryOperationCalldata.js +2 -2
  194. package/dist/esm/onchain/preview/preview/index.js +2 -1
  195. package/dist/esm/onchain/preview/preview/midasGreenlistsAccount.js +16 -0
  196. package/dist/esm/onchain/preview/preview/previewOpenStrategyPosition.js +14 -17
  197. package/dist/esm/onchain/preview/preview/previewOperation.js +19 -11
  198. package/dist/esm/onchain/preview/preview/replayMulticall.js +4 -3
  199. package/dist/esm/onchain/validation/bundles/checkCollateralFunding.js +3 -3
  200. package/dist/esm/onchain/validation/bundles/checkCreditOperation.js +11 -9
  201. package/dist/esm/onchain/validation/bundles/checkIncreaseDebt.js +27 -0
  202. package/dist/esm/onchain/validation/bundles/{checkQuotasAsked.js → checkIncreaseQuota.js} +3 -3
  203. package/dist/esm/onchain/validation/bundles/checkMidasAccountGreenlist.js +43 -0
  204. package/dist/esm/onchain/validation/bundles/checkPoolOperation.js +2 -8
  205. package/dist/esm/onchain/validation/bundles/checkRWAOpenRequirements.js +9 -9
  206. package/dist/esm/onchain/validation/bundles/checkRWAOpening.js +18 -8
  207. package/dist/esm/onchain/validation/bundles/index.js +4 -3
  208. package/dist/esm/onchain/validation/checkOperation.js +0 -1
  209. package/dist/esm/onchain/validation/checks/checkBorrowLimit.js +1 -1
  210. package/dist/esm/onchain/validation/checks/checkPoolLiquidity.js +2 -9
  211. package/dist/esm/onchain/validation/checks/checkReservePriceLimited.js +29 -0
  212. package/dist/esm/onchain/validation/checks/index.js +2 -1
  213. package/dist/esm/onchain/validation/index.js +5 -3
  214. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +1 -1
  215. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +1 -1
  216. package/dist/esm/sdk/execute/ExecuteApi.js +67 -7
  217. package/dist/esm/sdk/opportunities/OpportunitiesNamespace.js +9 -3
  218. package/dist/esm/sdk/prepare/PrepareApi.js +94 -19
  219. package/dist/types/dev/abi.d.ts +13 -15
  220. package/dist/types/dev/claimFromFaucet.d.ts +0 -1
  221. package/dist/types/dev/createAnvilClient.d.ts +10 -3
  222. package/dist/types/dev/index.d.ts +4 -4
  223. package/dist/types/dev/kycUtils.d.ts +15 -24
  224. package/dist/types/dev/midasUtils.d.ts +35 -4
  225. package/dist/types/dev/securitizeUtils.d.ts +3 -9
  226. package/dist/types/model/errors/index.d.ts +2 -2
  227. package/dist/types/model/errors/operation-errors.d.ts +62 -7
  228. package/dist/types/model/index.d.ts +5 -5
  229. package/dist/types/model/opportunities.d.ts +6 -7
  230. package/dist/types/model/previews.d.ts +25 -19
  231. package/dist/types/model/rwa.d.ts +47 -27
  232. package/dist/types/model/rwa.schema.d.ts +3 -3
  233. package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +1 -2
  234. package/dist/types/offchain/opportunities/types.d.ts +1 -4
  235. package/dist/types/onchain/OnchainSDK.d.ts +2 -2
  236. package/dist/types/onchain/accounts/index.d.ts +5 -4
  237. package/dist/types/onchain/accounts/intents/borrow.d.ts +141 -0
  238. package/dist/types/onchain/accounts/intents/collateral-valuation.d.ts +42 -0
  239. package/dist/types/onchain/accounts/intents/guards.d.ts +18 -2
  240. package/dist/types/onchain/accounts/intents/index.d.ts +103 -15
  241. package/dist/types/onchain/accounts/intents/math.d.ts +11 -3
  242. package/dist/types/onchain/accounts/intents/maxBorrow.d.ts +54 -0
  243. package/dist/types/onchain/accounts/intents/maxWithdrawCollateral.d.ts +3 -8
  244. package/dist/types/onchain/accounts/intents/open-strategy.d.ts +3 -17
  245. package/dist/types/onchain/accounts/intents/testing/sdk-mock.d.ts +2 -0
  246. package/dist/types/onchain/accounts/intents/tests/open-strategy.fixtures.d.ts +2 -2
  247. package/dist/types/onchain/accounts/intents/types.d.ts +51 -6
  248. package/dist/types/onchain/accounts/intents/utils/common.d.ts +15 -1
  249. package/dist/types/onchain/accounts/intents/utils/credit-account-slice.d.ts +14 -1
  250. package/dist/types/onchain/accounts/intents/utils/index.d.ts +3 -3
  251. package/dist/types/onchain/accounts/intents/utils/price-impact.d.ts +4 -1
  252. package/dist/types/onchain/accounts/intents/utils/router-path.d.ts +2 -5
  253. package/dist/types/onchain/accounts/intents/withdraw-limits.d.ts +80 -0
  254. package/dist/types/onchain/accounts/types.d.ts +4 -2
  255. package/dist/types/onchain/constants/address-provider.d.ts +1 -2
  256. package/dist/types/onchain/constants/index.d.ts +2 -2
  257. package/dist/types/onchain/index.d.ts +40 -31
  258. package/dist/types/onchain/market/adapters/contracts/AbstractAdapter.d.ts +6 -0
  259. package/dist/types/onchain/market/adapters/contracts/MidasGatewayAdapterContract.d.ts +20 -4
  260. package/dist/types/onchain/market/adapters/types.d.ts +8 -0
  261. package/dist/types/onchain/market/credit/CreditSuite.d.ts +13 -3
  262. package/dist/types/onchain/market/index.d.ts +29 -24
  263. package/dist/types/onchain/market/oracle/PriceOracleBaseContract.d.ts +2 -1
  264. package/dist/types/onchain/market/oracle/types.d.ts +2 -1
  265. package/dist/types/onchain/market/pool/types.d.ts +1 -1
  266. package/dist/types/onchain/market/pricefeeds/AbstractPriceFeed.d.ts +1 -2
  267. package/dist/types/onchain/market/pricefeeds/PriceFeedRegistry.d.ts +60 -0
  268. package/dist/types/onchain/market/pricefeeds/feeds/BalancerStablePriceFeed.d.ts +12 -0
  269. package/dist/types/onchain/market/pricefeeds/{BalancerWeightedPriceFeed.d.ts → feeds/BalancerWeightedPriceFeed.d.ts} +7 -7
  270. package/dist/types/onchain/market/pricefeeds/feeds/BoundedPriceFeed.d.ts +15 -0
  271. package/dist/types/onchain/market/pricefeeds/{CompositePriceFeed.d.ts → feeds/CompositePriceFeed.d.ts} +6 -6
  272. package/dist/types/onchain/market/pricefeeds/{ConstantPriceFeed.d.ts → feeds/ConstantPriceFeed.d.ts} +6 -6
  273. package/dist/types/onchain/market/pricefeeds/feeds/CurveCryptoPriceFeed.d.ts +12 -0
  274. package/dist/types/onchain/market/pricefeeds/feeds/CurveStablePriceFeed.d.ts +12 -0
  275. package/dist/types/onchain/market/pricefeeds/feeds/CurveUSDPriceFeed.d.ts +12 -0
  276. package/dist/types/onchain/market/pricefeeds/feeds/Erc4626PriceFeed.d.ts +12 -0
  277. package/dist/types/onchain/market/pricefeeds/feeds/ExternalPriceFeed.d.ts +11 -0
  278. package/dist/types/onchain/market/pricefeeds/feeds/MellowLRTPriceFeed.d.ts +12 -0
  279. package/dist/types/onchain/market/pricefeeds/{PendleTWAPPTPriceFeed.d.ts → feeds/PendleTWAPPTPriceFeed.d.ts} +3 -3
  280. package/dist/types/onchain/market/pricefeeds/{PythPriceFeed.d.ts → feeds/PythPriceFeed.d.ts} +3 -3
  281. package/dist/types/onchain/market/pricefeeds/{RedstonePriceFeed.d.ts → feeds/RedstonePriceFeed.d.ts} +9 -9
  282. package/dist/types/onchain/market/pricefeeds/feeds/WstETHPriceFeed.d.ts +12 -0
  283. package/dist/types/onchain/market/pricefeeds/feeds/YearnPriceFeed.d.ts +12 -0
  284. package/dist/types/onchain/market/pricefeeds/feeds/ZeroPriceFeed.d.ts +11 -0
  285. package/dist/types/onchain/market/pricefeeds/feeds/index.d.ts +18 -0
  286. package/dist/types/onchain/market/pricefeeds/index.d.ts +28 -22
  287. package/dist/types/onchain/market/pricefeeds/types.d.ts +1 -31
  288. package/dist/types/onchain/market/pricefeeds/updates/RedstoneUpdater.d.ts +1 -1
  289. package/dist/types/onchain/market/pricefeeds/updates/UpdatablePriceFeedRegistry.d.ts +106 -0
  290. package/dist/types/onchain/market/pricefeeds/updates/getRawPriceUpdates.d.ts +6 -0
  291. package/dist/types/onchain/market/pricefeeds/updates/index.d.ts +7 -3
  292. package/dist/types/onchain/market/pricefeeds/updates/isUpdatablePriceFeed.d.ts +6 -0
  293. package/dist/types/onchain/market/pricefeeds/updates/types.d.ts +56 -2
  294. package/dist/types/onchain/market/pricefeeds/updates/updatableDependencies.d.ts +10 -0
  295. package/dist/types/onchain/market/rwa/RWARegistry.d.ts +2 -1
  296. package/dist/types/onchain/market/rwa/index.d.ts +3 -3
  297. package/dist/types/onchain/market/rwa/midas/MidasDegenNFT.d.ts +19 -4
  298. package/dist/types/onchain/market/rwa/securitize/SecuritizeDegenNFT.d.ts +24 -4
  299. package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +2 -14
  300. package/dist/types/onchain/market/rwa/types.d.ts +39 -37
  301. package/dist/types/onchain/opportunities/MultichainOpportunitiesService.d.ts +5 -1
  302. package/dist/types/onchain/opportunities/OpportunitiesService.d.ts +10 -3
  303. package/dist/types/onchain/opportunities/types.d.ts +6 -1
  304. package/dist/types/onchain/pools/PoolService.d.ts +5 -0
  305. package/dist/types/onchain/pools/types.d.ts +9 -2
  306. package/dist/types/onchain/preview/index.d.ts +2 -1
  307. package/dist/types/onchain/preview/preview/index.d.ts +2 -1
  308. package/dist/types/onchain/preview/preview/midasGreenlistsAccount.d.ts +13 -0
  309. package/dist/types/onchain/preview/preview/previewOpenStrategyPosition.d.ts +5 -3
  310. package/dist/types/onchain/preview/preview/replayMulticall.d.ts +8 -7
  311. package/dist/types/onchain/validation/bundles/checkCreditOperation.d.ts +5 -4
  312. package/dist/types/onchain/validation/bundles/{checkDraw.d.ts → checkIncreaseDebt.d.ts} +7 -7
  313. package/dist/types/onchain/validation/bundles/{checkQuotasAsked.d.ts → checkIncreaseQuota.d.ts} +3 -3
  314. package/dist/types/onchain/validation/bundles/checkMidasAccountGreenlist.d.ts +22 -0
  315. package/dist/types/onchain/validation/bundles/checkPoolOperation.d.ts +1 -7
  316. package/dist/types/onchain/validation/bundles/checkRWAOpenRequirements.d.ts +2 -2
  317. package/dist/types/onchain/validation/bundles/checkRWAOpening.d.ts +9 -7
  318. package/dist/types/onchain/validation/bundles/index.d.ts +5 -4
  319. package/dist/types/onchain/validation/checks/checkBorrowLimit.d.ts +1 -1
  320. package/dist/types/onchain/validation/checks/checkDebtLimits.d.ts +2 -2
  321. package/dist/types/onchain/validation/checks/checkPoolLiquidity.d.ts +1 -8
  322. package/dist/types/onchain/validation/checks/checkReservePriceLimited.d.ts +31 -0
  323. package/dist/types/onchain/validation/checks/index.d.ts +2 -1
  324. package/dist/types/onchain/validation/index.d.ts +6 -4
  325. package/dist/types/onchain/validation/raise.d.ts +2 -2
  326. package/dist/types/sdk/execute/index.d.ts +2 -2
  327. package/dist/types/sdk/execute/types.d.ts +48 -6
  328. package/dist/types/sdk/index.d.ts +5 -4
  329. package/dist/types/sdk/opportunities/OpportunitiesNamespace.d.ts +5 -1
  330. package/dist/types/sdk/opportunities/types.d.ts +9 -3
  331. package/dist/types/sdk/prepare/PrepareApi.d.ts +16 -4
  332. package/dist/types/sdk/prepare/index.d.ts +4 -3
  333. package/dist/types/sdk/prepare/types.d.ts +200 -66
  334. package/package.json +1 -1
  335. package/dist/cjs/onchain/accounts/utils/midasUtils.js +0 -70
  336. package/dist/cjs/onchain/market/pricefeeds/PriceFeedsRegister.js +0 -301
  337. package/dist/cjs/plugins/degen-distributors/DegenDistributorsPlugin.js +0 -61
  338. package/dist/cjs/plugins/degen-distributors/index.js +0 -4
  339. package/dist/cjs/plugins/degen-distributors/package.json +0 -1
  340. package/dist/cjs/plugins/degen-distributors/types.js +0 -1
  341. package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +0 -114
  342. package/dist/cjs/plugins/delayed-withdrawal/index.js +0 -4
  343. package/dist/cjs/plugins/delayed-withdrawal/package.json +0 -1
  344. package/dist/cjs/plugins/delayed-withdrawal/types.js +0 -1
  345. package/dist/esm/onchain/accounts/utils/midasUtils.js +0 -69
  346. package/dist/esm/onchain/market/pricefeeds/PriceFeedsRegister.js +0 -300
  347. package/dist/esm/onchain/validation/bundles/checkDraw.js +0 -27
  348. package/dist/esm/plugins/degen-distributors/DegenDistributorsPlugin.js +0 -60
  349. package/dist/esm/plugins/degen-distributors/index.js +0 -3
  350. package/dist/esm/plugins/degen-distributors/package.json +0 -1
  351. package/dist/esm/plugins/degen-distributors/types.js +0 -1
  352. package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +0 -113
  353. package/dist/esm/plugins/delayed-withdrawal/index.js +0 -3
  354. package/dist/esm/plugins/delayed-withdrawal/package.json +0 -1
  355. package/dist/esm/plugins/delayed-withdrawal/types.js +0 -1
  356. package/dist/types/onchain/accounts/utils/midasUtils.d.ts +0 -38
  357. package/dist/types/onchain/market/pricefeeds/BalancerStablePriceFeed.d.ts +0 -12
  358. package/dist/types/onchain/market/pricefeeds/BoundedPriceFeed.d.ts +0 -15
  359. package/dist/types/onchain/market/pricefeeds/CurveCryptoPriceFeed.d.ts +0 -12
  360. package/dist/types/onchain/market/pricefeeds/CurveStablePriceFeed.d.ts +0 -12
  361. package/dist/types/onchain/market/pricefeeds/CurveUSDPriceFeed.d.ts +0 -12
  362. package/dist/types/onchain/market/pricefeeds/Erc4626PriceFeed.d.ts +0 -12
  363. package/dist/types/onchain/market/pricefeeds/ExternalPriceFeed.d.ts +0 -11
  364. package/dist/types/onchain/market/pricefeeds/MellowLRTPriceFeed.d.ts +0 -12
  365. package/dist/types/onchain/market/pricefeeds/PriceFeedsRegister.d.ts +0 -180
  366. package/dist/types/onchain/market/pricefeeds/WstETHPriceFeed.d.ts +0 -12
  367. package/dist/types/onchain/market/pricefeeds/YearnPriceFeed.d.ts +0 -12
  368. package/dist/types/onchain/market/pricefeeds/ZeroPriceFeed.d.ts +0 -11
  369. package/dist/types/onchain/market/pricefeeds/getRawPriceUpdates.d.ts +0 -5
  370. package/dist/types/onchain/market/pricefeeds/isUpdatablePriceFeed.d.ts +0 -5
  371. package/dist/types/plugins/degen-distributors/DegenDistributorsPlugin.d.ts +0 -25
  372. package/dist/types/plugins/degen-distributors/index.d.ts +0 -3
  373. package/dist/types/plugins/degen-distributors/types.d.ts +0 -8
  374. package/dist/types/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.d.ts +0 -25
  375. package/dist/types/plugins/delayed-withdrawal/index.d.ts +0 -3
  376. package/dist/types/plugins/delayed-withdrawal/types.d.ts +0 -10
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_onchain_market_pricefeeds_AbstractPriceFeed = require("./AbstractPriceFeed.js");
3
- const require_onchain_abi_oracles = require("../../abi/oracles.js");
4
- require("../../abi/index.js");
5
- //#region src/onchain/market/pricefeeds/ZeroPriceFeed.ts
2
+ const require_onchain_market_pricefeeds_AbstractPriceFeed = require("../AbstractPriceFeed.js");
3
+ const require_onchain_abi_oracles = require("../../../abi/oracles.js");
4
+ require("../../../abi/index.js");
5
+ //#region src/onchain/market/pricefeeds/feeds/ZeroPriceFeed.ts
6
6
  var ZeroPriceFeedContract = class extends require_onchain_market_pricefeeds_AbstractPriceFeed.AbstractPriceFeedContract {
7
7
  constructor(options, args) {
8
8
  super(options, {
@@ -0,0 +1,35 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_onchain_market_pricefeeds_feeds_BalancerStablePriceFeed = require("./BalancerStablePriceFeed.js");
3
+ const require_onchain_market_pricefeeds_feeds_BalancerWeightedPriceFeed = require("./BalancerWeightedPriceFeed.js");
4
+ const require_onchain_market_pricefeeds_feeds_BoundedPriceFeed = require("./BoundedPriceFeed.js");
5
+ const require_onchain_market_pricefeeds_feeds_CompositePriceFeed = require("./CompositePriceFeed.js");
6
+ const require_onchain_market_pricefeeds_feeds_ConstantPriceFeed = require("./ConstantPriceFeed.js");
7
+ const require_onchain_market_pricefeeds_feeds_CurveCryptoPriceFeed = require("./CurveCryptoPriceFeed.js");
8
+ const require_onchain_market_pricefeeds_feeds_CurveStablePriceFeed = require("./CurveStablePriceFeed.js");
9
+ const require_onchain_market_pricefeeds_feeds_CurveUSDPriceFeed = require("./CurveUSDPriceFeed.js");
10
+ const require_onchain_market_pricefeeds_feeds_Erc4626PriceFeed = require("./Erc4626PriceFeed.js");
11
+ const require_onchain_market_pricefeeds_feeds_ExternalPriceFeed = require("./ExternalPriceFeed.js");
12
+ const require_onchain_market_pricefeeds_feeds_MellowLRTPriceFeed = require("./MellowLRTPriceFeed.js");
13
+ const require_onchain_market_pricefeeds_feeds_PendleTWAPPTPriceFeed = require("./PendleTWAPPTPriceFeed.js");
14
+ const require_onchain_market_pricefeeds_feeds_PythPriceFeed = require("./PythPriceFeed.js");
15
+ const require_onchain_market_pricefeeds_feeds_RedstonePriceFeed = require("./RedstonePriceFeed.js");
16
+ const require_onchain_market_pricefeeds_feeds_WstETHPriceFeed = require("./WstETHPriceFeed.js");
17
+ const require_onchain_market_pricefeeds_feeds_YearnPriceFeed = require("./YearnPriceFeed.js");
18
+ const require_onchain_market_pricefeeds_feeds_ZeroPriceFeed = require("./ZeroPriceFeed.js");
19
+ exports.BalancerStablePriceFeedContract = require_onchain_market_pricefeeds_feeds_BalancerStablePriceFeed.BalancerStablePriceFeedContract;
20
+ exports.BalancerWeightedPriceFeedContract = require_onchain_market_pricefeeds_feeds_BalancerWeightedPriceFeed.BalancerWeightedPriceFeedContract;
21
+ exports.BoundedPriceFeedContract = require_onchain_market_pricefeeds_feeds_BoundedPriceFeed.BoundedPriceFeedContract;
22
+ exports.CompositePriceFeedContract = require_onchain_market_pricefeeds_feeds_CompositePriceFeed.CompositePriceFeedContract;
23
+ exports.ConstantPriceFeedContract = require_onchain_market_pricefeeds_feeds_ConstantPriceFeed.ConstantPriceFeedContract;
24
+ exports.CurveCryptoPriceFeedContract = require_onchain_market_pricefeeds_feeds_CurveCryptoPriceFeed.CurveCryptoPriceFeedContract;
25
+ exports.CurveStablePriceFeedContract = require_onchain_market_pricefeeds_feeds_CurveStablePriceFeed.CurveStablePriceFeedContract;
26
+ exports.CurveUSDPriceFeedContract = require_onchain_market_pricefeeds_feeds_CurveUSDPriceFeed.CurveUSDPriceFeedContract;
27
+ exports.Erc4626PriceFeedContract = require_onchain_market_pricefeeds_feeds_Erc4626PriceFeed.Erc4626PriceFeedContract;
28
+ exports.ExternalPriceFeedContract = require_onchain_market_pricefeeds_feeds_ExternalPriceFeed.ExternalPriceFeedContract;
29
+ exports.MellowLRTPriceFeedContract = require_onchain_market_pricefeeds_feeds_MellowLRTPriceFeed.MellowLRTPriceFeedContract;
30
+ exports.PendleTWAPPTPriceFeed = require_onchain_market_pricefeeds_feeds_PendleTWAPPTPriceFeed.PendleTWAPPTPriceFeed;
31
+ exports.PythPriceFeed = require_onchain_market_pricefeeds_feeds_PythPriceFeed.PythPriceFeed;
32
+ exports.RedstonePriceFeedContract = require_onchain_market_pricefeeds_feeds_RedstonePriceFeed.RedstonePriceFeedContract;
33
+ exports.WstETHPriceFeedContract = require_onchain_market_pricefeeds_feeds_WstETHPriceFeed.WstETHPriceFeedContract;
34
+ exports.YearnPriceFeedContract = require_onchain_market_pricefeeds_feeds_YearnPriceFeed.YearnPriceFeedContract;
35
+ exports.ZeroPriceFeedContract = require_onchain_market_pricefeeds_feeds_ZeroPriceFeed.ZeroPriceFeedContract;
@@ -1,51 +1,63 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_onchain_market_pricefeeds_isUpdatablePriceFeed = require("./isUpdatablePriceFeed.js");
3
2
  const require_onchain_market_pricefeeds_PriceFeedRef = require("./PriceFeedRef.js");
4
3
  const require_onchain_market_pricefeeds_AbstractPriceFeed = require("./AbstractPriceFeed.js");
5
4
  const require_onchain_market_pricefeeds_AbstractLPPriceFeed = require("./AbstractLPPriceFeed.js");
6
- const require_onchain_market_pricefeeds_BalancerStablePriceFeed = require("./BalancerStablePriceFeed.js");
7
- const require_onchain_market_pricefeeds_BalancerWeightedPriceFeed = require("./BalancerWeightedPriceFeed.js");
8
- const require_onchain_market_pricefeeds_BoundedPriceFeed = require("./BoundedPriceFeed.js");
9
- const require_onchain_market_pricefeeds_CompositePriceFeed = require("./CompositePriceFeed.js");
10
- const require_onchain_market_pricefeeds_CurveCryptoPriceFeed = require("./CurveCryptoPriceFeed.js");
11
- const require_onchain_market_pricefeeds_CurveStablePriceFeed = require("./CurveStablePriceFeed.js");
12
- const require_onchain_market_pricefeeds_CurveUSDPriceFeed = require("./CurveUSDPriceFeed.js");
13
- const require_onchain_market_pricefeeds_Erc4626PriceFeed = require("./Erc4626PriceFeed.js");
14
- const require_onchain_market_pricefeeds_ExternalPriceFeed = require("./ExternalPriceFeed.js");
15
- const require_onchain_market_pricefeeds_getRawPriceUpdates = require("./getRawPriceUpdates.js");
16
- const require_onchain_market_pricefeeds_MellowLRTPriceFeed = require("./MellowLRTPriceFeed.js");
17
- const require_onchain_market_pricefeeds_PendleTWAPPTPriceFeed = require("./PendleTWAPPTPriceFeed.js");
18
- const require_onchain_market_pricefeeds_PythPriceFeed = require("./PythPriceFeed.js");
19
- const require_onchain_market_pricefeeds_RedstonePriceFeed = require("./RedstonePriceFeed.js");
5
+ const require_onchain_market_pricefeeds_feeds_BalancerStablePriceFeed = require("./feeds/BalancerStablePriceFeed.js");
6
+ const require_onchain_market_pricefeeds_feeds_BalancerWeightedPriceFeed = require("./feeds/BalancerWeightedPriceFeed.js");
7
+ const require_onchain_market_pricefeeds_feeds_BoundedPriceFeed = require("./feeds/BoundedPriceFeed.js");
8
+ const require_onchain_market_pricefeeds_feeds_CompositePriceFeed = require("./feeds/CompositePriceFeed.js");
9
+ const require_onchain_market_pricefeeds_feeds_ConstantPriceFeed = require("./feeds/ConstantPriceFeed.js");
10
+ const require_onchain_market_pricefeeds_feeds_CurveCryptoPriceFeed = require("./feeds/CurveCryptoPriceFeed.js");
11
+ const require_onchain_market_pricefeeds_feeds_CurveStablePriceFeed = require("./feeds/CurveStablePriceFeed.js");
12
+ const require_onchain_market_pricefeeds_feeds_CurveUSDPriceFeed = require("./feeds/CurveUSDPriceFeed.js");
13
+ const require_onchain_market_pricefeeds_feeds_Erc4626PriceFeed = require("./feeds/Erc4626PriceFeed.js");
14
+ const require_onchain_market_pricefeeds_feeds_ExternalPriceFeed = require("./feeds/ExternalPriceFeed.js");
15
+ const require_onchain_market_pricefeeds_feeds_MellowLRTPriceFeed = require("./feeds/MellowLRTPriceFeed.js");
16
+ const require_onchain_market_pricefeeds_feeds_PendleTWAPPTPriceFeed = require("./feeds/PendleTWAPPTPriceFeed.js");
17
+ const require_onchain_market_pricefeeds_feeds_PythPriceFeed = require("./feeds/PythPriceFeed.js");
18
+ const require_onchain_market_pricefeeds_feeds_RedstonePriceFeed = require("./feeds/RedstonePriceFeed.js");
19
+ const require_onchain_market_pricefeeds_feeds_WstETHPriceFeed = require("./feeds/WstETHPriceFeed.js");
20
+ const require_onchain_market_pricefeeds_feeds_YearnPriceFeed = require("./feeds/YearnPriceFeed.js");
21
+ const require_onchain_market_pricefeeds_feeds_ZeroPriceFeed = require("./feeds/ZeroPriceFeed.js");
22
+ require("./feeds/index.js");
23
+ const require_onchain_market_pricefeeds_PriceFeedRegistry = require("./PriceFeedRegistry.js");
24
+ require("./types.js");
20
25
  const require_onchain_market_pricefeeds_updates_fetchRedstonePayloads = require("./updates/fetchRedstonePayloads.js");
26
+ const require_onchain_market_pricefeeds_updates_getRawPriceUpdates = require("./updates/getRawPriceUpdates.js");
27
+ const require_onchain_market_pricefeeds_updates_isUpdatablePriceFeed = require("./updates/isUpdatablePriceFeed.js");
28
+ const require_onchain_market_pricefeeds_updates_PriceUpdatesCache = require("./updates/PriceUpdatesCache.js");
29
+ const require_onchain_market_pricefeeds_updates_RedstoneUpdater = require("./updates/RedstoneUpdater.js");
30
+ const require_onchain_market_pricefeeds_updates_updatableDependencies = require("./updates/updatableDependencies.js");
31
+ const require_onchain_market_pricefeeds_updates_UpdatablePriceFeedRegistry = require("./updates/UpdatablePriceFeedRegistry.js");
21
32
  require("./updates/index.js");
22
- const require_onchain_market_pricefeeds_WstETHPriceFeed = require("./WstETHPriceFeed.js");
23
- const require_onchain_market_pricefeeds_YearnPriceFeed = require("./YearnPriceFeed.js");
24
- const require_onchain_market_pricefeeds_ZeroPriceFeed = require("./ZeroPriceFeed.js");
25
- const require_onchain_market_pricefeeds_PriceFeedsRegister = require("./PriceFeedsRegister.js");
26
- require("./types.js");
27
33
  exports.AbstractLPPriceFeedContract = require_onchain_market_pricefeeds_AbstractLPPriceFeed.AbstractLPPriceFeedContract;
28
34
  exports.AbstractPriceFeedContract = require_onchain_market_pricefeeds_AbstractPriceFeed.AbstractPriceFeedContract;
29
- exports.BalancerStablePriceFeedContract = require_onchain_market_pricefeeds_BalancerStablePriceFeed.BalancerStablePriceFeedContract;
30
- exports.BalancerWeightedPriceFeedContract = require_onchain_market_pricefeeds_BalancerWeightedPriceFeed.BalancerWeightedPriceFeedContract;
31
- exports.BoundedPriceFeedContract = require_onchain_market_pricefeeds_BoundedPriceFeed.BoundedPriceFeedContract;
32
- exports.CompositePriceFeedContract = require_onchain_market_pricefeeds_CompositePriceFeed.CompositePriceFeedContract;
33
- exports.CurveCryptoPriceFeedContract = require_onchain_market_pricefeeds_CurveCryptoPriceFeed.CurveCryptoPriceFeedContract;
34
- exports.CurveStablePriceFeedContract = require_onchain_market_pricefeeds_CurveStablePriceFeed.CurveStablePriceFeedContract;
35
- exports.CurveUSDPriceFeedContract = require_onchain_market_pricefeeds_CurveUSDPriceFeed.CurveUSDPriceFeedContract;
36
- exports.Erc4626PriceFeedContract = require_onchain_market_pricefeeds_Erc4626PriceFeed.Erc4626PriceFeedContract;
37
- exports.ExternalPriceFeedContract = require_onchain_market_pricefeeds_ExternalPriceFeed.ExternalPriceFeedContract;
38
- exports.MellowLRTPriceFeedContract = require_onchain_market_pricefeeds_MellowLRTPriceFeed.MellowLRTPriceFeedContract;
35
+ exports.BalancerStablePriceFeedContract = require_onchain_market_pricefeeds_feeds_BalancerStablePriceFeed.BalancerStablePriceFeedContract;
36
+ exports.BalancerWeightedPriceFeedContract = require_onchain_market_pricefeeds_feeds_BalancerWeightedPriceFeed.BalancerWeightedPriceFeedContract;
37
+ exports.BoundedPriceFeedContract = require_onchain_market_pricefeeds_feeds_BoundedPriceFeed.BoundedPriceFeedContract;
38
+ exports.CompositePriceFeedContract = require_onchain_market_pricefeeds_feeds_CompositePriceFeed.CompositePriceFeedContract;
39
+ exports.ConstantPriceFeedContract = require_onchain_market_pricefeeds_feeds_ConstantPriceFeed.ConstantPriceFeedContract;
40
+ exports.CurveCryptoPriceFeedContract = require_onchain_market_pricefeeds_feeds_CurveCryptoPriceFeed.CurveCryptoPriceFeedContract;
41
+ exports.CurveStablePriceFeedContract = require_onchain_market_pricefeeds_feeds_CurveStablePriceFeed.CurveStablePriceFeedContract;
42
+ exports.CurveUSDPriceFeedContract = require_onchain_market_pricefeeds_feeds_CurveUSDPriceFeed.CurveUSDPriceFeedContract;
43
+ exports.Erc4626PriceFeedContract = require_onchain_market_pricefeeds_feeds_Erc4626PriceFeed.Erc4626PriceFeedContract;
44
+ exports.ExternalPriceFeedContract = require_onchain_market_pricefeeds_feeds_ExternalPriceFeed.ExternalPriceFeedContract;
45
+ exports.MellowLRTPriceFeedContract = require_onchain_market_pricefeeds_feeds_MellowLRTPriceFeed.MellowLRTPriceFeedContract;
39
46
  exports.PartialPriceFeedInitError = require_onchain_market_pricefeeds_AbstractPriceFeed.PartialPriceFeedInitError;
40
- exports.PendleTWAPPTPriceFeed = require_onchain_market_pricefeeds_PendleTWAPPTPriceFeed.PendleTWAPPTPriceFeed;
47
+ exports.PendleTWAPPTPriceFeed = require_onchain_market_pricefeeds_feeds_PendleTWAPPTPriceFeed.PendleTWAPPTPriceFeed;
41
48
  exports.PriceFeedRef = require_onchain_market_pricefeeds_PriceFeedRef.PriceFeedRef;
42
- exports.PriceFeedRegister = require_onchain_market_pricefeeds_PriceFeedsRegister.PriceFeedRegister;
43
- exports.PythPriceFeed = require_onchain_market_pricefeeds_PythPriceFeed.PythPriceFeed;
44
- exports.RedstonePriceFeedContract = require_onchain_market_pricefeeds_RedstonePriceFeed.RedstonePriceFeedContract;
45
- exports.WstETHPriceFeedContract = require_onchain_market_pricefeeds_WstETHPriceFeed.WstETHPriceFeedContract;
46
- exports.YearnPriceFeedContract = require_onchain_market_pricefeeds_YearnPriceFeed.YearnPriceFeedContract;
47
- exports.ZeroPriceFeedContract = require_onchain_market_pricefeeds_ZeroPriceFeed.ZeroPriceFeedContract;
49
+ exports.PriceFeedRegistry = require_onchain_market_pricefeeds_PriceFeedRegistry.PriceFeedRegistry;
50
+ exports.PriceUpdatesCache = require_onchain_market_pricefeeds_updates_PriceUpdatesCache.PriceUpdatesCache;
51
+ exports.PythPriceFeed = require_onchain_market_pricefeeds_feeds_PythPriceFeed.PythPriceFeed;
52
+ exports.RedstoneOptions = require_onchain_market_pricefeeds_updates_RedstoneUpdater.RedstoneOptions;
53
+ exports.RedstonePriceFeedContract = require_onchain_market_pricefeeds_feeds_RedstonePriceFeed.RedstonePriceFeedContract;
54
+ exports.RedstoneUpdater = require_onchain_market_pricefeeds_updates_RedstoneUpdater.RedstoneUpdater;
55
+ exports.UpdatablePriceFeedRegistry = require_onchain_market_pricefeeds_updates_UpdatablePriceFeedRegistry.UpdatablePriceFeedRegistry;
56
+ exports.WstETHPriceFeedContract = require_onchain_market_pricefeeds_feeds_WstETHPriceFeed.WstETHPriceFeedContract;
57
+ exports.YearnPriceFeedContract = require_onchain_market_pricefeeds_feeds_YearnPriceFeed.YearnPriceFeedContract;
58
+ exports.ZeroPriceFeedContract = require_onchain_market_pricefeeds_feeds_ZeroPriceFeed.ZeroPriceFeedContract;
48
59
  exports.fetchRedstonePayloads = require_onchain_market_pricefeeds_updates_fetchRedstonePayloads.fetchRedstonePayloads;
49
- exports.getRawPriceUpdates = require_onchain_market_pricefeeds_getRawPriceUpdates.getRawPriceUpdates;
60
+ exports.getRawPriceUpdates = require_onchain_market_pricefeeds_updates_getRawPriceUpdates.getRawPriceUpdates;
50
61
  exports.isLPPriceFeed = require_onchain_market_pricefeeds_AbstractLPPriceFeed.isLPPriceFeed;
51
- exports.isUpdatablePriceFeed = require_onchain_market_pricefeeds_isUpdatablePriceFeed.isUpdatablePriceFeed;
62
+ exports.isUpdatablePriceFeed = require_onchain_market_pricefeeds_updates_isUpdatablePriceFeed.isUpdatablePriceFeed;
63
+ exports.updatableDependencies = require_onchain_market_pricefeeds_updates_updatableDependencies.updatableDependencies;
@@ -0,0 +1,189 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_onchain_utils_createRawTx = require("../../../utils/createRawTx.js");
3
+ const require_onchain_constants_address_provider = require("../../../constants/address-provider.js");
4
+ const require_onchain_constants_addresses = require("../../../constants/addresses.js");
5
+ const require_onchain_constants_versions = require("../../../constants/versions.js");
6
+ require("../../../constants/index.js");
7
+ require("../../../utils/index.js");
8
+ const require_abi_compressors_priceFeedCompressor = require("../../../../abi/compressors/priceFeedCompressor.js");
9
+ const require_onchain_market_pricefeeds_PriceFeedRegistry = require("../PriceFeedRegistry.js");
10
+ const require_onchain_market_pricefeeds_updates_getRawPriceUpdates = require("./getRawPriceUpdates.js");
11
+ const require_onchain_market_pricefeeds_updates_isUpdatablePriceFeed = require("./isUpdatablePriceFeed.js");
12
+ const require_onchain_market_pricefeeds_updates_RedstoneUpdater = require("./RedstoneUpdater.js");
13
+ const require_onchain_utils_internal_Hooks = require("../../../utils/internal/Hooks.js");
14
+ require("../../../utils/internal/index.js");
15
+ const require_onchain_market_pricefeeds_updates_updatableDependencies = require("./updatableDependencies.js");
16
+ let viem = require("viem");
17
+ //#region src/onchain/market/pricefeeds/updates/UpdatablePriceFeedRegistry.ts
18
+ /**
19
+ * {@link PriceFeedRegistry} that also orchestrates off-chain price updates
20
+ * (Redstone, etc.).
21
+ **/
22
+ var UpdatablePriceFeedRegistry = class extends require_onchain_market_pricefeeds_PriceFeedRegistry.PriceFeedRegistry {
23
+ #hooks = new require_onchain_utils_internal_Hooks.Hooks();
24
+ #updaters;
25
+ #latestUpdate;
26
+ constructor(sdk, opts = {}) {
27
+ super(sdk);
28
+ this.#updaters = [new require_onchain_market_pricefeeds_updates_RedstoneUpdater.RedstoneUpdater(sdk, opts.redstone)];
29
+ }
30
+ /**
31
+ * @internal
32
+ * Registers a callback for price-feed registry lifecycle events.
33
+ * @param event - Event name.
34
+ * @param handler - Callback to invoke.
35
+ **/
36
+ addHook = this.#hooks.addHook.bind(this.#hooks);
37
+ /**
38
+ * @internal
39
+ * Removes a previously registered hook.
40
+ * @param event - Event name.
41
+ * @param handler - Callback to remove.
42
+ **/
43
+ removeHook = this.#hooks.removeHook.bind(this.#hooks);
44
+ /**
45
+ * Generates transactions to push fresh off-chain prices to updatable feeds.
46
+ *
47
+ * @param priceFeeds - Top-level price feeds whose updatable dependencies
48
+ * will be resolved, or a filter (`{ main: true }` / `{ reserve: true }`)
49
+ * to gather feeds from all oracles. When omitted, all registered feeds
50
+ * are used.
51
+ **/
52
+ async generatePriceFeedsUpdateTxs(priceFeeds) {
53
+ let updateables = this.feeds;
54
+ let filterRemark = "";
55
+ if (priceFeeds) {
56
+ if (Array.isArray(priceFeeds)) updateables = priceFeeds.flatMap((pf) => require_onchain_market_pricefeeds_updates_updatableDependencies.updatableDependencies(pf));
57
+ else if ("main" in priceFeeds && priceFeeds.main) {
58
+ filterRemark = " main";
59
+ updateables = this.sdk.marketRegister.priceOracles.flatMap((o) => o.mainPriceFeeds.values()).flatMap((pf) => require_onchain_market_pricefeeds_updates_updatableDependencies.updatableDependencies(pf.priceFeed));
60
+ } else if ("reserve" in priceFeeds && priceFeeds.reserve) {
61
+ filterRemark = " reserve";
62
+ updateables = this.sdk.marketRegister.priceOracles.flatMap((o) => o.reservePriceFeeds.values()).flatMap((pf) => require_onchain_market_pricefeeds_updates_updatableDependencies.updatableDependencies(pf.priceFeed));
63
+ }
64
+ }
65
+ return this.#generateUpdateTxs(updateables, filterRemark);
66
+ }
67
+ /**
68
+ * Similar to {@link generatePriceFeedsUpdateTxs}, but returns raw structures instead of transactions
69
+ * @param priceFeeds
70
+ * @returns
71
+ */
72
+ async generatePriceFeedsUpdates(priceFeeds) {
73
+ const updates = await this.generatePriceFeedsUpdateTxs(priceFeeds);
74
+ return require_onchain_market_pricefeeds_updates_getRawPriceUpdates.getRawPriceUpdates(updates);
75
+ }
76
+ /**
77
+ * Similar to {@link generatePriceFeedsUpdates}, but returns raw transaction to PriceFeedStore.updatePrices
78
+ * @param priceFeeds
79
+ * @returns
80
+ */
81
+ async getPriceFeedStoreUpdateTx(priceFeeds) {
82
+ const pfs = this.sdk.addressProvider.getAddress(require_onchain_constants_address_provider.AP_PRICE_FEED_STORE);
83
+ const updates = await this.generatePriceFeedsUpdates(priceFeeds);
84
+ return require_onchain_utils_createRawTx.createRawTx(pfs, {
85
+ abi: (0, viem.parseAbi)(["function updatePrices((address,bytes)[])"]),
86
+ functionName: "updatePrices",
87
+ args: [updates.map((u) => [u.priceFeed, u.data])]
88
+ });
89
+ }
90
+ /**
91
+ * Similar to {@link generatePriceFeedsUpdateTxs}, but will generate necessary price update transactions for external price feeds (not known to sdk)
92
+ * This does not add feeds to this registry, so they won't be implicitly included in future generatePriceFeedsUpdateTxs calls
93
+ * @param feeds
94
+ * @param block
95
+ * @returns
96
+ */
97
+ async generateExternalPriceFeedsUpdateTxs(feeds, block) {
98
+ const [priceFeedCompressorAddress] = this.sdk.addressProvider.mustGetLatest(require_onchain_constants_address_provider.AP_PRICE_FEED_COMPRESSOR, require_onchain_constants_versions.VERSION_RANGE_310);
99
+ const blockParam = block ?? { blockNumber: this.sdk.currentBlock };
100
+ const leaves = (await this.client.readContract({
101
+ address: priceFeedCompressorAddress,
102
+ abi: require_abi_compressors_priceFeedCompressor.priceFeedCompressorAbi,
103
+ functionName: "loadPriceFeedTree",
104
+ args: [feeds],
105
+ ...blockParam,
106
+ gas: this.sdk.gasLimit
107
+ })).map((node) => this.get(node.baseParams.addr) ?? this.create(node)).filter(require_onchain_market_pricefeeds_updates_isUpdatablePriceFeed.isUpdatablePriceFeed);
108
+ return this.#generateUpdateTxs(leaves, "");
109
+ }
110
+ /**
111
+ * Similar to {@link generateExternalPriceFeedsUpdateTxs}, but returns raw structures instead of transactions
112
+ * @param feeds
113
+ * @param block
114
+ * @returns
115
+ */
116
+ async generateExternalPriceFeedsUpdates(feeds, block) {
117
+ const updates = await this.generateExternalPriceFeedsUpdateTxs(feeds, block);
118
+ return require_onchain_market_pricefeeds_updates_getRawPriceUpdates.getRawPriceUpdates(updates);
119
+ }
120
+ /**
121
+ * Loads PARTIAL information about all updatable price feeds from MarketCompressor
122
+ * Discovered price feeds are not saved anywhere in PriceFeedRegistry, and can later be used to load price feed updates
123
+ */
124
+ async getPartialUpdatablePriceFeeds(configurators) {
125
+ const [priceFeedCompressorAddress] = this.sdk.addressProvider.mustGetLatest(require_onchain_constants_address_provider.AP_PRICE_FEED_COMPRESSOR, require_onchain_constants_versions.VERSION_RANGE_310);
126
+ this.logger?.debug({ configurators }, `calling getUpdatablePriceFeeds in block ${this.sdk.currentBlock}`);
127
+ const result = await this.client.readContract({
128
+ address: priceFeedCompressorAddress,
129
+ abi: require_abi_compressors_priceFeedCompressor.priceFeedCompressorAbi,
130
+ functionName: "getUpdatablePriceFeeds",
131
+ args: [{
132
+ configurators,
133
+ pools: [],
134
+ underlying: require_onchain_constants_addresses.ADDRESS_0X0
135
+ }],
136
+ blockNumber: this.sdk.currentBlock,
137
+ gas: this.sdk.gasLimit
138
+ });
139
+ this.logger?.debug(`loaded ${result.length} partial updatable price feeds in block ${this.sdk.currentBlock}`);
140
+ return result.map((baseParams) => this.create({ baseParams }));
141
+ }
142
+ /**
143
+ * @internal
144
+ * Diagnostic snapshot of the most recent price-update round, or
145
+ * `undefined` if no updates have been generated yet.
146
+ **/
147
+ get latestUpdate() {
148
+ return this.#latestUpdate;
149
+ }
150
+ /**
151
+ * @internal
152
+ * Returns true if any of the updaters are in historical mode
153
+ */
154
+ get historical() {
155
+ return this.#updaters.some((u) => u.historical);
156
+ }
157
+ async #generateUpdateTxs(updateables, filterRemark) {
158
+ if (updateables.length === 0) return {
159
+ txs: [],
160
+ timestamp: 0
161
+ };
162
+ const txs = [];
163
+ const latestUpdate = {
164
+ updates: [],
165
+ timestamp: Math.floor(Date.now() / 1e3)
166
+ };
167
+ const updates = (await Promise.all(this.#updaters.map((u) => u.getUpdateTxs([...updateables]).catch(() => [])))).flat();
168
+ let maxTimestamp = 0;
169
+ for (const tx of updates) {
170
+ const { data } = tx;
171
+ const { timestamp } = data;
172
+ if (timestamp > maxTimestamp) maxTimestamp = timestamp;
173
+ txs.push(tx);
174
+ latestUpdate.updates.push(data);
175
+ }
176
+ txs.sort((a, b) => a.raw.to.toLowerCase().localeCompare(b.raw.to.toLowerCase()));
177
+ const result = {
178
+ txs,
179
+ timestamp: maxTimestamp
180
+ };
181
+ const tsDelta = BigInt(maxTimestamp) - this.sdk.timestamp;
182
+ this.logger?.debug(`generated ${txs.length}${filterRemark} price feed update transactions, timestamp: ${maxTimestamp} (delta ${tsDelta})`);
183
+ if (txs.length) await this.#hooks.triggerHooks("updatesGenerated", result);
184
+ this.#latestUpdate = latestUpdate;
185
+ return result;
186
+ }
187
+ };
188
+ //#endregion
189
+ exports.UpdatablePriceFeedRegistry = UpdatablePriceFeedRegistry;
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_abi_iUpdatablePriceFeed = require("../../../abi/iUpdatablePriceFeed.js");
2
+ const require_abi_iUpdatablePriceFeed = require("../../../../abi/iUpdatablePriceFeed.js");
3
3
  let viem = require("viem");
4
- //#region src/onchain/market/pricefeeds/getRawPriceUpdates.ts
4
+ //#region src/onchain/market/pricefeeds/updates/getRawPriceUpdates.ts
5
5
  function getRawPriceUpdates(updates) {
6
6
  return updates.txs.map((tx) => {
7
7
  const data = (0, viem.decodeFunctionData)({
@@ -1,8 +1,16 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_onchain_market_pricefeeds_updates_fetchRedstonePayloads = require("./fetchRedstonePayloads.js");
3
+ const require_onchain_market_pricefeeds_updates_getRawPriceUpdates = require("./getRawPriceUpdates.js");
4
+ const require_onchain_market_pricefeeds_updates_isUpdatablePriceFeed = require("./isUpdatablePriceFeed.js");
3
5
  const require_onchain_market_pricefeeds_updates_PriceUpdatesCache = require("./PriceUpdatesCache.js");
4
6
  const require_onchain_market_pricefeeds_updates_RedstoneUpdater = require("./RedstoneUpdater.js");
7
+ const require_onchain_market_pricefeeds_updates_updatableDependencies = require("./updatableDependencies.js");
8
+ const require_onchain_market_pricefeeds_updates_UpdatablePriceFeedRegistry = require("./UpdatablePriceFeedRegistry.js");
5
9
  exports.PriceUpdatesCache = require_onchain_market_pricefeeds_updates_PriceUpdatesCache.PriceUpdatesCache;
6
10
  exports.RedstoneOptions = require_onchain_market_pricefeeds_updates_RedstoneUpdater.RedstoneOptions;
7
11
  exports.RedstoneUpdater = require_onchain_market_pricefeeds_updates_RedstoneUpdater.RedstoneUpdater;
12
+ exports.UpdatablePriceFeedRegistry = require_onchain_market_pricefeeds_updates_UpdatablePriceFeedRegistry.UpdatablePriceFeedRegistry;
8
13
  exports.fetchRedstonePayloads = require_onchain_market_pricefeeds_updates_fetchRedstonePayloads.fetchRedstonePayloads;
14
+ exports.getRawPriceUpdates = require_onchain_market_pricefeeds_updates_getRawPriceUpdates.getRawPriceUpdates;
15
+ exports.isUpdatablePriceFeed = require_onchain_market_pricefeeds_updates_isUpdatablePriceFeed.isUpdatablePriceFeed;
16
+ exports.updatableDependencies = require_onchain_market_pricefeeds_updates_updatableDependencies.updatableDependencies;
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/onchain/market/pricefeeds/isUpdatablePriceFeed.ts
2
+ //#region src/onchain/market/pricefeeds/updates/isUpdatablePriceFeed.ts
3
3
  function isUpdatablePriceFeed(pf) {
4
4
  return pf.updatable;
5
5
  }
@@ -0,0 +1,14 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_onchain_market_pricefeeds_updates_isUpdatablePriceFeed = require("./isUpdatablePriceFeed.js");
3
+ //#region src/onchain/market/pricefeeds/updates/updatableDependencies.ts
4
+ /**
5
+ * Collects updatable feeds in this feed's dependency tree, including this
6
+ * feed itself when it is updatable.
7
+ **/
8
+ function updatableDependencies(feed) {
9
+ if (!feed.loaded) return [feed];
10
+ const underlying = feed.underlyingPriceFeeds.flatMap((ref) => updatableDependencies(ref.priceFeed));
11
+ return require_onchain_market_pricefeeds_updates_isUpdatablePriceFeed.isUpdatablePriceFeed(feed) ? [feed, ...underlying] : underlying;
12
+ }
13
+ //#endregion
14
+ exports.updatableDependencies = updatableDependencies;
@@ -1,9 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_onchain_utils_AddressMap = require("../../utils/AddressMap.js");
3
3
  const require_onchain_utils_bytes32ToString = require("../../utils/bytes32ToString.js");
4
- const require_onchain_constants_address_provider = require("../../constants/address-provider.js");
5
- const require_onchain_constants_versions = require("../../constants/versions.js");
6
- require("../../constants/index.js");
7
4
  require("../../utils/index.js");
8
5
  const require_onchain_base_SDKConstruct = require("../../base/SDKConstruct.js");
9
6
  const require_onchain_base_token_types = require("../../base/token-types.js");
@@ -15,6 +12,7 @@ const require_onchain_market_rwa_securitize_SecuritizeRWAFactory = require("./se
15
12
  require("./securitize/index.js");
16
13
  let viem = require("viem");
17
14
  //#region src/onchain/market/rwa/RWARegistry.ts
15
+ const RWA_COMPRESSOR_ADDRESS = "0x9Bff226505632930BA1897E7943e90A2f7D0D9f7";
18
16
  /**
19
17
  * Registry of RWA underlying tokens and RWA factory contracts.
20
18
  *
@@ -42,11 +40,10 @@ var RWARegistry = class extends require_onchain_base_SDKConstruct.SDKConstruct {
42
40
  getLoadMulticalls(configurators, rwaFactories = []) {
43
41
  this.#requestedFactories = rwaFactories;
44
42
  if (!rwaFactories.length) return [];
45
- const [rwaCompressorAddress] = this.sdk.addressProvider.mustGetLatest(require_onchain_constants_address_provider.AP_RWA_COMPRESSOR, require_onchain_constants_versions.VERSION_RANGE_310);
46
43
  return [{
47
44
  call: {
48
45
  abi: require_abi_rwa_iRWACompressor.iRWACompressorAbi,
49
- address: rwaCompressorAddress,
46
+ address: RWA_COMPRESSOR_ADDRESS,
50
47
  functionName: "getRWAMarketsData",
51
48
  args: [configurators, rwaFactories]
52
49
  },
@@ -84,10 +81,9 @@ var RWARegistry = class extends require_onchain_base_SDKConstruct.SDKConstruct {
84
81
  let factories = this.#factories.values();
85
82
  if (factories_?.length) factories = factories_.map((f) => this.#factories.mustGet(f));
86
83
  if (!factories.length) return [];
87
- const [rwaCompressorAddress] = this.sdk.addressProvider.mustGetLatest(require_onchain_constants_address_provider.AP_RWA_COMPRESSOR, require_onchain_constants_versions.VERSION_RANGE_310);
88
84
  const resp = await this.client.readContract({
89
85
  abi: require_abi_rwa_iRWACompressor.iRWACompressorAbi,
90
- address: rwaCompressorAddress,
86
+ address: RWA_COMPRESSOR_ADDRESS,
91
87
  functionName: "getRWAInvestorData",
92
88
  args: [investor, factories.map((f) => f.address)],
93
89
  blockNumber
@@ -286,3 +282,4 @@ var RWARegistry = class extends require_onchain_base_SDKConstruct.SDKConstruct {
286
282
  };
287
283
  //#endregion
288
284
  exports.RWARegistry = RWARegistry;
285
+ exports.RWA_COMPRESSOR_ADDRESS = RWA_COMPRESSOR_ADDRESS;
@@ -17,6 +17,7 @@ exports.MidasLiquidatorContract = require_onchain_market_rwa_midas_MidasLiquidat
17
17
  exports.PHANTOM_TOKEN_MIDAS_REDEMPTION = require_onchain_market_rwa_midas_constants.PHANTOM_TOKEN_MIDAS_REDEMPTION;
18
18
  exports.PHANTOM_TOKEN_SECURITIZE_REDEMPTION = require_onchain_market_rwa_securitize_constants.PHANTOM_TOKEN_SECURITIZE_REDEMPTION;
19
19
  exports.RWARegistry = require_onchain_market_rwa_RWARegistry.RWARegistry;
20
+ exports.RWA_COMPRESSOR_ADDRESS = require_onchain_market_rwa_RWARegistry.RWA_COMPRESSOR_ADDRESS;
20
21
  exports.RWA_LIQUIDATOR_MIDAS = require_onchain_market_rwa_midas_constants.RWA_LIQUIDATOR_MIDAS;
21
22
  exports.RWA_LIQUIDATOR_SECURITIZE = require_onchain_market_rwa_securitize_constants.RWA_LIQUIDATOR_SECURITIZE;
22
23
  exports.SecuritizeDegenNFT = require_onchain_market_rwa_securitize_SecuritizeDegenNFT.SecuritizeDegenNFT;
@@ -6,14 +6,23 @@ require("../../adapters/abi/index.js");
6
6
  const require_abi_rwa_iMidasDegenNFT = require("../../../../abi/rwa/iMidasDegenNFT.js");
7
7
  require("./constants.js");
8
8
  const require_abi_rwa_iMidasAccessControl = require("../../../../abi/rwa/iMidasAccessControl.js");
9
+ const require_model_rwa = require("../../../../model/rwa.js");
10
+ require("../../../../model/index.js");
9
11
  let viem = require("viem");
10
12
  //#region src/onchain/market/rwa/midas/MidasDegenNFT.ts
11
13
  const abi = require_abi_rwa_iMidasDegenNFT.iMidasDegenNFTAbi;
14
+ /**
15
+ * Midas is an RWA protocol without a factory: accounts open through the plain
16
+ * facade. Only a Permissioned-mode gateway deploys a degen NFT, so a Midas
17
+ * strategy that does not require KYC has no NFT at all.
18
+ */
12
19
  var MidasDegenNFT = class extends require_onchain_base_BaseContract.BaseContract {
13
20
  protocol = "midas";
21
+ registrationLink = require_model_rwa.KYC_REGISTRATION_LINKS.midas;
14
22
  gateway;
15
23
  accessControl;
16
24
  greenlistedRole;
25
+ #mToken;
17
26
  constructor(sdk, baseParams) {
18
27
  super(sdk, {
19
28
  ...baseParams,
@@ -31,9 +40,26 @@ var MidasDegenNFT = class extends require_onchain_base_BaseContract.BaseContract
31
40
  this.accessControl = accessControl;
32
41
  this.greenlistedRole = greenlistedRole;
33
42
  }
34
- /** Same predicate `MidasDegenNFT.burn` reverts on; the mToken rides along in the batch. */
35
- async checkKyc(wallet, _targetCollateral) {
36
- const [eligible, token] = await this.client.multicall({
43
+ async getTokens() {
44
+ return [await this.#mTokenAddress()];
45
+ }
46
+ /**
47
+ * Same predicate `MidasDegenNFT.burn` reverts on; the mToken rides along in
48
+ * the batch until it is cached.
49
+ */
50
+ async getOpenAccountRequirements(wallet, _props) {
51
+ const token = this.#mToken;
52
+ if (token !== void 0) return {
53
+ protocol: "midas",
54
+ token,
55
+ greenlisted: await this.client.readContract({
56
+ abi: require_abi_rwa_iMidasAccessControl.iMidasAccessControlAbi,
57
+ address: this.accessControl,
58
+ functionName: "hasRole",
59
+ args: [this.greenlistedRole, wallet]
60
+ })
61
+ };
62
+ const [greenlisted, mToken] = await this.client.multicall({
37
63
  allowFailure: false,
38
64
  contracts: [{
39
65
  abi: require_abi_rwa_iMidasAccessControl.iMidasAccessControlAbi,
@@ -46,11 +72,25 @@ var MidasDegenNFT = class extends require_onchain_base_BaseContract.BaseContract
46
72
  functionName: "mToken"
47
73
  }]
48
74
  });
75
+ this.#mToken = mToken;
49
76
  return {
50
- eligible,
51
- token
77
+ protocol: "midas",
78
+ token: mToken,
79
+ greenlisted
52
80
  };
53
81
  }
82
+ isRegistered(requirements) {
83
+ return requirements.greenlisted;
84
+ }
85
+ getMissingRequirements() {}
86
+ async #mTokenAddress() {
87
+ if (this.#mToken === void 0) this.#mToken = await this.client.readContract({
88
+ abi: require_onchain_market_adapters_abi_midas_iMidasGatewayV311.iMidasGatewayV311Abi,
89
+ address: this.gateway,
90
+ functionName: "mToken"
91
+ });
92
+ return this.#mToken;
93
+ }
54
94
  };
55
95
  //#endregion
56
96
  exports.MidasDegenNFT = MidasDegenNFT;
@@ -1,14 +1,23 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_onchain_utils_AddressSet = require("../../../utils/AddressSet.js");
3
+ require("../../../utils/index.js");
2
4
  const require_onchain_base_BaseContract = require("../../../base/BaseContract.js");
3
5
  require("../../../base/index.js");
6
+ const require_model_rwa = require("../../../../model/rwa.js");
7
+ require("../../../../model/index.js");
4
8
  const require_onchain_market_rwa_securitize_constants = require("./constants.js");
5
- const require_abi_rwa_iSecuritizeDegenNFT = require("../../../../abi/rwa/iSecuritizeDegenNFT.js");
6
- let viem = require("viem");
7
9
  //#region src/onchain/market/rwa/securitize/SecuritizeDegenNFT.ts
8
- const abi = require_abi_rwa_iSecuritizeDegenNFT.iSecuritizeDegenNFTAbi;
10
+ const abi = require("../../../../abi/rwa/iSecuritizeDegenNFT.js").iSecuritizeDegenNFTAbi;
11
+ /**
12
+ * Securitize always has a factory, which deploys this NFT. DS-token data,
13
+ * registrars and cached signatures live here; the factory only builds txs
14
+ * and looks up investor/wallet addresses.
15
+ */
9
16
  var SecuritizeDegenNFT = class extends require_onchain_base_BaseContract.BaseContract {
10
17
  protocol = "securitize";
18
+ registrationLink = require_model_rwa.KYC_REGISTRATION_LINKS.securitize;
11
19
  factory;
20
+ #sdk;
12
21
  constructor(sdk, address, factory) {
13
22
  super(sdk, {
14
23
  addr: address,
@@ -17,19 +26,54 @@ var SecuritizeDegenNFT = class extends require_onchain_base_BaseContract.BaseCon
17
26
  name: "SecuritizeDegenNFT",
18
27
  abi
19
28
  });
29
+ this.#sdk = sdk;
20
30
  this.factory = factory;
21
31
  }
22
- /** Registration on Securitize is the only KYC step; pending EIP-712 signatures are not. */
23
- async checkKyc(wallet, targetCollateral) {
24
- const { factory } = this;
25
- if (!factory.getTokens().some((t) => (0, viem.isAddressEqual)(t, targetCollateral))) return {
26
- eligible: true,
27
- token: targetCollateral
32
+ async getTokens() {
33
+ return this.factory.getTokens();
34
+ }
35
+ /**
36
+ * Registration on Securitize is the protocol-side KYC step; pending
37
+ * EIP-712 signatures are tx-side leftover, not KYC.
38
+ */
39
+ async getOpenAccountRequirements(wallet, props) {
40
+ const tokensToRegister = new require_onchain_utils_AddressSet.AddressSet(this.factory.getTokens()).has(props.tokenOutAddress) ? new require_onchain_utils_AddressSet.AddressSet([props.tokenOutAddress]) : new require_onchain_utils_AddressSet.AddressSet();
41
+ if (tokensToRegister.size === 0) return {
42
+ protocol: "securitize",
43
+ factory: this.factory.address,
44
+ securitizeTokensToRegister: [],
45
+ tokensToRegister: [],
46
+ requiredSignatures: []
47
+ };
48
+ const [investorData] = await this.#sdk.rwa.getInvestorData(wallet, [this.factory.address]);
49
+ const registredTokens = new require_onchain_utils_AddressSet.AddressSet(investorData.registeredTokens);
50
+ const signedTokens = new require_onchain_utils_AddressSet.AddressSet(investorData.cachedSignatures.map((s) => s.token));
51
+ const unsignedTokens = tokensToRegister.difference(signedTokens);
52
+ const securitizeTokensToRegister = tokensToRegister.difference(registredTokens);
53
+ const requiredSignatures = investorData.registerVaultMessages.filter((m) => unsignedTokens.has(m.message.token));
54
+ return {
55
+ protocol: "securitize",
56
+ factory: this.factory.address,
57
+ securitizeTokensToRegister: Array.from(securitizeTokensToRegister),
58
+ tokensToRegister: Array.from(tokensToRegister),
59
+ requiredSignatures
28
60
  };
29
- const req = await factory.getOpenAccountRequirements(wallet, { tokenOutAddress: targetCollateral });
61
+ }
62
+ isRegistered(requirements) {
63
+ return requirements.securitizeTokensToRegister.length === 0;
64
+ }
65
+ /**
66
+ * A required signature is omitted when `providedArgs.signaturesToCache`
67
+ * already carries a signature for the same token: the transaction caches it
68
+ * on-chain as part of the operation.
69
+ */
70
+ getMissingRequirements(requirements, providedArgs) {
71
+ const providedTokens = new require_onchain_utils_AddressSet.AddressSet((providedArgs?.signaturesToCache ?? []).map((s) => s.token));
72
+ const requiredSignatures = requirements.requiredSignatures.filter((message) => !providedTokens.has(message.message.token));
73
+ if (requiredSignatures.length === 0) return;
30
74
  return {
31
- eligible: !req || req.securitizeTokensToRegister.length === 0,
32
- token: req?.securitizeTokensToRegister[0] ?? targetCollateral
75
+ protocol: "securitize",
76
+ requiredSignatures
33
77
  };
34
78
  }
35
79
  };