mirror of
https://github.com/Instadapp/dsa-resolvers-deprecated.git
synced 2024-07-29 22:38:16 +00:00
Updated IndexRead.
This commit is contained in:
parent
6e5252bc99
commit
1623b71933
|
@ -59,18 +59,21 @@ interface ConnectorsInterface {
|
||||||
function connectors(address) external view returns (bool);
|
function connectors(address) external view returns (bool);
|
||||||
function staticConnectors(address) external view returns (bool);
|
function staticConnectors(address) external view returns (bool);
|
||||||
|
|
||||||
function count() external view returns (uint);
|
function connectorArray(uint) external view returns (address);
|
||||||
function first() external view returns (address);
|
function connectorLength() external view returns (uint);
|
||||||
function last() external view returns (address);
|
function staticConnectorArray(uint) external view returns (address);
|
||||||
function list(address) external view returns (List memory);
|
function staticConnectorLength() external view returns (uint);
|
||||||
function staticCount() external view returns (uint);
|
function connectorCount() external view returns (uint);
|
||||||
function staticList(uint) external view returns (address);
|
|
||||||
|
|
||||||
function isConnector(address[] calldata _connectors) external view returns (bool isOk);
|
function isConnector(address[] calldata _connectors) external view returns (bool isOk);
|
||||||
function isStaticConnector(address[] calldata _connectors) external view returns (bool isOk);
|
function isStaticConnector(address[] calldata _connectors) external view returns (bool isOk);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface ConnectorInterface {
|
||||||
|
function name() external view returns (string memory);
|
||||||
|
}
|
||||||
|
|
||||||
contract Helpers {
|
contract Helpers {
|
||||||
address public index;
|
address public index;
|
||||||
address public list;
|
address public list;
|
||||||
|
@ -157,25 +160,67 @@ contract AccountResolver is Helpers {
|
||||||
|
|
||||||
|
|
||||||
contract ConnectorsResolver is AccountResolver {
|
contract ConnectorsResolver is AccountResolver {
|
||||||
|
struct ConnectorsData {
|
||||||
|
address connector;
|
||||||
|
uint connectorID;
|
||||||
|
string name;
|
||||||
|
}
|
||||||
|
|
||||||
function getEnabledConnectors() public view returns(address[] memory){
|
function getEnabledConnectors() public view returns(address[] memory){
|
||||||
uint count = connectorsContract.count();
|
uint enabledCount = connectorsContract.connectorCount();
|
||||||
address enabledAddr = connectorsContract.first();
|
address[] memory addresses = new address[](enabledCount);
|
||||||
address[] memory addressess = new address[](count);
|
uint connectorArrayLength = connectorsContract.connectorLength();
|
||||||
addressess[0] = enabledAddr;
|
uint count;
|
||||||
for (uint i = 1; i < count; i++) {
|
for (uint i = 0; i < connectorArrayLength ; i++) {
|
||||||
ConnectorsInterface.List memory list = connectorsContract.list(enabledAddr);
|
address connector = connectorsContract.connectorArray(i);
|
||||||
addressess[i] = list.next;
|
if (connectorsContract.connectors(connector)) {
|
||||||
|
addresses[count] = connector;
|
||||||
|
count++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return addressess;
|
return addresses;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getEnabledConnectorsData() public view returns(ConnectorsData[] memory){
|
||||||
|
uint enabledCount = connectorsContract.connectorCount();
|
||||||
|
ConnectorsData[] memory connectorsData = new ConnectorsData[](enabledCount);
|
||||||
|
uint connectorArrayLength = connectorsContract.connectorLength();
|
||||||
|
uint count;
|
||||||
|
for (uint i = 0; i < connectorArrayLength ; i++) {
|
||||||
|
address connector = connectorsContract.connectorArray(i);
|
||||||
|
if (connectorsContract.connectors(connector)) {
|
||||||
|
connectorsData[count] = ConnectorsData(
|
||||||
|
connector,
|
||||||
|
i+1,
|
||||||
|
ConnectorInterface(connector).name()
|
||||||
|
);
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return connectorsData;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getStaticConnectors() public view returns(address[] memory){
|
function getStaticConnectors() public view returns(address[] memory){
|
||||||
uint count = connectorsContract.staticCount();
|
uint staticLength = connectorsContract.staticConnectorLength();
|
||||||
address[] memory addressess = new address[](count);
|
address[] memory staticConnectorArray = new address[](staticLength);
|
||||||
for (uint i = 0; i < count; i++) {
|
for (uint i = 0; i < staticLength ; i++) {
|
||||||
addressess[i] = connectorsContract.staticList(i);
|
staticConnectorArray[i] = connectorsContract.staticConnectorArray(i);
|
||||||
}
|
}
|
||||||
return addressess;
|
return staticConnectorArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getStaticConnectorsData() public view returns(ConnectorsData[] memory){
|
||||||
|
uint staticLength = connectorsContract.staticConnectorLength();
|
||||||
|
ConnectorsData[] memory staticConnectorsData = new ConnectorsData[](staticLength);
|
||||||
|
for (uint i = 0; i < staticLength ; i++) {
|
||||||
|
address staticConnector = connectorsContract.staticConnectorArray(i);
|
||||||
|
staticConnectorsData[i] = ConnectorsData(
|
||||||
|
staticConnector,
|
||||||
|
i+1,
|
||||||
|
ConnectorInterface(staticConnector).name()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return staticConnectorsData;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user