@defisaver/positions-sdk 1.0.12 → 1.0.13-dev-2

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 (38) hide show
  1. package/cjs/config/contracts.d.ts +61 -21
  2. package/cjs/config/contracts.js +9 -1
  3. package/cjs/contracts.d.ts +1 -0
  4. package/cjs/contracts.js +2 -1
  5. package/cjs/liquityV2/index.js +17 -6
  6. package/cjs/markets/aave/marketAssets.js +1 -1
  7. package/cjs/markets/liquityV2/index.d.ts +6 -0
  8. package/cjs/markets/liquityV2/index.js +51 -4
  9. package/cjs/types/contracts/generated/LiquityV2LegacyView.d.ts +386 -0
  10. package/cjs/types/contracts/generated/LiquityV2LegacyView.js +5 -0
  11. package/cjs/types/contracts/generated/LiquityV2View.d.ts +4 -0
  12. package/cjs/types/contracts/generated/index.d.ts +1 -0
  13. package/cjs/types/liquityV2.d.ts +6 -1
  14. package/cjs/types/liquityV2.js +4 -0
  15. package/esm/config/contracts.d.ts +61 -21
  16. package/esm/config/contracts.js +9 -1
  17. package/esm/contracts.d.ts +1 -0
  18. package/esm/contracts.js +1 -0
  19. package/esm/liquityV2/index.js +18 -7
  20. package/esm/markets/aave/marketAssets.js +1 -1
  21. package/esm/markets/liquityV2/index.d.ts +6 -0
  22. package/esm/markets/liquityV2/index.js +46 -2
  23. package/esm/types/contracts/generated/LiquityV2LegacyView.d.ts +386 -0
  24. package/esm/types/contracts/generated/LiquityV2LegacyView.js +4 -0
  25. package/esm/types/contracts/generated/LiquityV2View.d.ts +4 -0
  26. package/esm/types/contracts/generated/index.d.ts +1 -0
  27. package/esm/types/liquityV2.d.ts +6 -1
  28. package/esm/types/liquityV2.js +4 -0
  29. package/package.json +3 -3
  30. package/src/config/contracts.js +9 -1
  31. package/src/contracts.ts +2 -0
  32. package/src/liquityV2/index.ts +20 -7
  33. package/src/markets/aave/marketAssets.ts +1 -1
  34. package/src/markets/liquityV2/index.ts +50 -2
  35. package/src/types/contracts/generated/LiquityV2LegacyView.ts +486 -0
  36. package/src/types/contracts/generated/LiquityV2View.ts +4 -0
  37. package/src/types/contracts/generated/index.ts +1 -0
  38. package/src/types/liquityV2.ts +6 -0
