@gearbox-protocol/sdk 13.0.0-next.9 → 13.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 (722) hide show
  1. package/dist/cjs/abi/310/iLinearInterestRateModelV310.js +92 -0
  2. package/dist/cjs/abi/310/iSecuritizeDegenNFT.js +263 -0
  3. package/dist/cjs/abi/310/iSecuritizeKYCFactory.js +278 -0
  4. package/dist/cjs/abi/errors.js +0 -145
  5. package/dist/cjs/abi/iPriceFeed.js +84 -0
  6. package/dist/cjs/{sdk/sdk-gov-legacy/oracles → common-utils}/index.js +4 -4
  7. package/dist/cjs/common-utils/package.json +1 -0
  8. package/dist/cjs/common-utils/utils/assetsMath.js +216 -0
  9. package/dist/cjs/common-utils/utils/bigintMath.js +65 -0
  10. package/dist/cjs/common-utils/utils/creditAccount/calcHealthFactor.js +76 -0
  11. package/dist/cjs/common-utils/utils/creditAccount/calcOverallAPY.js +81 -0
  12. package/dist/cjs/{sdk/accountMigration/MigrateCreditAccountsServiceV310.js → common-utils/utils/creditAccount/calcQuotaBorrowRate.js} +19 -7
  13. package/dist/cjs/{sdk/sdk-legacy/gearboxRewards/merklAPI.js → common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.js} +11 -7
  14. package/dist/cjs/common-utils/utils/creditAccount/debt.js +64 -0
  15. package/dist/cjs/{sdk/accountMigration/MigrateCreditAccountsServiceV300.js → common-utils/utils/creditAccount/getTimeToLiquidation.js} +15 -7
  16. package/dist/cjs/common-utils/utils/creditAccount/index.js +40 -0
  17. package/dist/cjs/common-utils/utils/creditAccount/liquidationPrice.js +47 -0
  18. package/dist/cjs/common-utils/utils/creditAccount/quotaUtils.js +149 -0
  19. package/dist/cjs/common-utils/utils/creditAccount/sort.js +95 -0
  20. package/dist/cjs/common-utils/utils/endpoints.js +65 -0
  21. package/dist/cjs/{sdk/sdk-legacy → common-utils}/utils/index.js +10 -6
  22. package/dist/cjs/common-utils/utils/priceMath.js +66 -0
  23. package/dist/cjs/dev/AccountOpener.js +47 -7
  24. package/dist/cjs/dev/ltUtils.js +4 -91
  25. package/dist/cjs/dev/migrateFaucet.js +25 -53
  26. package/dist/cjs/dev/providers.js +12 -0
  27. package/dist/cjs/history/assembleOperations.js +103 -0
  28. package/dist/cjs/history/classifyMulticallOperations.js +157 -0
  29. package/dist/cjs/history/errors.js +91 -0
  30. package/dist/cjs/history/extractProtocolCalls.js +53 -0
  31. package/dist/cjs/history/extractTransfers.js +168 -0
  32. package/dist/cjs/history/findFacadeCalls.js +84 -0
  33. package/dist/cjs/history/index.js +39 -0
  34. package/dist/cjs/history/inner-operations.js +16 -0
  35. package/dist/cjs/{sdk/gauges/utils.js → history/internal-types.js} +2 -2
  36. package/dist/cjs/history/mapOperations.js +79 -0
  37. package/dist/cjs/history/package.json +1 -0
  38. package/dist/cjs/history/parseCreditAccountTransaction.js +86 -0
  39. package/dist/cjs/history/populateContractsRegister.js +68 -0
  40. package/dist/cjs/history/toLegacyOperation.js +182 -0
  41. package/dist/cjs/{plugins/adapters/contracts/YearnV2AdapterContract.js → history/trace-utils.js} +36 -21
  42. package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +3 -3
  43. package/dist/cjs/permissionless/bindings/instance-manager.js +3 -3
  44. package/dist/cjs/permissionless/utils/price-update/get-prices.js +2 -6
  45. package/dist/cjs/plugins/adapters/AdaptersPlugin.js +13 -106
  46. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  47. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +5168 -0
  48. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +123 -3
  49. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
  50. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +65 -30
  51. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +27 -11
  52. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +40 -21
  53. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +100 -25
  54. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +74 -25
  55. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +79 -31
  56. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +79 -31
  57. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +84 -31
  58. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +80 -33
  59. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +62 -26
  60. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +92 -34
  61. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +46 -14
  62. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +62 -27
  63. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +46 -14
  64. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +34 -14
  65. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +56 -23
  66. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +31 -14
  67. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +28 -12
  68. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +35 -16
  69. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +47 -17
  70. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +29 -11
  71. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +45 -14
  72. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +42 -17
  73. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +79 -42
  74. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +34 -14
  75. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +27 -11
  76. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +44 -17
  77. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +49 -21
  78. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +92 -55
  79. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +71 -37
  80. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +55 -25
  81. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +44 -21
  82. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +42 -23
  83. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +53 -27
  84. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +42 -17
  85. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +46 -25
  86. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +37 -11
  87. package/dist/cjs/plugins/adapters/contracts/index.js +7 -15
  88. package/dist/cjs/plugins/adapters/createAdapter.js +125 -0
  89. package/dist/cjs/plugins/adapters/index.js +6 -0
  90. package/dist/cjs/plugins/adapters/legacyAdapterOperations.js +16 -0
  91. package/dist/cjs/plugins/adapters/transferHelpers.js +127 -0
  92. package/dist/cjs/plugins/bots/PartialLiquidationBotV310Contract.js +4 -4
  93. package/dist/cjs/plugins/bots/abi/index.js +0 -2
  94. package/dist/cjs/plugins/degen-distributors/DegenDistributorsPlugin.js +2 -1
  95. package/dist/cjs/plugins/pools-history/Pools7DAgoPlugin.js +1 -1
  96. package/dist/cjs/sdk/GearboxSDK.js +6 -14
  97. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +479 -188
  98. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +27 -17
  99. package/dist/cjs/sdk/accounts/createCreditAccountService.js +0 -4
  100. package/dist/cjs/sdk/accounts/index.js +0 -2
  101. package/dist/cjs/sdk/base/BaseContract.js +60 -6
  102. package/dist/cjs/sdk/base/ChainContractsRegister.js +34 -11
  103. package/dist/cjs/sdk/base/Construct.js +29 -15
  104. package/dist/cjs/sdk/base/PlaceholderContract.js +2 -2
  105. package/dist/cjs/sdk/base/SDKConstruct.js +1 -1
  106. package/dist/cjs/sdk/base/TokensMeta.js +154 -11
  107. package/dist/cjs/sdk/{sdk-legacy/utils/math.js → base/errors.js} +12 -10
  108. package/dist/cjs/sdk/base/index.js +2 -0
  109. package/dist/cjs/sdk/chain/chains.js +11 -28
  110. package/dist/cjs/sdk/constants/addresses.js +2 -88
  111. package/dist/cjs/sdk/constants/networks.js +0 -32
  112. package/dist/cjs/sdk/constants/versions.js +0 -8
  113. package/dist/cjs/sdk/core/{address-provider/AbstractAddressProviderContract.js → AbstractAddressProviderContract.js} +3 -3
  114. package/dist/cjs/sdk/core/{address-provider/AddressProviderV310Contract.js → AddressProviderV310Contract.js} +1 -1
  115. package/dist/cjs/sdk/core/{address-provider/createAddressProvider.js → createAddressProvider.js} +4 -7
  116. package/dist/cjs/sdk/core/index.js +6 -6
  117. package/dist/cjs/sdk/{sdk-gov-legacy/tokens/aave.js → core/types.js} +2 -2
  118. package/dist/cjs/sdk/index.js +0 -10
  119. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +3 -2
  120. package/dist/cjs/sdk/market/MarketRegister.js +0 -1
  121. package/dist/cjs/sdk/market/MarketSuite.js +4 -1
  122. package/dist/cjs/sdk/market/adapters/PlaceholderAdapterContracts.js +25 -4
  123. package/dist/cjs/sdk/market/adapters/{factory.js → createAdapter.js} +3 -3
  124. package/dist/cjs/sdk/market/adapters/index.js +2 -2
  125. package/dist/cjs/sdk/market/credit/CreditFacadeV310BaseContract.js +108 -0
  126. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +3 -40
  127. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +1 -4
  128. package/dist/cjs/sdk/market/credit/createCreditConfigurator.js +1 -4
  129. package/dist/cjs/sdk/market/credit/createCreditFacade.js +1 -4
  130. package/dist/cjs/sdk/market/credit/createCreditManager.js +1 -4
  131. package/dist/cjs/sdk/market/credit/index.js +2 -6
  132. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +9 -57
  133. package/dist/cjs/sdk/market/oracle/createPriceOracle.js +7 -38
  134. package/dist/cjs/sdk/market/oracle/index.js +0 -2
  135. package/dist/cjs/sdk/market/pool/GaugeContract.js +3 -3
  136. package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  137. package/dist/cjs/sdk/market/pool/PoolSuite.js +3 -0
  138. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +18 -3
  139. package/dist/cjs/sdk/market/pool/SecuritizeKYCFactory.js +97 -0
  140. package/dist/cjs/sdk/market/pool/createPool.js +0 -4
  141. package/dist/cjs/sdk/market/pool/createPoolQuotaKeeper.js +0 -4
  142. package/dist/cjs/sdk/market/pool/index.js +4 -4
  143. package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +14 -53
  144. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +5 -3
  145. package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +20 -0
  146. package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +19 -46
  147. package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
  148. package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -7
  149. package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +6 -6
  150. package/dist/cjs/sdk/market/pricefeeds/updates/fetchPythPayloads.js +7 -7
  151. package/dist/cjs/sdk/market/pricefeeds/updates/fetchRedstonePayloads.js +10 -10
  152. package/dist/cjs/sdk/plugins/index.js +1 -3
  153. package/dist/cjs/sdk/pools/PoolService.js +149 -18
  154. package/dist/cjs/sdk/router/AbstractRouterContract.js +0 -4
  155. package/dist/cjs/sdk/router/RouterV310Contract.js +3 -32
  156. package/dist/cjs/sdk/router/createRouter.js +0 -4
  157. package/dist/cjs/sdk/router/helpers.js +0 -5
  158. package/dist/cjs/sdk/router/index.js +0 -2
  159. package/dist/cjs/sdk/utils/AddressMap.js +1 -1
  160. package/dist/cjs/sdk/utils/abi-decode.js +43 -2
  161. package/dist/cjs/sdk/utils/formatter.js +55 -2
  162. package/dist/cjs/sdk/utils/viem/sendRawTx.js +16 -0
  163. package/dist/esm/abi/310/iLinearInterestRateModelV310.js +68 -0
  164. package/dist/esm/abi/310/iSecuritizeDegenNFT.js +239 -0
  165. package/dist/esm/abi/310/iSecuritizeKYCFactory.js +254 -0
  166. package/dist/esm/abi/errors.js +0 -143
  167. package/dist/esm/abi/iPriceFeed.js +60 -0
  168. package/dist/esm/common-utils/index.js +1 -0
  169. package/dist/esm/common-utils/package.json +1 -0
  170. package/dist/esm/{sdk/sdk-legacy/core/assets.js → common-utils/utils/assetsMath.js} +80 -14
  171. package/dist/esm/common-utils/utils/bigintMath.js +41 -0
  172. package/dist/esm/common-utils/utils/creditAccount/calcHealthFactor.js +55 -0
  173. package/dist/esm/common-utils/utils/creditAccount/calcOverallAPY.js +60 -0
  174. package/dist/esm/common-utils/utils/creditAccount/calcQuotaBorrowRate.js +18 -0
  175. package/dist/esm/common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.js +10 -0
  176. package/dist/esm/common-utils/utils/creditAccount/debt.js +43 -0
  177. package/dist/esm/common-utils/utils/creditAccount/getTimeToLiquidation.js +18 -0
  178. package/dist/esm/common-utils/utils/creditAccount/index.js +10 -0
  179. package/dist/esm/common-utils/utils/creditAccount/liquidationPrice.js +23 -0
  180. package/dist/esm/common-utils/utils/creditAccount/quotaUtils.js +125 -0
  181. package/dist/esm/common-utils/utils/creditAccount/sort.js +67 -0
  182. package/dist/esm/common-utils/utils/endpoints.js +41 -0
  183. package/dist/esm/common-utils/utils/index.js +5 -0
  184. package/dist/esm/common-utils/utils/priceMath.js +42 -0
  185. package/dist/esm/dev/AccountOpener.js +48 -7
  186. package/dist/esm/dev/ltUtils.js +7 -100
  187. package/dist/esm/dev/migrateFaucet.js +24 -51
  188. package/dist/esm/dev/providers.js +12 -0
  189. package/dist/esm/history/assembleOperations.js +79 -0
  190. package/dist/esm/history/classifyMulticallOperations.js +137 -0
  191. package/dist/esm/history/errors.js +62 -0
  192. package/dist/esm/history/extractProtocolCalls.js +32 -0
  193. package/dist/esm/history/extractTransfers.js +148 -0
  194. package/dist/esm/history/findFacadeCalls.js +63 -0
  195. package/dist/esm/history/index.js +9 -0
  196. package/dist/esm/history/mapOperations.js +55 -0
  197. package/dist/esm/history/package.json +1 -0
  198. package/dist/esm/history/parseCreditAccountTransaction.js +62 -0
  199. package/dist/esm/history/populateContractsRegister.js +52 -0
  200. package/dist/esm/history/toLegacyOperation.js +157 -0
  201. package/dist/esm/history/trace-utils.js +36 -0
  202. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +3 -3
  203. package/dist/esm/permissionless/bindings/instance-manager.js +3 -3
  204. package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -6
  205. package/dist/esm/plugins/adapters/AdaptersPlugin.js +14 -148
  206. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  207. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +5113 -0
  208. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +133 -4
  209. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
  210. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +64 -30
  211. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +27 -11
  212. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +40 -21
  213. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +109 -26
  214. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +76 -25
  215. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +81 -31
  216. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +81 -31
  217. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +86 -31
  218. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +82 -33
  219. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +64 -26
  220. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +97 -34
  221. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +48 -14
  222. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +64 -27
  223. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +48 -14
  224. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +36 -14
  225. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +58 -23
  226. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +37 -15
  227. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +33 -12
  228. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +40 -16
  229. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +49 -17
  230. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +31 -11
  231. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +47 -14
  232. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +44 -17
  233. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +82 -43
  234. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +36 -14
  235. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +29 -11
  236. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +46 -17
  237. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +55 -22
  238. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +91 -54
  239. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +73 -37
  240. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +54 -25
  241. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +45 -22
  242. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +43 -24
  243. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +57 -28
  244. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +48 -18
  245. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +46 -25
  246. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +39 -11
  247. package/dist/esm/plugins/adapters/contracts/index.js +3 -7
  248. package/dist/esm/plugins/adapters/createAdapter.js +140 -0
  249. package/dist/esm/plugins/adapters/index.js +3 -0
  250. package/dist/esm/plugins/adapters/transferHelpers.js +95 -0
  251. package/dist/esm/plugins/bots/PartialLiquidationBotV310Contract.js +5 -8
  252. package/dist/esm/plugins/bots/abi/index.js +0 -1
  253. package/dist/esm/plugins/degen-distributors/DegenDistributorsPlugin.js +2 -1
  254. package/dist/esm/plugins/pools-history/Pools7DAgoPlugin.js +1 -2
  255. package/dist/esm/sdk/GearboxSDK.js +7 -23
  256. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +483 -193
  257. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +27 -17
  258. package/dist/esm/sdk/accounts/createCreditAccountService.js +1 -5
  259. package/dist/esm/sdk/accounts/index.js +0 -1
  260. package/dist/esm/sdk/base/BaseContract.js +62 -6
  261. package/dist/esm/sdk/base/ChainContractsRegister.js +34 -11
  262. package/dist/esm/sdk/base/Construct.js +29 -15
  263. package/dist/esm/sdk/base/PlaceholderContract.js +2 -2
  264. package/dist/esm/sdk/base/SDKConstruct.js +1 -1
  265. package/dist/esm/sdk/base/TokensMeta.js +158 -10
  266. package/dist/esm/sdk/base/errors.js +11 -0
  267. package/dist/esm/sdk/base/index.js +1 -0
  268. package/dist/esm/sdk/chain/chains.js +12 -28
  269. package/dist/esm/sdk/constants/addresses.js +1 -83
  270. package/dist/esm/sdk/constants/networks.js +0 -31
  271. package/dist/esm/sdk/constants/versions.js +0 -6
  272. package/dist/esm/sdk/core/{address-provider/AbstractAddressProviderContract.js → AbstractAddressProviderContract.js} +3 -3
  273. package/dist/esm/sdk/core/{address-provider/AddressProviderV310Contract.js → AddressProviderV310Contract.js} +1 -1
  274. package/dist/esm/sdk/core/{address-provider/createAddressProvider.js → createAddressProvider.js} +4 -8
  275. package/dist/esm/sdk/core/index.js +3 -3
  276. package/dist/esm/sdk/index.js +0 -5
  277. package/dist/esm/sdk/market/MarketConfiguratorContract.js +3 -2
  278. package/dist/esm/sdk/market/MarketRegister.js +0 -1
  279. package/dist/esm/sdk/market/MarketSuite.js +5 -2
  280. package/dist/esm/sdk/market/adapters/PlaceholderAdapterContracts.js +29 -5
  281. package/dist/esm/sdk/market/adapters/index.js +1 -1
  282. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +86 -0
  283. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +3 -43
  284. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +1 -4
  285. package/dist/esm/sdk/market/credit/createCreditConfigurator.js +2 -5
  286. package/dist/esm/sdk/market/credit/createCreditFacade.js +2 -5
  287. package/dist/esm/sdk/market/credit/createCreditManager.js +2 -5
  288. package/dist/esm/sdk/market/credit/index.js +1 -3
  289. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +10 -59
  290. package/dist/esm/sdk/market/oracle/createPriceOracle.js +7 -38
  291. package/dist/esm/sdk/market/oracle/index.js +0 -1
  292. package/dist/esm/sdk/market/pool/GaugeContract.js +3 -3
  293. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  294. package/dist/esm/sdk/market/pool/PoolSuite.js +3 -0
  295. package/dist/esm/sdk/market/pool/PoolV310Contract.js +18 -3
  296. package/dist/esm/sdk/market/pool/SecuritizeKYCFactory.js +73 -0
  297. package/dist/esm/sdk/market/pool/createPool.js +1 -5
  298. package/dist/esm/sdk/market/pool/createPoolQuotaKeeper.js +1 -5
  299. package/dist/esm/sdk/market/pool/index.js +2 -2
  300. package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +14 -53
  301. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +5 -3
  302. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +21 -1
  303. package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +20 -47
  304. package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
  305. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +7 -7
  306. package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +6 -6
  307. package/dist/esm/sdk/market/pricefeeds/updates/fetchPythPayloads.js +7 -7
  308. package/dist/esm/sdk/market/pricefeeds/updates/fetchRedstonePayloads.js +10 -10
  309. package/dist/esm/sdk/plugins/index.js +0 -1
  310. package/dist/esm/sdk/pools/PoolService.js +149 -18
  311. package/dist/esm/sdk/router/AbstractRouterContract.js +0 -4
  312. package/dist/esm/sdk/router/RouterV310Contract.js +3 -32
  313. package/dist/esm/sdk/router/createRouter.js +1 -5
  314. package/dist/esm/sdk/router/helpers.js +0 -4
  315. package/dist/esm/sdk/router/index.js +0 -1
  316. package/dist/esm/sdk/utils/AddressMap.js +1 -1
  317. package/dist/esm/sdk/utils/abi-decode.js +43 -2
  318. package/dist/esm/sdk/utils/formatter.js +37 -1
  319. package/dist/esm/sdk/utils/viem/sendRawTx.js +19 -1
  320. package/dist/types/abi/310/iLinearInterestRateModelV310.d.ts +111 -0
  321. package/dist/types/{sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts → abi/310/iSecuritizeDegenNFT.d.ts} +115 -239
  322. package/dist/types/{sdk/core/BotListV3Contract.d.ts → abi/310/iSecuritizeKYCFactory.d.ts} +146 -147
  323. package/dist/types/abi/errors.d.ts +186 -996
  324. package/dist/types/abi/iPriceFeed.d.ts +87 -0
  325. package/dist/types/common-utils/index.d.ts +1 -0
  326. package/dist/types/common-utils/utils/assetsMath.d.ts +114 -0
  327. package/dist/types/common-utils/utils/bigintMath.d.ts +43 -0
  328. package/dist/types/common-utils/utils/creditAccount/calcHealthFactor.d.ts +25 -0
  329. package/dist/types/common-utils/utils/creditAccount/calcOverallAPY.d.ts +37 -0
  330. package/dist/types/common-utils/utils/creditAccount/calcQuotaBorrowRate.d.ts +18 -0
  331. package/dist/types/common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.d.ts +15 -0
  332. package/dist/types/common-utils/utils/creditAccount/debt.d.ts +35 -0
  333. package/dist/types/common-utils/utils/creditAccount/getTimeToLiquidation.d.ts +16 -0
  334. package/dist/types/common-utils/utils/creditAccount/index.d.ts +10 -0
  335. package/dist/types/common-utils/utils/creditAccount/liquidationPrice.d.ts +25 -0
  336. package/dist/types/common-utils/utils/creditAccount/quotaUtils.d.ts +81 -0
  337. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +55 -0
  338. package/dist/types/common-utils/utils/creditAccount/types.d.ts +18 -0
  339. package/dist/types/common-utils/utils/endpoints.d.ts +27 -0
  340. package/dist/types/common-utils/utils/index.d.ts +5 -0
  341. package/dist/types/common-utils/utils/priceMath.d.ts +47 -0
  342. package/dist/types/dev/migrateFaucet.d.ts +4 -5
  343. package/dist/types/dev/providers.d.ts +5 -5
  344. package/dist/types/history/assembleOperations.d.ts +22 -0
  345. package/dist/types/history/classifyMulticallOperations.d.ts +35 -0
  346. package/dist/types/history/errors.d.ts +30 -0
  347. package/dist/types/history/extractProtocolCalls.d.ts +8 -0
  348. package/dist/types/history/extractTransfers.d.ts +22 -0
  349. package/dist/types/history/findFacadeCalls.d.ts +9 -0
  350. package/dist/types/history/index.d.ts +6 -0
  351. package/dist/types/history/inner-operations.d.ts +57 -0
  352. package/dist/types/history/internal-types.d.ts +47 -0
  353. package/dist/types/history/mapOperations.d.ts +27 -0
  354. package/dist/types/history/parseCreditAccountTransaction.d.ts +27 -0
  355. package/dist/types/history/populateContractsRegister.d.ts +19 -0
  356. package/dist/types/history/toLegacyOperation.d.ts +18 -0
  357. package/dist/types/history/trace-utils.d.ts +12 -0
  358. package/dist/types/history/types.d.ts +71 -0
  359. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +3 -3
  360. package/dist/types/permissionless/bindings/instance-manager.d.ts +3 -3
  361. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  362. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +8262 -0
  363. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +50 -8
  364. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +238 -4
  365. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +135 -8
  366. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +45 -4
  367. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +225 -7
  368. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +418 -8
  369. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +227 -10
  370. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +1257 -10
  371. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +1257 -10
  372. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +1257 -10
  373. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +575 -11
  374. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +1244 -10
  375. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +1227 -11
  376. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +69 -6
  377. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +492 -6
  378. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +67 -6
  379. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +132 -6
  380. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +144 -8
  381. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +163 -5
  382. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +248 -6
  383. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +367 -6
  384. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +104 -7
  385. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +46 -5
  386. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +488 -6
  387. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +20 -7
  388. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +493 -7
  389. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +18 -6
  390. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +56 -5
  391. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +52 -7
  392. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +199 -7
  393. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +1040 -17
  394. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +82 -8
  395. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +148 -10
  396. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +758 -5
  397. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +183 -4
  398. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +110 -5
  399. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +84 -7
  400. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +122 -4
  401. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +275 -5
  402. package/dist/types/plugins/adapters/contracts/index.d.ts +3 -7
  403. package/dist/types/plugins/adapters/createAdapter.d.ts +5 -0
  404. package/dist/types/plugins/adapters/index.d.ts +3 -0
  405. package/dist/types/plugins/adapters/legacyAdapterOperations.d.ts +200 -0
  406. package/dist/types/plugins/adapters/transferHelpers.d.ts +60 -0
  407. package/dist/types/plugins/adapters/types.d.ts +64 -2
  408. package/dist/types/plugins/bots/abi/index.d.ts +0 -1
  409. package/dist/types/sdk/GearboxSDK.d.ts +0 -3
  410. package/dist/types/sdk/accounts/AbstractCreditAccountsService.d.ts +123 -37
  411. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +2 -2
  412. package/dist/types/sdk/accounts/createCreditAccountService.d.ts +1 -1
  413. package/dist/types/sdk/accounts/index.d.ts +0 -1
  414. package/dist/types/sdk/accounts/types.d.ts +115 -43
  415. package/dist/types/sdk/base/BaseContract.d.ts +17 -4
  416. package/dist/types/sdk/base/ChainContractsRegister.d.ts +11 -3
  417. package/dist/types/sdk/base/Construct.d.ts +13 -13
  418. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  419. package/dist/types/sdk/base/TokensMeta.d.ts +27 -4
  420. package/dist/types/sdk/base/errors.d.ts +3 -0
  421. package/dist/types/sdk/base/index.d.ts +1 -0
  422. package/dist/types/sdk/base/token-types.d.ts +10 -2
  423. package/dist/types/sdk/base/types.d.ts +36 -0
  424. package/dist/types/sdk/chain/chains.d.ts +1 -1
  425. package/dist/types/sdk/constants/addresses.d.ts +0 -19
  426. package/dist/types/sdk/constants/networks.d.ts +0 -5
  427. package/dist/types/sdk/constants/versions.d.ts +0 -2
  428. package/dist/types/sdk/core/{address-provider/AbstractAddressProviderContract.d.ts → AbstractAddressProviderContract.d.ts} +4 -4
  429. package/dist/types/sdk/core/{address-provider/AddressProviderV310Contract.d.ts → AddressProviderV310Contract.d.ts} +1 -1
  430. package/dist/types/sdk/core/{address-provider/createAddressProvider.d.ts → createAddressProvider.d.ts} +1 -1
  431. package/dist/types/sdk/core/index.d.ts +3 -3
  432. package/dist/types/sdk/core/{address-provider/types.d.ts → types.d.ts} +3 -3
  433. package/dist/types/sdk/index.d.ts +0 -5
  434. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +1 -1
  435. package/dist/types/sdk/market/MarketRegister.d.ts +0 -1
  436. package/dist/types/sdk/market/MarketSuite.d.ts +2 -0
  437. package/dist/types/sdk/market/adapters/PlaceholderAdapterContracts.d.ts +10 -5
  438. package/dist/types/sdk/market/adapters/index.d.ts +1 -1
  439. package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +6 -2
  440. package/dist/types/sdk/market/credit/{CreditFacadeV300Contract.d.ts → CreditFacadeV310BaseContract.d.ts} +335 -267
  441. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +6 -848
  442. package/dist/types/sdk/market/credit/index.d.ts +1 -3
  443. package/dist/types/sdk/market/credit/types.d.ts +2 -3
  444. package/dist/types/sdk/market/loss-policy/createLossPolicy.d.ts +0 -12
  445. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +2 -21
  446. package/dist/types/sdk/market/oracle/PriceOracleV310Contract.d.ts +2 -2
  447. package/dist/types/sdk/market/oracle/createPriceOracle.d.ts +1 -15
  448. package/dist/types/sdk/market/oracle/index.d.ts +0 -1
  449. package/dist/types/sdk/market/oracle/types.d.ts +6 -18
  450. package/dist/types/sdk/market/pool/GaugeContract.d.ts +116 -76
  451. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +20 -0
  452. package/dist/types/sdk/market/pool/PoolSuite.d.ts +2 -0
  453. package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +6 -2
  454. package/dist/types/sdk/market/pool/SecuritizeKYCFactory.d.ts +345 -0
  455. package/dist/types/sdk/market/pool/index.d.ts +2 -2
  456. package/dist/types/sdk/market/pool/types.d.ts +2 -4
  457. package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +0 -3
  458. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +21 -1
  459. package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -9
  460. package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +1 -8
  461. package/dist/types/sdk/market/pricefeeds/updates/PythUpdater.d.ts +1 -1
  462. package/dist/types/sdk/market/pricefeeds/updates/RedstoneUpdater.d.ts +1 -1
  463. package/dist/types/sdk/market/pricefeeds/updates/fetchPythPayloads.d.ts +2 -2
  464. package/dist/types/sdk/market/pricefeeds/updates/fetchRedstonePayloads.d.ts +2 -2
  465. package/dist/types/sdk/options.d.ts +2 -2
  466. package/dist/types/sdk/plugins/index.d.ts +0 -1
  467. package/dist/types/sdk/pools/PoolService.d.ts +4 -1
  468. package/dist/types/sdk/pools/types.d.ts +22 -3
  469. package/dist/types/sdk/router/AbstractRouterContract.d.ts +2 -7
  470. package/dist/types/sdk/router/RouterV310Contract.d.ts +1 -16
  471. package/dist/types/sdk/router/helpers.d.ts +2 -2
  472. package/dist/types/sdk/router/index.d.ts +0 -1
  473. package/dist/types/sdk/router/types.d.ts +2 -55
  474. package/dist/types/sdk/types/state-human.d.ts +1 -4
  475. package/dist/types/sdk/utils/AddressMap.d.ts +1 -1
  476. package/dist/types/sdk/utils/abi-decode.d.ts +14 -1
  477. package/dist/types/sdk/utils/formatter.d.ts +9 -0
  478. package/dist/types/sdk/utils/viem/sendRawTx.d.ts +5 -1
  479. package/package.json +26 -12
  480. package/dist/cjs/abi/iDegenDistributorV300.js +0 -100
  481. package/dist/cjs/abi/routerV300.js +0 -406
  482. package/dist/cjs/abi/v300.js +0 -4189
  483. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -51
  484. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -58
  485. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -49
  486. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -56
  487. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -46
  488. package/dist/cjs/plugins/adapters/contracts/types.js +0 -77
  489. package/dist/cjs/plugins/bots/abi/iPartialLiquidationBotV300.js +0 -164
  490. package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +0 -192
  491. package/dist/cjs/sdk/accountMigration/createMigrateCreditAccountsService.js +0 -41
  492. package/dist/cjs/sdk/accountMigration/index.js +0 -26
  493. package/dist/cjs/sdk/accounts/CreditAccountsServiceV300.js +0 -454
  494. package/dist/cjs/sdk/core/BotListV3Contract.js +0 -101
  495. package/dist/cjs/sdk/core/GearStakingV3Contract.js +0 -83
  496. package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +0 -116
  497. package/dist/cjs/sdk/core/address-provider/index.js +0 -28
  498. package/dist/cjs/sdk/gauges/GaugeStakingService.js +0 -118
  499. package/dist/cjs/sdk/gauges/index.js +0 -24
  500. package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +0 -139
  501. package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +0 -160
  502. package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +0 -114
  503. package/dist/cjs/sdk/market/oracle/PriceOracleV300Contract.js +0 -129
  504. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +0 -85
  505. package/dist/cjs/sdk/market/pool/PoolV300Contract.js +0 -135
  506. package/dist/cjs/sdk/plugins/V300StalenessPeriodPlugin.js +0 -131
  507. package/dist/cjs/sdk/poolMigration/index.js +0 -84
  508. package/dist/cjs/sdk/router/PathOptionFactory.js +0 -105
  509. package/dist/cjs/sdk/router/RouterV300Contract.js +0 -390
  510. package/dist/cjs/sdk/sdk-gov-legacy/contracts/adapters.js +0 -67
  511. package/dist/cjs/sdk/sdk-gov-legacy/contracts/contracts.js +0 -2576
  512. package/dist/cjs/sdk/sdk-gov-legacy/contracts/index.js +0 -24
  513. package/dist/cjs/sdk/sdk-gov-legacy/contracts/protocols.js +0 -58
  514. package/dist/cjs/sdk/sdk-gov-legacy/index.js +0 -26
  515. package/dist/cjs/sdk/sdk-gov-legacy/oracles/PriceFeedType.js +0 -52
  516. package/dist/cjs/sdk/sdk-gov-legacy/tokens/aura.js +0 -239
  517. package/dist/cjs/sdk/sdk-gov-legacy/tokens/balancer.js +0 -339
  518. package/dist/cjs/sdk/sdk-gov-legacy/tokens/compound.js +0 -16
  519. package/dist/cjs/sdk/sdk-gov-legacy/tokens/convex.js +0 -450
  520. package/dist/cjs/sdk/sdk-gov-legacy/tokens/curveLP.js +0 -394
  521. package/dist/cjs/sdk/sdk-gov-legacy/tokens/erc4626.js +0 -16
  522. package/dist/cjs/sdk/sdk-gov-legacy/tokens/gear.js +0 -16
  523. package/dist/cjs/sdk/sdk-gov-legacy/tokens/index.js +0 -52
  524. package/dist/cjs/sdk/sdk-gov-legacy/tokens/normal.js +0 -562
  525. package/dist/cjs/sdk/sdk-gov-legacy/tokens/stakingRewards.js +0 -45
  526. package/dist/cjs/sdk/sdk-gov-legacy/tokens/token.js +0 -1002
  527. package/dist/cjs/sdk/sdk-gov-legacy/tokens/tokenData.js +0 -80
  528. package/dist/cjs/sdk/sdk-gov-legacy/tokens/tokenType.js +0 -50
  529. package/dist/cjs/sdk/sdk-gov-legacy/tokens/wrapped.js +0 -16
  530. package/dist/cjs/sdk/sdk-gov-legacy/tokens/yearn.js +0 -95
  531. package/dist/cjs/sdk/sdk-gov-legacy/tokens/zircuit.js +0 -16
  532. package/dist/cjs/sdk/sdk-legacy/core/assets.js +0 -150
  533. package/dist/cjs/sdk/sdk-legacy/core/creditAccount.js +0 -510
  534. package/dist/cjs/sdk/sdk-legacy/core/creditAccount.spec.js +0 -1802
  535. package/dist/cjs/sdk/sdk-legacy/core/creditManager.js +0 -263
  536. package/dist/cjs/sdk/sdk-legacy/core/creditSession.js +0 -256
  537. package/dist/cjs/sdk/sdk-legacy/core/endpoint.js +0 -137
  538. package/dist/cjs/sdk/sdk-legacy/core/eventOrTx.js +0 -87
  539. package/dist/cjs/sdk/sdk-legacy/core/pool.js +0 -334
  540. package/dist/cjs/sdk/sdk-legacy/core/transactions.js +0 -783
  541. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/api.js +0 -366
  542. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/apy.js +0 -176
  543. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/extraAPY.js +0 -137
  544. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/index.js +0 -26
  545. package/dist/cjs/sdk/sdk-legacy/index.js +0 -52
  546. package/dist/cjs/sdk/sdk-legacy/payload/creditAccount.js +0 -16
  547. package/dist/cjs/sdk/sdk-legacy/payload/creditManager.js +0 -16
  548. package/dist/cjs/sdk/sdk-legacy/payload/creditSession.js +0 -16
  549. package/dist/cjs/sdk/sdk-legacy/payload/graphPayload.js +0 -16
  550. package/dist/cjs/sdk/sdk-legacy/payload/pool.js +0 -16
  551. package/dist/cjs/sdk/sdk-legacy/tokens/tokenData.js +0 -92
  552. package/dist/cjs/sdk/sdk-legacy/utils/formatter.js +0 -79
  553. package/dist/cjs/sdk/sdk-legacy/utils/price.js +0 -35
  554. package/dist/esm/abi/iDegenDistributorV300.js +0 -76
  555. package/dist/esm/abi/routerV300.js +0 -381
  556. package/dist/esm/abi/v300.js +0 -4154
  557. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -27
  558. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -34
  559. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -25
  560. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -32
  561. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -22
  562. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +0 -22
  563. package/dist/esm/plugins/adapters/contracts/types.js +0 -48
  564. package/dist/esm/plugins/bots/abi/iPartialLiquidationBotV300.js +0 -140
  565. package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +0 -171
  566. package/dist/esm/sdk/accountMigration/MigrateCreditAccountsServiceV300.js +0 -6
  567. package/dist/esm/sdk/accountMigration/MigrateCreditAccountsServiceV310.js +0 -6
  568. package/dist/esm/sdk/accountMigration/createMigrateCreditAccountsService.js +0 -17
  569. package/dist/esm/sdk/accountMigration/index.js +0 -3
  570. package/dist/esm/sdk/accounts/CreditAccountsServiceV300.js +0 -442
  571. package/dist/esm/sdk/core/BotListV3Contract.js +0 -77
  572. package/dist/esm/sdk/core/GearStakingV3Contract.js +0 -59
  573. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +0 -82
  574. package/dist/esm/sdk/core/address-provider/index.js +0 -4
  575. package/dist/esm/sdk/gauges/GaugeStakingService.js +0 -94
  576. package/dist/esm/sdk/gauges/index.js +0 -2
  577. package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +0 -115
  578. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +0 -143
  579. package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +0 -90
  580. package/dist/esm/sdk/market/oracle/PriceOracleV300Contract.js +0 -111
  581. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +0 -61
  582. package/dist/esm/sdk/market/pool/PoolV300Contract.js +0 -116
  583. package/dist/esm/sdk/plugins/V300StalenessPeriodPlugin.js +0 -107
  584. package/dist/esm/sdk/poolMigration/index.js +0 -60
  585. package/dist/esm/sdk/router/PathOptionFactory.js +0 -92
  586. package/dist/esm/sdk/router/RouterV300Contract.js +0 -374
  587. package/dist/esm/sdk/sdk-gov-legacy/contracts/adapters.js +0 -43
  588. package/dist/esm/sdk/sdk-gov-legacy/contracts/contracts.js +0 -2538
  589. package/dist/esm/sdk/sdk-gov-legacy/contracts/index.js +0 -2
  590. package/dist/esm/sdk/sdk-gov-legacy/contracts/protocols.js +0 -34
  591. package/dist/esm/sdk/sdk-gov-legacy/index.js +0 -3
  592. package/dist/esm/sdk/sdk-gov-legacy/oracles/PriceFeedType.js +0 -28
  593. package/dist/esm/sdk/sdk-gov-legacy/oracles/index.js +0 -1
  594. package/dist/esm/sdk/sdk-gov-legacy/tokens/aura.js +0 -213
  595. package/dist/esm/sdk/sdk-gov-legacy/tokens/balancer.js +0 -314
  596. package/dist/esm/sdk/sdk-gov-legacy/tokens/convex.js +0 -424
  597. package/dist/esm/sdk/sdk-gov-legacy/tokens/curveLP.js +0 -369
  598. package/dist/esm/sdk/sdk-gov-legacy/tokens/gear.js +0 -0
  599. package/dist/esm/sdk/sdk-gov-legacy/tokens/index.js +0 -16
  600. package/dist/esm/sdk/sdk-gov-legacy/tokens/normal.js +0 -538
  601. package/dist/esm/sdk/sdk-gov-legacy/tokens/stakingRewards.js +0 -20
  602. package/dist/esm/sdk/sdk-gov-legacy/tokens/token.js +0 -975
  603. package/dist/esm/sdk/sdk-gov-legacy/tokens/tokenData.js +0 -55
  604. package/dist/esm/sdk/sdk-gov-legacy/tokens/tokenType.js +0 -26
  605. package/dist/esm/sdk/sdk-gov-legacy/tokens/wrapped.js +0 -0
  606. package/dist/esm/sdk/sdk-gov-legacy/tokens/yearn.js +0 -71
  607. package/dist/esm/sdk/sdk-gov-legacy/tokens/zircuit.js +0 -0
  608. package/dist/esm/sdk/sdk-legacy/core/creditAccount.js +0 -495
  609. package/dist/esm/sdk/sdk-legacy/core/creditAccount.spec.js +0 -1805
  610. package/dist/esm/sdk/sdk-legacy/core/creditManager.js +0 -242
  611. package/dist/esm/sdk/sdk-legacy/core/creditSession.js +0 -228
  612. package/dist/esm/sdk/sdk-legacy/core/endpoint.js +0 -107
  613. package/dist/esm/sdk/sdk-legacy/core/eventOrTx.js +0 -63
  614. package/dist/esm/sdk/sdk-legacy/core/pool.js +0 -311
  615. package/dist/esm/sdk/sdk-legacy/core/transactions.js +0 -732
  616. package/dist/esm/sdk/sdk-legacy/gearboxRewards/api.js +0 -332
  617. package/dist/esm/sdk/sdk-legacy/gearboxRewards/apy.js +0 -158
  618. package/dist/esm/sdk/sdk-legacy/gearboxRewards/extraAPY.js +0 -102
  619. package/dist/esm/sdk/sdk-legacy/gearboxRewards/index.js +0 -3
  620. package/dist/esm/sdk/sdk-legacy/gearboxRewards/merklAPI.js +0 -6
  621. package/dist/esm/sdk/sdk-legacy/index.js +0 -16
  622. package/dist/esm/sdk/sdk-legacy/payload/creditAccount.js +0 -0
  623. package/dist/esm/sdk/sdk-legacy/payload/creditManager.js +0 -0
  624. package/dist/esm/sdk/sdk-legacy/payload/creditSession.js +0 -0
  625. package/dist/esm/sdk/sdk-legacy/payload/graphPayload.js +0 -0
  626. package/dist/esm/sdk/sdk-legacy/payload/pool.js +0 -0
  627. package/dist/esm/sdk/sdk-legacy/tokens/tokenData.js +0 -68
  628. package/dist/esm/sdk/sdk-legacy/utils/formatter.js +0 -39
  629. package/dist/esm/sdk/sdk-legacy/utils/index.js +0 -3
  630. package/dist/esm/sdk/sdk-legacy/utils/math.js +0 -9
  631. package/dist/esm/sdk/sdk-legacy/utils/price.js +0 -11
  632. package/dist/types/abi/iDegenDistributorV300.d.ts +0 -87
  633. package/dist/types/abi/routerV300.d.ts +0 -585
  634. package/dist/types/abi/v300.d.ts +0 -5484
  635. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +0 -482
  636. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +0 -225
  637. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +0 -198
  638. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +0 -396
  639. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +0 -203
  640. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +0 -185
  641. package/dist/types/plugins/adapters/contracts/types.d.ts +0 -34
  642. package/dist/types/plugins/bots/abi/iPartialLiquidationBotV300.d.ts +0 -210
  643. package/dist/types/sdk/accountMigration/AbstractMigrateCreditAccountsService.d.ts +0 -32
  644. package/dist/types/sdk/accountMigration/MigrateCreditAccountsServiceV300.d.ts +0 -4
  645. package/dist/types/sdk/accountMigration/MigrateCreditAccountsServiceV310.d.ts +0 -4
  646. package/dist/types/sdk/accountMigration/createMigrateCreditAccountsService.d.ts +0 -8
  647. package/dist/types/sdk/accountMigration/index.d.ts +0 -3
  648. package/dist/types/sdk/accountMigration/types.d.ts +0 -62
  649. package/dist/types/sdk/accounts/CreditAccountsServiceV300.d.ts +0 -32
  650. package/dist/types/sdk/core/GearStakingV3Contract.d.ts +0 -520
  651. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +0 -97
  652. package/dist/types/sdk/core/address-provider/index.d.ts +0 -4
  653. package/dist/types/sdk/gauges/GaugeStakingService.d.ts +0 -14
  654. package/dist/types/sdk/gauges/index.d.ts +0 -2
  655. package/dist/types/sdk/gauges/utils.d.ts +0 -22
  656. package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +0 -648
  657. package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +0 -1043
  658. package/dist/types/sdk/market/oracle/PriceOracleV300Contract.d.ts +0 -369
  659. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +0 -1107
  660. package/dist/types/sdk/plugins/V300StalenessPeriodPlugin.d.ts +0 -29
  661. package/dist/types/sdk/poolMigration/index.d.ts +0 -11
  662. package/dist/types/sdk/router/PathOptionFactory.d.ts +0 -9
  663. package/dist/types/sdk/router/RouterV300Contract.d.ts +0 -39
  664. package/dist/types/sdk/sdk-gov-legacy/contracts/adapters.d.ts +0 -39
  665. package/dist/types/sdk/sdk-gov-legacy/contracts/contracts.d.ts +0 -194
  666. package/dist/types/sdk/sdk-gov-legacy/contracts/index.d.ts +0 -2
  667. package/dist/types/sdk/sdk-gov-legacy/contracts/protocols.d.ts +0 -30
  668. package/dist/types/sdk/sdk-gov-legacy/index.d.ts +0 -3
  669. package/dist/types/sdk/sdk-gov-legacy/oracles/PriceFeedType.d.ts +0 -24
  670. package/dist/types/sdk/sdk-gov-legacy/oracles/index.d.ts +0 -1
  671. package/dist/types/sdk/sdk-gov-legacy/tokens/aave.d.ts +0 -2
  672. package/dist/types/sdk/sdk-gov-legacy/tokens/aura.d.ts +0 -26
  673. package/dist/types/sdk/sdk-gov-legacy/tokens/balancer.d.ts +0 -15
  674. package/dist/types/sdk/sdk-gov-legacy/tokens/compound.d.ts +0 -1
  675. package/dist/types/sdk/sdk-gov-legacy/tokens/convex.d.ts +0 -31
  676. package/dist/types/sdk/sdk-gov-legacy/tokens/curveLP.d.ts +0 -25
  677. package/dist/types/sdk/sdk-gov-legacy/tokens/erc4626.d.ts +0 -1
  678. package/dist/types/sdk/sdk-gov-legacy/tokens/gear.d.ts +0 -5
  679. package/dist/types/sdk/sdk-gov-legacy/tokens/index.d.ts +0 -16
  680. package/dist/types/sdk/sdk-gov-legacy/tokens/normal.d.ts +0 -9
  681. package/dist/types/sdk/sdk-gov-legacy/tokens/stakingRewards.d.ts +0 -13
  682. package/dist/types/sdk/sdk-gov-legacy/tokens/token.d.ts +0 -34
  683. package/dist/types/sdk/sdk-gov-legacy/tokens/tokenData.d.ts +0 -5
  684. package/dist/types/sdk/sdk-gov-legacy/tokens/tokenType.d.ts +0 -24
  685. package/dist/types/sdk/sdk-gov-legacy/tokens/wrapped.d.ts +0 -7
  686. package/dist/types/sdk/sdk-gov-legacy/tokens/yearn.d.ts +0 -26
  687. package/dist/types/sdk/sdk-gov-legacy/tokens/zircuit.d.ts +0 -1
  688. package/dist/types/sdk/sdk-legacy/core/assets.d.ts +0 -39
  689. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +0 -152
  690. package/dist/types/sdk/sdk-legacy/core/creditAccount.spec.d.ts +0 -1
  691. package/dist/types/sdk/sdk-legacy/core/creditManager.d.ts +0 -92
  692. package/dist/types/sdk/sdk-legacy/core/creditSession.d.ts +0 -110
  693. package/dist/types/sdk/sdk-legacy/core/endpoint.d.ts +0 -24
  694. package/dist/types/sdk/sdk-legacy/core/eventOrTx.d.ts +0 -35
  695. package/dist/types/sdk/sdk-legacy/core/pool.d.ts +0 -144
  696. package/dist/types/sdk/sdk-legacy/core/transactions.d.ts +0 -348
  697. package/dist/types/sdk/sdk-legacy/gearboxRewards/api.d.ts +0 -87
  698. package/dist/types/sdk/sdk-legacy/gearboxRewards/apy.d.ts +0 -46
  699. package/dist/types/sdk/sdk-legacy/gearboxRewards/extraAPY.d.ts +0 -41
  700. package/dist/types/sdk/sdk-legacy/gearboxRewards/index.d.ts +0 -3
  701. package/dist/types/sdk/sdk-legacy/gearboxRewards/merklAPI.d.ts +0 -42
  702. package/dist/types/sdk/sdk-legacy/index.d.ts +0 -16
  703. package/dist/types/sdk/sdk-legacy/payload/creditAccount.d.ts +0 -47
  704. package/dist/types/sdk/sdk-legacy/payload/creditManager.d.ts +0 -109
  705. package/dist/types/sdk/sdk-legacy/payload/creditSession.d.ts +0 -111
  706. package/dist/types/sdk/sdk-legacy/payload/graphPayload.d.ts +0 -10
  707. package/dist/types/sdk/sdk-legacy/payload/pool.d.ts +0 -181
  708. package/dist/types/sdk/sdk-legacy/tokens/tokenData.d.ts +0 -21
  709. package/dist/types/sdk/sdk-legacy/utils/formatter.d.ts +0 -8
  710. package/dist/types/sdk/sdk-legacy/utils/index.d.ts +0 -3
  711. package/dist/types/sdk/sdk-legacy/utils/math.d.ts +0 -6
  712. package/dist/types/sdk/sdk-legacy/utils/price.d.ts +0 -9
  713. /package/dist/cjs/{sdk/accountMigration → common-utils/utils/creditAccount}/types.js +0 -0
  714. /package/dist/cjs/{sdk/core/address-provider → history}/types.js +0 -0
  715. /package/dist/esm/{sdk/accountMigration → common-utils/utils/creditAccount}/types.js +0 -0
  716. /package/dist/esm/{sdk/core/address-provider/types.js → history/inner-operations.js} +0 -0
  717. /package/dist/esm/{sdk/gauges/utils.js → history/internal-types.js} +0 -0
  718. /package/dist/esm/{sdk/sdk-gov-legacy/tokens/aave.js → history/types.js} +0 -0
  719. /package/dist/esm/{sdk/sdk-gov-legacy/tokens/compound.js → plugins/adapters/legacyAdapterOperations.js} +0 -0
  720. /package/dist/esm/sdk/{sdk-gov-legacy/tokens/erc4626.js → core/types.js} +0 -0
  721. /package/dist/esm/sdk/market/adapters/{factory.js → createAdapter.js} +0 -0
  722. /package/dist/types/sdk/market/adapters/{factory.d.ts → createAdapter.d.ts} +0 -0
