@defisaver/positions-sdk 0.0.4 → 0.0.6

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 (88) hide show
  1. package/cjs/aaveV2/index.d.ts +2 -2
  2. package/cjs/aaveV2/index.js +5 -3
  3. package/cjs/chickenBonds/index.d.ts +4 -0
  4. package/cjs/chickenBonds/index.js +94 -1
  5. package/cjs/compoundV3/index.d.ts +2 -2
  6. package/cjs/compoundV3/index.js +8 -5
  7. package/cjs/config/contracts.d.ts +180 -2
  8. package/cjs/config/contracts.js +25 -1
  9. package/cjs/contracts.d.ts +4 -0
  10. package/cjs/contracts.js +5 -1
  11. package/cjs/helpers/chickenBondsHelpers/index.d.ts +2 -0
  12. package/cjs/helpers/chickenBondsHelpers/index.js +19 -0
  13. package/cjs/helpers/compoundHelpers/index.d.ts +2 -2
  14. package/cjs/helpers/compoundHelpers/index.js +5 -4
  15. package/cjs/helpers/index.d.ts +1 -0
  16. package/cjs/helpers/index.js +2 -1
  17. package/cjs/morphoAaveV2/index.d.ts +2 -2
  18. package/cjs/morphoAaveV2/index.js +5 -3
  19. package/cjs/services/priceService.d.ts +4 -0
  20. package/cjs/services/priceService.js +36 -0
  21. package/cjs/types/chickenBonds.d.ts +41 -0
  22. package/cjs/types/chickenBonds.js +13 -0
  23. package/cjs/types/contracts/generated/COMPPriceFeed.d.ts +135 -0
  24. package/cjs/types/contracts/generated/COMPPriceFeed.js +5 -0
  25. package/cjs/types/contracts/generated/ChickenBondsManager.d.ts +28 -0
  26. package/cjs/types/contracts/generated/ChickenBondsManager.js +5 -0
  27. package/cjs/types/contracts/generated/ChickenBondsView.d.ts +68 -0
  28. package/cjs/types/contracts/generated/ETHPriceFeed.d.ts +135 -0
  29. package/cjs/types/contracts/generated/ETHPriceFeed.js +5 -0
  30. package/cjs/types/contracts/generated/USDCPriceFeed.d.ts +135 -0
  31. package/cjs/types/contracts/generated/USDCPriceFeed.js +5 -0
  32. package/cjs/types/contracts/generated/index.d.ts +4 -0
  33. package/cjs/types/index.d.ts +1 -0
  34. package/cjs/types/index.js +1 -0
  35. package/esm/aaveV2/index.d.ts +2 -2
  36. package/esm/aaveV2/index.js +5 -3
  37. package/esm/chickenBonds/index.d.ts +4 -0
  38. package/esm/chickenBonds/index.js +89 -2
  39. package/esm/compoundV3/index.d.ts +2 -2
  40. package/esm/compoundV3/index.js +8 -5
  41. package/esm/config/contracts.d.ts +180 -2
  42. package/esm/config/contracts.js +25 -1
  43. package/esm/contracts.d.ts +4 -0
  44. package/esm/contracts.js +4 -0
  45. package/esm/helpers/chickenBondsHelpers/index.d.ts +2 -0
  46. package/esm/helpers/chickenBondsHelpers/index.js +11 -0
  47. package/esm/helpers/compoundHelpers/index.d.ts +2 -2
  48. package/esm/helpers/compoundHelpers/index.js +5 -4
  49. package/esm/helpers/index.d.ts +1 -0
  50. package/esm/helpers/index.js +1 -0
  51. package/esm/morphoAaveV2/index.d.ts +2 -2
  52. package/esm/morphoAaveV2/index.js +5 -3
  53. package/esm/services/priceService.d.ts +4 -0
  54. package/esm/services/priceService.js +27 -0
  55. package/esm/types/chickenBonds.d.ts +41 -0
  56. package/esm/types/chickenBonds.js +10 -0
  57. package/esm/types/contracts/generated/COMPPriceFeed.d.ts +135 -0
  58. package/esm/types/contracts/generated/COMPPriceFeed.js +4 -0
  59. package/esm/types/contracts/generated/ChickenBondsManager.d.ts +28 -0
  60. package/esm/types/contracts/generated/ChickenBondsManager.js +4 -0
  61. package/esm/types/contracts/generated/ChickenBondsView.d.ts +68 -0
  62. package/esm/types/contracts/generated/ETHPriceFeed.d.ts +135 -0
  63. package/esm/types/contracts/generated/ETHPriceFeed.js +4 -0
  64. package/esm/types/contracts/generated/USDCPriceFeed.d.ts +135 -0
  65. package/esm/types/contracts/generated/USDCPriceFeed.js +4 -0
  66. package/esm/types/contracts/generated/index.d.ts +4 -0
  67. package/esm/types/index.d.ts +1 -0
  68. package/esm/types/index.js +1 -0
  69. package/package.json +1 -1
  70. package/src/aaveV2/index.ts +5 -3
  71. package/src/chickenBonds/index.ts +103 -1
  72. package/src/compoundV3/index.ts +8 -5
  73. package/src/config/contracts.js +26 -2
  74. package/src/contracts.ts +7 -1
  75. package/src/helpers/chickenBondsHelpers/index.ts +13 -0
  76. package/src/helpers/compoundHelpers/index.ts +5 -2
  77. package/src/helpers/index.ts +2 -1
  78. package/src/morphoAaveV2/index.ts +5 -3
  79. package/src/services/priceService.ts +22 -0
  80. package/src/types/chickenBonds.ts +45 -0
  81. package/src/types/contracts/generated/COMPPriceFeed.ts +202 -0
  82. package/src/types/contracts/generated/ChickenBondsManager.ts +59 -0
  83. package/src/types/contracts/generated/ChickenBondsView.ts +88 -0
  84. package/src/types/contracts/generated/ETHPriceFeed.ts +202 -0
  85. package/src/types/contracts/generated/USDCPriceFeed.ts +202 -0
  86. package/src/types/contracts/generated/index.ts +4 -0
  87. package/src/types/index.ts +2 -1
  88. package/yarn-error.log +0 -64
