Description:
Smart contract deployed on Ethereum with Factory features.
Blockchain: Ethereum
Source Code: View Code On The Blockchain
Solidity Source Code:
{{
"language": "Solidity",
"sources": {
"contracts/balanceHelper.sol": {
"content": "// SPDX-License-Identifier: MIT\r
pragma solidity ^0.8.0;\r
\r
interface IERC20 {\r
function balanceOf(address account) external view returns (uint256);\r
}\r
\r
contract balanceHelper {\r
struct TokenBalance {\r
address tokenAddress;\r
uint256 balance;\r
}\r
\r
/**\r
* @notice Retrieves balances for multiple ERC-20 tokens for a given wallet\r
* @param walletAddress The address to check balances for\r
* @param tokenAddresses Array of ERC-20 token contract addresses\r
* @return An array of TokenBalance structs containing token addresses and their balances\r
*/\r
function balanceOfs(\r
address walletAddress,\r
address[] calldata tokenAddresses\r
) external view returns (TokenBalance[] memory) {\r
TokenBalance[] memory balances = new TokenBalance[](tokenAddresses.length);\r
\r
for (uint256 i = 0; i < tokenAddresses.length; i++) {\r
uint256 balance = 0;\r
\r
// Try to get the balance, handle potential reverts\r
try IERC20(tokenAddresses[i]).balanceOf(walletAddress) returns (uint256 bal) {\r
balance = bal;\r
} catch {\r
// If the call fails (invalid token, etc.), balance remains 0\r
balance = 0;\r
}\r
\r
balances[i] = TokenBalance({\r
tokenAddress: tokenAddresses[i],\r
balance: balance\r
});\r
}\r
\r
return balances;\r
}\r
}"
}
},
"settings": {
"optimizer": {
"enabled": true,
"runs": 200
},
"evmVersion": "paris",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}
}}
Submitted on: 2025-10-03 22:34:06
Comments
Log in to comment.
No comments yet.