mirror of
https://github.com/Instadapp/dsa-resolvers-deprecated.git
synced 2024-07-29 22:38:16 +00:00
39 lines
1.2 KiB
Solidity
39 lines
1.2 KiB
Solidity
pragma solidity ^0.6.0;
|
|
pragma experimental ABIEncoderV2;
|
|
|
|
interface TokenInterface {
|
|
function balanceOf(address) external view returns (uint);
|
|
}
|
|
|
|
contract Resolver {
|
|
struct TokenBalances {
|
|
uint[] userBalances;
|
|
}
|
|
|
|
function getBalances(address[] memory owners, address[] memory tknAddress) public view returns (TokenBalances[] memory) {
|
|
TokenBalances[] memory tokensBal = new TokenBalances[](tknAddress.length);
|
|
for (uint i = 0; i < tknAddress.length; i++) {
|
|
uint[] memory bals = new uint[](owners.length);
|
|
TokenInterface token = TokenInterface(tknAddress[i]);
|
|
if (tknAddress[i] == 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) {
|
|
for (uint j = 0; j < owners.length; j++) {
|
|
bals[j] = owners[j].balance;
|
|
}
|
|
} else {
|
|
for (uint j = 0; j < owners.length; j++) {
|
|
bals[j] = token.balanceOf(owners[j]);
|
|
}
|
|
}
|
|
|
|
tokensBal[i] = TokenBalances({
|
|
userBalances: bals
|
|
});
|
|
}
|
|
return tokensBal;
|
|
}
|
|
}
|
|
|
|
|
|
contract InstaPowerERC20Resolver is Resolver {
|
|
string public constant name = "ERC20-Power-Resolver-v1";
|
|
} |