Skip to content

Commit

Permalink
⛏️ Split debt and redemption fees
Browse files Browse the repository at this point in the history
  • Loading branch information
nezouse committed Apr 23, 2024
1 parent a4b4fe8 commit ea30c6f
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 14 deletions.
2 changes: 1 addition & 1 deletion contracts/BorrowerOperations.sol
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ contract BorrowerOperations is TrinityBase, ReentrancyGuardUpgradeable, UUPSUpgr

function _triggerBorrowingFee(address _asset, address _borrower, uint256 _debtTokenAmount) internal returns (uint256) {
uint256 debtTokenFee = IVesselManager(vesselManager).getBorrowingFee(_asset, _debtTokenAmount);
IDebtToken(debtToken).mint(_asset, treasuryAddress, debtTokenFee);
IDebtToken(debtToken).mint(_asset, distributorAddress, debtTokenFee);
_updateVesselEpoch(_asset, _borrower);
emit BorrowingFeePaid(_asset, _borrower, debtTokenFee);
return debtTokenFee;
Expand Down
22 changes: 12 additions & 10 deletions contracts/Dependencies/AddressesConfigurable.sol
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ abstract contract AddressesConfigurable is OwnableUpgradeable {
address public collSurplusPool;
address public debtToken;
address public defaultPool;
address public distributorAddress;
address public gasPoolAddress;
address public priceFeed;
address public sortedVessels;
Expand All @@ -33,8 +34,8 @@ abstract contract AddressesConfigurable is OwnableUpgradeable {

function setAddresses(address[] calldata _addresses) external onlyOwner {
require(!isAddressSetupInitialized, "Setup is already initialized");
require(_addresses.length == 14, "Expected 14 addresses at setup");
for (uint i = 0; i < 14; i++) {
require(_addresses.length == 15, "Expected 15 addresses at setup");
for (uint i = 0; i < 15; i++) {
require(_addresses[i] != address(0), "Invalid address");
}
activePool = _addresses[0];
Expand All @@ -43,14 +44,15 @@ abstract contract AddressesConfigurable is OwnableUpgradeable {
collSurplusPool = _addresses[3];
debtToken = _addresses[4];
defaultPool = _addresses[5];
gasPoolAddress = _addresses[6];
priceFeed = _addresses[7];
sortedVessels = _addresses[8];
stabilityPool = _addresses[9];
timelockAddress = _addresses[10];
treasuryAddress = _addresses[11];
vesselManager = _addresses[12];
vesselManagerOperations = _addresses[13];
distributorAddress = _addresses[6];
gasPoolAddress = _addresses[7];
priceFeed = _addresses[8];
sortedVessels = _addresses[9];
stabilityPool = _addresses[10];
timelockAddress = _addresses[11];
treasuryAddress = _addresses[12];
vesselManager = _addresses[13];
vesselManagerOperations = _addresses[14];

isAddressSetupInitialized = true;
}
Expand Down
1 change: 1 addition & 0 deletions contracts/Dependencies/AddressesMainnet.sol
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ abstract contract AddressesMainnet {
address public constant collSurplusPool = 0x09dfdF392a56E4316e97A13e20b09C415fCD3d7b;
address public constant debtToken = 0x15f74458aE0bFdAA1a96CA1aa779D715Cc1Eefe4;
address public constant defaultPool = 0x84446698694B348EaeCE187b55df06AB4Ce72b35;
address public constant distributorAddress = 0x6F8Fe995422c5efE6487A7B07f67E84aaD9D4eC8;
address public constant gasPoolAddress = 0x40E0e274A42D9b1a9D4B64dC6c46D21228d45C20;
address public constant priceFeed = 0x89F1ecCF2644902344db02788A790551Bb070351;
address public constant sortedVessels = 0xF31D88232F36098096d1eB69f0de48B53a1d18Ce;
Expand Down
4 changes: 2 additions & 2 deletions test/trinity/PriceFeedTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ contract("PriceFeed", async accounts => {
setBalance(timelock.address, 1e18)

// only addresses considered in the tests are timelock and vesselManagerOperations
const addresses = new Array(14).fill(timelock.address, 0)
addresses[13] = vesselManagerOperations.address
const addresses = new Array(15).fill(timelock.address, 0)
addresses[14] = vesselManagerOperations.address
await priceFeed.setAddresses(addresses)
await setOracle(ZERO_ADDRESS, mockOracle.address)
})
Expand Down
2 changes: 1 addition & 1 deletion test/trinity/SortedVesselsTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ contract("SortedVessels", async accounts => {
sortedVesselsTester = await SortedVesselsTester.new()
await sortedVessels.initialize()

const addresses = new Array(14).fill(sortedVesselsTester.address, 0)
const addresses = new Array(15).fill(sortedVesselsTester.address, 0)
await sortedVessels.setAddresses(addresses)

await sortedVesselsTester.setSortedVessels(sortedVessels.address)
Expand Down
1 change: 1 addition & 0 deletions test/utils/deploymentHelpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ class DeploymentHelper {
core.collSurplusPool.address,
core.debtToken.address,
core.defaultPool.address,
treasuryAddress,
core.gasPool.address,
core.priceFeedTestnet.address,
core.sortedVessels.address,
Expand Down

0 comments on commit ea30c6f

Please sign in to comment.