mirror of
https://github.com/Instadapp/yield-contract.git
synced 2024-07-29 21:47:29 +00:00
Added connector mapping in registry
This commit is contained in:
parent
e360235c24
commit
a589abfb75
|
@ -12,6 +12,8 @@ contract Flusher {
|
||||||
event LogCast(address indexed sender, uint value);
|
event LogCast(address indexed sender, uint value);
|
||||||
|
|
||||||
string constant public name = "Flusher-v1";
|
string constant public name = "Flusher-v1";
|
||||||
|
uint constant version = 1;
|
||||||
|
|
||||||
RegistryInterface public constant registry = RegistryInterface(address(0)); // TODO - Change while deploying.
|
RegistryInterface public constant registry = RegistryInterface(address(0)); // TODO - Change while deploying.
|
||||||
|
|
||||||
function spell(address _target, bytes memory _data) internal {
|
function spell(address _target, bytes memory _data) internal {
|
||||||
|
|
|
@ -22,6 +22,8 @@ contract Registry {
|
||||||
event LogRemovePool(address indexed token, address indexed pool);
|
event LogRemovePool(address indexed token, address indexed pool);
|
||||||
event LogAddSettleLogic(address indexed token, address indexed logic);
|
event LogAddSettleLogic(address indexed token, address indexed logic);
|
||||||
event LogRemoveSettleLogic(address indexed token, address indexed logic);
|
event LogRemoveSettleLogic(address indexed token, address indexed logic);
|
||||||
|
event LogConnectorEnable(address indexed connector);
|
||||||
|
event LogConnectorDisable(address indexed connector);
|
||||||
|
|
||||||
IndexInterface public constant instaIndex = IndexInterface(0x2971AdFa57b20E5a416aE5a708A8655A9c74f723);
|
IndexInterface public constant instaIndex = IndexInterface(0x2971AdFa57b20E5a416aE5a708A8655A9c74f723);
|
||||||
|
|
||||||
|
@ -33,6 +35,7 @@ contract Registry {
|
||||||
mapping (address => uint) public poolCap;
|
mapping (address => uint) public poolCap;
|
||||||
mapping (address => uint) public fee;
|
mapping (address => uint) public fee;
|
||||||
mapping (address => mapping(address => bool)) public settleLogic;
|
mapping (address => mapping(address => bool)) public settleLogic;
|
||||||
|
mapping(address => bool) public connectors;
|
||||||
|
|
||||||
modifier isMaster() {
|
modifier isMaster() {
|
||||||
require(msg.sender == instaIndex.master(), "not-master");
|
require(msg.sender == instaIndex.master(), "not-master");
|
||||||
|
@ -180,13 +183,37 @@ contract Registry {
|
||||||
emit LogRemoveSettleLogic(_pool, _logic);
|
emit LogRemoveSettleLogic(_pool, _logic);
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkSettleLogics(address _pool, address[] calldata _logics) external view returns(bool) {
|
function enableConnector(address _connector) external isChief {
|
||||||
|
require(!connectors[_connector], "already-enabled");
|
||||||
|
require(_connector != address(0), "invalid-connector");
|
||||||
|
connectors[_connector] = true;
|
||||||
|
emit LogConnectorEnable(_connector);
|
||||||
|
}
|
||||||
|
|
||||||
|
function disableConnector(address _connector) external isChief {
|
||||||
|
require(connectors[_connector], "already-disabled");
|
||||||
|
delete connectors[_connector];
|
||||||
|
emit LogConnectorDisable(_connector);
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkSettleLogics(address _pool, address[] calldata _logics) external view returns(bool isOk) {
|
||||||
|
isOk = true;
|
||||||
for (uint i = 0; i < _logics.length; i++) {
|
for (uint i = 0; i < _logics.length; i++) {
|
||||||
if (!settleLogic[_pool][_logics[i]]) {
|
if (!settleLogic[_pool][_logics[i]]) {
|
||||||
return false;
|
isOk = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function isConnector(address[] calldata _connectors) external view returns (bool isOk) {
|
||||||
|
isOk = true;
|
||||||
|
for (uint i = 0; i < _connectors.length; i++) {
|
||||||
|
if (!connectors[_connectors[i]]) {
|
||||||
|
isOk = false;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(address _chief) public {
|
constructor(address _chief) public {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user