dsa-connectors/contracts/polygon/connectors/aave/automation-v3/main.sol
pradyuman-verma 1b26dc0327
fixes
Signed-off-by: pradyuman-verma <pradyumnverma27@gmail.com>
2022-07-22 18:08:53 +05:30

70 lines
1.5 KiB
Solidity

//SPDX-License-Identifier: MIT
pragma solidity ^0.7.0;
pragma experimental ABIEncoderV2;
/**
* @title InstaAutomation
* @dev Insta-Aave-v3-Automation
*/
import "./events.sol";
import "./interfaces.sol";
abstract contract Resolver is Events {
InstaAaveAutomation internal immutable automation =
InstaAaveAutomation(0x7eE533CB0642f18191D2927bdA735c3830B355BB);
function submitAutomationRequest(
uint256 safeHealthFactor,
uint256 thresholdHealthFactor
)
external
payable
returns (string memory _eventName, bytes memory _eventParam)
{
automation.submitAutomationRequest(
safeHealthFactor,
thresholdHealthFactor
);
(_eventName, _eventParam) = (
"LogSubmitAutomation(uint256,uint256)",
abi.encode(safeHealthFactor, thresholdHealthFactor)
);
}
function cancelAutomationRequest()
external
payable
returns (string memory _eventName, bytes memory _eventParam)
{
automation.cancelAutomationRequest();
(_eventName, _eventParam) = ("LogCancelAutomation()", "0x");
}
function updateAutomationRequest(
uint256 safeHealthFactor,
uint256 thresholdHealthFactor
)
external
payable
returns (string memory _eventName, bytes memory _eventParam)
{
automation.cancelAutomationRequest();
automation.submitAutomationRequest(
safeHealthFactor,
thresholdHealthFactor
);
(_eventName, _eventParam) = (
"LogUpdateAutomation(uint256,uint256)",
abi.encode(safeHealthFactor, thresholdHealthFactor)
);
}
}
contract ConnectV2InstaAaveAutomation is Resolver {
string public constant name = "Insta-Aave-Automation-v1";
}