@gearbox-protocol/sdk 13.0.0-next.9 → 13.0.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 (744) hide show
  1. package/dist/cjs/abi/310/iLinearInterestRateModelV310.js +92 -0
  2. package/dist/cjs/abi/errors.js +0 -145
  3. package/dist/cjs/abi/iPriceFeed.js +84 -0
  4. package/dist/cjs/{sdk/sdk-gov-legacy/oracles → common-utils}/index.js +4 -4
  5. package/dist/cjs/common-utils/package.json +1 -0
  6. package/dist/cjs/common-utils/utils/assetsMath.js +216 -0
  7. package/dist/cjs/common-utils/utils/bigintMath.js +65 -0
  8. package/dist/cjs/common-utils/utils/creditAccount/calcHealthFactor.js +76 -0
  9. package/dist/cjs/common-utils/utils/creditAccount/calcOverallAPY.js +81 -0
  10. package/dist/cjs/{sdk/accountMigration/MigrateCreditAccountsServiceV310.js → common-utils/utils/creditAccount/calcQuotaBorrowRate.js} +19 -7
  11. package/dist/cjs/{sdk/sdk-legacy/utils/math.js → common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.js} +11 -10
  12. package/dist/cjs/common-utils/utils/creditAccount/debt.js +64 -0
  13. package/dist/cjs/common-utils/utils/creditAccount/getTimeToLiquidation.js +38 -0
  14. package/dist/cjs/common-utils/utils/creditAccount/index.js +40 -0
  15. package/dist/cjs/common-utils/utils/creditAccount/liquidationPrice.js +47 -0
  16. package/dist/cjs/common-utils/utils/creditAccount/quotaUtils.js +149 -0
  17. package/dist/cjs/common-utils/utils/creditAccount/sort.js +95 -0
  18. package/dist/cjs/common-utils/utils/endpoints.js +65 -0
  19. package/dist/cjs/{sdk/sdk-legacy → common-utils}/utils/index.js +10 -6
  20. package/dist/cjs/common-utils/utils/priceMath.js +66 -0
  21. package/dist/cjs/dev/AccountOpener.js +3 -3
  22. package/dist/cjs/dev/ltUtils.js +4 -91
  23. package/dist/cjs/dev/migrateFaucet.js +25 -53
  24. package/dist/cjs/dev/providers.js +12 -0
  25. package/dist/cjs/history/assembleOperations.js +103 -0
  26. package/dist/cjs/history/classifyMulticallOperations.js +157 -0
  27. package/dist/cjs/history/errors.js +91 -0
  28. package/dist/cjs/history/extractProtocolCalls.js +53 -0
  29. package/dist/cjs/history/extractTransfers.js +168 -0
  30. package/dist/cjs/history/findFacadeCalls.js +84 -0
  31. package/dist/cjs/history/index.js +39 -0
  32. package/dist/cjs/history/inner-operations.js +16 -0
  33. package/dist/cjs/history/internal-types.js +16 -0
  34. package/dist/cjs/history/mapOperations.js +79 -0
  35. package/dist/cjs/history/package.json +1 -0
  36. package/dist/cjs/history/parseCreditAccountTransaction.js +86 -0
  37. package/dist/cjs/history/populateContractsRegister.js +68 -0
  38. package/dist/cjs/history/toLegacyOperation.js +182 -0
  39. package/dist/cjs/{plugins/adapters/contracts/YearnV2AdapterContract.js → history/trace-utils.js} +36 -21
  40. package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +3 -3
  41. package/dist/cjs/permissionless/bindings/instance-manager.js +3 -3
  42. package/dist/cjs/permissionless/utils/price-update/get-prices.js +2 -6
  43. package/dist/cjs/plugins/adapters/AdaptersPlugin.js +13 -106
  44. package/dist/cjs/plugins/adapters/abi/index.js +2 -0
  45. package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +5168 -0
  46. package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +123 -3
  47. package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
  48. package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +65 -30
  49. package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +27 -11
  50. package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +40 -21
  51. package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +100 -25
  52. package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +74 -25
  53. package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +79 -31
  54. package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +79 -31
  55. package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +84 -31
  56. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +80 -33
  57. package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +62 -26
  58. package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +92 -34
  59. package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +46 -14
  60. package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +62 -27
  61. package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +46 -14
  62. package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +34 -14
  63. package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +56 -23
  64. package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +31 -14
  65. package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +28 -12
  66. package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +35 -16
  67. package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +47 -17
  68. package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +29 -11
  69. package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +45 -14
  70. package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +42 -17
  71. package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +79 -42
  72. package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +34 -14
  73. package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +27 -11
  74. package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +44 -17
  75. package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +49 -21
  76. package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +92 -55
  77. package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +71 -37
  78. package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +55 -25
  79. package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +44 -21
  80. package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +42 -23
  81. package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +53 -27
  82. package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +42 -17
  83. package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +46 -25
  84. package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +37 -11
  85. package/dist/cjs/plugins/adapters/contracts/index.js +7 -15
  86. package/dist/cjs/plugins/adapters/createAdapter.js +125 -0
  87. package/dist/cjs/plugins/adapters/index.js +6 -0
  88. package/dist/cjs/plugins/adapters/legacyAdapterOperations.js +16 -0
  89. package/dist/cjs/plugins/adapters/transferHelpers.js +127 -0
  90. package/dist/cjs/plugins/bots/PartialLiquidationBotV310Contract.js +4 -4
  91. package/dist/cjs/plugins/bots/abi/index.js +0 -2
  92. package/dist/cjs/plugins/degen-distributors/DegenDistributorsPlugin.js +2 -1
  93. package/dist/cjs/plugins/pools-history/Pools7DAgoPlugin.js +1 -1
  94. package/dist/cjs/plugins/zappers/ZappersPlugin.js +144 -0
  95. package/dist/cjs/{sdk/market/ZapperRegister.js → plugins/zappers/extraZappers.js} +6 -110
  96. package/dist/cjs/{sdk/sdk-gov-legacy/contracts → plugins/zappers}/index.js +8 -6
  97. package/dist/cjs/plugins/zappers/package.json +1 -0
  98. package/dist/cjs/sdk/GearboxSDK.js +6 -14
  99. package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +19 -86
  100. package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +11 -12
  101. package/dist/cjs/sdk/accounts/createCreditAccountService.js +0 -4
  102. package/dist/cjs/sdk/accounts/index.js +0 -2
  103. package/dist/cjs/sdk/base/BaseContract.js +60 -6
  104. package/dist/cjs/sdk/base/ChainContractsRegister.js +33 -10
  105. package/dist/cjs/sdk/base/Construct.js +29 -15
  106. package/dist/cjs/sdk/base/PlaceholderContract.js +2 -2
  107. package/dist/cjs/sdk/base/SDKConstruct.js +1 -1
  108. package/dist/cjs/sdk/base/TokensMeta.js +32 -112
  109. package/dist/cjs/{abi/iStateSerializer.js → sdk/base/errors.js} +12 -13
  110. package/dist/cjs/sdk/base/index.js +2 -2
  111. package/dist/cjs/sdk/chain/chains.js +13 -31
  112. package/dist/cjs/sdk/constants/addresses.js +2 -88
  113. package/dist/cjs/sdk/constants/index.js +2 -0
  114. package/dist/cjs/sdk/constants/networks.js +0 -32
  115. package/dist/cjs/sdk/{base/token-types.js → constants/phantom-tokens.js} +3 -9
  116. package/dist/cjs/sdk/constants/versions.js +0 -8
  117. package/dist/cjs/sdk/core/{address-provider/AbstractAddressProviderContract.js → AbstractAddressProviderContract.js} +3 -3
  118. package/dist/cjs/sdk/core/{address-provider/AddressProviderV310Contract.js → AddressProviderV310Contract.js} +1 -1
  119. package/dist/cjs/sdk/core/{address-provider/createAddressProvider.js → createAddressProvider.js} +4 -7
  120. package/dist/cjs/sdk/core/index.js +6 -6
  121. package/dist/cjs/sdk/{gauges/utils.js → core/types.js} +2 -2
  122. package/dist/cjs/sdk/index.js +0 -10
  123. package/dist/cjs/sdk/market/MarketConfiguratorContract.js +3 -2
  124. package/dist/cjs/sdk/market/MarketRegister.js +2 -3
  125. package/dist/cjs/sdk/market/MarketSuite.js +1 -4
  126. package/dist/cjs/sdk/market/adapters/PlaceholderAdapterContracts.js +25 -4
  127. package/dist/cjs/sdk/market/adapters/{factory.js → createAdapter.js} +3 -3
  128. package/dist/cjs/sdk/market/adapters/index.js +2 -2
  129. package/dist/cjs/sdk/market/credit/CreditFacadeV310BaseContract.js +108 -0
  130. package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +3 -40
  131. package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +1 -4
  132. package/dist/cjs/sdk/market/credit/createCreditConfigurator.js +1 -4
  133. package/dist/cjs/sdk/market/credit/createCreditFacade.js +1 -4
  134. package/dist/cjs/sdk/market/credit/createCreditManager.js +1 -4
  135. package/dist/cjs/sdk/market/credit/index.js +2 -6
  136. package/dist/cjs/sdk/market/index.js +1 -3
  137. package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +9 -57
  138. package/dist/cjs/sdk/market/oracle/createPriceOracle.js +7 -38
  139. package/dist/cjs/sdk/market/oracle/index.js +0 -2
  140. package/dist/cjs/sdk/market/pool/GaugeContract.js +3 -3
  141. package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  142. package/dist/cjs/sdk/market/pool/PoolV310Contract.js +1 -1
  143. package/dist/cjs/sdk/market/pool/createPool.js +0 -4
  144. package/dist/cjs/sdk/market/pool/createPoolQuotaKeeper.js +0 -4
  145. package/dist/cjs/sdk/market/pool/index.js +0 -4
  146. package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +14 -53
  147. package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +5 -3
  148. package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +20 -0
  149. package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +19 -46
  150. package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
  151. package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -7
  152. package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +6 -6
  153. package/dist/cjs/sdk/market/pricefeeds/updates/fetchPythPayloads.js +7 -7
  154. package/dist/cjs/sdk/market/pricefeeds/updates/fetchRedstonePayloads.js +10 -10
  155. package/dist/cjs/sdk/plugins/index.js +1 -3
  156. package/dist/cjs/sdk/pools/AbstractPoolService.js +137 -0
  157. package/dist/cjs/sdk/{sdk-legacy/gearboxRewards/merklAPI.js → pools/PoolServiceV310.js} +7 -7
  158. package/dist/cjs/sdk/{accountMigration/MigrateCreditAccountsServiceV300.js → pools/createPoolService.js} +12 -7
  159. package/dist/cjs/sdk/pools/index.js +4 -2
  160. package/dist/cjs/sdk/router/AbstractRouterContract.js +0 -4
  161. package/dist/cjs/sdk/router/RouterV310Contract.js +3 -32
  162. package/dist/cjs/sdk/router/createRouter.js +0 -4
  163. package/dist/cjs/sdk/router/helpers.js +0 -5
  164. package/dist/cjs/sdk/router/index.js +0 -2
  165. package/dist/cjs/sdk/utils/abi-decode.js +43 -2
  166. package/dist/cjs/sdk/utils/formatter.js +55 -2
  167. package/dist/esm/abi/310/iLinearInterestRateModelV310.js +68 -0
  168. package/dist/esm/abi/errors.js +0 -143
  169. package/dist/esm/abi/iPriceFeed.js +60 -0
  170. package/dist/esm/common-utils/index.js +1 -0
  171. package/dist/esm/common-utils/package.json +1 -0
  172. package/dist/esm/{sdk/sdk-legacy/core/assets.js → common-utils/utils/assetsMath.js} +80 -14
  173. package/dist/esm/common-utils/utils/bigintMath.js +41 -0
  174. package/dist/esm/common-utils/utils/creditAccount/calcHealthFactor.js +55 -0
  175. package/dist/esm/common-utils/utils/creditAccount/calcOverallAPY.js +60 -0
  176. package/dist/esm/common-utils/utils/creditAccount/calcQuotaBorrowRate.js +18 -0
  177. package/dist/esm/common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.js +10 -0
  178. package/dist/esm/common-utils/utils/creditAccount/debt.js +43 -0
  179. package/dist/esm/common-utils/utils/creditAccount/getTimeToLiquidation.js +18 -0
  180. package/dist/esm/common-utils/utils/creditAccount/index.js +10 -0
  181. package/dist/esm/common-utils/utils/creditAccount/liquidationPrice.js +23 -0
  182. package/dist/esm/common-utils/utils/creditAccount/quotaUtils.js +125 -0
  183. package/dist/esm/common-utils/utils/creditAccount/sort.js +67 -0
  184. package/dist/esm/common-utils/utils/endpoints.js +41 -0
  185. package/dist/esm/common-utils/utils/index.js +5 -0
  186. package/dist/esm/common-utils/utils/priceMath.js +42 -0
  187. package/dist/esm/dev/AccountOpener.js +3 -3
  188. package/dist/esm/dev/ltUtils.js +7 -100
  189. package/dist/esm/dev/migrateFaucet.js +24 -51
  190. package/dist/esm/dev/providers.js +12 -0
  191. package/dist/esm/history/assembleOperations.js +79 -0
  192. package/dist/esm/history/classifyMulticallOperations.js +137 -0
  193. package/dist/esm/history/errors.js +62 -0
  194. package/dist/esm/history/extractProtocolCalls.js +32 -0
  195. package/dist/esm/history/extractTransfers.js +148 -0
  196. package/dist/esm/history/findFacadeCalls.js +63 -0
  197. package/dist/esm/history/index.js +9 -0
  198. package/dist/esm/history/mapOperations.js +55 -0
  199. package/dist/esm/history/package.json +1 -0
  200. package/dist/esm/history/parseCreditAccountTransaction.js +62 -0
  201. package/dist/esm/history/populateContractsRegister.js +52 -0
  202. package/dist/esm/history/toLegacyOperation.js +157 -0
  203. package/dist/esm/history/trace-utils.js +36 -0
  204. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +3 -3
  205. package/dist/esm/permissionless/bindings/instance-manager.js +3 -3
  206. package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -6
  207. package/dist/esm/plugins/adapters/AdaptersPlugin.js +14 -148
  208. package/dist/esm/plugins/adapters/abi/index.js +1 -0
  209. package/dist/esm/plugins/adapters/abi/targetContractAbi.js +5113 -0
  210. package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +133 -4
  211. package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
  212. package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +64 -30
  213. package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +27 -11
  214. package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +40 -21
  215. package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +109 -26
  216. package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +76 -25
  217. package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +81 -31
  218. package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +81 -31
  219. package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +86 -31
  220. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +82 -33
  221. package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +64 -26
  222. package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +97 -34
  223. package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +48 -14
  224. package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +64 -27
  225. package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +48 -14
  226. package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +36 -14
  227. package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +58 -23
  228. package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +37 -15
  229. package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +33 -12
  230. package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +40 -16
  231. package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +49 -17
  232. package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +31 -11
  233. package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +47 -14
  234. package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +44 -17
  235. package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +82 -43
  236. package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +36 -14
  237. package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +29 -11
  238. package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +46 -17
  239. package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +55 -22
  240. package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +91 -54
  241. package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +73 -37
  242. package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +54 -25
  243. package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +45 -22
  244. package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +43 -24
  245. package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +57 -28
  246. package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +48 -18
  247. package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +46 -25
  248. package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +39 -11
  249. package/dist/esm/plugins/adapters/contracts/index.js +3 -7
  250. package/dist/esm/plugins/adapters/createAdapter.js +140 -0
  251. package/dist/esm/plugins/adapters/index.js +3 -0
  252. package/dist/esm/plugins/adapters/transferHelpers.js +95 -0
  253. package/dist/esm/plugins/bots/PartialLiquidationBotV310Contract.js +5 -8
  254. package/dist/esm/plugins/bots/abi/index.js +0 -1
  255. package/dist/esm/plugins/degen-distributors/DegenDistributorsPlugin.js +2 -1
  256. package/dist/esm/plugins/pools-history/Pools7DAgoPlugin.js +1 -2
  257. package/dist/esm/plugins/zappers/ZappersPlugin.js +126 -0
  258. package/dist/esm/{sdk/market/ZapperRegister.js → plugins/zappers/extraZappers.js} +2 -109
  259. package/dist/esm/plugins/zappers/index.js +3 -0
  260. package/dist/esm/plugins/zappers/package.json +1 -0
  261. package/dist/esm/sdk/GearboxSDK.js +7 -23
  262. package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +23 -91
  263. package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +11 -12
  264. package/dist/esm/sdk/accounts/createCreditAccountService.js +1 -5
  265. package/dist/esm/sdk/accounts/index.js +0 -1
  266. package/dist/esm/sdk/base/BaseContract.js +62 -6
  267. package/dist/esm/sdk/base/ChainContractsRegister.js +33 -10
  268. package/dist/esm/sdk/base/Construct.js +29 -15
  269. package/dist/esm/sdk/base/PlaceholderContract.js +2 -2
  270. package/dist/esm/sdk/base/SDKConstruct.js +1 -1
  271. package/dist/esm/sdk/base/TokensMeta.js +36 -117
  272. package/dist/esm/sdk/base/errors.js +11 -0
  273. package/dist/esm/sdk/base/index.js +1 -1
  274. package/dist/esm/sdk/chain/chains.js +14 -31
  275. package/dist/esm/sdk/constants/addresses.js +1 -83
  276. package/dist/esm/sdk/constants/index.js +1 -0
  277. package/dist/esm/sdk/constants/networks.js +0 -31
  278. package/dist/esm/sdk/{base/token-types.js → constants/phantom-tokens.js} +0 -4
  279. package/dist/esm/sdk/constants/versions.js +0 -6
  280. package/dist/esm/sdk/core/{address-provider/AbstractAddressProviderContract.js → AbstractAddressProviderContract.js} +3 -3
  281. package/dist/esm/sdk/core/{address-provider/AddressProviderV310Contract.js → AddressProviderV310Contract.js} +1 -1
  282. package/dist/esm/sdk/core/{address-provider/createAddressProvider.js → createAddressProvider.js} +4 -8
  283. package/dist/esm/sdk/core/index.js +3 -3
  284. package/dist/esm/sdk/index.js +0 -5
  285. package/dist/esm/sdk/market/MarketConfiguratorContract.js +3 -2
  286. package/dist/esm/sdk/market/MarketRegister.js +2 -3
  287. package/dist/esm/sdk/market/MarketSuite.js +2 -5
  288. package/dist/esm/sdk/market/adapters/PlaceholderAdapterContracts.js +29 -5
  289. package/dist/esm/sdk/market/adapters/index.js +1 -1
  290. package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +86 -0
  291. package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +3 -43
  292. package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +1 -4
  293. package/dist/esm/sdk/market/credit/createCreditConfigurator.js +2 -5
  294. package/dist/esm/sdk/market/credit/createCreditFacade.js +2 -5
  295. package/dist/esm/sdk/market/credit/createCreditManager.js +2 -5
  296. package/dist/esm/sdk/market/credit/index.js +1 -3
  297. package/dist/esm/sdk/market/index.js +0 -1
  298. package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +10 -59
  299. package/dist/esm/sdk/market/oracle/createPriceOracle.js +7 -38
  300. package/dist/esm/sdk/market/oracle/index.js +0 -1
  301. package/dist/esm/sdk/market/pool/GaugeContract.js +3 -3
  302. package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
  303. package/dist/esm/sdk/market/pool/PoolV310Contract.js +1 -1
  304. package/dist/esm/sdk/market/pool/createPool.js +1 -5
  305. package/dist/esm/sdk/market/pool/createPoolQuotaKeeper.js +1 -5
  306. package/dist/esm/sdk/market/pool/index.js +0 -2
  307. package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +14 -53
  308. package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +5 -3
  309. package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +21 -1
  310. package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +20 -47
  311. package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
  312. package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +7 -7
  313. package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +6 -6
  314. package/dist/esm/sdk/market/pricefeeds/updates/fetchPythPayloads.js +7 -7
  315. package/dist/esm/sdk/market/pricefeeds/updates/fetchRedstonePayloads.js +10 -10
  316. package/dist/esm/sdk/plugins/index.js +0 -1
  317. package/dist/esm/sdk/pools/AbstractPoolService.js +113 -0
  318. package/dist/esm/sdk/pools/PoolServiceV310.js +6 -0
  319. package/dist/esm/sdk/pools/createPoolService.js +11 -0
  320. package/dist/esm/sdk/pools/index.js +2 -1
  321. package/dist/esm/sdk/router/AbstractRouterContract.js +0 -4
  322. package/dist/esm/sdk/router/RouterV310Contract.js +3 -32
  323. package/dist/esm/sdk/router/createRouter.js +1 -5
  324. package/dist/esm/sdk/router/helpers.js +0 -4
  325. package/dist/esm/sdk/router/index.js +0 -1
  326. package/dist/esm/sdk/utils/abi-decode.js +43 -2
  327. package/dist/esm/sdk/utils/formatter.js +37 -1
  328. package/dist/types/abi/310/iLinearInterestRateModelV310.d.ts +111 -0
  329. package/dist/types/abi/errors.d.ts +186 -996
  330. package/dist/types/abi/iPriceFeed.d.ts +87 -0
  331. package/dist/types/common-utils/index.d.ts +1 -0
  332. package/dist/types/common-utils/utils/assetsMath.d.ts +114 -0
  333. package/dist/types/common-utils/utils/bigintMath.d.ts +43 -0
  334. package/dist/types/common-utils/utils/creditAccount/calcHealthFactor.d.ts +25 -0
  335. package/dist/types/common-utils/utils/creditAccount/calcOverallAPY.d.ts +37 -0
  336. package/dist/types/common-utils/utils/creditAccount/calcQuotaBorrowRate.d.ts +18 -0
  337. package/dist/types/common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.d.ts +15 -0
  338. package/dist/types/common-utils/utils/creditAccount/debt.d.ts +35 -0
  339. package/dist/types/common-utils/utils/creditAccount/getTimeToLiquidation.d.ts +16 -0
  340. package/dist/types/common-utils/utils/creditAccount/index.d.ts +10 -0
  341. package/dist/types/common-utils/utils/creditAccount/liquidationPrice.d.ts +25 -0
  342. package/dist/types/common-utils/utils/creditAccount/quotaUtils.d.ts +81 -0
  343. package/dist/types/common-utils/utils/creditAccount/sort.d.ts +55 -0
  344. package/dist/types/common-utils/utils/creditAccount/types.d.ts +18 -0
  345. package/dist/types/common-utils/utils/endpoints.d.ts +27 -0
  346. package/dist/types/common-utils/utils/index.d.ts +5 -0
  347. package/dist/types/common-utils/utils/priceMath.d.ts +47 -0
  348. package/dist/types/dev/migrateFaucet.d.ts +4 -5
  349. package/dist/types/dev/providers.d.ts +5 -5
  350. package/dist/types/history/assembleOperations.d.ts +22 -0
  351. package/dist/types/history/classifyMulticallOperations.d.ts +35 -0
  352. package/dist/types/history/errors.d.ts +30 -0
  353. package/dist/types/history/extractProtocolCalls.d.ts +8 -0
  354. package/dist/types/history/extractTransfers.d.ts +22 -0
  355. package/dist/types/history/findFacadeCalls.d.ts +9 -0
  356. package/dist/types/history/index.d.ts +6 -0
  357. package/dist/types/history/inner-operations.d.ts +57 -0
  358. package/dist/types/history/internal-types.d.ts +47 -0
  359. package/dist/types/history/mapOperations.d.ts +27 -0
  360. package/dist/types/history/parseCreditAccountTransaction.d.ts +27 -0
  361. package/dist/types/history/populateContractsRegister.d.ts +19 -0
  362. package/dist/types/history/toLegacyOperation.d.ts +18 -0
  363. package/dist/types/history/trace-utils.d.ts +12 -0
  364. package/dist/types/history/types.d.ts +71 -0
  365. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +3 -3
  366. package/dist/types/permissionless/bindings/instance-manager.d.ts +3 -3
  367. package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
  368. package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +8262 -0
  369. package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +50 -8
  370. package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +238 -4
  371. package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +135 -8
  372. package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +45 -4
  373. package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +225 -7
  374. package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +418 -8
  375. package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +227 -10
  376. package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +1257 -10
  377. package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +1257 -10
  378. package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +1257 -10
  379. package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +575 -11
  380. package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +1244 -10
  381. package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +1227 -11
  382. package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +69 -6
  383. package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +492 -6
  384. package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +67 -6
  385. package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +132 -6
  386. package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +144 -8
  387. package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +163 -5
  388. package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +248 -6
  389. package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +367 -6
  390. package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +104 -7
  391. package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +46 -5
  392. package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +488 -6
  393. package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +20 -7
  394. package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +493 -7
  395. package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +18 -6
  396. package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +56 -5
  397. package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +52 -7
  398. package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +199 -7
  399. package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +1040 -17
  400. package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +82 -8
  401. package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +148 -10
  402. package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +758 -5
  403. package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +183 -4
  404. package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +110 -5
  405. package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +84 -7
  406. package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +122 -4
  407. package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +275 -5
  408. package/dist/types/plugins/adapters/contracts/index.d.ts +3 -7
  409. package/dist/types/plugins/adapters/createAdapter.d.ts +5 -0
  410. package/dist/types/plugins/adapters/index.d.ts +3 -0
  411. package/dist/types/plugins/adapters/legacyAdapterOperations.d.ts +200 -0
  412. package/dist/types/plugins/adapters/transferHelpers.d.ts +60 -0
  413. package/dist/types/plugins/adapters/types.d.ts +64 -2
  414. package/dist/types/plugins/bots/abi/index.d.ts +0 -1
  415. package/dist/types/plugins/zappers/ZappersPlugin.d.ts +18 -0
  416. package/dist/types/plugins/zappers/extraZappers.d.ts +6 -0
  417. package/dist/types/plugins/zappers/index.d.ts +3 -0
  418. package/dist/types/plugins/zappers/types.d.ts +12 -0
  419. package/dist/types/sdk/GearboxSDK.d.ts +0 -3
  420. package/dist/types/sdk/accounts/AbstractCreditAccountsService.d.ts +3 -13
  421. package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -1
  422. package/dist/types/sdk/accounts/createCreditAccountService.d.ts +1 -1
  423. package/dist/types/sdk/accounts/index.d.ts +0 -1
  424. package/dist/types/sdk/accounts/types.d.ts +9 -37
  425. package/dist/types/sdk/base/BaseContract.d.ts +17 -4
  426. package/dist/types/sdk/base/ChainContractsRegister.d.ts +11 -3
  427. package/dist/types/sdk/base/Construct.d.ts +13 -13
  428. package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
  429. package/dist/types/sdk/base/TokensMeta.d.ts +18 -11
  430. package/dist/types/sdk/base/errors.d.ts +3 -0
  431. package/dist/types/sdk/base/index.d.ts +1 -1
  432. package/dist/types/sdk/base/types.d.ts +37 -0
  433. package/dist/types/sdk/chain/chains.d.ts +1 -1
  434. package/dist/types/sdk/constants/addresses.d.ts +0 -19
  435. package/dist/types/sdk/constants/index.d.ts +1 -0
  436. package/dist/types/sdk/constants/networks.d.ts +0 -5
  437. package/dist/types/sdk/constants/phantom-tokens.d.ts +2 -0
  438. package/dist/types/sdk/constants/versions.d.ts +0 -2
  439. package/dist/types/sdk/core/{address-provider/AbstractAddressProviderContract.d.ts → AbstractAddressProviderContract.d.ts} +4 -4
  440. package/dist/types/sdk/core/{address-provider/AddressProviderV310Contract.d.ts → AddressProviderV310Contract.d.ts} +1 -1
  441. package/dist/types/sdk/core/{address-provider/createAddressProvider.d.ts → createAddressProvider.d.ts} +1 -1
  442. package/dist/types/sdk/core/index.d.ts +3 -3
  443. package/dist/types/sdk/core/{address-provider/types.d.ts → types.d.ts} +3 -3
  444. package/dist/types/sdk/index.d.ts +0 -5
  445. package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +1 -1
  446. package/dist/types/sdk/market/MarketRegister.d.ts +2 -3
  447. package/dist/types/sdk/market/MarketSuite.d.ts +0 -1
  448. package/dist/types/sdk/market/adapters/PlaceholderAdapterContracts.d.ts +10 -5
  449. package/dist/types/sdk/market/adapters/index.d.ts +1 -1
  450. package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +6 -2
  451. package/dist/types/sdk/market/credit/{CreditFacadeV300Contract.d.ts → CreditFacadeV310BaseContract.d.ts} +335 -267
  452. package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +6 -848
  453. package/dist/types/sdk/market/credit/index.d.ts +1 -3
  454. package/dist/types/sdk/market/credit/types.d.ts +2 -3
  455. package/dist/types/sdk/market/index.d.ts +0 -1
  456. package/dist/types/sdk/market/loss-policy/createLossPolicy.d.ts +0 -12
  457. package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +2 -21
  458. package/dist/types/sdk/market/oracle/PriceOracleV310Contract.d.ts +2 -2
  459. package/dist/types/sdk/market/oracle/createPriceOracle.d.ts +1 -15
  460. package/dist/types/sdk/market/oracle/index.d.ts +0 -1
  461. package/dist/types/sdk/market/oracle/types.d.ts +6 -18
  462. package/dist/types/sdk/market/pool/GaugeContract.d.ts +116 -76
  463. package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +20 -0
  464. package/dist/types/sdk/market/pool/index.d.ts +0 -2
  465. package/dist/types/sdk/market/pool/types.d.ts +2 -4
  466. package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +0 -3
  467. package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +21 -1
  468. package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -9
  469. package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +1 -8
  470. package/dist/types/sdk/market/pricefeeds/updates/PythUpdater.d.ts +1 -1
  471. package/dist/types/sdk/market/pricefeeds/updates/RedstoneUpdater.d.ts +1 -1
  472. package/dist/types/sdk/market/pricefeeds/updates/fetchPythPayloads.d.ts +2 -2
  473. package/dist/types/sdk/market/pricefeeds/updates/fetchRedstonePayloads.d.ts +2 -2
  474. package/dist/types/sdk/options.d.ts +2 -2
  475. package/dist/types/sdk/plugins/index.d.ts +0 -1
  476. package/dist/types/sdk/pools/AbstractPoolService.d.ts +9 -0
  477. package/dist/types/sdk/pools/PoolServiceV310.d.ts +4 -0
  478. package/dist/types/sdk/pools/createPoolService.d.ts +3 -0
  479. package/dist/types/sdk/pools/index.d.ts +2 -1
  480. package/dist/types/sdk/pools/types.d.ts +62 -64
  481. package/dist/types/sdk/router/AbstractRouterContract.d.ts +2 -7
  482. package/dist/types/sdk/router/RouterV310Contract.d.ts +1 -16
  483. package/dist/types/sdk/router/helpers.d.ts +2 -2
  484. package/dist/types/sdk/router/index.d.ts +0 -1
  485. package/dist/types/sdk/router/types.d.ts +2 -55
  486. package/dist/types/sdk/types/state-human.d.ts +1 -4
  487. package/dist/types/sdk/utils/abi-decode.d.ts +14 -1
  488. package/dist/types/sdk/utils/formatter.d.ts +9 -0
  489. package/package.json +26 -12
  490. package/dist/cjs/abi/iDegenDistributorV300.js +0 -100
  491. package/dist/cjs/abi/routerV300.js +0 -406
  492. package/dist/cjs/abi/v300.js +0 -4189
  493. package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -51
  494. package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -58
  495. package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -49
  496. package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -56
  497. package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -46
  498. package/dist/cjs/plugins/adapters/contracts/types.js +0 -77
  499. package/dist/cjs/plugins/bots/abi/iPartialLiquidationBotV300.js +0 -164
  500. package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +0 -192
  501. package/dist/cjs/sdk/accountMigration/createMigrateCreditAccountsService.js +0 -41
  502. package/dist/cjs/sdk/accountMigration/index.js +0 -26
  503. package/dist/cjs/sdk/accounts/CreditAccountsServiceV300.js +0 -454
  504. package/dist/cjs/sdk/core/BotListV3Contract.js +0 -101
  505. package/dist/cjs/sdk/core/GearStakingV3Contract.js +0 -83
  506. package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +0 -116
  507. package/dist/cjs/sdk/core/address-provider/index.js +0 -28
  508. package/dist/cjs/sdk/gauges/GaugeStakingService.js +0 -118
  509. package/dist/cjs/sdk/gauges/index.js +0 -24
  510. package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +0 -139
  511. package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +0 -160
  512. package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +0 -114
  513. package/dist/cjs/sdk/market/oracle/PriceOracleV300Contract.js +0 -129
  514. package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +0 -85
  515. package/dist/cjs/sdk/market/pool/PoolV300Contract.js +0 -135
  516. package/dist/cjs/sdk/plugins/V300StalenessPeriodPlugin.js +0 -131
  517. package/dist/cjs/sdk/poolMigration/index.js +0 -84
  518. package/dist/cjs/sdk/pools/PoolService.js +0 -260
  519. package/dist/cjs/sdk/router/PathOptionFactory.js +0 -105
  520. package/dist/cjs/sdk/router/RouterV300Contract.js +0 -390
  521. package/dist/cjs/sdk/sdk-gov-legacy/contracts/adapters.js +0 -67
  522. package/dist/cjs/sdk/sdk-gov-legacy/contracts/contracts.js +0 -2576
  523. package/dist/cjs/sdk/sdk-gov-legacy/contracts/protocols.js +0 -58
  524. package/dist/cjs/sdk/sdk-gov-legacy/index.js +0 -26
  525. package/dist/cjs/sdk/sdk-gov-legacy/oracles/PriceFeedType.js +0 -52
  526. package/dist/cjs/sdk/sdk-gov-legacy/tokens/aave.js +0 -16
  527. package/dist/cjs/sdk/sdk-gov-legacy/tokens/aura.js +0 -239
  528. package/dist/cjs/sdk/sdk-gov-legacy/tokens/balancer.js +0 -339
  529. package/dist/cjs/sdk/sdk-gov-legacy/tokens/compound.js +0 -16
  530. package/dist/cjs/sdk/sdk-gov-legacy/tokens/convex.js +0 -450
  531. package/dist/cjs/sdk/sdk-gov-legacy/tokens/curveLP.js +0 -394
  532. package/dist/cjs/sdk/sdk-gov-legacy/tokens/erc4626.js +0 -16
  533. package/dist/cjs/sdk/sdk-gov-legacy/tokens/gear.js +0 -16
  534. package/dist/cjs/sdk/sdk-gov-legacy/tokens/index.js +0 -52
  535. package/dist/cjs/sdk/sdk-gov-legacy/tokens/normal.js +0 -562
  536. package/dist/cjs/sdk/sdk-gov-legacy/tokens/stakingRewards.js +0 -45
  537. package/dist/cjs/sdk/sdk-gov-legacy/tokens/token.js +0 -1002
  538. package/dist/cjs/sdk/sdk-gov-legacy/tokens/tokenData.js +0 -80
  539. package/dist/cjs/sdk/sdk-gov-legacy/tokens/tokenType.js +0 -50
  540. package/dist/cjs/sdk/sdk-gov-legacy/tokens/wrapped.js +0 -16
  541. package/dist/cjs/sdk/sdk-gov-legacy/tokens/yearn.js +0 -95
  542. package/dist/cjs/sdk/sdk-gov-legacy/tokens/zircuit.js +0 -16
  543. package/dist/cjs/sdk/sdk-legacy/core/assets.js +0 -150
  544. package/dist/cjs/sdk/sdk-legacy/core/creditAccount.js +0 -510
  545. package/dist/cjs/sdk/sdk-legacy/core/creditAccount.spec.js +0 -1802
  546. package/dist/cjs/sdk/sdk-legacy/core/creditManager.js +0 -263
  547. package/dist/cjs/sdk/sdk-legacy/core/creditSession.js +0 -256
  548. package/dist/cjs/sdk/sdk-legacy/core/endpoint.js +0 -137
  549. package/dist/cjs/sdk/sdk-legacy/core/eventOrTx.js +0 -87
  550. package/dist/cjs/sdk/sdk-legacy/core/pool.js +0 -334
  551. package/dist/cjs/sdk/sdk-legacy/core/transactions.js +0 -783
  552. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/api.js +0 -366
  553. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/apy.js +0 -176
  554. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/extraAPY.js +0 -137
  555. package/dist/cjs/sdk/sdk-legacy/gearboxRewards/index.js +0 -26
  556. package/dist/cjs/sdk/sdk-legacy/index.js +0 -52
  557. package/dist/cjs/sdk/sdk-legacy/payload/creditAccount.js +0 -16
  558. package/dist/cjs/sdk/sdk-legacy/payload/creditManager.js +0 -16
  559. package/dist/cjs/sdk/sdk-legacy/payload/creditSession.js +0 -16
  560. package/dist/cjs/sdk/sdk-legacy/payload/graphPayload.js +0 -16
  561. package/dist/cjs/sdk/sdk-legacy/payload/pool.js +0 -16
  562. package/dist/cjs/sdk/sdk-legacy/tokens/tokenData.js +0 -92
  563. package/dist/cjs/sdk/sdk-legacy/utils/formatter.js +0 -79
  564. package/dist/cjs/sdk/sdk-legacy/utils/price.js +0 -35
  565. package/dist/esm/abi/iDegenDistributorV300.js +0 -76
  566. package/dist/esm/abi/iStateSerializer.js +0 -12
  567. package/dist/esm/abi/routerV300.js +0 -381
  568. package/dist/esm/abi/v300.js +0 -4154
  569. package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -27
  570. package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -34
  571. package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -25
  572. package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -32
  573. package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -22
  574. package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +0 -22
  575. package/dist/esm/plugins/adapters/contracts/types.js +0 -48
  576. package/dist/esm/plugins/bots/abi/iPartialLiquidationBotV300.js +0 -140
  577. package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +0 -171
  578. package/dist/esm/sdk/accountMigration/MigrateCreditAccountsServiceV300.js +0 -6
  579. package/dist/esm/sdk/accountMigration/MigrateCreditAccountsServiceV310.js +0 -6
  580. package/dist/esm/sdk/accountMigration/createMigrateCreditAccountsService.js +0 -17
  581. package/dist/esm/sdk/accountMigration/index.js +0 -3
  582. package/dist/esm/sdk/accounts/CreditAccountsServiceV300.js +0 -442
  583. package/dist/esm/sdk/core/BotListV3Contract.js +0 -77
  584. package/dist/esm/sdk/core/GearStakingV3Contract.js +0 -59
  585. package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +0 -82
  586. package/dist/esm/sdk/core/address-provider/index.js +0 -4
  587. package/dist/esm/sdk/gauges/GaugeStakingService.js +0 -94
  588. package/dist/esm/sdk/gauges/index.js +0 -2
  589. package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +0 -115
  590. package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +0 -143
  591. package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +0 -90
  592. package/dist/esm/sdk/market/oracle/PriceOracleV300Contract.js +0 -111
  593. package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +0 -61
  594. package/dist/esm/sdk/market/pool/PoolV300Contract.js +0 -116
  595. package/dist/esm/sdk/plugins/V300StalenessPeriodPlugin.js +0 -107
  596. package/dist/esm/sdk/poolMigration/index.js +0 -60
  597. package/dist/esm/sdk/pools/PoolService.js +0 -240
  598. package/dist/esm/sdk/router/PathOptionFactory.js +0 -92
  599. package/dist/esm/sdk/router/RouterV300Contract.js +0 -374
  600. package/dist/esm/sdk/sdk-gov-legacy/contracts/adapters.js +0 -43
  601. package/dist/esm/sdk/sdk-gov-legacy/contracts/contracts.js +0 -2538
  602. package/dist/esm/sdk/sdk-gov-legacy/contracts/index.js +0 -2
  603. package/dist/esm/sdk/sdk-gov-legacy/contracts/protocols.js +0 -34
  604. package/dist/esm/sdk/sdk-gov-legacy/index.js +0 -3
  605. package/dist/esm/sdk/sdk-gov-legacy/oracles/PriceFeedType.js +0 -28
  606. package/dist/esm/sdk/sdk-gov-legacy/oracles/index.js +0 -1
  607. package/dist/esm/sdk/sdk-gov-legacy/tokens/aura.js +0 -213
  608. package/dist/esm/sdk/sdk-gov-legacy/tokens/balancer.js +0 -314
  609. package/dist/esm/sdk/sdk-gov-legacy/tokens/convex.js +0 -424
  610. package/dist/esm/sdk/sdk-gov-legacy/tokens/curveLP.js +0 -369
  611. package/dist/esm/sdk/sdk-gov-legacy/tokens/gear.js +0 -0
  612. package/dist/esm/sdk/sdk-gov-legacy/tokens/index.js +0 -16
  613. package/dist/esm/sdk/sdk-gov-legacy/tokens/normal.js +0 -538
  614. package/dist/esm/sdk/sdk-gov-legacy/tokens/stakingRewards.js +0 -20
  615. package/dist/esm/sdk/sdk-gov-legacy/tokens/token.js +0 -975
  616. package/dist/esm/sdk/sdk-gov-legacy/tokens/tokenData.js +0 -55
  617. package/dist/esm/sdk/sdk-gov-legacy/tokens/tokenType.js +0 -26
  618. package/dist/esm/sdk/sdk-gov-legacy/tokens/wrapped.js +0 -0
  619. package/dist/esm/sdk/sdk-gov-legacy/tokens/yearn.js +0 -71
  620. package/dist/esm/sdk/sdk-gov-legacy/tokens/zircuit.js +0 -0
  621. package/dist/esm/sdk/sdk-legacy/core/creditAccount.js +0 -495
  622. package/dist/esm/sdk/sdk-legacy/core/creditAccount.spec.js +0 -1805
  623. package/dist/esm/sdk/sdk-legacy/core/creditManager.js +0 -242
  624. package/dist/esm/sdk/sdk-legacy/core/creditSession.js +0 -228
  625. package/dist/esm/sdk/sdk-legacy/core/endpoint.js +0 -107
  626. package/dist/esm/sdk/sdk-legacy/core/eventOrTx.js +0 -63
  627. package/dist/esm/sdk/sdk-legacy/core/pool.js +0 -311
  628. package/dist/esm/sdk/sdk-legacy/core/transactions.js +0 -732
  629. package/dist/esm/sdk/sdk-legacy/gearboxRewards/api.js +0 -332
  630. package/dist/esm/sdk/sdk-legacy/gearboxRewards/apy.js +0 -158
  631. package/dist/esm/sdk/sdk-legacy/gearboxRewards/extraAPY.js +0 -102
  632. package/dist/esm/sdk/sdk-legacy/gearboxRewards/index.js +0 -3
  633. package/dist/esm/sdk/sdk-legacy/gearboxRewards/merklAPI.js +0 -6
  634. package/dist/esm/sdk/sdk-legacy/index.js +0 -16
  635. package/dist/esm/sdk/sdk-legacy/payload/creditAccount.js +0 -0
  636. package/dist/esm/sdk/sdk-legacy/payload/creditManager.js +0 -0
  637. package/dist/esm/sdk/sdk-legacy/payload/creditSession.js +0 -0
  638. package/dist/esm/sdk/sdk-legacy/payload/graphPayload.js +0 -0
  639. package/dist/esm/sdk/sdk-legacy/payload/pool.js +0 -0
  640. package/dist/esm/sdk/sdk-legacy/tokens/tokenData.js +0 -68
  641. package/dist/esm/sdk/sdk-legacy/utils/formatter.js +0 -39
  642. package/dist/esm/sdk/sdk-legacy/utils/index.js +0 -3
  643. package/dist/esm/sdk/sdk-legacy/utils/math.js +0 -9
  644. package/dist/esm/sdk/sdk-legacy/utils/price.js +0 -11
  645. package/dist/types/abi/iDegenDistributorV300.d.ts +0 -87
  646. package/dist/types/abi/iStateSerializer.d.ts +0 -11
  647. package/dist/types/abi/routerV300.d.ts +0 -585
  648. package/dist/types/abi/v300.d.ts +0 -5484
  649. package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +0 -482
  650. package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +0 -225
  651. package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +0 -198
  652. package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +0 -396
  653. package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +0 -203
  654. package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +0 -185
  655. package/dist/types/plugins/adapters/contracts/types.d.ts +0 -34
  656. package/dist/types/plugins/bots/abi/iPartialLiquidationBotV300.d.ts +0 -210
  657. package/dist/types/sdk/accountMigration/AbstractMigrateCreditAccountsService.d.ts +0 -32
  658. package/dist/types/sdk/accountMigration/MigrateCreditAccountsServiceV300.d.ts +0 -4
  659. package/dist/types/sdk/accountMigration/MigrateCreditAccountsServiceV310.d.ts +0 -4
  660. package/dist/types/sdk/accountMigration/createMigrateCreditAccountsService.d.ts +0 -8
  661. package/dist/types/sdk/accountMigration/index.d.ts +0 -3
  662. package/dist/types/sdk/accountMigration/types.d.ts +0 -62
  663. package/dist/types/sdk/accounts/CreditAccountsServiceV300.d.ts +0 -32
  664. package/dist/types/sdk/base/token-types.d.ts +0 -25
  665. package/dist/types/sdk/core/BotListV3Contract.d.ts +0 -323
  666. package/dist/types/sdk/core/GearStakingV3Contract.d.ts +0 -520
  667. package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +0 -97
  668. package/dist/types/sdk/core/address-provider/index.d.ts +0 -4
  669. package/dist/types/sdk/gauges/GaugeStakingService.d.ts +0 -14
  670. package/dist/types/sdk/gauges/index.d.ts +0 -2
  671. package/dist/types/sdk/gauges/utils.d.ts +0 -22
  672. package/dist/types/sdk/market/ZapperRegister.d.ts +0 -17
  673. package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +0 -648
  674. package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +0 -1043
  675. package/dist/types/sdk/market/oracle/PriceOracleV300Contract.d.ts +0 -369
  676. package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +0 -448
  677. package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +0 -1107
  678. package/dist/types/sdk/market/types.d.ts +0 -10
  679. package/dist/types/sdk/plugins/V300StalenessPeriodPlugin.d.ts +0 -29
  680. package/dist/types/sdk/poolMigration/index.d.ts +0 -11
  681. package/dist/types/sdk/pools/PoolService.d.ts +0 -11
  682. package/dist/types/sdk/router/PathOptionFactory.d.ts +0 -9
  683. package/dist/types/sdk/router/RouterV300Contract.d.ts +0 -39
  684. package/dist/types/sdk/sdk-gov-legacy/contracts/adapters.d.ts +0 -39
  685. package/dist/types/sdk/sdk-gov-legacy/contracts/contracts.d.ts +0 -194
  686. package/dist/types/sdk/sdk-gov-legacy/contracts/index.d.ts +0 -2
  687. package/dist/types/sdk/sdk-gov-legacy/contracts/protocols.d.ts +0 -30
  688. package/dist/types/sdk/sdk-gov-legacy/index.d.ts +0 -3
  689. package/dist/types/sdk/sdk-gov-legacy/oracles/PriceFeedType.d.ts +0 -24
  690. package/dist/types/sdk/sdk-gov-legacy/oracles/index.d.ts +0 -1
  691. package/dist/types/sdk/sdk-gov-legacy/tokens/aave.d.ts +0 -2
  692. package/dist/types/sdk/sdk-gov-legacy/tokens/aura.d.ts +0 -26
  693. package/dist/types/sdk/sdk-gov-legacy/tokens/balancer.d.ts +0 -15
  694. package/dist/types/sdk/sdk-gov-legacy/tokens/compound.d.ts +0 -1
  695. package/dist/types/sdk/sdk-gov-legacy/tokens/convex.d.ts +0 -31
  696. package/dist/types/sdk/sdk-gov-legacy/tokens/curveLP.d.ts +0 -25
  697. package/dist/types/sdk/sdk-gov-legacy/tokens/erc4626.d.ts +0 -1
  698. package/dist/types/sdk/sdk-gov-legacy/tokens/gear.d.ts +0 -5
  699. package/dist/types/sdk/sdk-gov-legacy/tokens/index.d.ts +0 -16
  700. package/dist/types/sdk/sdk-gov-legacy/tokens/normal.d.ts +0 -9
  701. package/dist/types/sdk/sdk-gov-legacy/tokens/stakingRewards.d.ts +0 -13
  702. package/dist/types/sdk/sdk-gov-legacy/tokens/token.d.ts +0 -34
  703. package/dist/types/sdk/sdk-gov-legacy/tokens/tokenData.d.ts +0 -5
  704. package/dist/types/sdk/sdk-gov-legacy/tokens/tokenType.d.ts +0 -24
  705. package/dist/types/sdk/sdk-gov-legacy/tokens/wrapped.d.ts +0 -7
  706. package/dist/types/sdk/sdk-gov-legacy/tokens/yearn.d.ts +0 -26
  707. package/dist/types/sdk/sdk-gov-legacy/tokens/zircuit.d.ts +0 -1
  708. package/dist/types/sdk/sdk-legacy/core/assets.d.ts +0 -39
  709. package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +0 -152
  710. package/dist/types/sdk/sdk-legacy/core/creditAccount.spec.d.ts +0 -1
  711. package/dist/types/sdk/sdk-legacy/core/creditManager.d.ts +0 -92
  712. package/dist/types/sdk/sdk-legacy/core/creditSession.d.ts +0 -110
  713. package/dist/types/sdk/sdk-legacy/core/endpoint.d.ts +0 -24
  714. package/dist/types/sdk/sdk-legacy/core/eventOrTx.d.ts +0 -35
  715. package/dist/types/sdk/sdk-legacy/core/pool.d.ts +0 -144
  716. package/dist/types/sdk/sdk-legacy/core/transactions.d.ts +0 -348
  717. package/dist/types/sdk/sdk-legacy/gearboxRewards/api.d.ts +0 -87
  718. package/dist/types/sdk/sdk-legacy/gearboxRewards/apy.d.ts +0 -46
  719. package/dist/types/sdk/sdk-legacy/gearboxRewards/extraAPY.d.ts +0 -41
  720. package/dist/types/sdk/sdk-legacy/gearboxRewards/index.d.ts +0 -3
  721. package/dist/types/sdk/sdk-legacy/gearboxRewards/merklAPI.d.ts +0 -42
  722. package/dist/types/sdk/sdk-legacy/index.d.ts +0 -16
  723. package/dist/types/sdk/sdk-legacy/payload/creditAccount.d.ts +0 -47
  724. package/dist/types/sdk/sdk-legacy/payload/creditManager.d.ts +0 -109
  725. package/dist/types/sdk/sdk-legacy/payload/creditSession.d.ts +0 -111
  726. package/dist/types/sdk/sdk-legacy/payload/graphPayload.d.ts +0 -10
  727. package/dist/types/sdk/sdk-legacy/payload/pool.d.ts +0 -181
  728. package/dist/types/sdk/sdk-legacy/tokens/tokenData.d.ts +0 -21
  729. package/dist/types/sdk/sdk-legacy/utils/formatter.d.ts +0 -8
  730. package/dist/types/sdk/sdk-legacy/utils/index.d.ts +0 -3
  731. package/dist/types/sdk/sdk-legacy/utils/math.d.ts +0 -6
  732. package/dist/types/sdk/sdk-legacy/utils/price.d.ts +0 -9
  733. /package/dist/cjs/{sdk/accountMigration → common-utils/utils/creditAccount}/types.js +0 -0
  734. /package/dist/cjs/{sdk/core/address-provider → history}/types.js +0 -0
  735. /package/dist/cjs/{sdk/market → plugins/zappers}/types.js +0 -0
  736. /package/dist/esm/{sdk/accountMigration → common-utils/utils/creditAccount}/types.js +0 -0
  737. /package/dist/esm/{sdk/core/address-provider/types.js → history/inner-operations.js} +0 -0
  738. /package/dist/esm/{sdk/gauges/utils.js → history/internal-types.js} +0 -0
  739. /package/dist/esm/{sdk/market → history}/types.js +0 -0
  740. /package/dist/esm/{sdk/sdk-gov-legacy/tokens/aave.js → plugins/adapters/legacyAdapterOperations.js} +0 -0
  741. /package/dist/esm/{sdk/sdk-gov-legacy/tokens/compound.js → plugins/zappers/types.js} +0 -0
  742. /package/dist/esm/sdk/{sdk-gov-legacy/tokens/erc4626.js → core/types.js} +0 -0
  743. /package/dist/esm/sdk/market/adapters/{factory.js → createAdapter.js} +0 -0
  744. /package/dist/types/sdk/market/adapters/{factory.d.ts → createAdapter.d.ts} +0 -0