@@ -584,12 +584,36 @@ module.exports = {
584
584
  }
585
585
  },
586
586
  "ChickenBondsView": {
587
- "abi": [{"inputs":[{"internalType":"uint256","name":"_bondID","type":"uint256"}],"name":"getBondFullInfo","outputs":[{"components":[{"internalType":"uint256","name":"bondID","type":"uint256"},{"internalType":"uint256","name":"lusdAmount","type":"uint256"},{"internalType":"uint64","name":"claimedBLUSD","type":"uint64"},{"internalType":"uint256","name":"accruedBLUSD","type":"uint256"},{"internalType":"uint256","name":"maxAmountBLUSD","type":"uint256"},{"internalType":"uint64","name":"startTime","type":"uint64"},{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"enum IChickenBondManager.BondStatus","name":"status","type":"uint8"},{"internalType":"string","name":"tokenURI","type":"string"}],"internalType":"struct ChickenBondsView.BondDataFull","name":"bond","type":"tuple"}],"stateMutability":"view","type":"function"}],
587
+ "abi": [{"inputs":[],"name":"BorrowerOperations","outputs":[{"internalType":"contract IBorrowerOperations","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CBManager","outputs":[{"internalType":"contract IChickenBondManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CollSurplusPool","outputs":[{"internalType":"contract ICollSurplusPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"HintHelpers","outputs":[{"internalType":"contract IHintHelpers","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LQTYStaking","outputs":[{"internalType":"contract ILQTYStaking","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LUSD_GAS_COMPENSATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PriceFeed","outputs":[{"internalType":"contract IPriceFeed","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SortedTroves","outputs":[{"internalType":"contract ISortedTroves","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"StabilityPool","outputs":[{"internalType":"contract IStabilityPool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TroveManager","outputs":[{"internalType":"contract ITroveManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_bondID","type":"uint256"}],"name":"getBondFullInfo","outputs":[{"components":[{"internalType":"uint256","name":"bondID","type":"uint256"},{"internalType":"uint256","name":"lusdAmount","type":"uint256"},{"internalType":"uint64","name":"claimedBLUSD","type":"uint64"},{"internalType":"uint256","name":"accruedBLUSD","type":"uint256"},{"internalType":"uint256","name":"maxAmountBLUSD","type":"uint256"},{"internalType":"uint64","name":"startTime","type":"uint64"},{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"enum IChickenBondManager.BondStatus","name":"status","type":"uint8"},{"internalType":"string","name":"tokenURI","type":"string"}],"internalType":"struct ChickenBondsView.BondDataFull","name":"bond","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSystemInfo","outputs":[{"components":[{"internalType":"uint256","name":"totalPendingLUSD","type":"uint256"},{"internalType":"uint256","name":"totalReserveLUSD","type":"uint256"},{"internalType":"uint256","name":"totalPermanentLUSD","type":"uint256"},{"internalType":"uint256","name":"ownedLUSDInSP","type":"uint256"},{"internalType":"uint256","name":"ownedLUSDInCurve","type":"uint256"},{"internalType":"uint256","name":"systemBackingRatio","type":"uint256"},{"internalType":"uint256","name":"accrualParameter","type":"uint256"},{"internalType":"uint256","name":"chickenInAMMFee","type":"uint256"},{"internalType":"uint256","name":"numPendingBonds","type":"uint256"},{"internalType":"uint256","name":"numChickenInBonds","type":"uint256"},{"internalType":"uint256","name":"numChickenOutBonds","type":"uint256"},{"internalType":"uint256","name":"bLUSDSupply","type":"uint256"}],"internalType":"struct ChickenBondsView.ChickenBondsSystemInfo","name":"systemInfo","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_userAddr","type":"address"}],"name":"getUsersBonds","outputs":[{"components":[{"internalType":"uint256","name":"bondID","type":"uint256"},{"internalType":"uint256","name":"lusdAmount","type":"uint256"},{"internalType":"uint64","name":"claimedBLUSD","type":"uint64"},{"internalType":"uint256","name":"accruedBLUSD","type":"uint256"},{"internalType":"uint256","name":"maxAmountBLUSD","type":"uint256"},{"internalType":"uint64","name":"startTime","type":"uint64"},{"internalType":"uint64","name":"endTime","type":"uint64"},{"internalType":"enum IChickenBondManager.BondStatus","name":"status","type":"uint8"},{"internalType":"string","name":"tokenURI","type":"string"}],"internalType":"struct ChickenBondsView.BondDataFull[]","name":"bonds","type":"tuple[]"}],"stateMutability":"view","type":"function"}],
588
588
  "networks": {
589
- "1": {
589
+ "1": {
590
590
  "address": "0x809a93fd4a0d7d7906Ef6176f0b5518b418Da08f",
591
591
  "createdBlock": 15739450
592
592
  }
593
593
  }
594
+ },
595
+ "ChickenBondsManager": {
596
+ "abi": [{"inputs":[{"internalType":"uint256","name":"_bondID","type":"uint256"}],"name":"chickenIn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_bondID","type":"uint256"},{"internalType":"uint256","name":"_minLUSD","type":"uint256"}],"name":"chickenOut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lusdAmount","type":"uint256"}],"name":"createBond","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAcquiredLUSDInCurve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAcquiredLUSDInSP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_bLUSDToRedeem","type":"uint256"},{"internalType":"uint256","name":"_minLUSDFromBAMMSPVault","type":"uint256"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalWeightedStartTimes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"yTokensHeldByCBM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],
597
+ "networks": {
598
+ "1": { "address": "0x57619FE9C539f890b19c61812226F9703ce37137" }
599
+ }
600
+ },
601
+ "COMPPriceFeed": {
602
+ "abi": [{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"},{"internalType":"address","name":"_accessController","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"int256","name":"current","type":"int256"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"updatedAt","type":"uint256"}],"name":"AnswerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":true,"internalType":"address","name":"startedBy","type":"address"},{"indexed":false,"internalType":"uint256","name":"startedAt","type":"uint256"}],"name":"NewRound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"accessController","outputs":[{"internalType":"contract AccessControllerInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aggregator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"}],"name":"confirmAggregator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestAnswer","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"}],"name":"phaseAggregators","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"phaseId","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"}],"name":"proposeAggregator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"proposedAggregator","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"proposedGetRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposedLatestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_accessController","type":"address"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],
603
+ "networks": {
604
+ "1": { "address": "0xdbd020CAeF83eFd542f4De03e3cF0C28A4428bd5" }
605
+ }
606
+ },
607
+ "ETHPriceFeed": {
608
+ "abi": [{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"},{"internalType":"address","name":"_accessController","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"int256","name":"current","type":"int256"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"updatedAt","type":"uint256"}],"name":"AnswerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":true,"internalType":"address","name":"startedBy","type":"address"},{"indexed":false,"internalType":"uint256","name":"startedAt","type":"uint256"}],"name":"NewRound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"accessController","outputs":[{"internalType":"contract AccessControllerInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aggregator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"}],"name":"confirmAggregator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestAnswer","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"}],"name":"phaseAggregators","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"phaseId","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"}],"name":"proposeAggregator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"proposedAggregator","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"proposedGetRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposedLatestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_accessController","type":"address"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],
609
+ "networks": {
610
+ "1": { "address": "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419" }
611
+ },
612
+ },
613
+ "USDCPriceFeed": {
614
+ "abi": [{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"},{"internalType":"address","name":"_accessController","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"int256","name":"current","type":"int256"},{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"updatedAt","type":"uint256"}],"name":"AnswerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"roundId","type":"uint256"},{"indexed":true,"internalType":"address","name":"startedBy","type":"address"},{"indexed":false,"internalType":"uint256","name":"startedAt","type":"uint256"}],"name":"NewRound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"accessController","outputs":[{"internalType":"contract AccessControllerInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aggregator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"}],"name":"confirmAggregator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getAnswer","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_roundId","type":"uint256"}],"name":"getTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestAnswer","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"","type":"uint16"}],"name":"phaseAggregators","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"phaseId","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_aggregator","type":"address"}],"name":"proposeAggregator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"proposedAggregator","outputs":[{"internalType":"contract AggregatorV2V3Interface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"proposedGetRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proposedLatestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_accessController","type":"address"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],
615
+ "networks": {
616
+ "1": { "address": "0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6" }
617
+ }
594
618
  }