@@ -0,0 +1,60 @@
1
+ const iPriceFeedAbi = [
2
+ {
3
+ type: "function",
4
+ name: "contractType",
5
+ inputs: [],
6
+ outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
7
+ stateMutability: "view"
8
+ },
9
+ {
10
+ type: "function",
11
+ name: "decimals",
12
+ inputs: [],
13
+ outputs: [{ name: "", type: "uint8", internalType: "uint8" }],
14
+ stateMutability: "view"
15
+ },
16
+ {
17
+ type: "function",
18
+ name: "description",
19
+ inputs: [],
20
+ outputs: [{ name: "", type: "string", internalType: "string" }],
21
+ stateMutability: "view"
22
+ },
23
+ {
24
+ type: "function",
25
+ name: "latestRoundData",
26
+ inputs: [],
27
+ outputs: [
28
+ { name: "", type: "uint80", internalType: "uint80" },
29
+ { name: "answer", type: "int256", internalType: "int256" },
30
+ { name: "", type: "uint256", internalType: "uint256" },
31
+ { name: "updatedAt", type: "uint256", internalType: "uint256" },
32
+ { name: "", type: "uint80", internalType: "uint80" }
33
+ ],
34
+ stateMutability: "view"
35
+ },
36
+ {
37
+ type: "function",
38
+ name: "serialize",
39
+ inputs: [],
40
+ outputs: [{ name: "serializedData", type: "bytes", internalType: "bytes" }],
41
+ stateMutability: "view"
42
+ },
43
+ {
44
+ type: "function",
45
+ name: "skipPriceCheck",
46
+ inputs: [],
47
+ outputs: [{ name: "", type: "bool", internalType: "bool" }],
48
+ stateMutability: "view"
49
+ },
50
+ {
51
+ type: "function",
52
+ name: "version",
53
+ inputs: [],
54
+ outputs: [{ name: "", type: "uint256", internalType: "uint256" }],
55
+ stateMutability: "view"
56
+ }
57
+ ];
58
+ export {
59
+ iPriceFeedAbi
60
+ };
@@ -0,0 +1 @@
1
+ export * from "./utils/index.js";
@@ -0,0 +1 @@
1
+ {"type": "module","sideEffects":false}
@@ -1,7 +1,22 @@
1
- import { BigIntMath } from "../utils/math.js";
2
- import { PriceUtils } from "../utils/price.js";
3
- import { CreditAccountData_Legacy } from "./creditAccount.js";
1
+ import { BigIntMath } from "./bigintMath.js";
2
+ import { sortBalances } from "./creditAccount/sort.js";
3
+ import { PriceUtils } from "./priceMath.js";
4
4
  class AssetUtils {
5
+ constructor() {
6
+ }
7
+ /**
8
+ * Selects the next candidate token to add to a selected-asset list.
9
+ *
10
+ * Flow:
11
+ * 1) Removes tokens already present in `selectedAssets`
12
+ * 2) Builds balances for the remaining allowed tokens
13
+ * 3) Sorts the balances using `CreditAccountDataUtils.sortBalances`
14
+ * 4) Returns the highest-priority token address, if any
15
+ *
16
+ * Addresses are normalized to lowercase for matching.
17
+ *
18
+ * @returns The next token address to select, or `undefined` if no candidates remain.
19
+ */
5
20
  static nextAsset({
6
21
  allowedTokens,
7
22
  selectedAssets,
@@ -20,7 +35,7 @@ class AssetUtils {
20
35
  const alreadySelected = selectedRecord[allowedToken.toLowerCase()];
21
36
  return !alreadySelected;
22
37
  });
23
- const sorted = CreditAccountData_Legacy.sortBalances(
38
+ const sorted = sortBalances(
24
39
  AssetUtils.getBalances(notSelected, balances),
25
40
  prices,
26
41
  tokensList
@@ -28,15 +43,30 @@ class AssetUtils {
28
43
  const [address] = sorted[0] || [];
29
44
  return address;
30
45
  }
46
+ /**
47
+ * Builds a normalized balance record for a specific token subset.
48
+ *
49
+ * Missing balances are defaulted to `0n`.
50
+ *
51
+ * @param allowedTokens Tokens to include in the output record.
52
+ * @param externalBalances Source balances keyed by lowercase address.
53
+ * @returns A record that contains only `allowedTokens`.
54
+ */
31
55
  static getBalances(allowedTokens, externalBalances) {
32
56
  return allowedTokens.reduce((acc, address) => {
33
57
  const addressLc = address.toLowerCase();
34
- return {
35
- ...acc,
36
- [addressLc]: externalBalances[addressLc] || 0n
37
- };
58
+ acc[addressLc] = externalBalances[addressLc] || 0n;
59
+ return acc;
38
60
  }, {});
39
61
  }
62
+ /**
63
+ * Converts an asset array into a token-address keyed record.
64
+ *
65
+ * If duplicate token addresses are present, the last occurrence wins.
66
+ *
67
+ * @param a Source asset list.
68
+ * @returns Record keyed by `asset.token`.
69
+ */
40
70
  static constructAssetRecord(a) {
41
71
  const record = a.reduce((acc, asset) => {
42
72
  acc[asset.token] = asset;
@@ -44,6 +74,18 @@ class AssetUtils {
44
74
  }, {});
45
75
  return record;
46
76
  }
77
+ /**
78
+ * Creates a reusable wrapper function that merges "unwrapped" and "wrapped"
79
+ * token balances into the wrapped token representation.
80
+ *
81
+ * The returned function:
82
+ * - converts non-negative unwrapped balance into wrapped units by price
83
+ * - adds the converted amount to the wrapped token balance
84
+ * - removes the unwrapped token from the result list
85
+ * - leaves input untouched when no unwrapped token is present
86
+ *
87
+ * @returns A function producing `[assets, convertedUnwrapped, originalWrapped]`.
88
+ */
47
89
  static memoWrap = (unwrappedAddress, wrappedAddress, prices, tokensList) => function wrap(assets) {
48
90
  const assetsRecord = AssetUtils.constructAssetRecord(assets);
49
91
  const unwrapped = assetsRecord[unwrappedAddress];
@@ -76,8 +118,16 @@ class AssetUtils {
76
118
  return [Object.values(assetsRecord), 0n, wrappedAmount];
77
119
  };
78
120
  /**
79
- * Sums the the second assets list into the first assets list
80
- * Balances cant be negative; creates new assets.
121
+ * Adds balances from the second asset list into the first list.
122
+ *
123
+ * Behavior:
124
+ * - balances are clamped to non-negative before summation
125
+ * - tokens found only in `b` are created in the output
126
+ * - existing asset metadata is preserved from `a` when possible
127
+ *
128
+ * @param a Base asset list.
129
+ * @param b Asset deltas to add.
130
+ * @returns A merged list containing assets from both inputs.
81
131
  */
82
132
  static sumAssets(a, b) {
83
133
  const aRecord = AssetUtils.constructAssetRecord(a);
@@ -95,8 +145,16 @@ class AssetUtils {
95
145
  return Object.values(resRecord);
96
146
  }
97
147
  /**
98
- * Sums the the second assets list into the first assets list
99
- * Balances cant be negative; doesn't create new assets.
148
+ * Adds balances from the second list to matching assets in the first list.
149
+ *
150
+ * Behavior:
151
+ * - balances are clamped to non-negative before summation
152
+ * - only assets already present in `a` are returned
153
+ * - no new token entries are created
154
+ *
155
+ * @param a Base asset list.
156
+ * @param b Asset deltas keyed by token.
157
+ * @returns Updated version of `a` with adjusted balances.
100
158
  */
101
159
  static addBalances(a, b) {
102
160
  const bRecord = AssetUtils.constructAssetRecord(b);
@@ -108,8 +166,16 @@ class AssetUtils {
108
166
  });
109
167
  }
110
168
  /**
111
- * Subtracts the the second assets list from the first assets list
112
- * Balances cant be negative; doesn't create new assets.
169
+ * Subtracts balances in the second list from matching assets in the first list.
170
+ *
171
+ * Behavior:
172
+ * - both operands are clamped to non-negative before subtraction
173
+ * - output balances are clamped to non-negative after subtraction
174
+ * - only assets already present in `a` are returned
175
+ *
176
+ * @param a Base asset list.
177
+ * @param b Asset amounts to subtract by token.
178
+ * @returns Updated `a` list with non-negative post-subtraction balances.
113
179
  */
114
180
  static subAssets(a, b) {
115
181
  const bRecord = AssetUtils.constructAssetRecord(b);
@@ -0,0 +1,41 @@
1
+ class BigIntMath {
2
+ constructor() {
3
+ }
4
+ /**
5
+ * Returns the absolute (non-negative) value of a bigint.
6
+ *
7
+ * @param x Input value.
8
+ * @returns `x` when `x` is already non-negative, otherwise `-x`.
9
+ */
10
+ static abs = (x) => x < 0n ? -x : x;
11
+ /**
12
+ * Returns the greater of two bigint values.
13
+ *
14
+ * @param a First candidate value.
15
+ * @param b Second candidate value.
16
+ * @returns The larger value between `a` and `b`.
17
+ */
18
+ static max = (a, b) => a > b ? a : b;
19
+ /**
20
+ * Returns the smaller of two bigint values.
21
+ *
22
+ * @param a First candidate value.
23
+ * @param b Second candidate value.
24
+ * @returns The smaller value between `a` and `b`.
25
+ */
26
+ static min = (a, b) => a < b ? a : b;
27
+ /**
28
+ * Returns the negative form of a bigint if it is currently positive.
29
+ *
30
+ * Useful when a value should be represented as an outflow/debit:
31
+ * - positive values become negative
32
+ * - zero and negative values are returned unchanged
33
+ *
34
+ * @param a Input value.
35
+ * @returns A non-positive bigint representation of `a`.
36
+ */
37
+ static neg = (a) => a > 0 ? a * -1n : a;
38
+ }
39
+ export {
40
+ BigIntMath
41
+ };
@@ -0,0 +1,55 @@
1
+ import {
2
+ PERCENTAGE_FACTOR,
3
+ PRICE_DECIMALS
4
+ } from "../../../sdk/index.js";
5
+ import { BigIntMath } from "../bigintMath.js";
6
+ import { PriceUtils } from "../priceMath.js";
7
+ const MAX_UINT16 = 65535;
8
+ function calcHealthFactor({
9
+ assets,
10
+ quotas,
11
+ quotasInfo,
12
+ liquidationThresholds,
13
+ underlyingToken,
14
+ debt,
15
+ prices,
16
+ tokensList
17
+ }) {
18
+ if (debt === 0n) return MAX_UINT16;
19
+ const underlyingDecimals = tokensList[underlyingToken]?.decimals || 18;
20
+ const underlyingPrice = prices[underlyingToken] || 0n;
21
+ const assetMoney = assets.reduce(
22
+ (acc, { token: tokenAddress, balance: amount }) => {
23
+ const tokenDecimals = tokensList[tokenAddress]?.decimals || 18;
24
+ const lt = liquidationThresholds[tokenAddress] || 0n;
25
+ const price = prices[tokenAddress] || 0n;
26
+ const tokenMoney = PriceUtils.calcTotalPrice(
27
+ price,
28
+ amount,
29
+ tokenDecimals
30
+ );
31
+ const tokenLtMoney = tokenMoney * lt / PERCENTAGE_FACTOR;
32
+ const { isActive = false } = quotasInfo?.[tokenAddress] || {};
33
+ const quota = quotas[tokenAddress];
34
+ const quotaBalance = isActive ? quota?.balance || 0n : 0n;
35
+ const quotaMoney = PriceUtils.calcTotalPrice(
36
+ underlyingPrice,
37
+ quotaBalance,
38
+ underlyingDecimals
39
+ );
40
+ const money = quota ? BigIntMath.min(quotaMoney, tokenLtMoney) : tokenLtMoney;
41
+ return acc + money;
42
+ },
43
+ 0n
44
+ );
45
+ const borrowedMoney = PriceUtils.calcTotalPrice(
46
+ underlyingPrice || PRICE_DECIMALS,
47
+ debt,
48
+ underlyingDecimals
49
+ );
50
+ const hfInPercent = borrowedMoney > 0n ? assetMoney * PERCENTAGE_FACTOR / borrowedMoney : 0n;
51
+ return Number(hfInPercent);
52
+ }
53
+ export {
54
+ calcHealthFactor
55
+ };
@@ -0,0 +1,60 @@
1
+ import {
2
+ PERCENTAGE_FACTOR,
3
+ PRICE_DECIMALS
4
+ } from "../../../sdk/index.js";
5
+ import { PriceUtils } from "../priceMath.js";
6
+ function calcOverallAPY({
7
+ caAssets,
8
+ lpAPY,
9
+ prices,
10
+ quotas,
11
+ quotaRates,
12
+ feeInterest,
13
+ totalValue,
14
+ debt,
15
+ baseRateWithFee,
16
+ underlyingToken,
17
+ tokensList
18
+ }) {
19
+ if (!lpAPY || !totalValue || totalValue <= 0n || !debt || totalValue <= debt)
20
+ return void 0;
21
+ const underlyingTokenDecimals = tokensList[underlyingToken]?.decimals || 18;
22
+ const underlyingPrice = prices[underlyingToken];
23
+ const assetAPYMoney = caAssets.reduce(
24
+ (acc, { token: tokenAddress, balance: amount }) => {
25
+ const apy = lpAPY[tokenAddress] || 0;
26
+ const tokenDecimals = tokensList[tokenAddress]?.decimals || 18;
27
+ const price = prices[tokenAddress] || 0n;
28
+ const money = PriceUtils.calcTotalPrice(price, amount, tokenDecimals);
29
+ const apyMoney = money * BigInt(apy);
30
+ const { rate: quotaAPY = 0n, isActive = false } = quotaRates?.[tokenAddress] || {};
31
+ const { balance: quotaBalance = 0n } = quotas[tokenAddress] || {};
32
+ const quotaAmount = isActive ? quotaBalance : 0n;
33
+ const quotaMoney = PriceUtils.calcTotalPrice(
34
+ underlyingPrice || 0n,
35
+ quotaAmount,
36
+ underlyingTokenDecimals
37
+ );
38
+ const quotaRate = quotaAPY * (BigInt(feeInterest) + PERCENTAGE_FACTOR) / PERCENTAGE_FACTOR;
39
+ const quotaAPYMoney = quotaMoney * quotaRate;
40
+ return acc + apyMoney - quotaAPYMoney;
41
+ },
42
+ 0n
43
+ );
44
+ const debtMoney = PriceUtils.calcTotalPrice(
45
+ underlyingPrice || 0n,
46
+ debt,
47
+ underlyingTokenDecimals
48
+ );
49
+ const debtAPYMoney = debtMoney * BigInt(baseRateWithFee);
50
+ const yourAssetsMoney = PriceUtils.calcTotalPrice(
51
+ underlyingPrice || PRICE_DECIMALS,
52
+ totalValue - debt,
53
+ underlyingTokenDecimals
54
+ );
55
+ const apyInPercent = (assetAPYMoney - debtAPYMoney) / yourAssetsMoney;
56
+ return apyInPercent;
57
+ }
58
+ export {
59
+ calcOverallAPY
60
+ };
@@ -0,0 +1,18 @@
1
+ function calcQuotaBorrowRate({
2
+ quotas,
3
+ quotaRates
4
+ }) {
5
+ const totalRateBalance = Object.values(quotas).reduce(
6
+ (acc, { token, balance }) => {
7
+ const { rate = 0, isActive = false } = quotaRates?.[token] || {};
8
+ const quotaBalance = isActive ? balance : 0n;
9
+ const rateBalance = quotaBalance * BigInt(rate);
10
+ return acc + rateBalance;
11
+ },
12
+ 0n
13
+ );
14
+ return totalRateBalance;
15
+ }
16
+ export {
17
+ calcQuotaBorrowRate
18
+ };
@@ -0,0 +1,10 @@
1
+ function calcRelativeBaseBorrowRate({
2
+ debt,
3
+ baseRateWithFee,
4
+ assetAmountInUnderlying
5
+ }) {
6
+ return debt * BigInt(baseRateWithFee) * assetAmountInUnderlying;
7
+ }
8
+ export {
9
+ calcRelativeBaseBorrowRate
10
+ };
@@ -0,0 +1,43 @@
1
+ import {
2
+ PERCENTAGE_FACTOR,
3
+ PRICE_DECIMALS_POW,
4
+ WAD_DECIMALS_POW
5
+ } from "../../../sdk/index.js";
6
+ import { BigIntMath } from "../bigintMath.js";
7
+ import { PriceUtils } from "../priceMath.js";
8
+ function calcMaxDebtIncrease(healthFactor, debt, underlyingLT, minHf = Number(PERCENTAGE_FACTOR)) {
9
+ const result = debt * BigInt(healthFactor - minHf) / BigInt(minHf - underlyingLT);
10
+ return BigIntMath.max(0n, result);
11
+ }
12
+ function calcMaxLendingDebt({
13
+ assets,
14
+ liquidationThresholds,
15
+ underlyingToken,
16
+ prices,
17
+ tokensList,
18
+ targetHF = PERCENTAGE_FACTOR
19
+ }) {
20
+ const assetsLTMoney = assets.reduce(
21
+ (acc, { token: tokenAddress, balance: amount }) => {
22
+ const tokenDecimals = tokensList[tokenAddress]?.decimals || 18;
23
+ const lt = liquidationThresholds[tokenAddress] || 0n;
24
+ const price = prices[tokenAddress] || 0n;
25
+ const tokenMoney = PriceUtils.calcTotalPrice(
26
+ price,
27
+ amount,
28
+ tokenDecimals
29
+ );
30
+ const tokenLtMoney = tokenMoney * lt;
31
+ return acc + tokenLtMoney;
32
+ },
33
+ 0n
34
+ );
35
+ const underlyingPrice = prices[underlyingToken] || 0n;
36
+ const underlyingDecimals = tokensList[underlyingToken]?.decimals || 18;
37
+ const max = underlyingPrice > 0 ? assetsLTMoney * 10n ** BigInt(underlyingDecimals) / underlyingPrice / targetHF / 10n ** BigInt(WAD_DECIMALS_POW - PRICE_DECIMALS_POW) : 0n;
38
+ return max;
39
+ }
40
+ export {
41
+ calcMaxDebtIncrease,
42
+ calcMaxLendingDebt
43
+ };
@@ -0,0 +1,18 @@
1
+ import {
2
+ PERCENTAGE_DECIMALS,
3
+ PERCENTAGE_FACTOR,
4
+ SECONDS_PER_YEAR
5
+ } from "../../../sdk/index.js";
6
+ function getTimeToLiquidation({
7
+ healthFactor,
8
+ totalBorrowRate_debt
9
+ }) {
10
+ if (healthFactor <= PERCENTAGE_FACTOR || totalBorrowRate_debt === 0n)
11
+ return null;
12
+ const HF_1 = BigInt(healthFactor) - PERCENTAGE_FACTOR;
13
+ const brPerYear = BigInt(SECONDS_PER_YEAR) * PERCENTAGE_FACTOR * PERCENTAGE_DECIMALS / totalBorrowRate_debt;
14
+ return HF_1 * brPerYear * 1000n / PERCENTAGE_FACTOR;
15
+ }
16
+ export {
17
+ getTimeToLiquidation
18
+ };
@@ -0,0 +1,10 @@
1
+ export * from "./calcHealthFactor.js";
2
+ export * from "./calcOverallAPY.js";
3
+ export * from "./calcQuotaBorrowRate.js";
4
+ export * from "./calcQuotaBorrowRate.js";
5
+ export * from "./calcRelativeBaseBorrowRate.js";
6
+ export * from "./debt.js";
7
+ export * from "./getTimeToLiquidation.js";
8
+ export * from "./liquidationPrice.js";
9
+ export * from "./quotaUtils.js";
10
+ export * from "./sort.js";
@@ -0,0 +1,23 @@
1
+ import { PERCENTAGE_FACTOR, PRICE_DECIMALS, WAD } from "../../../sdk/index.js";
2
+ function liquidationPrice({
3
+ liquidationThresholds,
4
+ debt,
5
+ underlyingToken,
6
+ targetToken,
7
+ assets,
8
+ tokensList
9
+ }) {
10
+ const underlyingDecimals = tokensList[underlyingToken]?.decimals || 18;
11
+ const { balance: underlyingBalance = 0n } = assets[underlyingToken] || {};
12
+ const ltUnderlying = liquidationThresholds[underlyingToken] || 0n;
13
+ const effectiveDebt = (debt - underlyingBalance * ltUnderlying / PERCENTAGE_FACTOR) * WAD / 10n ** BigInt(underlyingDecimals);
14
+ const targetDecimals = tokensList[targetToken]?.decimals || 18;
15
+ const { balance: targetBalance = 0n } = assets[targetToken] || {};
16
+ const effectiveTargetBalance = targetBalance * WAD / 10n ** BigInt(targetDecimals);
17
+ const lpLT = liquidationThresholds[targetToken] || 0n;
18
+ if (targetBalance <= 0n || lpLT <= 0n) return 0n;
19
+ return effectiveDebt * PRICE_DECIMALS * PERCENTAGE_FACTOR / (effectiveTargetBalance * lpLT);
20
+ }
21
+ export {
22
+ liquidationPrice
23
+ };
@@ -0,0 +1,125 @@
1
+ import {
2
+ MIN_INT96,
3
+ PERCENTAGE_FACTOR
4
+ } from "../../../sdk/index.js";
5
+ import { BigIntMath } from "../bigintMath.js";
6
+ function roundUpQuota(quotaChange) {
7
+ return quotaChange !== MIN_INT96 ? quotaChange / PERCENTAGE_FACTOR * PERCENTAGE_FACTOR : quotaChange;
8
+ }
9
+ function calcRecommendedQuota({
10
+ amount,
11
+ debt,
12
+ lt,
13
+ quotaReserve
14
+ }) {
15
+ const recommendedBaseQuota = BigIntMath.min(
16
+ debt,
17
+ amount * lt / PERCENTAGE_FACTOR
18
+ );
19
+ const recommendedQuota = recommendedBaseQuota * (PERCENTAGE_FACTOR + quotaReserve) / PERCENTAGE_FACTOR;
20
+ return roundUpQuota(recommendedQuota);
21
+ }
22
+ function calcDefaultQuota({
23
+ amount,
24
+ lt,
25
+ quotaReserve
26
+ }) {
27
+ const recommendedBaseQuota = amount * lt / PERCENTAGE_FACTOR;
28
+ const recommendedQuota = recommendedBaseQuota * (PERCENTAGE_FACTOR + quotaReserve) / PERCENTAGE_FACTOR;
29
+ return roundUpQuota(recommendedQuota);
30
+ }
31
+ function calcQuotaUpdate(props) {
32
+ const { quotas, initialQuotas, maxDebt, allowedToSpend, allowedToObtain } = props;
33
+ const quotaDecrease = Object.keys(allowedToSpend).reduce((acc, token) => {
34
+ const ch = getSingleQuotaChange(token, 0n, props);
35
+ if (ch && ch.balance < 0) acc[ch.token] = ch;
36
+ return acc;
37
+ }, {});
38
+ const quotaCap = roundUpQuota(maxDebt * 2n);
39
+ const quotaBought = Object.values(initialQuotas).reduce(
40
+ (sum, q) => sum + roundUpQuota(q?.quota || 0n),
41
+ 0n
42
+ );
43
+ const quotaReduced = Object.values(quotaDecrease).reduce((sum, q) => {
44
+ const quotaBalance = q.balance || 0n;
45
+ const safeBalance = quotaBalance === MIN_INT96 ? BigIntMath.neg(roundUpQuota(initialQuotas[q.token]?.quota || 0n)) : quotaBalance;
46
+ return sum + safeBalance;
47
+ }, 0n);
48
+ const maxQuotaIncrease = roundUpQuota(
49
+ BigIntMath.max(quotaCap - (quotaBought + quotaReduced), 0n)
50
+ );
51
+ const quotaIncrease = Object.keys(allowedToObtain).reduce((acc, token) => {
52
+ const ch = getSingleQuotaChange(token, maxQuotaIncrease, props);
53
+ if (ch && ch.balance > 0) acc[ch.token] = ch;
54
+ return acc;
55
+ }, {});
56
+ const quotaChange = {
57
+ ...quotaDecrease,
58
+ ...quotaIncrease
59
+ };
60
+ const desiredQuota = Object.values(quotas).reduce(
61
+ (acc, cmQuota) => {
62
+ const { token, isActive } = cmQuota;
63
+ const { quota: initialQuota = 0n } = initialQuotas[token] || {};
64
+ if (!isActive) {
65
+ acc[token] = {
66
+ balance: initialQuota,
67
+ token
68
+ };
69
+ } else {
70
+ const change = quotaChange[token]?.balance || 0n;
71
+ const quotaAfter = change === MIN_INT96 ? 0n : initialQuota + change;
72
+ acc[token] = {
73
+ balance: quotaAfter,
74
+ token
75
+ };
76
+ }
77
+ return acc;
78
+ },
79
+ {}
80
+ );
81
+ return {
82
+ desiredQuota,
83
+ quotaDecrease: Object.values(quotaDecrease),
84
+ quotaIncrease: Object.values(quotaIncrease)
85
+ };
86
+ }
87
+ function getSingleQuotaChange(token, unsafeMaxQuotaIncrease, props) {
88
+ const { isActive = false } = props.quotas[token] || {};
89
+ const { quota: unsafeInitialQuota = 0n } = props.initialQuotas[token] || {};
90
+ if (!isActive) {
91
+ return void 0;
92
+ }
93
+ const assetAfter = props.assetsAfterUpdate[token];
94
+ const { amountInTarget = 0n } = assetAfter || {};
95
+ const lt = props.liquidationThresholds[token] || 0n;
96
+ const maxQuotaIncrease = roundUpQuota(unsafeMaxQuotaIncrease);
97
+ const initialQuota = roundUpQuota(unsafeInitialQuota);
98
+ const defaultQuota = props.calcModification?.type === "recommendedQuota" && props.calcModification.debt > 0 ? calcRecommendedQuota({
99
+ lt,
100
+ quotaReserve: props.quotaReserve,
101
+ amount: amountInTarget,
102
+ debt: props.calcModification.debt
103
+ }) : calcDefaultQuota({
104
+ lt,
105
+ quotaReserve: props.quotaReserve,
106
+ amount: amountInTarget
107
+ });
108
+ const unsafeQuotaChange = roundUpQuota(defaultQuota - initialQuota);
109
+ const quotaChange = unsafeQuotaChange > 0 ? BigIntMath.min(maxQuotaIncrease, unsafeQuotaChange) : unsafeQuotaChange < 0 && BigIntMath.abs(unsafeQuotaChange) >= initialQuota ? MIN_INT96 : unsafeQuotaChange;
110
+ const correctIncrease = assetAfter && props.allowedToObtain[token] && quotaChange > 0;
111
+ const correctDecrease = assetAfter && props.allowedToSpend[token] && quotaChange < 0;
112
+ if (correctIncrease || correctDecrease) {
113
+ return {
114
+ balance: quotaChange,
115
+ token
116
+ };
117
+ }
118
+ return void 0;
119
+ }
120
+ export {
121
+ calcDefaultQuota,
122
+ calcQuotaUpdate,
123
+ calcRecommendedQuota,
124
+ roundUpQuota
125
+ };