@@ -1,1802 +0,0 @@
1
- "use strict";
2
- var import_vitest = require("vitest");
3
- var import_constants = require("../../constants/index.js");
4
- var import_tokenData = require("../tokens/tokenData.js");
5
- var import_formatter = require("../utils/formatter.js");
6
- var import_price = require("../utils/price.js");
7
- var import_assets = require("./assets.js");
8
- var import_creditAccount = require("./creditAccount.js");
9
- const WETH = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2".toLowerCase();
10
- const DAI = "0x6B175474E89094C44Da98b954EedeAC495271d0F".toLowerCase();
11
- const USDC = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48".toLowerCase();
12
- const STETH = "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84".toLowerCase();
13
- const tokenDataList = {
14
- [WETH]: new import_tokenData.TokenData({
15
- addr: WETH,
16
- decimals: 18,
17
- symbol: "WETH",
18
- name: "",
19
- isPhantom: false
20
- }),
21
- [DAI]: new import_tokenData.TokenData({
22
- addr: DAI,
23
- decimals: 18,
24
- symbol: "DAI",
25
- name: "",
26
- isPhantom: false
27
- }),
28
- [USDC]: new import_tokenData.TokenData({
29
- addr: USDC,
30
- decimals: 6,
31
- symbol: "USDC",
32
- name: "",
33
- isPhantom: false
34
- }),
35
- [STETH]: new import_tokenData.TokenData({
36
- addr: STETH,
37
- decimals: 18,
38
- symbol: "STETH",
39
- name: "",
40
- isPhantom: false
41
- })
42
- };
43
- const prices = {
44
- [WETH]: (0, import_formatter.toBN)("1738.11830000", import_constants.PRICE_DECIMALS_POW),
45
- [DAI]: (0, import_formatter.toBN)("0.99941103", import_constants.PRICE_DECIMALS_POW),
46
- [USDC]: (0, import_formatter.toBN)("0.999", import_constants.PRICE_DECIMALS_POW),
47
- [STETH]: (0, import_formatter.toBN)("1703.87588096", import_constants.PRICE_DECIMALS_POW)
48
- };
49
- const lpAPY = {
50
- [STETH]: 38434
51
- };
52
- const DAI_DECIMALS = 18;
53
- const WETH_DECIMALS = 18;
54
- const STETH_DECIMALS = 18;
55
- const USDC_DECIMALS = 6;
56
- const caWithoutLP = {
57
- assets: [
58
- {
59
- balance: (0, import_formatter.toBN)("54780", DAI_DECIMALS),
60
- token: DAI
61
- },
62
- {
63
- balance: (0, import_formatter.toBN)("3.5", WETH_DECIMALS),
64
- token: WETH
65
- }
66
- ],
67
- totalValue: (0, import_formatter.toBN)("60860", DAI_DECIMALS),
68
- debt: (0, import_formatter.toBN)("54780", DAI_DECIMALS),
69
- borrowRate: 7712,
70
- underlyingToken: DAI,
71
- quotas: {
72
- [WETH]: {
73
- balance: (0, import_formatter.toBN)("173811.830000", WETH_DECIMALS),
74
- token: DAI
75
- }
76
- },
77
- rates: {
78
- [WETH]: {
79
- rate: 38434n,
80
- isActive: true
81
- }
82
- }
83
- };
84
- const caWithLP = {
85
- assets: [
86
- {
87
- balance: (0, import_formatter.toBN)("119.999999999999999997", STETH_DECIMALS),
88
- token: STETH
89
- },
90
- {
91
- balance: (0, import_formatter.toBN)("3.5", WETH_DECIMALS),
92
- token: WETH
93
- }
94
- ],
95
- totalValue: (0, import_formatter.toBN)("117.635897231615362429", WETH_DECIMALS),
96
- debt: (0, import_formatter.toBN)("90.000000000000000000", WETH_DECIMALS),
97
- borrowRate: 5736,
98
- underlyingToken: WETH,
99
- quotas: {
100
- [STETH]: {
101
- balance: (0, import_formatter.toBN)(
102
- String(1703.87588096 * 119.9999999999999 / 1738.1183),
103
- WETH_DECIMALS
104
- ),
105
- token: STETH
106
- }
107
- },
108
- rates: {
109
- [STETH]: {
110
- rate: 38434n,
111
- isActive: true
112
- }
113
- }
114
- };
115
- (0, import_vitest.describe)("CreditAccount CreditAccountData_Legacy.calcOverallAPY test", () => {
116
- (0, import_vitest.it)("overall APY calculation for caWithoutLP is correct", () => {
117
- const result = import_creditAccount.CreditAccountData_Legacy.calcOverallAPY({
118
- caAssets: caWithoutLP.assets,
119
- totalValue: caWithoutLP.totalValue,
120
- debt: caWithoutLP.debt,
121
- baseRateWithFee: caWithoutLP.borrowRate,
122
- underlyingToken: caWithoutLP.underlyingToken,
123
- quotaRates: {},
124
- quotas: {},
125
- feeInterest: 0,
126
- lpAPY,
127
- prices,
128
- tokensList: tokenDataList
129
- });
130
- (0, import_vitest.expect)(result).toEqual(-69484n);
131
- });
132
- (0, import_vitest.it)("overall APY calculation for caWithLP is correct", () => {
133
- const result = import_creditAccount.CreditAccountData_Legacy.calcOverallAPY({
134
- caAssets: caWithLP.assets,
135
- totalValue: caWithLP.totalValue,
136
- debt: caWithLP.debt,
137
- baseRateWithFee: caWithLP.borrowRate,
138
- underlyingToken: caWithLP.underlyingToken,
139
- quotaRates: {},
140
- quotas: {},
141
- feeInterest: 0,
142
- lpAPY,
143
- prices,
144
- tokensList: tokenDataList
145
- });
146
- (0, import_vitest.expect)(result).toEqual(144919n);
147
- });
148
- (0, import_vitest.it)("overall APY is undefined when !lpAPY", () => {
149
- const result = import_creditAccount.CreditAccountData_Legacy.calcOverallAPY({
150
- caAssets: caWithLP.assets,
151
- totalValue: caWithLP.totalValue,
152
- debt: caWithLP.debt,
153
- baseRateWithFee: caWithLP.borrowRate,
154
- underlyingToken: caWithLP.underlyingToken,
155
- quotaRates: {},
156
- quotas: {},
157
- feeInterest: 0,
158
- lpAPY: void 0,
159
- prices,
160
- tokensList: tokenDataList
161
- });
162
- (0, import_vitest.expect)(result).toEqual(void 0);
163
- });
164
- (0, import_vitest.it)("overall APY is undefined when !totalValue", () => {
165
- const result = import_creditAccount.CreditAccountData_Legacy.calcOverallAPY({
166
- caAssets: caWithLP.assets,
167
- totalValue: void 0,
168
- debt: caWithLP.debt,
169
- baseRateWithFee: caWithLP.borrowRate,
170
- underlyingToken: caWithLP.underlyingToken,
171
- quotaRates: {},
172
- quotas: {},
173
- feeInterest: 0,
174
- lpAPY,
175
- prices,
176
- tokensList: tokenDataList
177
- });
178
- (0, import_vitest.expect)(result).toEqual(void 0);
179
- });
180
- (0, import_vitest.it)("overall APY is undefined when !debt", () => {
181
- const result = import_creditAccount.CreditAccountData_Legacy.calcOverallAPY({
182
- caAssets: caWithLP.assets,
183
- totalValue: caWithLP.totalValue,
184
- debt: void 0,
185
- baseRateWithFee: caWithLP.borrowRate,
186
- underlyingToken: caWithLP.underlyingToken,
187
- quotaRates: {},
188
- quotas: {},
189
- feeInterest: 0,
190
- lpAPY,
191
- prices,
192
- tokensList: tokenDataList
193
- });
194
- (0, import_vitest.expect)(result).toEqual(void 0);
195
- });
196
- (0, import_vitest.it)("overall APY is undefined when totalValue lte 0", () => {
197
- const result = import_creditAccount.CreditAccountData_Legacy.calcOverallAPY({
198
- caAssets: caWithLP.assets,
199
- totalValue: 0n,
200
- debt: void 0,
201
- baseRateWithFee: caWithLP.borrowRate,
202
- underlyingToken: caWithLP.underlyingToken,
203
- quotaRates: {},
204
- quotas: {},
205
- feeInterest: 0,
206
- lpAPY,
207
- prices,
208
- tokensList: tokenDataList
209
- });
210
- (0, import_vitest.expect)(result).toEqual(void 0);
211
- });
212
- (0, import_vitest.it)("overall APY calculation for caWithLP with sufficient quota is correct", () => {
213
- const result = import_creditAccount.CreditAccountData_Legacy.calcOverallAPY({
214
- caAssets: caWithLP.assets,
215
- totalValue: caWithLP.totalValue,
216
- debt: caWithLP.debt,
217
- baseRateWithFee: caWithLP.borrowRate,
218
- underlyingToken: caWithLP.underlyingToken,
219
- quotaRates: caWithLP.rates,
220
- quotas: caWithLP.quotas,
221
- feeInterest: 0,
222
- lpAPY,
223
- prices,
224
- tokensList: tokenDataList
225
- });
226
- (0, import_vitest.expect)(result).toEqual(-18680n);
227
- });
228
- (0, import_vitest.it)("overall APY calculation for caWithLP with insufficient quota is correct", () => {
229
- const result = import_creditAccount.CreditAccountData_Legacy.calcOverallAPY({
230
- caAssets: caWithLP.assets,
231
- totalValue: caWithLP.totalValue,
232
- debt: caWithLP.debt,
233
- baseRateWithFee: caWithLP.borrowRate,
234
- underlyingToken: caWithLP.underlyingToken,
235
- quotaRates: caWithLP.rates,
236
- quotas: {
237
- [STETH]: {
238
- balance: 0n,
239
- token: STETH
240
- }
241
- },
242
- feeInterest: 0,
243
- lpAPY,
244
- prices,
245
- tokensList: tokenDataList
246
- });
247
- (0, import_vitest.expect)(result).toEqual(144919n);
248
- });
249
- });
250
- (0, import_vitest.describe)("CreditAccount calcMaxDebtIncrease test", () => {
251
- (0, import_vitest.it)("health max increase borrow is zero if hf < 1", () => {
252
- const result = import_creditAccount.CreditAccountData_Legacy.calcMaxDebtIncrease(
253
- 9999,
254
- BigInt("156522834253690396032546"),
255
- 9300
256
- );
257
- (0, import_vitest.expect)(result.toString()).toEqual("0");
258
- });
259
- (0, import_vitest.it)("health max increase borrow is calculated correctly", () => {
260
- const result = import_creditAccount.CreditAccountData_Legacy.calcMaxDebtIncrease(
261
- 10244,
262
- BigInt("156522834253690396032546"),
263
- 9300
264
- );
265
- (0, import_vitest.expect)(result.toString()).toEqual("54559387939857795188487");
266
- });
267
- (0, import_vitest.it)("health max increase borrow is calculated correctly (low hf, high debt)", () => {
268
- const loweHf = 10244;
269
- const result = import_creditAccount.CreditAccountData_Legacy.calcMaxDebtIncrease(
270
- loweHf,
271
- BigInt("54782991988791638611392"),
272
- 9300
273
- );
274
- (0, import_vitest.expect)(result.toString()).toEqual("19095785778950228315970");
275
- });
276
- });
277
- const liquidationThresholds = {
278
- [USDC]: 9800n,
279
- [DAI]: 9300n,
280
- [WETH]: 8500n,
281
- [STETH]: 8000n
282
- };
283
- (0, import_vitest.describe)("CreditAccount calcMaxLendingDebt test", () => {
284
- (0, import_vitest.it)("calcMaxLendingDebt for several collaterals with zero lt", () => {
285
- const result = import_creditAccount.CreditAccountData_Legacy.calcMaxLendingDebt({
286
- assets: [
287
- {
288
- token: DAI,
289
- balance: (0, import_formatter.toBN)("1000", DAI_DECIMALS)
290
- },
291
- {
292
- token: WETH,
293
- balance: (0, import_formatter.toBN)("1", WETH_DECIMALS)
294
- }
295
- ],
296
- liquidationThresholds: {
297
- ...liquidationThresholds,
298
- [DAI]: 0n
299
- },
300
- underlyingToken: USDC,
301
- prices: {
302
- [DAI]: 1n,
303
- [USDC]: 1n,
304
- [WETH]: 1000n
305
- },
306
- tokensList: tokenDataList
307
- });
308
- (0, import_vitest.expect)(result).toEqual((0, import_formatter.toBN)("850", USDC_DECIMALS));
309
- });
310
- (0, import_vitest.it)("calcMaxLendingDebt for several collaterals with zero underlying price", () => {
311
- const result = import_creditAccount.CreditAccountData_Legacy.calcMaxLendingDebt({
312
- assets: [
313
- {
314
- token: DAI,
315
- balance: (0, import_formatter.toBN)("1000", DAI_DECIMALS)
316
- },
317
- {
318
- token: WETH,
319
- balance: (0, import_formatter.toBN)("1", WETH_DECIMALS)
320
- }
321
- ],
322
- liquidationThresholds,
323
- underlyingToken: USDC,
324
- prices: {
325
- [DAI]: 1n,
326
- [WETH]: 1000n
327
- },
328
- tokensList: tokenDataList
329
- });
330
- (0, import_vitest.expect)(result).toEqual(0n);
331
- });
332
- (0, import_vitest.it)("calcMaxLendingDebt for simplest case", () => {
333
- const result = import_creditAccount.CreditAccountData_Legacy.calcMaxLendingDebt({
334
- assets: [
335
- {
336
- token: DAI,
337
- balance: (0, import_formatter.toBN)("1000", DAI_DECIMALS)
338
- }
339
- ],
340
- liquidationThresholds,
341
- underlyingToken: USDC,
342
- prices: {
343
- [DAI]: 1n,
344
- [USDC]: 1n
345
- },
346
- tokensList: tokenDataList
347
- });
348
- (0, import_vitest.expect)(result).toEqual((0, import_formatter.toBN)("930", USDC_DECIMALS));
349
- });
350
- (0, import_vitest.it)("calcMaxLendingDebt for several collaterals", () => {
351
- const result = import_creditAccount.CreditAccountData_Legacy.calcMaxLendingDebt({
352
- assets: [
353
- {
354
- token: DAI,
355
- balance: (0, import_formatter.toBN)("1000", DAI_DECIMALS)
356
- },
357
- {
358
- token: WETH,
359
- balance: (0, import_formatter.toBN)("1", WETH_DECIMALS)
360
- }
361
- ],
362
- liquidationThresholds,
363
- underlyingToken: USDC,
364
- prices: {
365
- [DAI]: 1n,
366
- [USDC]: 1n,
367
- [WETH]: 1000n
368
- },
369
- tokensList: tokenDataList
370
- });
371
- (0, import_vitest.expect)(result).toEqual((0, import_formatter.toBN)("1780", USDC_DECIMALS));
372
- });
373
- (0, import_vitest.it)("calcMaxLendingDebt for several collaterals with target HF", () => {
374
- const result = import_creditAccount.CreditAccountData_Legacy.calcMaxLendingDebt({
375
- assets: [
376
- {
377
- token: DAI,
378
- balance: (0, import_formatter.toBN)("1000", DAI_DECIMALS)
379
- },
380
- {
381
- token: WETH,
382
- balance: (0, import_formatter.toBN)("1", WETH_DECIMALS)
383
- }
384
- ],
385
- liquidationThresholds,
386
- underlyingToken: USDC,
387
- prices: {
388
- [DAI]: 1n,
389
- [USDC]: 1n,
390
- [WETH]: 1000n
391
- },
392
- targetHF: 12500n,
393
- tokensList: tokenDataList
394
- });
395
- (0, import_vitest.expect)(result).toEqual((0, import_formatter.toBN)("1424", USDC_DECIMALS));
396
- });
397
- });
398
- const defaultCA = {
399
- assets: [
400
- {
401
- balance: (0, import_formatter.toBN)("156552", DAI_DECIMALS),
402
- token: DAI
403
- },
404
- {
405
- balance: (0, import_formatter.toBN)("10", WETH_DECIMALS),
406
- token: WETH
407
- }
408
- ],
409
- debt: (0, import_formatter.toBN)("156552", DAI_DECIMALS),
410
- healthFactor: 10244,
411
- underlyingToken: DAI,
412
- underlyingDecimals: DAI_DECIMALS,
413
- quotas: {
414
- [WETH]: {
415
- balance: (0, import_formatter.toBN)(String(1750 * 10), DAI_DECIMALS),
416
- token: WETH
417
- }
418
- },
419
- quotasInfo: {
420
- [WETH]: {
421
- isActive: true
422
- }
423
- }
424
- };
425
- (0, import_vitest.describe)("CreditAccount calcHealthFactor test", () => {
426
- (0, import_vitest.it)("health factor is calculated correctly", () => {
427
- const result = import_creditAccount.CreditAccountData_Legacy.calcHealthFactor({
428
- quotas: {},
429
- quotasInfo: {},
430
- assets: defaultCA.assets,
431
- prices,
432
- liquidationThresholds,
433
- underlyingToken: defaultCA.underlyingToken,
434
- debt: defaultCA.debt,
435
- tokensList: tokenDataList
436
- });
437
- (0, import_vitest.expect)(result).toEqual(defaultCA.healthFactor);
438
- });
439
- (0, import_vitest.it)("health factor calculation has no division by zero error", () => {
440
- const result = import_creditAccount.CreditAccountData_Legacy.calcHealthFactor({
441
- quotas: {},
442
- quotasInfo: {},
443
- assets: [],
444
- prices: {},
445
- liquidationThresholds: {},
446
- underlyingToken: "",
447
- debt: 0n,
448
- tokensList: tokenDataList
449
- });
450
- (0, import_vitest.expect)(result).toEqual(65535);
451
- });
452
- (0, import_vitest.it)("health factor after add collateral is calculated correctly", () => {
453
- const collateral = {
454
- balance: (0, import_formatter.toBN)("10", WETH_DECIMALS),
455
- token: WETH
456
- };
457
- const afterAdd = import_assets.AssetUtils.sumAssets(defaultCA.assets, [collateral]);
458
- const result = import_creditAccount.CreditAccountData_Legacy.calcHealthFactor({
459
- quotas: {},
460
- quotasInfo: {},
461
- assets: afterAdd,
462
- prices,
463
- liquidationThresholds,
464
- underlyingToken: defaultCA.underlyingToken,
465
- debt: defaultCA.debt,
466
- tokensList: tokenDataList
467
- });
468
- (0, import_vitest.expect)(result).toEqual(11188);
469
- });
470
- (0, import_vitest.it)("health factor after decrease debt is calculated correctly", () => {
471
- const amountDecrease = (0, import_formatter.toBN)("10000", defaultCA.underlyingDecimals);
472
- const debtDecrease = {
473
- balance: amountDecrease,
474
- token: defaultCA.underlyingToken
475
- };
476
- const afterDecrease = import_assets.AssetUtils.subAssets(defaultCA.assets, [
477
- debtDecrease
478
- ]);
479
- const result = import_creditAccount.CreditAccountData_Legacy.calcHealthFactor({
480
- quotas: {},
481
- quotasInfo: {},
482
- assets: afterDecrease,
483
- prices,
484
- liquidationThresholds,
485
- underlyingToken: defaultCA.underlyingToken,
486
- debt: defaultCA.debt - amountDecrease,
487
- tokensList: tokenDataList
488
- });
489
- (0, import_vitest.expect)(result).toEqual(10308);
490
- });
491
- (0, import_vitest.it)("health factor after increase debt is calculated correctly", () => {
492
- const amountIncrease = (0, import_formatter.toBN)("20000", defaultCA.underlyingDecimals);
493
- const debtIncrease = {
494
- balance: amountIncrease,
495
- token: defaultCA.underlyingToken
496
- };
497
- const afterIncrease = import_assets.AssetUtils.sumAssets(defaultCA.assets, [
498
- debtIncrease
499
- ]);
500
- const result = import_creditAccount.CreditAccountData_Legacy.calcHealthFactor({
501
- quotas: {},
502
- quotasInfo: {},
503
- assets: afterIncrease,
504
- prices,
505
- liquidationThresholds,
506
- underlyingToken: defaultCA.underlyingToken,
507
- debt: defaultCA.debt + amountIncrease,
508
- tokensList: tokenDataList
509
- });
510
- (0, import_vitest.expect)(result).toEqual(10137);
511
- });
512
- (0, import_vitest.it)("health factor after swap is calculated correctly", () => {
513
- const swapAsset = {
514
- balance: defaultCA.debt,
515
- token: defaultCA.underlyingToken
516
- };
517
- const underlyingPrice = prices[defaultCA.underlyingToken];
518
- const wethPrice = prices[WETH];
519
- const getAmount = import_price.PriceUtils.convertByPrice(
520
- import_price.PriceUtils.calcTotalPrice(
521
- underlyingPrice,
522
- defaultCA.debt,
523
- defaultCA.underlyingDecimals
524
- ),
525
- { price: wethPrice, decimals: WETH_DECIMALS }
526
- );
527
- const getAsset = {
528
- balance: getAmount,
529
- token: WETH
530
- };
531
- const afterSub = import_assets.AssetUtils.subAssets(defaultCA.assets, [swapAsset]);
532
- const afterSwap = import_assets.AssetUtils.sumAssets(afterSub, [getAsset]);
533
- const result = import_creditAccount.CreditAccountData_Legacy.calcHealthFactor({
534
- quotas: {},
535
- quotasInfo: {},
536
- assets: afterSwap,
537
- prices,
538
- liquidationThresholds,
539
- underlyingToken: defaultCA.underlyingToken,
540
- debt: defaultCA.debt,
541
- tokensList: tokenDataList
542
- });
543
- (0, import_vitest.expect)(result).toEqual(9444);
544
- });
545
- (0, import_vitest.it)("health factor with sufficient quotas is calculated correctly", () => {
546
- const result = import_creditAccount.CreditAccountData_Legacy.calcHealthFactor({
547
- quotas: defaultCA.quotas,
548
- quotasInfo: defaultCA.quotasInfo,
549
- assets: defaultCA.assets,
550
- prices,
551
- liquidationThresholds,
552
- underlyingToken: defaultCA.underlyingToken,
553
- debt: defaultCA.debt,
554
- tokensList: tokenDataList
555
- });
556
- (0, import_vitest.expect)(result).toEqual(defaultCA.healthFactor);
557
- });
558
- (0, import_vitest.it)("health factor with insufficient quotas is calculated correctly", () => {
559
- const result = import_creditAccount.CreditAccountData_Legacy.calcHealthFactor({
560
- quotas: {
561
- [WETH]: {
562
- balance: 0n,
563
- token: WETH
564
- }
565
- },
566
- quotasInfo: defaultCA.quotasInfo,
567
- assets: defaultCA.assets,
568
- prices,
569
- liquidationThresholds,
570
- underlyingToken: defaultCA.underlyingToken,
571
- debt: defaultCA.debt,
572
- tokensList: tokenDataList
573
- });
574
- (0, import_vitest.expect)(result).toEqual(9300);
575
- });
576
- (0, import_vitest.it)("health factor with disabled quota is calculated correctly", () => {
577
- const result = import_creditAccount.CreditAccountData_Legacy.calcHealthFactor({
578
- quotas: defaultCA.quotas,
579
- quotasInfo: {
580
- [WETH]: {
581
- isActive: false
582
- }
583
- },
584
- assets: defaultCA.assets,
585
- prices,
586
- liquidationThresholds,
587
- underlyingToken: defaultCA.underlyingToken,
588
- debt: defaultCA.debt,
589
- tokensList: tokenDataList
590
- });
591
- (0, import_vitest.expect)(result).toEqual(9300);
592
- });
593
- });
594
- const cmQuotas = {
595
- [DAI]: {
596
- token: DAI,
597
- isActive: true
598
- },
599
- [WETH]: {
600
- token: WETH,
601
- isActive: true
602
- },
603
- [STETH]: {
604
- token: STETH,
605
- isActive: true
606
- }
607
- };
608
- const caQuota = {
609
- [DAI]: {
610
- quota: 5n * import_constants.PERCENTAGE_FACTOR
611
- },
612
- [WETH]: {
613
- quota: 10n * import_constants.PERCENTAGE_FACTOR
614
- }
615
- };
616
- const QUOTA_RESERVE = 100n;
617
- const DEFAULT_LT = {
618
- [DAI]: import_constants.PERCENTAGE_FACTOR,
619
- [WETH]: import_constants.PERCENTAGE_FACTOR,
620
- [STETH]: import_constants.PERCENTAGE_FACTOR
621
- };
622
- const HUGE_MAX_DEBT = 20n * import_constants.PERCENTAGE_FACTOR;
623
- (0, import_vitest.describe)("CreditAccount calcQuotaUpdate test", () => {
624
- (0, import_vitest.it)("open account should buy quota", () => {
625
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
626
- maxDebt: HUGE_MAX_DEBT,
627
- quotaReserve: QUOTA_RESERVE,
628
- quotas: cmQuotas,
629
- initialQuotas: {},
630
- assetsAfterUpdate: {
631
- [DAI]: {
632
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
633
- balance: 0n,
634
- token: DAI
635
- },
636
- [WETH]: {
637
- amountInTarget: 20n * import_constants.PERCENTAGE_FACTOR,
638
- balance: 0n,
639
- token: WETH
640
- }
641
- },
642
- allowedToObtain: {
643
- [DAI]: {},
644
- [WETH]: {}
645
- },
646
- allowedToSpend: {},
647
- liquidationThresholds: DEFAULT_LT
648
- });
649
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([
650
- {
651
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
652
- token: DAI
653
- },
654
- {
655
- balance: 20n * import_constants.PERCENTAGE_FACTOR,
656
- token: WETH
657
- }
658
- ]);
659
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([]);
660
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
661
- [DAI]: {
662
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
663
- token: DAI
664
- },
665
- [WETH]: {
666
- balance: 20n * import_constants.PERCENTAGE_FACTOR,
667
- token: WETH
668
- },
669
- [STETH]: {
670
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
671
- token: STETH
672
- }
673
- });
674
- });
675
- (0, import_vitest.it)("add collateral should buy quota", () => {
676
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
677
- maxDebt: HUGE_MAX_DEBT,
678
- quotaReserve: QUOTA_RESERVE,
679
- quotas: cmQuotas,
680
- initialQuotas: caQuota,
681
- assetsAfterUpdate: {
682
- [STETH]: {
683
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
684
- balance: 0n,
685
- token: DAI
686
- }
687
- },
688
- allowedToObtain: {
689
- [STETH]: {}
690
- },
691
- allowedToSpend: {},
692
- liquidationThresholds: DEFAULT_LT
693
- });
694
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([
695
- {
696
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
697
- token: STETH
698
- }
699
- ]);
700
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([]);
701
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
702
- [DAI]: {
703
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
704
- token: DAI
705
- },
706
- [WETH]: {
707
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
708
- token: WETH
709
- },
710
- [STETH]: {
711
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
712
- token: STETH
713
- }
714
- });
715
- });
716
- (0, import_vitest.it)("add collateral should add additional quota", () => {
717
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
718
- maxDebt: HUGE_MAX_DEBT,
719
- quotaReserve: QUOTA_RESERVE,
720
- quotas: cmQuotas,
721
- initialQuotas: caQuota,
722
- assetsAfterUpdate: {
723
- [DAI]: {
724
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
725
- balance: 0n,
726
- token: DAI
727
- }
728
- },
729
- allowedToObtain: {
730
- [DAI]: {}
731
- },
732
- allowedToSpend: {},
733
- liquidationThresholds: DEFAULT_LT
734
- });
735
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([
736
- {
737
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
738
- token: DAI
739
- }
740
- ]);
741
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([]);
742
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
743
- [DAI]: {
744
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
745
- token: DAI
746
- },
747
- [WETH]: {
748
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
749
- token: WETH
750
- },
751
- [STETH]: {
752
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
753
- token: STETH
754
- }
755
- });
756
- });
757
- (0, import_vitest.it)("add collateral shouldn't add additional quota", () => {
758
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
759
- maxDebt: HUGE_MAX_DEBT,
760
- quotaReserve: QUOTA_RESERVE,
761
- quotas: cmQuotas,
762
- initialQuotas: caQuota,
763
- assetsAfterUpdate: {
764
- [WETH]: {
765
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
766
- balance: 0n,
767
- token: WETH
768
- }
769
- },
770
- allowedToObtain: {
771
- [WETH]: {}
772
- },
773
- allowedToSpend: {},
774
- liquidationThresholds: DEFAULT_LT
775
- });
776
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([]);
777
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([]);
778
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
779
- [DAI]: {
780
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
781
- token: DAI
782
- },
783
- [WETH]: {
784
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
785
- token: WETH
786
- },
787
- [STETH]: {
788
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
789
- token: STETH
790
- }
791
- });
792
- });
793
- (0, import_vitest.it)("swap should buy quota", () => {
794
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
795
- maxDebt: HUGE_MAX_DEBT,
796
- quotaReserve: QUOTA_RESERVE,
797
- quotas: cmQuotas,
798
- initialQuotas: caQuota,
799
- assetsAfterUpdate: {
800
- [STETH]: {
801
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
802
- balance: 0n,
803
- token: DAI
804
- },
805
- [WETH]: {
806
- amountInTarget: 0n * import_constants.PERCENTAGE_FACTOR,
807
- balance: 0n,
808
- token: DAI
809
- }
810
- },
811
- allowedToObtain: {
812
- [STETH]: {}
813
- },
814
- allowedToSpend: { [WETH]: {} },
815
- liquidationThresholds: DEFAULT_LT
816
- });
817
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([
818
- {
819
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
820
- token: STETH
821
- }
822
- ]);
823
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
824
- {
825
- balance: import_constants.MIN_INT96,
826
- token: WETH
827
- }
828
- ]);
829
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
830
- [DAI]: {
831
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
832
- token: DAI
833
- },
834
- [WETH]: {
835
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
836
- token: WETH
837
- },
838
- [STETH]: {
839
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
840
- token: STETH
841
- }
842
- });
843
- });
844
- (0, import_vitest.it)("swap should buy additional quota", () => {
845
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
846
- maxDebt: HUGE_MAX_DEBT,
847
- quotaReserve: QUOTA_RESERVE,
848
- quotas: cmQuotas,
849
- initialQuotas: caQuota,
850
- assetsAfterUpdate: {
851
- [DAI]: {
852
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
853
- balance: 0n,
854
- token: DAI
855
- },
856
- [WETH]: {
857
- amountInTarget: 0n * import_constants.PERCENTAGE_FACTOR,
858
- balance: 0n,
859
- token: WETH
860
- }
861
- },
862
- allowedToObtain: {
863
- [DAI]: {}
864
- },
865
- allowedToSpend: {
866
- [WETH]: {}
867
- },
868
- liquidationThresholds: DEFAULT_LT
869
- });
870
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([
871
- {
872
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
873
- token: DAI
874
- }
875
- ]);
876
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
877
- {
878
- balance: import_constants.MIN_INT96,
879
- token: WETH
880
- }
881
- ]);
882
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
883
- [DAI]: {
884
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
885
- token: DAI
886
- },
887
- [WETH]: {
888
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
889
- token: WETH
890
- },
891
- [STETH]: {
892
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
893
- token: STETH
894
- }
895
- });
896
- });
897
- (0, import_vitest.it)("swap should buy additional quota with respect to debt", () => {
898
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
899
- maxDebt: HUGE_MAX_DEBT,
900
- quotaReserve: QUOTA_RESERVE,
901
- quotas: cmQuotas,
902
- initialQuotas: caQuota,
903
- calcModification: {
904
- debt: 7n * import_constants.PERCENTAGE_FACTOR,
905
- type: "recommendedQuota"
906
- },
907
- assetsAfterUpdate: {
908
- [DAI]: {
909
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
910
- balance: 0n,
911
- token: DAI
912
- },
913
- [WETH]: {
914
- amountInTarget: 0n * import_constants.PERCENTAGE_FACTOR,
915
- balance: 0n,
916
- token: WETH
917
- }
918
- },
919
- allowedToObtain: {
920
- [DAI]: {}
921
- },
922
- allowedToSpend: {
923
- [WETH]: {}
924
- },
925
- liquidationThresholds: DEFAULT_LT
926
- });
927
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([
928
- {
929
- balance: 2n * import_constants.PERCENTAGE_FACTOR,
930
- token: DAI
931
- }
932
- ]);
933
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
934
- {
935
- balance: import_constants.MIN_INT96,
936
- token: WETH
937
- }
938
- ]);
939
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
940
- [DAI]: {
941
- balance: 7n * import_constants.PERCENTAGE_FACTOR,
942
- token: DAI
943
- },
944
- [WETH]: {
945
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
946
- token: WETH
947
- },
948
- [STETH]: {
949
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
950
- token: STETH
951
- }
952
- });
953
- });
954
- (0, import_vitest.it)("swap shouldn't buy additional quota", () => {
955
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
956
- maxDebt: HUGE_MAX_DEBT,
957
- quotaReserve: QUOTA_RESERVE,
958
- quotas: cmQuotas,
959
- initialQuotas: caQuota,
960
- assetsAfterUpdate: {
961
- [WETH]: {
962
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
963
- balance: 0n,
964
- token: WETH
965
- },
966
- [DAI]: {
967
- amountInTarget: 0n * import_constants.PERCENTAGE_FACTOR,
968
- balance: 0n,
969
- token: DAI
970
- }
971
- },
972
- allowedToObtain: {
973
- [WETH]: {}
974
- },
975
- allowedToSpend: { [DAI]: {} },
976
- liquidationThresholds: DEFAULT_LT
977
- });
978
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([]);
979
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
980
- {
981
- balance: import_constants.MIN_INT96,
982
- token: DAI
983
- }
984
- ]);
985
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
986
- [DAI]: {
987
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
988
- token: DAI
989
- },
990
- [WETH]: {
991
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
992
- token: WETH
993
- },
994
- [STETH]: {
995
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
996
- token: STETH
997
- }
998
- });
999
- });
1000
- (0, import_vitest.it)("shouldn't change quota if disallowed", () => {
1001
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
1002
- maxDebt: HUGE_MAX_DEBT,
1003
- quotaReserve: QUOTA_RESERVE,
1004
- quotas: cmQuotas,
1005
- initialQuotas: caQuota,
1006
- assetsAfterUpdate: {
1007
- [DAI]: {
1008
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
1009
- balance: 0n,
1010
- token: DAI
1011
- },
1012
- [WETH]: {
1013
- amountInTarget: 0n * import_constants.PERCENTAGE_FACTOR,
1014
- balance: 0n,
1015
- token: WETH
1016
- }
1017
- },
1018
- allowedToObtain: {},
1019
- allowedToSpend: {},
1020
- liquidationThresholds: DEFAULT_LT
1021
- });
1022
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([]);
1023
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([]);
1024
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
1025
- [DAI]: {
1026
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
1027
- token: DAI
1028
- },
1029
- [WETH]: {
1030
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
1031
- token: WETH
1032
- },
1033
- [STETH]: {
1034
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
1035
- token: STETH
1036
- }
1037
- });
1038
- });
1039
- (0, import_vitest.it)("shouldn't change quota if it is disabled", () => {
1040
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
1041
- maxDebt: HUGE_MAX_DEBT,
1042
- quotaReserve: QUOTA_RESERVE,
1043
- quotas: {
1044
- [DAI]: {
1045
- token: DAI,
1046
- isActive: false
1047
- },
1048
- [WETH]: {
1049
- token: WETH,
1050
- isActive: false
1051
- },
1052
- [STETH]: {
1053
- token: STETH,
1054
- isActive: false
1055
- }
1056
- },
1057
- initialQuotas: caQuota,
1058
- assetsAfterUpdate: {
1059
- [DAI]: {
1060
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
1061
- balance: 0n,
1062
- token: DAI
1063
- },
1064
- [WETH]: {
1065
- amountInTarget: 0n * import_constants.PERCENTAGE_FACTOR,
1066
- balance: 0n,
1067
- token: WETH
1068
- }
1069
- },
1070
- allowedToObtain: {
1071
- [DAI]: {}
1072
- },
1073
- allowedToSpend: {
1074
- [WETH]: {}
1075
- },
1076
- liquidationThresholds: DEFAULT_LT
1077
- });
1078
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([]);
1079
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([]);
1080
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
1081
- [DAI]: {
1082
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
1083
- token: DAI
1084
- },
1085
- [WETH]: {
1086
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
1087
- token: WETH
1088
- },
1089
- [STETH]: {
1090
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
1091
- token: STETH
1092
- }
1093
- });
1094
- });
1095
- (0, import_vitest.it)("swap shouldn't buy quota if no lt", () => {
1096
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
1097
- maxDebt: HUGE_MAX_DEBT,
1098
- quotaReserve: QUOTA_RESERVE,
1099
- quotas: cmQuotas,
1100
- initialQuotas: {
1101
- ...caQuota,
1102
- [STETH]: {
1103
- quota: 5n * import_constants.PERCENTAGE_FACTOR
1104
- }
1105
- },
1106
- assetsAfterUpdate: {
1107
- [STETH]: {
1108
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
1109
- balance: 0n,
1110
- token: DAI
1111
- },
1112
- [WETH]: {
1113
- amountInTarget: 5n * import_constants.PERCENTAGE_FACTOR,
1114
- balance: 0n,
1115
- token: DAI
1116
- }
1117
- },
1118
- allowedToObtain: {
1119
- [STETH]: {}
1120
- },
1121
- allowedToSpend: { [WETH]: {} },
1122
- liquidationThresholds: {}
1123
- });
1124
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([]);
1125
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
1126
- {
1127
- balance: import_constants.MIN_INT96,
1128
- token: WETH
1129
- }
1130
- ]);
1131
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
1132
- [DAI]: {
1133
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
1134
- token: DAI
1135
- },
1136
- [WETH]: {
1137
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
1138
- token: WETH
1139
- },
1140
- [STETH]: {
1141
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
1142
- token: STETH
1143
- }
1144
- });
1145
- });
1146
- (0, import_vitest.it)("swap should buy quota with respect to lt", () => {
1147
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
1148
- maxDebt: HUGE_MAX_DEBT,
1149
- quotaReserve: QUOTA_RESERVE,
1150
- quotas: cmQuotas,
1151
- initialQuotas: {
1152
- ...caQuota,
1153
- [STETH]: { quota: 5n * import_constants.PERCENTAGE_FACTOR }
1154
- },
1155
- assetsAfterUpdate: {
1156
- [STETH]: {
1157
- amountInTarget: 20n * import_constants.PERCENTAGE_FACTOR,
1158
- balance: 0n,
1159
- token: DAI
1160
- },
1161
- [WETH]: {
1162
- amountInTarget: 5n * import_constants.PERCENTAGE_FACTOR,
1163
- balance: 0n,
1164
- token: DAI
1165
- }
1166
- },
1167
- allowedToObtain: {
1168
- [STETH]: {}
1169
- },
1170
- allowedToSpend: { [WETH]: {} },
1171
- liquidationThresholds: {
1172
- ...DEFAULT_LT,
1173
- [STETH]: 5000n
1174
- }
1175
- });
1176
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([
1177
- {
1178
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
1179
- token: STETH
1180
- }
1181
- ]);
1182
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
1183
- {
1184
- balance: -5n * import_constants.PERCENTAGE_FACTOR,
1185
- token: WETH
1186
- }
1187
- ]);
1188
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
1189
- [DAI]: {
1190
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
1191
- token: DAI
1192
- },
1193
- [WETH]: {
1194
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
1195
- token: WETH
1196
- },
1197
- [STETH]: {
1198
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
1199
- token: STETH
1200
- }
1201
- });
1202
- });
1203
- (0, import_vitest.it)("swap shouldn't buy quota with respect to lt", () => {
1204
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
1205
- maxDebt: HUGE_MAX_DEBT,
1206
- quotaReserve: QUOTA_RESERVE,
1207
- quotas: cmQuotas,
1208
- initialQuotas: {
1209
- ...caQuota,
1210
- [STETH]: { quota: 5n * import_constants.PERCENTAGE_FACTOR }
1211
- },
1212
- assetsAfterUpdate: {
1213
- [STETH]: {
1214
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
1215
- balance: 0n,
1216
- token: DAI
1217
- },
1218
- [WETH]: {
1219
- amountInTarget: 5n * import_constants.PERCENTAGE_FACTOR,
1220
- balance: 0n,
1221
- token: DAI
1222
- }
1223
- },
1224
- allowedToObtain: {
1225
- [STETH]: {}
1226
- },
1227
- allowedToSpend: { [WETH]: {} },
1228
- liquidationThresholds: {
1229
- ...DEFAULT_LT,
1230
- [STETH]: 5000n
1231
- }
1232
- });
1233
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([]);
1234
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
1235
- {
1236
- balance: -5n * import_constants.PERCENTAGE_FACTOR,
1237
- token: WETH
1238
- }
1239
- ]);
1240
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
1241
- [DAI]: {
1242
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
1243
- token: DAI
1244
- },
1245
- [WETH]: {
1246
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
1247
- token: WETH
1248
- },
1249
- [STETH]: {
1250
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
1251
- token: STETH
1252
- }
1253
- });
1254
- });
1255
- (0, import_vitest.it)("swap should buy additional quota after limit was increased", () => {
1256
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
1257
- maxDebt: 10n * import_constants.PERCENTAGE_FACTOR,
1258
- quotaReserve: QUOTA_RESERVE,
1259
- quotas: cmQuotas,
1260
- initialQuotas: {
1261
- ...caQuota,
1262
- [DAI]: {
1263
- quota: 10n * import_constants.PERCENTAGE_FACTOR
1264
- }
1265
- },
1266
- assetsAfterUpdate: {
1267
- [DAI]: {
1268
- amountInTarget: 20n * import_constants.PERCENTAGE_FACTOR,
1269
- balance: 0n,
1270
- token: DAI
1271
- },
1272
- [WETH]: {
1273
- amountInTarget: 0n * import_constants.PERCENTAGE_FACTOR,
1274
- balance: 0n,
1275
- token: WETH
1276
- }
1277
- },
1278
- allowedToObtain: {
1279
- [DAI]: {}
1280
- },
1281
- allowedToSpend: {
1282
- [WETH]: {}
1283
- },
1284
- liquidationThresholds: DEFAULT_LT
1285
- });
1286
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([
1287
- {
1288
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
1289
- token: DAI
1290
- }
1291
- ]);
1292
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
1293
- {
1294
- balance: import_constants.MIN_INT96,
1295
- token: WETH
1296
- }
1297
- ]);
1298
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
1299
- [DAI]: {
1300
- balance: 20n * import_constants.PERCENTAGE_FACTOR,
1301
- token: DAI
1302
- },
1303
- [WETH]: {
1304
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
1305
- token: WETH
1306
- },
1307
- [STETH]: {
1308
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
1309
- token: STETH
1310
- }
1311
- });
1312
- });
1313
- (0, import_vitest.it)("swap should buy additional quota with respect to debt limit", () => {
1314
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
1315
- maxDebt: 9n * import_constants.PERCENTAGE_FACTOR,
1316
- quotaReserve: QUOTA_RESERVE,
1317
- quotas: cmQuotas,
1318
- initialQuotas: {
1319
- ...caQuota,
1320
- [DAI]: {
1321
- quota: 10n * import_constants.PERCENTAGE_FACTOR
1322
- }
1323
- },
1324
- assetsAfterUpdate: {
1325
- [DAI]: {
1326
- amountInTarget: 20n * import_constants.PERCENTAGE_FACTOR,
1327
- balance: 0n,
1328
- token: DAI
1329
- },
1330
- [WETH]: {
1331
- amountInTarget: 0n * import_constants.PERCENTAGE_FACTOR,
1332
- balance: 0n,
1333
- token: WETH
1334
- }
1335
- },
1336
- allowedToObtain: {
1337
- [DAI]: {}
1338
- },
1339
- allowedToSpend: {
1340
- [WETH]: {}
1341
- },
1342
- liquidationThresholds: DEFAULT_LT
1343
- });
1344
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([
1345
- {
1346
- balance: 8n * import_constants.PERCENTAGE_FACTOR,
1347
- token: DAI
1348
- }
1349
- ]);
1350
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
1351
- {
1352
- balance: import_constants.MIN_INT96,
1353
- token: WETH
1354
- }
1355
- ]);
1356
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
1357
- [DAI]: {
1358
- balance: 18n * import_constants.PERCENTAGE_FACTOR,
1359
- token: DAI
1360
- },
1361
- [WETH]: {
1362
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
1363
- token: WETH
1364
- },
1365
- [STETH]: {
1366
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
1367
- token: STETH
1368
- }
1369
- });
1370
- });
1371
- (0, import_vitest.it)("swap shouldn't buy additional quota if debt limit more then current quota", () => {
1372
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
1373
- maxDebt: 5n * import_constants.PERCENTAGE_FACTOR,
1374
- quotaReserve: QUOTA_RESERVE,
1375
- quotas: cmQuotas,
1376
- initialQuotas: {
1377
- ...caQuota,
1378
- [DAI]: {
1379
- quota: 10n * import_constants.PERCENTAGE_FACTOR
1380
- }
1381
- },
1382
- assetsAfterUpdate: {
1383
- [DAI]: {
1384
- amountInTarget: 20n * import_constants.PERCENTAGE_FACTOR,
1385
- balance: 0n,
1386
- token: DAI
1387
- },
1388
- [WETH]: {
1389
- amountInTarget: 0n * import_constants.PERCENTAGE_FACTOR,
1390
- balance: 0n,
1391
- token: WETH
1392
- }
1393
- },
1394
- allowedToObtain: {
1395
- [DAI]: {}
1396
- },
1397
- allowedToSpend: {
1398
- [WETH]: {}
1399
- },
1400
- liquidationThresholds: DEFAULT_LT
1401
- });
1402
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([]);
1403
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
1404
- {
1405
- balance: import_constants.MIN_INT96,
1406
- token: WETH
1407
- }
1408
- ]);
1409
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
1410
- [DAI]: {
1411
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
1412
- token: DAI
1413
- },
1414
- [WETH]: {
1415
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
1416
- token: WETH
1417
- },
1418
- [STETH]: {
1419
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
1420
- token: STETH
1421
- }
1422
- });
1423
- });
1424
- (0, import_vitest.it)("swap on old accounts should work correctly", () => {
1425
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
1426
- maxDebt: HUGE_MAX_DEBT,
1427
- quotaReserve: QUOTA_RESERVE,
1428
- quotas: cmQuotas,
1429
- initialQuotas: {
1430
- ...caQuota,
1431
- [DAI]: {
1432
- quota: 52345n
1433
- },
1434
- [WETH]: {
1435
- quota: 107458n * import_constants.PERCENTAGE_FACTOR
1436
- }
1437
- },
1438
- assetsAfterUpdate: {
1439
- [STETH]: {
1440
- amountInTarget: 101345n,
1441
- balance: 0n,
1442
- token: STETH
1443
- },
1444
- [WETH]: {
1445
- amountInTarget: 0n * import_constants.PERCENTAGE_FACTOR,
1446
- balance: 0n,
1447
- token: WETH
1448
- }
1449
- },
1450
- allowedToObtain: {
1451
- [STETH]: {}
1452
- },
1453
- allowedToSpend: { [WETH]: {} },
1454
- liquidationThresholds: DEFAULT_LT
1455
- });
1456
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([
1457
- {
1458
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
1459
- token: STETH
1460
- }
1461
- ]);
1462
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
1463
- {
1464
- balance: import_constants.MIN_INT96,
1465
- token: WETH
1466
- }
1467
- ]);
1468
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
1469
- [DAI]: {
1470
- balance: 52345n,
1471
- token: DAI
1472
- },
1473
- [WETH]: {
1474
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
1475
- token: WETH
1476
- },
1477
- [STETH]: {
1478
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
1479
- token: STETH
1480
- }
1481
- });
1482
- });
1483
- (0, import_vitest.it)("swap on old accounts should work correctly and respect maxQuotaIncrease", () => {
1484
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
1485
- maxDebt: 6n * import_constants.PERCENTAGE_FACTOR,
1486
- quotaReserve: QUOTA_RESERVE,
1487
- quotas: cmQuotas,
1488
- initialQuotas: {
1489
- ...caQuota,
1490
- [DAI]: {
1491
- quota: 52345n
1492
- },
1493
- [WETH]: {
1494
- quota: 107458n * import_constants.PERCENTAGE_FACTOR
1495
- }
1496
- },
1497
- assetsAfterUpdate: {
1498
- [STETH]: {
1499
- amountInTarget: 101345n,
1500
- balance: 0n,
1501
- token: STETH
1502
- },
1503
- [WETH]: {
1504
- amountInTarget: 0n * import_constants.PERCENTAGE_FACTOR,
1505
- balance: 0n,
1506
- token: WETH
1507
- }
1508
- },
1509
- allowedToObtain: {
1510
- [STETH]: {}
1511
- },
1512
- allowedToSpend: { [WETH]: {} },
1513
- liquidationThresholds: DEFAULT_LT
1514
- });
1515
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([
1516
- {
1517
- balance: 7n * import_constants.PERCENTAGE_FACTOR,
1518
- token: STETH
1519
- }
1520
- ]);
1521
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
1522
- {
1523
- balance: import_constants.MIN_INT96,
1524
- token: WETH
1525
- }
1526
- ]);
1527
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
1528
- [DAI]: {
1529
- balance: 52345n,
1530
- token: DAI
1531
- },
1532
- [WETH]: {
1533
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
1534
- token: WETH
1535
- },
1536
- [STETH]: {
1537
- balance: 7n * import_constants.PERCENTAGE_FACTOR,
1538
- token: STETH
1539
- }
1540
- });
1541
- });
1542
- (0, import_vitest.it)("should buy quota correctly when all assets listed in both buy and spend", () => {
1543
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaUpdate({
1544
- maxDebt: HUGE_MAX_DEBT,
1545
- quotaReserve: QUOTA_RESERVE,
1546
- quotas: cmQuotas,
1547
- initialQuotas: {
1548
- ...caQuota,
1549
- [DAI]: {
1550
- quota: 0n * import_constants.PERCENTAGE_FACTOR
1551
- },
1552
- [STETH]: {
1553
- quota: 15n * import_constants.PERCENTAGE_FACTOR
1554
- }
1555
- },
1556
- assetsAfterUpdate: {
1557
- [STETH]: {
1558
- amountInTarget: 0n * import_constants.PERCENTAGE_FACTOR,
1559
- balance: 0n,
1560
- token: STETH
1561
- },
1562
- [DAI]: {
1563
- amountInTarget: 10n * import_constants.PERCENTAGE_FACTOR,
1564
- balance: 0n,
1565
- token: DAI
1566
- },
1567
- [WETH]: {
1568
- amountInTarget: 5n * import_constants.PERCENTAGE_FACTOR,
1569
- balance: 0n,
1570
- token: WETH
1571
- }
1572
- },
1573
- allowedToObtain: {
1574
- [STETH]: {},
1575
- [DAI]: {},
1576
- [WETH]: {}
1577
- },
1578
- allowedToSpend: {
1579
- [STETH]: {},
1580
- [DAI]: {},
1581
- [WETH]: {}
1582
- },
1583
- liquidationThresholds: DEFAULT_LT
1584
- });
1585
- (0, import_vitest.expect)(result.quotaIncrease).toEqual([
1586
- {
1587
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
1588
- token: DAI
1589
- }
1590
- ]);
1591
- (0, import_vitest.expect)(result.quotaDecrease).toEqual([
1592
- {
1593
- balance: import_constants.MIN_INT96,
1594
- token: STETH
1595
- },
1596
- {
1597
- balance: -5n * import_constants.PERCENTAGE_FACTOR,
1598
- token: WETH
1599
- }
1600
- ]);
1601
- (0, import_vitest.expect)(result.desiredQuota).toEqual({
1602
- [DAI]: {
1603
- balance: 10n * import_constants.PERCENTAGE_FACTOR,
1604
- token: DAI
1605
- },
1606
- [WETH]: {
1607
- balance: 5n * import_constants.PERCENTAGE_FACTOR,
1608
- token: WETH
1609
- },
1610
- [STETH]: {
1611
- balance: 0n * import_constants.PERCENTAGE_FACTOR,
1612
- token: STETH
1613
- }
1614
- });
1615
- });
1616
- });
1617
- (0, import_vitest.describe)("CreditAccount calcAvgQuotaBorrowRate test", () => {
1618
- (0, import_vitest.it)("should calculate quota rate (same amounts, different rates)", () => {
1619
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaBorrowRate({
1620
- quotas: {
1621
- [DAI]: {
1622
- token: DAI,
1623
- balance: 10n
1624
- },
1625
- [WETH]: {
1626
- token: WETH,
1627
- balance: 10n
1628
- },
1629
- [STETH]: {
1630
- token: STETH,
1631
- balance: 10n
1632
- }
1633
- },
1634
- quotaRates: {
1635
- [DAI]: {
1636
- rate: 5n,
1637
- isActive: true
1638
- },
1639
- [WETH]: {
1640
- rate: 10n,
1641
- isActive: true
1642
- },
1643
- [STETH]: {
1644
- rate: 15n,
1645
- isActive: true
1646
- }
1647
- }
1648
- });
1649
- (0, import_vitest.expect)(result).toEqual(300n);
1650
- });
1651
- (0, import_vitest.it)("should calculate quota rate (same rates, different amounts)", () => {
1652
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaBorrowRate({
1653
- quotas: {
1654
- [DAI]: {
1655
- token: DAI,
1656
- balance: 5n
1657
- },
1658
- [WETH]: {
1659
- token: WETH,
1660
- balance: 10n
1661
- },
1662
- [STETH]: {
1663
- token: STETH,
1664
- balance: 15n
1665
- }
1666
- },
1667
- quotaRates: {
1668
- [DAI]: {
1669
- rate: 10n,
1670
- isActive: true
1671
- },
1672
- [WETH]: {
1673
- rate: 10n,
1674
- isActive: true
1675
- },
1676
- [STETH]: {
1677
- rate: 10n,
1678
- isActive: true
1679
- }
1680
- }
1681
- });
1682
- (0, import_vitest.expect)(result).toEqual(300n);
1683
- });
1684
- (0, import_vitest.it)("should calculate quota rate (disabled quota)", () => {
1685
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaBorrowRate({
1686
- quotas: {
1687
- [DAI]: {
1688
- token: DAI,
1689
- balance: 5n
1690
- },
1691
- [WETH]: {
1692
- token: WETH,
1693
- balance: 10n
1694
- },
1695
- [STETH]: {
1696
- token: STETH,
1697
- balance: 15n
1698
- }
1699
- },
1700
- quotaRates: {
1701
- [DAI]: {
1702
- rate: 10n,
1703
- isActive: true
1704
- },
1705
- [WETH]: {
1706
- rate: 10n,
1707
- isActive: false
1708
- },
1709
- [STETH]: {
1710
- rate: 10n,
1711
- isActive: true
1712
- }
1713
- }
1714
- });
1715
- (0, import_vitest.expect)(result).toEqual(200n);
1716
- });
1717
- });
1718
- (0, import_vitest.describe)("CreditAccount calcQuotaBorrowRate test", () => {
1719
- (0, import_vitest.it)("should calculate quota borrow rate", () => {
1720
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaBorrowRate({
1721
- quotas: {
1722
- [DAI]: {
1723
- token: DAI,
1724
- balance: 10n
1725
- }
1726
- },
1727
- quotaRates: {
1728
- [DAI]: {
1729
- rate: 5n,
1730
- isActive: true
1731
- }
1732
- }
1733
- });
1734
- (0, import_vitest.expect)(result).toEqual(50n);
1735
- });
1736
- (0, import_vitest.it)("should calculate quota borrow rate when no balance", () => {
1737
- const result = import_creditAccount.CreditAccountData_Legacy.calcQuotaBorrowRate({
1738
- quotas: {
1739
- [DAI]: {
1740
- token: DAI,
1741
- balance: 1n
1742
- }
1743
- },
1744
- quotaRates: {
1745
- [DAI]: {
1746
- rate: 5n,
1747
- isActive: true
1748
- }
1749
- }
1750
- });
1751
- (0, import_vitest.expect)(result).toEqual(5n);
1752
- });
1753
- });
1754
- (0, import_vitest.describe)("CreditAccount calcRelativeBaseBorrowRate test", () => {
1755
- (0, import_vitest.it)("should calculate relative borrow rate", () => {
1756
- const result = import_creditAccount.CreditAccountData_Legacy.calcRelativeBaseBorrowRate({
1757
- debt: 200n,
1758
- baseRateWithFee: 250,
1759
- assetAmountInUnderlying: 200n
1760
- });
1761
- (0, import_vitest.expect)(result).toEqual(10000000n);
1762
- });
1763
- (0, import_vitest.it)("should calculate relative borrow rate if position asset === 0", () => {
1764
- const result = import_creditAccount.CreditAccountData_Legacy.calcRelativeBaseBorrowRate({
1765
- debt: 200n,
1766
- baseRateWithFee: 250,
1767
- assetAmountInUnderlying: 1n
1768
- });
1769
- (0, import_vitest.expect)(result).toEqual(50000n);
1770
- });
1771
- (0, import_vitest.it)("should calculate relative borrow rate if position === 0", () => {
1772
- const result = import_creditAccount.CreditAccountData_Legacy.calcRelativeBaseBorrowRate({
1773
- debt: 1n,
1774
- baseRateWithFee: 250,
1775
- assetAmountInUnderlying: 1n
1776
- });
1777
- (0, import_vitest.expect)(result).toEqual(250n);
1778
- });
1779
- });
1780
- (0, import_vitest.describe)("CreditAccount getTimeToLiquidation test", () => {
1781
- (0, import_vitest.it)("should return 0 when HF < 1", () => {
1782
- const result = import_creditAccount.CreditAccountData_Legacy.getTimeToLiquidation({
1783
- healthFactor: 9e3,
1784
- totalBorrowRate_debt: 250n
1785
- });
1786
- (0, import_vitest.expect)(result).toEqual(null);
1787
- });
1788
- (0, import_vitest.it)("should return 0 when br_debt === 0", () => {
1789
- const result = import_creditAccount.CreditAccountData_Legacy.getTimeToLiquidation({
1790
- healthFactor: 9e3,
1791
- totalBorrowRate_debt: 0n
1792
- });
1793
- (0, import_vitest.expect)(result).toEqual(null);
1794
- });
1795
- (0, import_vitest.it)("should calculate time to liquidation correctly", () => {
1796
- const result = import_creditAccount.CreditAccountData_Legacy.getTimeToLiquidation({
1797
- healthFactor: 13750,
1798
- totalBorrowRate_debt: 20n * 10000n
1799
- });
1800
- (0, import_vitest.expect)(result).toEqual(59130000n * 1000n);
1801
- });
1802
- });