Skip to content

Commit a456550

Browse files
efecarranzamiguelmtzinf
authored andcommitted
feat: rename functions
1 parent e5038a5 commit a456550

File tree

7 files changed

+46
-30
lines changed

7 files changed

+46
-30
lines changed

src/contracts/facilitators/gsm/swapFreezer/ChainlinkOracleSwapFreezer.sol

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {OracleSwapFreezerBase} from 'src/contracts/facilitators/gsm/swapFreezer/
1010
* @title ChainlinkOracleSwapFreezer
1111
* @notice Chainlink-compatible automated swap freezer for GSM.
1212
*/
13-
contract ChainlinkOracleSwapFreezer is OracleSwapFreezerBase {
13+
contract ChainlinkOracleSwapFreezer is OracleSwapFreezerBase, AutomationCompatibleInterface {
1414
/**
1515
* @dev Constructor
1616
* @dev Freeze/unfreeze bounds are specified in USD with 8-decimal precision, like Aave v3 Price Oracles
@@ -48,7 +48,17 @@ contract ChainlinkOracleSwapFreezer is OracleSwapFreezerBase {
4848
{}
4949

5050
/// @inheritdoc AutomationCompatibleInterface
51-
function checkUpkeep(bytes calldata) external view override returns (bool, bytes memory) {
51+
function performUpkeep(bytes calldata) external {
52+
Action action = _getAction();
53+
if (action == Action.FREEZE) {
54+
GSM.setSwapFreeze(true);
55+
} else if (action == Action.UNFREEZE) {
56+
GSM.setSwapFreeze(false);
57+
}
58+
}
59+
60+
/// @inheritdoc AutomationCompatibleInterface
61+
function checkUpkeep(bytes calldata) external view returns (bool, bytes memory) {
5262
return (_getAction() == Action.NONE ? false : true, '');
5363
}
5464
}

src/contracts/facilitators/gsm/swapFreezer/GelatoOracleSwapFreezer.sol

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,25 @@ contract GelatoOracleSwapFreezer is OracleSwapFreezerBase {
4646
)
4747
{}
4848

49+
/**
50+
* @notice Executes a given action on the GSM depending on the oracle value
51+
*/
52+
function execute(bytes calldata) external {
53+
Action action = _getAction();
54+
if (action == Action.FREEZE) {
55+
GSM.setSwapFreeze(true);
56+
} else if (action == Action.UNFREEZE) {
57+
GSM.setSwapFreeze(false);
58+
}
59+
}
60+
4961
/**
5062
* @notice Returns whether the action can be performed and the encoded call data for execution.
5163
* @return True if the action can be performed, false otherwise.
5264
* @return The encoded call data for the action to be executed.
5365
*/
5466

55-
function checkUpkeep(bytes calldata) external view override returns (bool, bytes memory) {
56-
return (_getAction() == Action.NONE ? false : true, abi.encodeCall(this.performUpkeep, ''));
67+
function checkExecute(bytes calldata) external view returns (bool, bytes memory) {
68+
return (_getAction() == Action.NONE ? false : true, abi.encodeCall(this.execute, ''));
5769
}
5870
}

src/contracts/facilitators/gsm/swapFreezer/OracleSwapFreezerBase.sol

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ pragma solidity ^0.8.10;
33

44
import {IPoolAddressesProvider} from 'aave-v3-origin/contracts/interfaces/IPoolAddressesProvider.sol';
55
import {IPriceOracle} from 'aave-v3-origin/contracts/interfaces/IPriceOracle.sol';
6-
import {AutomationCompatibleInterface} from 'src/contracts/dependencies/chainlink/AutomationCompatibleInterface.sol';
76
import {IGsm} from 'src/contracts/facilitators/gsm/interfaces/IGsm.sol';
87

98
/**
@@ -14,7 +13,7 @@ import {IGsm} from 'src/contracts/facilitators/gsm/interfaces/IGsm.sol';
1413
* @dev Freeze action is executable if GSM is not seized, not frozen and price is outside of the freeze bounds
1514
* @dev Unfreeze action is executable if GSM is not seized, frozen, unfreezing is allowed and price is inside the unfreeze bounds
1615
*/
17-
abstract contract OracleSwapFreezerBase is AutomationCompatibleInterface {
16+
abstract contract OracleSwapFreezerBase {
1817
enum Action {
1918
NONE,
2019
FREEZE,
@@ -75,19 +74,6 @@ abstract contract OracleSwapFreezerBase is AutomationCompatibleInterface {
7574
_allowUnfreeze = allowUnfreeze;
7675
}
7776

78-
/// @inheritdoc AutomationCompatibleInterface
79-
function performUpkeep(bytes calldata) external {
80-
Action action = _getAction();
81-
if (action == Action.FREEZE) {
82-
GSM.setSwapFreeze(true);
83-
} else if (action == Action.UNFREEZE) {
84-
GSM.setSwapFreeze(false);
85-
}
86-
}
87-
88-
/// @inheritdoc AutomationCompatibleInterface
89-
function checkUpkeep(bytes calldata) external view virtual returns (bool, bytes memory);
90-
9177
/**
9278
* @notice Returns whether or not the swap freezer can unfreeze a GSM
9379
* @return True if the freezer can unfreeze, false otherwise

tests/unit/TestChainlinkOracleSwapFreezer.t.sol

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
pragma solidity ^0.8.0;
33

44
import './TestOracleSwapFreezerBase.t.sol';
5-
import {ChainlinkOracleSwapFreezer} from 'src/contracts/facilitators/gsm/swapFreezer/ChainlinkOracleSwapFreezer.sol';
65

76
contract TestChainlinkOracleSwapFreezer is TestOracleSwapFreezerBase {
87
function _deployOracleSwapFreezer(
@@ -28,6 +27,13 @@ contract TestChainlinkOracleSwapFreezer is TestOracleSwapFreezerBase {
2827
);
2928
}
3029

30+
function _checkAutomation(
31+
OracleSwapFreezerBase _swapFreezer
32+
) internal view override returns (bool) {
33+
(bool shouldRunKeeper, ) = _swapFreezer.checkUpkeep('');
34+
return shouldRunKeeper;
35+
}
36+
3137
function _checkAndPerformAutomation(
3238
OracleSwapFreezerBase _swapFreezer
3339
) internal override returns (bool) {

tests/unit/TestGelatoOracleSwapFreezer.t.sol

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,12 @@ pragma solidity ^0.8.0;
33

44
import './TestOracleSwapFreezerBase.t.sol';
55
import {Address} from 'openzeppelin-contracts/contracts/utils/Address.sol';
6-
import {IGsm} from 'src/contracts/facilitators/gsm/interfaces/IGsm.sol';
7-
import {IPoolAddressesProvider} from 'aave-v3-origin/contracts/interfaces/IPoolAddressesProvider.sol';
8-
import {GelatoOracleSwapFreezer} from 'src/contracts/facilitators/gsm/swapFreezer/GelatoOracleSwapFreezer.sol';
9-
import {OracleSwapFreezerBase} from 'src/contracts/facilitators/gsm/swapFreezer/OracleSwapFreezerBase.sol';
106

117
contract TestGsmGelatoOracleSwapFreezer is TestOracleSwapFreezerBase {
128
using Address for address;
139

1410
function testCheckUpkeepReturnsCorrectSelector() public view {
15-
(, bytes memory data) = swapFreezer.checkUpkeep('');
11+
(, bytes memory data) = swapFreezer.checkExecute('');
1612
bytes4 selector;
1713
assembly {
1814
selector := mload(add(data, 32))
@@ -43,10 +39,17 @@ contract TestGsmGelatoOracleSwapFreezer is TestOracleSwapFreezerBase {
4339
);
4440
}
4541

42+
function _checkAutomation(
43+
OracleSwapFreezerBase _swapFreezer
44+
) internal view override returns (bool) {
45+
(bool shouldRunKeeper, ) = _swapFreezer.checkExecute('');
46+
return shouldRunKeeper;
47+
}
48+
4649
function _checkAndPerformAutomation(
4750
OracleSwapFreezerBase _swapFreezer
4851
) internal virtual override returns (bool) {
49-
(bool shouldRunKeeper, bytes memory encodedPerformData) = _swapFreezer.checkUpkeep('');
52+
(bool shouldRunKeeper, bytes memory encodedPerformData) = _swapFreezer.checkExecute('');
5053
if (shouldRunKeeper) {
5154
address(_swapFreezer).functionCall(encodedPerformData);
5255
}

tests/unit/TestGhoBase.t.sol

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ import {GhoGsmSteward} from 'src/contracts/misc/GhoGsmSteward.sol';
8383
import {FixedFeeStrategyFactory} from 'src/contracts/facilitators/gsm/feeStrategy/FixedFeeStrategyFactory.sol';
8484
import {GhoReserve} from 'src/contracts/facilitators/gsm/GhoReserve.sol';
8585
import {OwnableFacilitator} from 'src/contracts/facilitators/gsm/OwnableFacilitator.sol';
86+
import {ChainlinkOracleSwapFreezer} from 'src/contracts/facilitators/gsm/swapFreezer/ChainlinkOracleSwapFreezer.sol';
87+
import {GelatoOracleSwapFreezer} from 'src/contracts/facilitators/gsm/swapFreezer/GelatoOracleSwapFreezer.sol';
8688

8789
// CCIP contracts
8890
import {MockUpgradeableLockReleaseTokenPool} from '../mocks/MockUpgradeableLockReleaseTokenPool.sol';

tests/unit/TestOracleSwapFreezerBase.t.sol

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -373,10 +373,7 @@ abstract contract TestOracleSwapFreezerBase is TestGhoBase {
373373

374374
function _checkAutomation(
375375
OracleSwapFreezerBase _swapFreezer
376-
) internal view virtual returns (bool) {
377-
(bool shouldRunKeeper, ) = _swapFreezer.checkUpkeep('');
378-
return shouldRunKeeper;
379-
}
376+
) internal view virtual returns (bool);
380377

381378
function _checkAndPerformAutomation(
382379
OracleSwapFreezerBase _swapFreezer

0 commit comments

Comments
 (0)