mirror of
https://github.com/Instadapp/dsa-resolvers-deprecated.git
synced 2024-07-29 22:38:16 +00:00
Updated DSA resolver
This commit is contained in:
parent
3ad3707e84
commit
aab833f3c7
|
@ -6,12 +6,39 @@ interface ListInterface {
|
||||||
function accountAddr(uint64) external view returns (address);
|
function accountAddr(uint64) external view returns (address);
|
||||||
}
|
}
|
||||||
|
|
||||||
contract Resolver {
|
interface AccountInterface {
|
||||||
|
function version() external view returns (uint64);
|
||||||
|
}
|
||||||
|
|
||||||
|
contract InstaDSAPowerResolver {
|
||||||
|
|
||||||
|
struct DSAs {
|
||||||
|
address dsa;
|
||||||
|
uint256 version;
|
||||||
|
}
|
||||||
|
|
||||||
function getTotalAccounts() public view returns(uint totalAccounts) {
|
function getTotalAccounts() public view returns(uint totalAccounts) {
|
||||||
ListInterface list = ListInterface(0x4c8a1BEb8a87765788946D6B19C6C6355194AbEb);
|
ListInterface list = ListInterface(0x4c8a1BEb8a87765788946D6B19C6C6355194AbEb);
|
||||||
totalAccounts = uint(list.accounts());
|
totalAccounts = uint(list.accounts());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getDSAWalletsData(uint start, uint end) public view returns(DSAs[] memory wallets) {
|
||||||
|
assert(start < end);
|
||||||
|
ListInterface list = ListInterface(0x4c8a1BEb8a87765788946D6B19C6C6355194AbEb);
|
||||||
|
uint totalAccounts = uint(list.accounts());
|
||||||
|
end = totalAccounts < end ? totalAccounts : end;
|
||||||
|
uint len = (end - start) + 1;
|
||||||
|
wallets = new DSAs[](len);
|
||||||
|
for (uint i = 0; i < len; i++) {
|
||||||
|
address dsa = list.accountAddr(uint64(start + i));
|
||||||
|
wallets[i] = DSAs({
|
||||||
|
dsa: dsa,
|
||||||
|
version: AccountInterface(dsa).version()
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return wallets;
|
||||||
|
}
|
||||||
|
|
||||||
function getDSAWallets(uint start, uint end) public view returns(address[] memory) {
|
function getDSAWallets(uint start, uint end) public view returns(address[] memory) {
|
||||||
assert(start < end);
|
assert(start < end);
|
||||||
ListInterface list = ListInterface(0x4c8a1BEb8a87765788946D6B19C6C6355194AbEb);
|
ListInterface list = ListInterface(0x4c8a1BEb8a87765788946D6B19C6C6355194AbEb);
|
||||||
|
@ -24,4 +51,12 @@ contract Resolver {
|
||||||
}
|
}
|
||||||
return wallets;
|
return wallets;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
function getDSAVersions(address[] memory dsas) public view returns(uint256[] memory versions) {
|
||||||
|
versions = new uint256[](dsas.length);
|
||||||
|
for (uint i = 0; i < dsas.length; i++) {
|
||||||
|
versions[i] = AccountInterface(dsas[i]).version();
|
||||||
|
}
|
||||||
|
return versions;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user