Skip to content

Commit

Permalink
finished making requested changes
Browse files Browse the repository at this point in the history
  • Loading branch information
MrDeadCe11 committed May 20, 2024
1 parent 4786e96 commit 4fb4fcb
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 11 deletions.
7 changes: 3 additions & 4 deletions src/contracts/ODSaviour.sol
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ contract ODSaviour is Authorizable, Modifiable, ModifiablePerCollateral, IODSavi
safeEngine = ISAFEEngine(address(safeManager.safeEngine()));
}

function isEnabled(uint256 _vaultId) public view returns (bool _enabled) {
function isVaultEnabled(uint256 _vaultId) public view returns (bool _enabled) {
_enabled = _enabledVaults[_vaultId];
}

Expand All @@ -77,14 +77,13 @@ contract ODSaviour is Authorizable, Modifiable, ModifiablePerCollateral, IODSavi
vData.isChosenSaviour = ILiquidationEngine(liquidationEngine).chosenSAFESaviour(
safeData.collateralType, safeData.safeHandler
) == address(this);
vData.isEnabled = isEnabled(vaultId);
vData.vaultCtypeTokenAddress = cType(safeData.collateralType);
vData.isEnabled = isVaultEnabled(vaultId);
vData.vaultCtypeTokenAddress = cType(safeData.collateralType);
if (vData.vaultCtypeTokenAddress == address(0)) revert UninitializedCollateral(safeData.collateralType);

vData.saviourAllowance = IERC20(vData.vaultCtypeTokenAddress).allowance(saviourTreasury, address(this));

vData.treasuryBalance = IERC20(vData.vaultCtypeTokenAddress).balanceOf(saviourTreasury);

}

function saveSAFE(
Expand Down
15 changes: 11 additions & 4 deletions src/interfaces/IODSaviour.sol
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,20 @@ interface IODSaviour is ISAFESaviour {
struct VaultData {
uint256 id;
bool isAllowed;
bool isChosenSaviour;

bool isChosenSaviour;
bool isEnabled;
address vaultCtypeTokenAddress;
address vaultCtypeTokenAddress;
uint256 saviourAllowance;
uint256 treasuryBalance;
}

function isEnabled(uint256 _vaultId) external view returns (bool _enabled);
function isVaultEnabled(uint256 _vaultId) external view returns (bool _enabled);
function vaultData(uint256 vaultId) external view returns (VaultData memory vData);
function saviourIsReady(bytes32 _cType) external view returns (bool);
function cType(bytes32 _cType) external view returns (address _tokenAddress);
function saveSAFE(
address _liquidator,
bytes32 _cType,
address _safe
) external returns (bool _ok, uint256 _collateralAdded, uint256 _liquidatorReward);
}
6 changes: 3 additions & 3 deletions test/unit/ODSaviour.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -255,17 +255,17 @@ contract UnitODSaviourModifyParameters is ODSaviourSetUp {
uint256 safeId = safeManager.openSAFE(ARB, aliceProxy);
vm.startPrank(saviourTreasury);
saviour.modifyParameters('setVaultStatus', abi.encode(safeId, true));
assertTrue(saviour.isEnabled(safeId));
assertTrue(saviour.isVaultEnabled(safeId));
saviour.modifyParameters('setVaultStatus', abi.encode(safeId, false));
assertFalse(saviour.isEnabled(safeId));
assertFalse(saviour.isVaultEnabled(safeId));
}

function test_ModifyParameters_SetVaultStatus_Revert() public {
uint256 safeId = 3;
vm.prank(saviourTreasury);
vm.expectRevert(abi.encodeWithSelector(IODSaviour.UninitializedCollateral.selector, bytes32(0)));
saviour.modifyParameters('setVaultStatus', abi.encode(safeId, true));
assertFalse(saviour.isEnabled(safeId));
assertFalse(saviour.isVaultEnabled(safeId));
}

function test_ModifyParameters_liquidatorReward() public {
Expand Down

0 comments on commit 4fb4fcb

Please sign in to comment.