mirror of
https://github.com/Instadapp/dsa-connectors.git
synced 2024-07-29 22:37:00 +00:00
42 lines
1.2 KiB
Solidity
42 lines
1.2 KiB
Solidity
|
pragma solidity ^0.6.0;
|
||
|
pragma experimental ABIEncoderV2;
|
||
|
|
||
|
interface IndexInterface {
|
||
|
function master() external view returns (address);
|
||
|
}
|
||
|
|
||
|
contract Helpers {
|
||
|
|
||
|
event LogChangeFee(uint256 _fee);
|
||
|
event LogChangeFeeCollector(address _feeCollector);
|
||
|
|
||
|
address public constant instaIndex = 0x2971AdFa57b20E5a416aE5a708A8655A9c74f723;
|
||
|
uint256 public fee;
|
||
|
address public feeCollector;
|
||
|
|
||
|
modifier isChief {
|
||
|
require(IndexInterface(instaIndex).master() == msg.sender, "not-Master");
|
||
|
_;
|
||
|
}
|
||
|
|
||
|
function changeFee(uint256 _fee) external isChief {
|
||
|
require(_fee <= 2 * 10 ** 15, "Fee is more than 0.2%");
|
||
|
fee = uint64(_fee);
|
||
|
emit LogChangeFee(_fee);
|
||
|
}
|
||
|
|
||
|
function changeFeeCollector(address _feeCollector) external isChief {
|
||
|
require(feeCollector != _feeCollector, "Same-feeCollector");
|
||
|
require(_feeCollector != address(0), "feeCollector-is-address(0)");
|
||
|
feeCollector = _feeCollector;
|
||
|
emit LogChangeFeeCollector(_feeCollector);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
contract InstaPoolFee is Helpers {
|
||
|
constructor () public {
|
||
|
fee = 9 * 10 ** 14; // 0.09%
|
||
|
feeCollector = IndexInterface(instaIndex).master();
|
||
|
}
|
||
|
}
|