595
619
  }
package/src/contracts.ts CHANGED
@@ -92,4 +92,10 @@ export const McdSpotterContract = createContractFromConfigFunc<ContractTypes.Mcd
92
92
  export const McdDogContract = createContractFromConfigFunc<ContractTypes.McdDog>('McdDog');
93
93
  export const McdJugContract = createContractFromConfigFunc<ContractTypes.McdJug>('McdJug');
94
94
  export const McdVatContract = createContractFromConfigFunc<ContractTypes.McdVat>('McdVat');
95
- export const ChickenBondsViewContract = createContractFromConfigFunc<ContractTypes.ChickenBondsView>('ChickenBondsView');
95
+
96
+ export const ChickenBondsViewContract = createContractFromConfigFunc<ContractTypes.ChickenBondsView>('ChickenBondsView');
97
+ export const ChickenBondsManagerContract = createContractFromConfigFunc<ContractTypes.ChickenBondsManager>('ChickenBondsManager');
98
+
99
+ export const ETHPriceFeedContract = createContractFromConfigFunc<ContractTypes.ETHPriceFeed>('ETHPriceFeed');
100
+ export const COMPPriceFeedContract = createContractFromConfigFunc<ContractTypes.COMPPriceFeed>('COMPPriceFeed');
101
+ export const USDCPriceFeedContract = createContractFromConfigFunc<ContractTypes.USDCPriceFeed>('USDCPriceFeed');
@@ -0,0 +1,13 @@
1
+ import Dec from 'decimal.js';
2
+
3
+ export const calcCBondsBLUSDFloorPrice = (bLUSDSupply: string, totalReserveLUSD: string) => {
4
+ if (new Dec(bLUSDSupply).eq(0)) return '1';
5
+ return new Dec(totalReserveLUSD).div(bLUSDSupply).toString();
6
+ };
7
+
8
+ export const calcAverageBondAgeMs = (totalWeightedStartTimes: string, totalPendingLusd: string) => {
9
+ const averageStartTimeMs = new Dec(totalWeightedStartTimes).div(totalPendingLusd).round().mul(1000)
10
+ .toNumber();
11
+
12
+ return Date.now() - averageStartTimeMs;
13
+ };
@@ -11,12 +11,14 @@ import {
11
11
  import { calculateNetApy } from '../../staking';
12
12
  import { NetworkNumber } from '../../types/common';
13
13
 
14
- export const formatMarketData = (data: any, network: NetworkNumber): CompoundV3AssetData => {
14
+ export const formatMarketData = (data: any, network: NetworkNumber, baseAssetPrice: string): CompoundV3AssetData => {
15
15
  const assetInfo = getAssetInfoByAddress(data.tokenAddr, network);
16
16
  const isWETH = assetInfo.symbol === 'WETH';
17
+ const price = getEthAmountForDecimals(data.price, 8);
17
18
  return ({
18
19
  ...data,
19
20
  price: getEthAmountForDecimals(data.price, 8),
21
+ priceUSD: new Dec(price).mul(baseAssetPrice).toString(),
20
22
  collateralFactor: getEthAmountForDecimals(data.borrowCollateralFactor, 18),
21
23
  liquidationRatio: getEthAmountForDecimals(data.liquidateCollateralFactor, 18),
22
24
  supplyCap: getEthAmountForDecimals(data.supplyCap, assetInfo.decimals),
@@ -30,7 +32,7 @@ export const formatMarketData = (data: any, network: NetworkNumber): CompoundV3A
30
32
  };
31
33
 
32
34
  // TODO: maybe not hardcode decimals
33
- export const formatBaseData = (data: any, network: NetworkNumber): CompoundV3AssetData & BaseAdditionalAssetData => {
35
+ export const formatBaseData = (data: any, network: NetworkNumber, baseAssetPrice: string): CompoundV3AssetData & BaseAdditionalAssetData => {
34
36
  const assetInfo = getAssetInfoByAddress(data.tokenAddr, network);
35
37
  const totalSupply = getEthAmountForDecimals(new Dec(data.totalSupply).mul(data.supplyIndex).toString(), 15 + assetInfo.decimals);
36
38
  const totalBorrow = getEthAmountForDecimals(new Dec(data.totalBorrow).mul(data.borrowIndex).toString(), 15 + assetInfo.decimals);
@@ -46,6 +48,7 @@ export const formatBaseData = (data: any, network: NetworkNumber): CompoundV3Ass
46
48
  marketLiquidity: new Dec(totalSupply).minus(totalBorrow).toString(),
47
49
  symbol: wethToEth(assetInfo.symbol),
48
50
  price: getEthAmountForDecimals(data.price, 8),
51
+ priceUSD: baseAssetPrice,
49
52
  collateralFactor: '0',
50
53
  liquidationRatio: '0',
51
54
  canBeBorrowed: true,
@@ -2,4 +2,5 @@ export * as aaveHelpers from './aaveHelpers';
2
2
  export * as compoundHelpers from './compoundHelpers';
3
3
  export * as sparkHelpers from './sparkHelpers';
4
4
  export * as curveUsdHelpers from './curveUsdHelpers';
5
- export * as makerHelpers from './makerHelpers';
5
+ export * as makerHelpers from './makerHelpers';
6
+ export * as chickenBondsHelpers from './chickenBondsHelpers';
@@ -14,8 +14,10 @@ import {
14
14
  import { calculateBorrowingAssetLimit } from '../moneymarket';
15
15
  import { EMPTY_AAVE_DATA } from '../aaveV3';
16
16
  import { aaveAnyGetAggregatedPositionData } from '../helpers/aaveHelpers';
17
+ import { getEthPrice } from '../services/priceService';
17
18
 
18
- export const getMorphoAaveV2MarketsData = async (web3: Web3, network: NetworkNumber, ethPrice: string, mainnetWeb3: Web3): Promise<MorphoAaveV2MarketData> => {
19
+ export const getMorphoAaveV2MarketsData = async (web3: Web3, network: NetworkNumber, mainnetWeb3: Web3): Promise<MorphoAaveV2MarketData> => {
20
+ const ethPrice = await getEthPrice(mainnetWeb3);
19
21
  const morphoAaveV2ViewContract = MorphoAaveV2ViewContract(web3, network);
20
22
 
21
23
  const [contractData, morphoRewardsRes] = await Promise.allSettled([
@@ -246,8 +248,8 @@ export const getMorphoAaveV2AccountData = async (web3: Web3, network: NetworkNum
246
248
  return payload;
247
249
  };
248
250
 
249
- export const getMorphoAaveV2FullPositionData = async (web3: Web3, network: NetworkNumber, address: string, ethPrice: string, mainnetWeb3: Web3): Promise<MorphoAaveV2PositionData> => {
250
- const marketData = await getMorphoAaveV2MarketsData(web3, network, ethPrice, mainnetWeb3);
251
+ export const getMorphoAaveV2FullPositionData = async (web3: Web3, network: NetworkNumber, address: string, mainnetWeb3: Web3): Promise<MorphoAaveV2PositionData> => {
252
+ const marketData = await getMorphoAaveV2MarketsData(web3, network, mainnetWeb3);
251
253
  const positionData = await getMorphoAaveV2AccountData(web3, network, address, marketData.assetsData);
252
254
  return positionData;
253
255
  };
@@ -0,0 +1,22 @@
1
+ import Web3 from 'web3';
2
+ import Dec from 'decimal.js';
3
+ import { COMPPriceFeedContract, ETHPriceFeedContract, USDCPriceFeedContract } from '../contracts';
4
+ import { NetworkNumber } from '../types/common';
5
+
6
+ export const getEthPrice = async (web3: Web3) => {
7
+ const contract = ETHPriceFeedContract(web3, NetworkNumber.Eth);
8
+ const price = await contract.methods.latestAnswer().call();
9
+ return new Dec(price).div(1e8).toString();
10
+ };
11
+
12
+ export const getUSDCPrice = async (web3: Web3) => {
13
+ const contract = USDCPriceFeedContract(web3, NetworkNumber.Eth);
14
+ const price = await contract.methods.latestAnswer().call();
15
+ return new Dec(price).div(1e8).toString();
16
+ };
17
+
18
+ export const getCompPrice = async (web3: Web3) => {
19
+ const contract = COMPPriceFeedContract(web3, NetworkNumber.Eth);
20
+ const price = await contract.methods.latestAnswer().call();
21
+ return new Dec(price).div(1e8).toString();
22
+ };
@@ -0,0 +1,45 @@
1
+ export type ChickenBondsSystemInfoStructOutputStruct = {
2
+ totalPendingLUSD: string;
3
+ totalReserveLUSD: string;
4
+ totalPermanentLUSD: string;
5
+ ownedLUSDInSP: string;
6
+ ownedLUSDInCurve: string;
7
+ systemBackingRatio: string;
8
+ accrualParameter: string;
9
+ chickenInAMMFee: string;
10
+ numPendingBonds: string;
11
+ numChickenInBonds: string;
12
+ numChickenOutBonds: string;
13
+ bLUSDSupply: string;
14
+ };
15
+
16
+ export interface ChickenBondsSystemInfoBasic extends ChickenBondsSystemInfoStructOutputStruct {
17
+ totalWeightedStartTimes: string
18
+ targetAverageAgeMs: number
19
+ acquiredLUSDInSP: string
20
+ acquiredLUSDInCurve: string
21
+ yTokensHeldByCBM: string
22
+ floorPrice: string
23
+ averageBondAgeMs: number
24
+ }
25
+
26
+ export interface BondInfoBasic {
27
+ bondId: string,
28
+ status: string,
29
+ startTime: Date,
30
+ endTime: Date,
31
+ accruedBLUSD: string,
32
+ claimedBLUSD: string,
33
+ lusdAmount: string,
34
+ maxAmountBLUSD: string,
35
+ }
36
+
37
+ export enum BondStatus {
38
+ // Order [0, 3] is set on contract
39
+ Nonexistent = '0',
40
+ Active = '1',
41
+ ChickenedOut = '2',
42
+ ChickenedIn = '3',
43
+ BrokeEven = '4',
44
+ Rebondable = '5',
45
+ }
@@ -0,0 +1,202 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type BN from "bn.js";
6
+ import type { ContractOptions } from "web3-eth-contract";
7
+ import type { EventLog } from "web3-core";
8
+ import type { EventEmitter } from "events";
9
+ import type {
10
+ Callback,
11
+ PayableTransactionObject,
12
+ NonPayableTransactionObject,
13
+ BlockType,
14
+ ContractEventLog,
15
+ BaseContract,
16
+ } from "./types";
17
+
18
+ export interface EventOptions {
19
+ filter?: object;
20
+ fromBlock?: BlockType;
21
+ topics?: string[];
22
+ }
23
+
24
+ export type AnswerUpdated = ContractEventLog<{
25
+ current: string;
26
+ roundId: string;
27
+ updatedAt: string;
28
+ 0: string;
29
+ 1: string;
30
+ 2: string;
31
+ }>;
32
+ export type NewRound = ContractEventLog<{
33
+ roundId: string;
34
+ startedBy: string;
35
+ startedAt: string;
36
+ 0: string;
37
+ 1: string;
38
+ 2: string;
39
+ }>;
40
+ export type OwnershipTransferRequested = ContractEventLog<{
41
+ from: string;
42
+ to: string;
43
+ 0: string;
44
+ 1: string;
45
+ }>;
46
+ export type OwnershipTransferred = ContractEventLog<{
47
+ from: string;
48
+ to: string;
49
+ 0: string;
50
+ 1: string;
51
+ }>;
52
+
53
+ export interface COMPPriceFeed extends BaseContract {
54
+ constructor(
55
+ jsonInterface: any[],
56
+ address?: string,
57
+ options?: ContractOptions
58
+ ): COMPPriceFeed;
59
+ clone(): COMPPriceFeed;
60
+ methods: {
61
+ acceptOwnership(): NonPayableTransactionObject<void>;
62
+
63
+ accessController(): NonPayableTransactionObject<string>;
64
+
65
+ aggregator(): NonPayableTransactionObject<string>;
66
+
67
+ confirmAggregator(_aggregator: string): NonPayableTransactionObject<void>;
68
+
69
+ decimals(): NonPayableTransactionObject<string>;
70
+
71
+ description(): NonPayableTransactionObject<string>;
72
+
73
+ getAnswer(
74
+ _roundId: number | string | BN
75
+ ): NonPayableTransactionObject<string>;
76
+
77
+ getRoundData(
78
+ _roundId: number | string | BN
79
+ ): NonPayableTransactionObject<
80
+ [string, string, string, string, string] & {
81
+ roundId: string;
82
+ answer: string;
83
+ startedAt: string;
84
+ updatedAt: string;
85
+ answeredInRound: string;
86
+ }
87
+ >;
88
+
89
+ getTimestamp(
90
+ _roundId: number | string | BN
91
+ ): NonPayableTransactionObject<string>;
92
+
93
+ latestAnswer(): NonPayableTransactionObject<string>;
94
+
95
+ latestRound(): NonPayableTransactionObject<string>;
96
+
97
+ latestRoundData(): NonPayableTransactionObject<
98
+ [string, string, string, string, string] & {
99
+ roundId: string;
100
+ answer: string;
101
+ startedAt: string;
102
+ updatedAt: string;
103
+ answeredInRound: string;
104
+ }
105
+ >;
106
+
107
+ latestTimestamp(): NonPayableTransactionObject<string>;
108
+
109
+ owner(): NonPayableTransactionObject<string>;
110
+
111
+ phaseAggregators(
112
+ arg0: number | string | BN
113
+ ): NonPayableTransactionObject<string>;
114
+
115
+ phaseId(): NonPayableTransactionObject<string>;
116
+
117
+ proposeAggregator(_aggregator: string): NonPayableTransactionObject<void>;
118
+
119
+ proposedAggregator(): NonPayableTransactionObject<string>;
120
+
121
+ proposedGetRoundData(
122
+ _roundId: number | string | BN
123
+ ): NonPayableTransactionObject<
124
+ [string, string, string, string, string] & {
125
+ roundId: string;
126
+ answer: string;
127
+ startedAt: string;
128
+ updatedAt: string;
129
+ answeredInRound: string;
130
+ }
131
+ >;
132
+
133
+ proposedLatestRoundData(): NonPayableTransactionObject<
134
+ [string, string, string, string, string] & {
135
+ roundId: string;
136
+ answer: string;
137
+ startedAt: string;
138
+ updatedAt: string;
139
+ answeredInRound: string;
140
+ }
141
+ >;
142
+
143
+ setController(_accessController: string): NonPayableTransactionObject<void>;
144
+
145
+ transferOwnership(_to: string): NonPayableTransactionObject<void>;
146
+
147
+ version(): NonPayableTransactionObject<string>;
148
+ };
149
+ events: {
150
+ AnswerUpdated(cb?: Callback<AnswerUpdated>): EventEmitter;
151
+ AnswerUpdated(
152
+ options?: EventOptions,
153
+ cb?: Callback<AnswerUpdated>
154
+ ): EventEmitter;
155
+
156
+ NewRound(cb?: Callback<NewRound>): EventEmitter;
157
+ NewRound(options?: EventOptions, cb?: Callback<NewRound>): EventEmitter;
158
+
159
+ OwnershipTransferRequested(
160
+ cb?: Callback<OwnershipTransferRequested>
161
+ ): EventEmitter;
162
+ OwnershipTransferRequested(
163
+ options?: EventOptions,
164
+ cb?: Callback<OwnershipTransferRequested>
165
+ ): EventEmitter;
166
+
167
+ OwnershipTransferred(cb?: Callback<OwnershipTransferred>): EventEmitter;
168
+ OwnershipTransferred(
169
+ options?: EventOptions,
170
+ cb?: Callback<OwnershipTransferred>
171
+ ): EventEmitter;
172
+
173
+ allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;
174
+ };
175
+
176
+ once(event: "AnswerUpdated", cb: Callback<AnswerUpdated>): void;
177
+ once(
178
+ event: "AnswerUpdated",
179
+ options: EventOptions,
180
+ cb: Callback<AnswerUpdated>
181
+ ): void;
182
+
183
+ once(event: "NewRound", cb: Callback<NewRound>): void;
184
+ once(event: "NewRound", options: EventOptions, cb: Callback<NewRound>): void;
185
+
186
+ once(
187
+ event: "OwnershipTransferRequested",
188
+ cb: Callback<OwnershipTransferRequested>
189
+ ): void;
190
+ once(
191
+ event: "OwnershipTransferRequested",
192
+ options: EventOptions,
193
+ cb: Callback<OwnershipTransferRequested>
194
+ ): void;
195
+
196
+ once(event: "OwnershipTransferred", cb: Callback<OwnershipTransferred>): void;
197
+ once(
198
+ event: "OwnershipTransferred",
199
+ options: EventOptions,
200
+ cb: Callback<OwnershipTransferred>
201
+ ): void;
202
+ }
@@ -0,0 +1,59 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type BN from "bn.js";
6
+ import type { ContractOptions } from "web3-eth-contract";
7
+ import type { EventLog } from "web3-core";
8
+ import type { EventEmitter } from "events";
9
+ import type {
10
+ Callback,
11
+ PayableTransactionObject,
12
+ NonPayableTransactionObject,
13
+ BlockType,
14
+ ContractEventLog,
15
+ BaseContract,
16
+ } from "./types";
17
+
18
+ export interface EventOptions {
19
+ filter?: object;
20
+ fromBlock?: BlockType;
21
+ topics?: string[];
22
+ }
23
+
24
+ export interface ChickenBondsManager extends BaseContract {
25
+ constructor(
26
+ jsonInterface: any[],
27
+ address?: string,
28
+ options?: ContractOptions
29
+ ): ChickenBondsManager;
30
+ clone(): ChickenBondsManager;
31
+ methods: {
32
+ chickenIn(_bondID: number | string | BN): NonPayableTransactionObject<void>;
33
+
34
+ chickenOut(
35
+ _bondID: number | string | BN,
36
+ _minLUSD: number | string | BN
37
+ ): NonPayableTransactionObject<void>;
38
+
39
+ createBond(
40
+ _lusdAmount: number | string | BN
41
+ ): NonPayableTransactionObject<string>;
42
+
43
+ getAcquiredLUSDInCurve(): NonPayableTransactionObject<string>;
44
+
45
+ getAcquiredLUSDInSP(): NonPayableTransactionObject<string>;
46
+
47
+ redeem(
48
+ _bLUSDToRedeem: number | string | BN,
49
+ _minLUSDFromBAMMSPVault: number | string | BN
50
+ ): NonPayableTransactionObject<[string, string]>;
51
+
52
+ totalWeightedStartTimes(): NonPayableTransactionObject<string>;
53
+
54
+ yTokensHeldByCBM(): NonPayableTransactionObject<string>;
55
+ };
56
+ events: {
57
+ allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;
58
+ };
59
+ }
@@ -70,6 +70,68 @@ export declare namespace ChickenBondsView {
70
70
  };
71
71
  export type BondDataFullStructOutput = BondDataFullStructOutputArray &
72
72
  BondDataFullStructOutputStruct;
73
+
74
+ export type ChickenBondsSystemInfoStruct =
75
+ | [
76
+ number | string | BN,
77
+ number | string | BN,
78
+ number | string | BN,
79
+ number | string | BN,
80
+ number | string | BN,
81
+ number | string | BN,
82
+ number | string | BN,
83
+ number | string | BN,
84
+ number | string | BN,
85
+ number | string | BN,
86
+ number | string | BN,
87
+ number | string | BN
88
+ ]
89
+ | {
90
+ totalPendingLUSD: number | string | BN;
91
+ totalReserveLUSD: number | string | BN;
92
+ totalPermanentLUSD: number | string | BN;
93
+ ownedLUSDInSP: number | string | BN;
94
+ ownedLUSDInCurve: number | string | BN;
95
+ systemBackingRatio: number | string | BN;
96
+ accrualParameter: number | string | BN;
97
+ chickenInAMMFee: number | string | BN;
98
+ numPendingBonds: number | string | BN;
99
+ numChickenInBonds: number | string | BN;
100
+ numChickenOutBonds: number | string | BN;
101
+ bLUSDSupply: number | string | BN;
102
+ };
103
+
104
+ export type ChickenBondsSystemInfoStructOutputArray = [
105
+ string,
106
+ string,
107
+ string,
108
+ string,
109
+ string,
110
+ string,
111
+ string,
112
+ string,
113
+ string,
114
+ string,
115
+ string,
116
+ string
117
+ ];
118
+ export type ChickenBondsSystemInfoStructOutputStruct = {
119
+ totalPendingLUSD: string;
120
+ totalReserveLUSD: string;
121
+ totalPermanentLUSD: string;
122
+ ownedLUSDInSP: string;
123
+ ownedLUSDInCurve: string;
124
+ systemBackingRatio: string;
125
+ accrualParameter: string;
126
+ chickenInAMMFee: string;
127
+ numPendingBonds: string;
128
+ numChickenInBonds: string;
129
+ numChickenOutBonds: string;
130
+ bLUSDSupply: string;
131
+ };
132
+ export type ChickenBondsSystemInfoStructOutput =
133
+ ChickenBondsSystemInfoStructOutputArray &
134
+ ChickenBondsSystemInfoStructOutputStruct;
73
135
  }
74
136
 
75
137
  export interface ChickenBondsView extends BaseContract {
@@ -80,9 +142,35 @@ export interface ChickenBondsView extends BaseContract {
80
142
  ): ChickenBondsView;
81
143
  clone(): ChickenBondsView;
82
144
  methods: {
145
+ BorrowerOperations(): NonPayableTransactionObject<string>;
146
+
147
+ CBManager(): NonPayableTransactionObject<string>;
148
+
149
+ CollSurplusPool(): NonPayableTransactionObject<string>;
150
+
151
+ HintHelpers(): NonPayableTransactionObject<string>;
152
+
153
+ LQTYStaking(): NonPayableTransactionObject<string>;
154
+
155
+ LUSD_GAS_COMPENSATION(): NonPayableTransactionObject<string>;
156
+
157
+ PriceFeed(): NonPayableTransactionObject<string>;
158
+
159
+ SortedTroves(): NonPayableTransactionObject<string>;
160
+
161
+ StabilityPool(): NonPayableTransactionObject<string>;
162
+
163
+ TroveManager(): NonPayableTransactionObject<string>;
164
+
83
165
  getBondFullInfo(
84
166
  _bondID: number | string | BN
85
167
  ): NonPayableTransactionObject<ChickenBondsView.BondDataFullStructOutput>;
168
+
169
+ getSystemInfo(): NonPayableTransactionObject<ChickenBondsView.ChickenBondsSystemInfoStructOutput>;
170
+
171
+ getUsersBonds(
172
+ _userAddr: string
173
+ ): NonPayableTransactionObject<ChickenBondsView.BondDataFullStructOutput[]>;
86
174
  };
87
175
  events: {
88
176
  allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;