mirror of
https://github.com/Instadapp/dsa-resolvers-deprecated.git
synced 2024-07-29 22:38:16 +00:00
Added token details function
This commit is contained in:
parent
cd9d36b87f
commit
075fc2b08a
|
@ -1,12 +1,54 @@
|
|||
pragma solidity ^0.6.0;
|
||||
pragma solidity ^0.6.10;
|
||||
pragma experimental ABIEncoderV2;
|
||||
|
||||
interface TokenInterface {
|
||||
function balanceOf(address) external view returns (uint);
|
||||
function allowance(address owner, address spender) external view returns (uint256);
|
||||
function decimals() external view returns (uint);
|
||||
function name() external view returns (string memory);
|
||||
function symbol() external view returns (string memory);
|
||||
|
||||
}
|
||||
|
||||
|
||||
contract Resolver {
|
||||
struct TokenData {
|
||||
bool isToken;
|
||||
string name;
|
||||
string symbol;
|
||||
uint256 decimals;
|
||||
}
|
||||
|
||||
function getTokenDetails(address[] memory tknAddress) public view returns (TokenData[] memory) {
|
||||
TokenData[] memory tokenDatas = new TokenData[](tknAddress.length);
|
||||
for (uint i = 0; i < tknAddress.length; i++) {
|
||||
if (tknAddress[i] == 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) {
|
||||
tokenDatas[i] = TokenData(
|
||||
true,
|
||||
"ETHER",
|
||||
"ETH",
|
||||
18
|
||||
);
|
||||
} else {
|
||||
TokenInterface token = TokenInterface(tknAddress[i]);
|
||||
try token.name() {
|
||||
tokenDatas[i] = TokenData(
|
||||
true,
|
||||
token.name(),
|
||||
token.symbol(),
|
||||
token.decimals()
|
||||
);
|
||||
} catch {
|
||||
tokenDatas[i] = TokenData(
|
||||
false,
|
||||
"",
|
||||
"",
|
||||
0
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
return tokenDatas;
|
||||
}
|
||||
|
||||
function getBalances(address owner, address[] memory tknAddress) public view returns (uint[] memory) {
|
||||
uint[] memory tokensBal = new uint[](tknAddress.length);
|
||||
|
|
Loading…
Reference in New Issue
Block a user