@@ -1103,7 +1103,7 @@ module.exports = {
1103
1103
  "abi": [{"name":"UserState","inputs":[{"name":"user","type":"address","indexed":true},{"name":"collateral","type":"uint256","indexed":false},{"name":"debt","type":"uint256","indexed":false},{"name":"n1","type":"int256","indexed":false},{"name":"n2","type":"int256","indexed":false},{"name":"liquidation_discount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Borrow","inputs":[{"name":"user","type":"address","indexed":true},{"name":"collateral_increase","type":"uint256","indexed":false},{"name":"loan_increase","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Repay","inputs":[{"name":"user","type":"address","indexed":true},{"name":"collateral_decrease","type":"uint256","indexed":false},{"name":"loan_decrease","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"RemoveCollateral","inputs":[{"name":"user","type":"address","indexed":true},{"name":"collateral_decrease","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Liquidate","inputs":[{"name":"liquidator","type":"address","indexed":true},{"name":"user","type":"address","indexed":true},{"name":"collateral_received","type":"uint256","indexed":false},{"name":"stablecoin_received","type":"uint256","indexed":false},{"name":"debt","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetMonetaryPolicy","inputs":[{"name":"monetary_policy","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetBorrowingDiscounts","inputs":[{"name":"loan_discount","type":"uint256","indexed":false},{"name":"liquidation_discount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"CollectFees","inputs":[{"name":"amount","type":"uint256","indexed":false},{"name":"new_supply","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"collateral_token","type":"address"},{"name":"monetary_policy","type":"address"},{"name":"loan_discount","type":"uint256"},{"name":"liquidation_discount","type":"uint256"},{"name":"amm","type":"address"}],"outputs":[]},{"stateMutability":"pure","type":"function","name":"factory","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"pure","type":"function","name":"amm","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"pure","type":"function","name":"collateral_token","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"pure","type":"function","name":"borrowed_token","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"save_rate","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"debt","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"loan_exists","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"total_debt","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"max_borrowable","inputs":[{"name":"collateral","type":"uint256"},{"name":"N","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"max_borrowable","inputs":[{"name":"collateral","type":"uint256"},{"name":"N","type":"uint256"},{"name":"current_debt","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"min_collateral","inputs":[{"name":"debt","type":"uint256"},{"name":"N","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"calculate_debt_n1","inputs":[{"name":"collateral","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"N","type":"uint256"}],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"nonpayable","type":"function","name":"create_loan","inputs":[{"name":"collateral","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"N","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"create_loan_extended","inputs":[{"name":"collateral","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"N","type":"uint256"},{"name":"callbacker","type":"address"},{"name":"callback_args","type":"uint256[]"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"add_collateral","inputs":[{"name":"collateral","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"add_collateral","inputs":[{"name":"collateral","type":"uint256"},{"name":"_for","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"remove_collateral","inputs":[{"name":"collateral","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"remove_collateral","inputs":[{"name":"collateral","type":"uint256"},{"name":"use_eth","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"borrow_more","inputs":[{"name":"collateral","type":"uint256"},{"name":"debt","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"borrow_more_extended","inputs":[{"name":"collateral","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"callbacker","type":"address"},{"name":"callback_args","type":"uint256[]"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"repay","inputs":[{"name":"_d_debt","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"repay","inputs":[{"name":"_d_debt","type":"uint256"},{"name":"_for","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"repay","inputs":[{"name":"_d_debt","type":"uint256"},{"name":"_for","type":"address"},{"name":"max_active_band","type":"int256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"repay","inputs":[{"name":"_d_debt","type":"uint256"},{"name":"_for","type":"address"},{"name":"max_active_band","type":"int256"},{"name":"use_eth","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"repay_extended","inputs":[{"name":"callbacker","type":"address"},{"name":"callback_args","type":"uint256[]"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"health_calculator","inputs":[{"name":"user","type":"address"},{"name":"d_collateral","type":"int256"},{"name":"d_debt","type":"int256"},{"name":"full","type":"bool"}],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"health_calculator","inputs":[{"name":"user","type":"address"},{"name":"d_collateral","type":"int256"},{"name":"d_debt","type":"int256"},{"name":"full","type":"bool"},{"name":"N","type":"uint256"}],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"nonpayable","type":"function","name":"liquidate","inputs":[{"name":"user","type":"address"},{"name":"min_x","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"liquidate","inputs":[{"name":"user","type":"address"},{"name":"min_x","type":"uint256"},{"name":"use_eth","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"liquidate_extended","inputs":[{"name":"user","type":"address"},{"name":"min_x","type":"uint256"},{"name":"frac","type":"uint256"},{"name":"use_eth","type":"bool"},{"name":"callbacker","type":"address"},{"name":"callback_args","type":"uint256[]"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"tokens_to_liquidate","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"tokens_to_liquidate","inputs":[{"name":"user","type":"address"},{"name":"frac","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"health","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"health","inputs":[{"name":"user","type":"address"},{"name":"full","type":"bool"}],"outputs":[{"name":"","type":"int256"}]},{"stateMutability":"view","type":"function","name":"users_to_liquidate","inputs":[],"outputs":[{"name":"","type":"tuple[]","components":[{"name":"user","type":"address"},{"name":"x","type":"uint256"},{"name":"y","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"health","type":"int256"}]}]},{"stateMutability":"view","type":"function","name":"users_to_liquidate","inputs":[{"name":"_from","type":"uint256"}],"outputs":[{"name":"","type":"tuple[]","components":[{"name":"user","type":"address"},{"name":"x","type":"uint256"},{"name":"y","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"health","type":"int256"}]}]},{"stateMutability":"view","type":"function","name":"users_to_liquidate","inputs":[{"name":"_from","type":"uint256"},{"name":"_limit","type":"uint256"}],"outputs":[{"name":"","type":"tuple[]","components":[{"name":"user","type":"address"},{"name":"x","type":"uint256"},{"name":"y","type":"uint256"},{"name":"debt","type":"uint256"},{"name":"health","type":"int256"}]}]},{"stateMutability":"view","type":"function","name":"amm_price","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"user_prices","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256[2]"}]},{"stateMutability":"view","type":"function","name":"user_state","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256[4]"}]},{"stateMutability":"nonpayable","type":"function","name":"set_amm_fee","inputs":[{"name":"fee","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_amm_admin_fee","inputs":[{"name":"fee","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_monetary_policy","inputs":[{"name":"monetary_policy","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_borrowing_discounts","inputs":[{"name":"loan_discount","type":"uint256"},{"name":"liquidation_discount","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_callback","inputs":[{"name":"cb","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"admin_fees","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"collect_fees","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"check_lock","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"liquidation_discounts","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"loans","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"loan_ix","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"n_loans","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"minted","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"redeemed","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"monetary_policy","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"liquidation_discount","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"loan_discount","inputs":[],"outputs":[{"name":"","type":"uint256"}]}],
1104
1104
  "networks":{}
1105
1105
  },
1106
- "LiquityV2View":{
1106
+ "LiquityV2LegacyView":{
1107
1107
  "abi" : [{"inputs":[],"name":"InvalidMarketAddress","type":"error"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_interestRate","type":"uint256"},{"internalType":"uint256","name":"_prevId","type":"uint256"},{"internalType":"uint256","name":"_nextId","type":"uint256"}],"name":"findInsertPosition","outputs":[{"internalType":"uint256","name":"prevId","type":"uint256"},{"internalType":"uint256","name":"nextId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_collIndex","type":"uint256"},{"internalType":"uint256","name":"_interestRate","type":"uint256"},{"internalType":"uint256","name":"_numTrials","type":"uint256"},{"internalType":"uint256","name":"_inputRandomSeed","type":"uint256"}],"name":"getApproxHint","outputs":[{"internalType":"uint256","name":"hintId","type":"uint256"},{"internalType":"uint256","name":"diff","type":"uint256"},{"internalType":"uint256","name":"latestRandomSeed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_manager","type":"address"}],"name":"getBatchManagerInfo","outputs":[{"components":[{"internalType":"uint128","name":"minInterestRate","type":"uint128"},{"internalType":"uint128","name":"maxInterestRate","type":"uint128"},{"internalType":"uint256","name":"minInterestRateChangePeriod","type":"uint256"}],"internalType":"struct IBorrowerOperations.InterestBatchManager","name":"managerData","type":"tuple"},{"components":[{"internalType":"uint256","name":"entireDebtWithoutRedistribution","type":"uint256"},{"internalType":"uint256","name":"entireCollWithoutRedistribution","type":"uint256"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"recordedDebt","type":"uint256"},{"internalType":"uint256","name":"annualInterestRate","type":"uint256"},{"internalType":"uint256","name":"weightedRecordedDebt","type":"uint256"},{"internalType":"uint256","name":"annualManagementFee","type":"uint256"},{"internalType":"uint256","name":"accruedManagementFee","type":"uint256"},{"internalType":"uint256","name":"weightedRecordedBatchManagementFee","type":"uint256"},{"internalType":"uint256","name":"lastDebtUpdateTime","type":"uint256"},{"internalType":"uint256","name":"lastInterestRateAdjTime","type":"uint256"}],"internalType":"struct ITroveManager.LatestBatchData","name":"batchData","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_troveId","type":"uint256"},{"internalType":"uint256","name":"_acc","type":"uint256"},{"internalType":"uint256","name":"_iterations","type":"uint256"}],"name":"getDebtInFront","outputs":[{"internalType":"uint256","name":"next","type":"uint256"},{"internalType":"uint256","name":"debt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_troveId","type":"uint256"},{"internalType":"uint256","name":"_acc","type":"uint256"},{"internalType":"uint256","name":"_iterations","type":"uint256"},{"internalType":"uint256","name":"_targetIR","type":"uint256"}],"name":"getDebtInFrontByInterestRate","outputs":[{"internalType":"uint256","name":"next","type":"uint256"},{"internalType":"uint256","name":"debt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_numTroves","type":"uint256"}],"name":"getDebtInFrontByTroveNum","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_depositor","type":"address"}],"name":"getDepositorInfo","outputs":[{"internalType":"uint256","name":"compoundedBOLD","type":"uint256"},{"internalType":"uint256","name":"collGain","type":"uint256"},{"internalType":"uint256","name":"boldGain","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_collIndex","type":"uint256"},{"internalType":"uint256","name":"_interestRate","type":"uint256"},{"internalType":"uint256","name":"_numTrials","type":"uint256"},{"internalType":"uint256","name":"_inputRandomSeed","type":"uint256"}],"name":"getInsertPosition","outputs":[{"internalType":"uint256","name":"prevId","type":"uint256"},{"internalType":"uint256","name":"nextId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"}],"name":"getMarketData","outputs":[{"components":[{"internalType":"address","name":"market","type":"address"},{"internalType":"uint256","name":"CCR","type":"uint256"},{"internalType":"uint256","name":"MCR","type":"uint256"},{"internalType":"uint256","name":"SCR","type":"uint256"},{"internalType":"uint256","name":"LIQUIDATION_PENALTY_SP","type":"uint256"},{"internalType":"uint256","name":"LIQUIDATION_PENALTY_REDISTRIBUTION","type":"uint256"},{"internalType":"uint256","name":"entireSystemColl","type":"uint256"},{"internalType":"uint256","name":"entireSystemDebt","type":"uint256"},{"internalType":"address","name":"collToken","type":"address"},{"internalType":"address","name":"troveNFT","type":"address"},{"internalType":"address","name":"borrowerOperations","type":"address"},{"internalType":"address","name":"troveManager","type":"address"},{"internalType":"address","name":"stabilityPool","type":"address"},{"internalType":"address","name":"sortedTroves","type":"address"},{"internalType":"address","name":"collSurplusPool","type":"address"},{"internalType":"address","name":"activePool","type":"address"},{"internalType":"address","name":"hintHelpers","type":"address"},{"internalType":"address","name":"priceFeed","type":"address"},{"internalType":"uint256","name":"collPrice","type":"uint256"},{"internalType":"bool","name":"isShutDown","type":"bool"},{"internalType":"uint256","name":"boldDepositInSp","type":"uint256"}],"internalType":"struct LiquityV2View.MarketData","name":"data","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"int256","name":"_startIdx","type":"int256"},{"internalType":"uint256","name":"_count","type":"uint256"}],"name":"getMultipleSortedTroves","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"coll","type":"uint256"},{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"annualInterestRate","type":"uint256"},{"internalType":"uint256","name":"lastDebtUpdateTime","type":"uint256"},{"internalType":"uint256","name":"lastInterestRateAdjTime","type":"uint256"},{"internalType":"address","name":"interestBatchManager","type":"address"},{"internalType":"uint256","name":"batchDebtShares","type":"uint256"},{"internalType":"uint256","name":"batchCollShares","type":"uint256"},{"internalType":"uint256","name":"snapshotETH","type":"uint256"},{"internalType":"uint256","name":"snapshotBoldDebt","type":"uint256"}],"internalType":"struct IMultiTroveGetter.CombinedTroveData[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_troveId","type":"uint256"},{"internalType":"uint256","name":"_iterations","type":"uint256"}],"name":"getNumOfTrovesInFrontOfTrove","outputs":[{"internalType":"uint256","name":"next","type":"uint256"},{"internalType":"uint256","name":"numTroves","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_troveId","type":"uint256"}],"name":"getTroveInfo","outputs":[{"components":[{"internalType":"uint256","name":"troveId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"collToken","type":"address"},{"internalType":"enum ITroveManager.Status","name":"status","type":"uint8"},{"internalType":"uint256","name":"collAmount","type":"uint256"},{"internalType":"uint256","name":"debtAmount","type":"uint256"},{"internalType":"uint256","name":"collPrice","type":"uint256"},{"internalType":"uint256","name":"TCRatio","type":"uint256"},{"internalType":"uint256","name":"annualInterestRate","type":"uint256"},{"internalType":"address","name":"interestBatchManager","type":"address"},{"internalType":"uint256","name":"batchDebtShares","type":"uint256"},{"internalType":"uint256","name":"lastInterestRateAdjTime","type":"uint256"}],"internalType":"struct LiquityV2View.TroveData","name":"trove","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_collIndex","type":"uint256"},{"internalType":"uint256","name":"_troveId","type":"uint256"},{"internalType":"uint256","name":"_numTrials","type":"uint256"},{"internalType":"uint256","name":"_inputRandomSeed","type":"uint256"}],"name":"getTrovePosition","outputs":[{"internalType":"uint256","name":"prevId","type":"uint256"},{"internalType":"uint256","name":"nextId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_startIndex","type":"uint256"},{"internalType":"uint256","name":"_endIndex","type":"uint256"}],"name":"getUserTroves","outputs":[{"components":[{"internalType":"uint256","name":"troveId","type":"uint256"},{"internalType":"bool","name":"ownedByUser","type":"bool"}],"internalType":"struct LiquityV2View.ExistingTrove[]","name":"troves","type":"tuple[]"},{"internalType":"int256","name":"nextFreeTroveIndex","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"}],"name":"isShutDown","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_collIndex","type":"uint256"},{"internalType":"uint256","name":"_troveId","type":"uint256"},{"internalType":"uint256","name":"_debtIncrease","type":"uint256"}],"name":"predictAdjustTroveUpfrontFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],
1108
1108
  "networks": {
1109
1109
  "1": {
@@ -1118,6 +1118,14 @@ module.exports = {
1118
1118
  },
1119
1119
  },
1120
1120
  },
1121
+ "LiquityV2View": {
1122
+ "abi": [{"inputs":[],"name":"InvalidMarketAddress","type":"error"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_interestRate","type":"uint256"},{"internalType":"uint256","name":"_prevId","type":"uint256"},{"internalType":"uint256","name":"_nextId","type":"uint256"}],"name":"findInsertPosition","outputs":[{"internalType":"uint256","name":"prevId","type":"uint256"},{"internalType":"uint256","name":"nextId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_collIndex","type":"uint256"},{"internalType":"uint256","name":"_interestRate","type":"uint256"},{"internalType":"uint256","name":"_numTrials","type":"uint256"},{"internalType":"uint256","name":"_inputRandomSeed","type":"uint256"}],"name":"getApproxHint","outputs":[{"internalType":"uint256","name":"hintId","type":"uint256"},{"internalType":"uint256","name":"diff","type":"uint256"},{"internalType":"uint256","name":"latestRandomSeed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_manager","type":"address"}],"name":"getBatchManagerInfo","outputs":[{"components":[{"internalType":"uint128","name":"minInterestRate","type":"uint128"},{"internalType":"uint128","name":"maxInterestRate","type":"uint128"},{"internalType":"uint256","name":"minInterestRateChangePeriod","type":"uint256"}],"internalType":"struct IBorrowerOperations.InterestBatchManager","name":"managerData","type":"tuple"},{"components":[{"internalType":"uint256","name":"entireDebtWithoutRedistribution","type":"uint256"},{"internalType":"uint256","name":"entireCollWithoutRedistribution","type":"uint256"},{"internalType":"uint256","name":"accruedInterest","type":"uint256"},{"internalType":"uint256","name":"recordedDebt","type":"uint256"},{"internalType":"uint256","name":"annualInterestRate","type":"uint256"},{"internalType":"uint256","name":"weightedRecordedDebt","type":"uint256"},{"internalType":"uint256","name":"annualManagementFee","type":"uint256"},{"internalType":"uint256","name":"accruedManagementFee","type":"uint256"},{"internalType":"uint256","name":"weightedRecordedBatchManagementFee","type":"uint256"},{"internalType":"uint256","name":"lastDebtUpdateTime","type":"uint256"},{"internalType":"uint256","name":"lastInterestRateAdjTime","type":"uint256"}],"internalType":"struct ITroveManager.LatestBatchData","name":"batchData","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_troveId","type":"uint256"},{"internalType":"uint256","name":"_acc","type":"uint256"},{"internalType":"uint256","name":"_iterations","type":"uint256"}],"name":"getDebtInFront","outputs":[{"internalType":"uint256","name":"next","type":"uint256"},{"internalType":"uint256","name":"debt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_troveId","type":"uint256"},{"internalType":"uint256","name":"_acc","type":"uint256"},{"internalType":"uint256","name":"_iterations","type":"uint256"},{"internalType":"uint256","name":"_targetIR","type":"uint256"}],"name":"getDebtInFrontByInterestRate","outputs":[{"internalType":"uint256","name":"next","type":"uint256"},{"internalType":"uint256","name":"debt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_numTroves","type":"uint256"}],"name":"getDebtInFrontByTroveNum","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"address","name":"_depositor","type":"address"}],"name":"getDepositorInfo","outputs":[{"internalType":"uint256","name":"compoundedBOLD","type":"uint256"},{"internalType":"uint256","name":"collGain","type":"uint256"},{"internalType":"uint256","name":"boldGain","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_collIndex","type":"uint256"},{"internalType":"uint256","name":"_interestRate","type":"uint256"},{"internalType":"uint256","name":"_numTrials","type":"uint256"},{"internalType":"uint256","name":"_inputRandomSeed","type":"uint256"}],"name":"getInsertPosition","outputs":[{"internalType":"uint256","name":"prevId","type":"uint256"},{"internalType":"uint256","name":"nextId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"}],"name":"getMarketData","outputs":[{"components":[{"internalType":"address","name":"market","type":"address"},{"internalType":"uint256","name":"CCR","type":"uint256"},{"internalType":"uint256","name":"MCR","type":"uint256"},{"internalType":"uint256","name":"SCR","type":"uint256"},{"internalType":"uint256","name":"BCR","type":"uint256"},{"internalType":"uint256","name":"LIQUIDATION_PENALTY_SP","type":"uint256"},{"internalType":"uint256","name":"LIQUIDATION_PENALTY_REDISTRIBUTION","type":"uint256"},{"internalType":"uint256","name":"entireSystemColl","type":"uint256"},{"internalType":"uint256","name":"entireSystemDebt","type":"uint256"},{"internalType":"address","name":"collToken","type":"address"},{"internalType":"address","name":"troveNFT","type":"address"},{"internalType":"address","name":"borrowerOperations","type":"address"},{"internalType":"address","name":"troveManager","type":"address"},{"internalType":"address","name":"stabilityPool","type":"address"},{"internalType":"address","name":"sortedTroves","type":"address"},{"internalType":"address","name":"collSurplusPool","type":"address"},{"internalType":"address","name":"activePool","type":"address"},{"internalType":"address","name":"hintHelpers","type":"address"},{"internalType":"address","name":"priceFeed","type":"address"},{"internalType":"uint256","name":"collPrice","type":"uint256"},{"internalType":"bool","name":"isShutDown","type":"bool"},{"internalType":"uint256","name":"boldDepositInSp","type":"uint256"}],"internalType":"struct LiquityV2View.MarketData","name":"data","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"int256","name":"_startIdx","type":"int256"},{"internalType":"uint256","name":"_count","type":"uint256"}],"name":"getMultipleSortedTroves","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"debt","type":"uint256"},{"internalType":"uint256","name":"coll","type":"uint256"},{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"annualInterestRate","type":"uint256"},{"internalType":"uint256","name":"lastDebtUpdateTime","type":"uint256"},{"internalType":"uint256","name":"lastInterestRateAdjTime","type":"uint256"},{"internalType":"address","name":"interestBatchManager","type":"address"},{"internalType":"uint256","name":"batchDebtShares","type":"uint256"},{"internalType":"uint256","name":"batchCollShares","type":"uint256"},{"internalType":"uint256","name":"snapshotETH","type":"uint256"},{"internalType":"uint256","name":"snapshotBoldDebt","type":"uint256"}],"internalType":"struct IMultiTroveGetter.CombinedTroveData[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_troveId","type":"uint256"},{"internalType":"uint256","name":"_iterations","type":"uint256"}],"name":"getNumOfTrovesInFrontOfTrove","outputs":[{"internalType":"uint256","name":"next","type":"uint256"},{"internalType":"uint256","name":"numTroves","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_troveId","type":"uint256"}],"name":"getTroveInfo","outputs":[{"components":[{"internalType":"uint256","name":"troveId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"collToken","type":"address"},{"internalType":"enum ITroveManager.Status","name":"status","type":"uint8"},{"internalType":"uint256","name":"collAmount","type":"uint256"},{"internalType":"uint256","name":"debtAmount","type":"uint256"},{"internalType":"uint256","name":"collPrice","type":"uint256"},{"internalType":"uint256","name":"TCRatio","type":"uint256"},{"internalType":"uint256","name":"annualInterestRate","type":"uint256"},{"internalType":"address","name":"interestBatchManager","type":"address"},{"internalType":"uint256","name":"batchDebtShares","type":"uint256"},{"internalType":"uint256","name":"lastInterestRateAdjTime","type":"uint256"}],"internalType":"struct LiquityV2View.TroveData","name":"trove","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_collIndex","type":"uint256"},{"internalType":"uint256","name":"_troveId","type":"uint256"},{"internalType":"uint256","name":"_numTrials","type":"uint256"},{"internalType":"uint256","name":"_inputRandomSeed","type":"uint256"}],"name":"getTrovePosition","outputs":[{"internalType":"uint256","name":"prevId","type":"uint256"},{"internalType":"uint256","name":"nextId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_startIndex","type":"uint256"},{"internalType":"uint256","name":"_endIndex","type":"uint256"}],"name":"getUserTroves","outputs":[{"components":[{"internalType":"uint256","name":"troveId","type":"uint256"},{"internalType":"bool","name":"ownedByUser","type":"bool"}],"internalType":"struct LiquityV2View.ExistingTrove[]","name":"troves","type":"tuple[]"},{"internalType":"int256","name":"nextFreeTroveIndex","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"}],"name":"isShutDown","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"},{"internalType":"uint256","name":"_collIndex","type":"uint256"},{"internalType":"uint256","name":"_troveId","type":"uint256"},{"internalType":"uint256","name":"_debtIncrease","type":"uint256"}],"name":"predictAdjustTroveUpfrontFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],
1123
+ "networks": {
1124
+ "1": {
1125
+ "address": "0x10B748Dc504C2515Bb6A9e23CB2F686090b6c584",
1126
+ }
1127
+ }
1128
+ },
1121
1129
  "LiquityV2CollSurplusPool": {
1122
1130
  "abi": [{"inputs":[{"internalType":"contract IAddressesRegistry","name":"_addressesRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newBorrowerOperationsAddress","type":"address"}],"name":"BorrowerOperationsAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"uint256","name":"_newBalance","type":"uint256"}],"name":"CollBalanceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"CollSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newTroveManagerAddress","type":"address"}],"name":"TroveManagerAddressChanged","type":"event"},{"inputs":[],"name":"NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"accountSurplus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"borrowerOperationsAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"claimColl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"collToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCollBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"getCollateral","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"troveManagerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],
1123
1131
  "networks": {}
package/src/contracts.ts CHANGED
@@ -130,5 +130,7 @@ export const MorphoBlueViewContract = createContractFromConfigFunc<ContractTypes
130
130
  export const LlamaLendViewContract = createContractFromConfigFunc<ContractTypes.LlamaLendView>('LlamaLendView');
131
131
 
132
132
  export const LiquityV2ViewContract = createContractFromConfigFunc<ContractTypes.LiquityV2View>('LiquityV2View');
133
+ export const LiquityV2LegacyViewContract = createContractFromConfigFunc<ContractTypes.LiquityV2LegacyView>('LiquityV2LegacyView');
134
+
133
135
  export const EulerV2ViewContract = createContractFromConfigFunc<ContractTypes.EulerV2View>('EulerV2View');
134
136
  export const FluidViewContract = createContractFromConfigFunc<ContractTypes.FluidView>('FluidView');
@@ -1,7 +1,7 @@
1
1
  import Web3 from 'web3';
2
2
  import Dec from 'decimal.js';
3
3
  import { assetAmountInEth, getAssetInfo } from '@defisaver/tokens';
4
- import { createContractWrapper, LiquityV2ViewContract } from '../contracts';
4
+ import { createContractWrapper, LiquityV2LegacyViewContract, LiquityV2ViewContract } from '../contracts';
5
5
  import { EthAddress, NetworkNumber } from '../types/common';
6
6
  import {
7
7
  InnerLiquityV2MarketData,
@@ -15,11 +15,19 @@ import { compareAddresses, ethToWeth, MAXUINT } from '../services/utils';
15
15
  import { LiquityV2View } from '../types/contracts/generated';
16
16
  import { ZERO_ADDRESS } from '../constants';
17
17
  import { LiquityV2Markets } from '../markets';
18
+ import { BaseContract } from '../types/contracts/generated/types';
19
+
20
+ const getLiquityV2ViewContract = (web3: Web3, network: NetworkNumber, isLegacy: boolean): BaseContract => {
21
+ if (isLegacy) return LiquityV2LegacyViewContract(web3, network);
22
+ return LiquityV2ViewContract(web3, network);
23
+ };
18
24
 
19
25
 
20
26
  export const getLiquityV2MarketData = async (web3: Web3, network: NetworkNumber, selectedMarket: LiquityV2MarketInfo, mainnetWeb3: Web3): Promise<LiquityV2MarketData> => {
21
- const viewContract = LiquityV2ViewContract(web3, network);
22
- const { marketAddress, debtToken, collateralToken } = selectedMarket;
27
+ const {
28
+ marketAddress, debtToken, collateralToken, isLegacy,
29
+ } = selectedMarket;
30
+ const viewContract = getLiquityV2ViewContract(web3, network, isLegacy);
23
31
  const data = await viewContract.methods.getMarketData(marketAddress).call();
24
32
  const hintHelperAddress = data.hintHelpers;
25
33
  const troveNFTAddress = data.troveNFT;
@@ -31,6 +39,7 @@ export const getLiquityV2MarketData = async (web3: Web3, network: NetworkNumber,
31
39
 
32
40
  const minCollRatio = new Dec(data.MCR).div(1e16).toString();
33
41
  const criticalCollRatio = new Dec(data.CCR).div(1e18).toString();
42
+ const batchCollRatio = new Dec(data.BCR || '0').div(1e16).toString();
34
43
 
35
44
  const totalMarketBorrow = assetAmountInEth(data.entireSystemDebt);
36
45
  const totalMarketSupply = assetAmountInEth(data.entireSystemColl);
@@ -76,6 +85,7 @@ export const getLiquityV2MarketData = async (web3: Web3, network: NetworkNumber,
76
85
  minCollRatio,
77
86
  totalCollRatio: new Dec(totalCollRatio).mul(100).toString(),
78
87
  criticalCollRatio: new Dec(criticalCollRatio).mul(100).toString(),
88
+ batchCollRatio,
79
89
  isUnderCollateralized: new Dec(totalCollRatio).lt(criticalCollRatio),
80
90
  hintHelperAddress,
81
91
  troveNFTAddress,
@@ -101,6 +111,7 @@ const getUserTroves = async (viewContract: any, account: EthAddress, marketAddre
101
111
 
102
112
  const TransferEventSig = '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef';
103
113
 
114
+ // TODO: add the rest of the markets
104
115
  const nftContractCreationBlockMapping = {
105
116
  ETH: 21686215,
106
117
  wstETH: 21686238,
@@ -132,7 +143,7 @@ const getTransferredTroves = async (web3: Web3, network: NetworkNumber, troveNFT
132
143
  };
133
144
 
134
145
  export const getLiquityV2UserTroveIds = async (web3: Web3, network: NetworkNumber, selectedMarket: LiquityV2MarketInfo, troveNFTAddress: EthAddress, limitBlocksForEventFetching: boolean, account: EthAddress): Promise<{ troves: { troveId: string }[], nextFreeTroveIndex: string }> => {
135
- const viewContract = LiquityV2ViewContract(web3, network);
146
+ const viewContract = getLiquityV2ViewContract(web3, network, selectedMarket.isLegacy);
136
147
  const [{ troves: userTroves, nextFreeTroveIndex }, userTransferredTroves] = await Promise.all([
137
148
  getUserTroves(viewContract, account, selectedMarket.marketAddress),
138
149
  getTransferredTroves(web3, network, troveNFTAddress, limitBlocksForEventFetching, selectedMarket.collateralToken, account),
@@ -175,7 +186,8 @@ const getUnbackedDebtForSingleMarket = async (totalBorrowed: string, web3: Web3,
175
186
  export const getAllMarketsUnbackedDebts = async (markets: Record<LiquityV2Versions, LiquityV2MarketData>, web3: Web3, network: NetworkNumber): Promise<Record<LiquityV2Versions, string>> => {
176
187
  const allMarketsUnbackedDebt = await Promise.all(Object.entries(markets).map(async ([version, market]) => {
177
188
  const { assetsData, marketData } = market;
178
- const unbackedDebt = await getUnbackedDebtForSingleMarket(assetsData.BOLD.totalBorrow, web3, network, marketData.stabilityPoolAddress);
189
+ const { debtToken } = LiquityV2Markets(network)[version as LiquityV2Versions];
190
+ const unbackedDebt = await getUnbackedDebtForSingleMarket(assetsData[debtToken].totalBorrow, web3, network, marketData.stabilityPoolAddress);
179
191
  return [version, unbackedDebt];
180
192
  }));
181
193
 
@@ -189,8 +201,9 @@ export const calculateDebtInFrontLiquityV2 = (markets: Record<LiquityV2Versions,
189
201
  const amountBeingReedemedOnEachMarket = Object.entries(markets).map(([version, market]) => {
190
202
  if (version === selectedMarket) return new Dec(interestRateDebtInFront);
191
203
  const { assetsData } = market;
204
+ const { debtToken } = LiquityV2Markets(NetworkNumber.Eth)[version as LiquityV2Versions];
192
205
  const unbackedDebt = new Dec(allMarketsUnbackedDebts[version as LiquityV2Versions]);
193
- const totalBorrow = new Dec(assetsData.BOLD.totalBorrow);
206
+ const totalBorrow = new Dec(assetsData[debtToken].totalBorrow);
194
207
  const amountToReedem = new Dec(interestRateDebtInFront).mul(unbackedDebt).div(selectedMarketUnbackedDebt);
195
208
  return Dec.min(amountToReedem, totalBorrow);
196
209
  });
@@ -228,7 +241,7 @@ export const getLiquityV2TroveData = async (
228
241
  allMarketsData: Record<LiquityV2Versions, LiquityV2MarketData>,
229
242
  },
230
243
  ): Promise<LiquityV2TroveData> => {
231
- const viewContract = LiquityV2ViewContract(web3, network);
244
+ const viewContract = getLiquityV2ViewContract(web3, network, selectedMarket.isLegacy);
232
245
  const { minCollRatio } = allMarketsData[selectedMarket.value].marketData;
233
246
  const { collateralToken, marketAddress, debtToken } = selectedMarket;
234
247
  const [_data, debtInFront] = await Promise.all([
@@ -12,7 +12,7 @@ export const morphoAaveV2AssetDefaultMarket = ['DAI', 'ETH', 'USDC', 'USDT', 'WB
12
12
  export const morphoAaveV3AssetEthMarket = ['ETH', 'wstETH', 'DAI', 'USDC', 'WBTC', 'rETH', 'cbETH', 'sDAI', 'USDT'];
13
13
 
14
14
  export const aaveV3AssetsDefaultMarketEth = [
15
- 'ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH', 'osETH', 'USDe', 'ETHx', 'sUSDe', 'tBTC', 'cbBTC', 'USDS', 'rsETH', 'LBTC', 'eBTC', 'RLUSD', 'PT eUSDe May', 'PT sUSDe July',
15
+ 'ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH', 'osETH', 'USDe', 'ETHx', 'sUSDe', 'tBTC', 'cbBTC', 'USDS', 'rsETH', 'LBTC', 'eBTC', 'RLUSD', 'PT eUSDe May', 'PT sUSDe July', 'USDtb',
16
16
  ];
17
17
  export const aaveV3AssetsDefaultMarketOpt = [
18
18
  'DAI', 'USDC.e', 'USDT', 'SUSD', 'AAVE', 'LINK', 'WBTC', 'ETH', 'OP', 'wstETH', 'LUSD', 'MAI', 'rETH', 'USDC',
@@ -10,8 +10,9 @@ export const LIQUITY_V2_ETH_MARKET = (networkId: NetworkNumber = NetworkNumber.E
10
10
  url: 'eth',
11
11
  debtToken: 'BOLD',
12
12
  collateralToken: 'ETH',
13
- marketAddress: '0x38e1f07b954cfab7239d7acab49997fbaad96476',
13
+ marketAddress: '0xde524be191de806011e98c8d36d50d7a88391a3e',
14
14
  protocolName: 'liquity-v2',
15
+ isLegacy: false,
15
16
  });
16
17
 
17
18
  export const LIQUITY_V2_WSTETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
@@ -22,8 +23,9 @@ export const LIQUITY_V2_WSTETH_MARKET = (networkId: NetworkNumber = NetworkNumbe
22
23
  url: 'wsteth',
23
24
  debtToken: 'BOLD',
24
25
  collateralToken: 'wstETH',
25
- marketAddress: '0x2d4ef56cb626e9a4c90c156018ba9ce269573c61',
26
+ marketAddress: '0x1649ccb966c90ff524a15231bc177d77a275fda1',
26
27
  protocolName: 'liquity-v2',
28
+ isLegacy: false,
27
29
  });
28
30
 
29
31
  export const LIQUITY_V2_RETH_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
@@ -34,14 +36,60 @@ export const LIQUITY_V2_RETH_MARKET = (networkId: NetworkNumber = NetworkNumber.
34
36
  url: 'reth',
35
37
  debtToken: 'BOLD',
36
38
  collateralToken: 'rETH',
39
+ marketAddress: '0x6809ac46fa55e4d86be368c589427684616f91c2',
40
+ protocolName: 'liquity-v2',
41
+ isLegacy: false,
42
+ });
43
+
44
+ // Legacy markets
45
+
46
+ export const LIQUITY_V2_ETH_LEGACY_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
47
+ chainIds: [NetworkNumber.Eth],
48
+ label: 'Liquity V2 ETH Legacy',
49
+ shortLabel: 'ETH Legacy',
50
+ value: LiquityV2Versions.LiquityV2EthLegacy,
51
+ url: 'eth-legacy',
52
+ debtToken: 'BOLD Legacy',
53
+ collateralToken: 'ETH',
54
+ marketAddress: '0x38e1f07b954cfab7239d7acab49997fbaad96476',
55
+ protocolName: 'liquity-v2',
56
+ isLegacy: true,
57
+ });
58
+
59
+ export const LIQUITY_V2_WSTETH_LEGACY_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
60
+ chainIds: [NetworkNumber.Eth],
61
+ label: 'Liquity V2 wstETH Legacy',
62
+ shortLabel: 'wstETH Legacy',
63
+ value: LiquityV2Versions.LiquityV2WstEthLegacy,
64
+ url: 'wsteth-legacy',
65
+ debtToken: 'BOLD Legacy',
66
+ collateralToken: 'wstETH',
67
+ marketAddress: '0x2d4ef56cb626e9a4c90c156018ba9ce269573c61',
68
+ protocolName: 'liquity-v2',
69
+ isLegacy: true,
70
+ });
71
+
72
+ export const LIQUITY_V2_RETH_LEGACY_MARKET = (networkId: NetworkNumber = NetworkNumber.Eth): LiquityV2MarketInfo => ({
73
+ chainIds: [NetworkNumber.Eth],
74
+ label: 'Liquity V2 rETH Legacy',
75
+ shortLabel: 'rETH Legacy',
76
+ value: LiquityV2Versions.LiquityV2REthLegacy,
77
+ url: 'reth-legacy',
78
+ debtToken: 'BOLD Legacy',
79
+ collateralToken: 'rETH',
37
80
  marketAddress: '0x3b48169809dd827f22c9e0f2d71ff12ea7a94a2f',
38
81
  protocolName: 'liquity-v2',
82
+ isLegacy: true,
39
83
  });
40
84
 
41
85
  export const LiquityV2Markets = (networkId: NetworkNumber) => ({
42
86
  [LiquityV2Versions.LiquityV2Eth]: LIQUITY_V2_ETH_MARKET(networkId),
43
87
  [LiquityV2Versions.LiquityV2WstEth]: LIQUITY_V2_WSTETH_MARKET(networkId),
44
88
  [LiquityV2Versions.LiquityV2REth]: LIQUITY_V2_RETH_MARKET(networkId),
89
+ // Legacy
90
+ [LiquityV2Versions.LiquityV2EthLegacy]: LIQUITY_V2_ETH_LEGACY_MARKET(networkId),
91
+ [LiquityV2Versions.LiquityV2WstEthLegacy]: LIQUITY_V2_WSTETH_LEGACY_MARKET(networkId),
92
+ [LiquityV2Versions.LiquityV2REthLegacy]: LIQUITY_V2_RETH_LEGACY_MARKET(networkId),
45
93
  }) as const;
46
94
 
47
95
  export const findLiquityV2MarketByAddress = (marketAddress: EthAddress) => {