FRAX Price: $0.81 (+0.63%)

Contract

0xB18f001175EE068309343b18e52CF61725E47B91

Overview

FRAX Balance | FXTL Balance

0 FRAX | 39 FXTL

FRAX Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To

There are no matching entries

1 Token Transfer found.

Advanced mode:
Parent Transaction Hash Block From To
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GlyphDepositBalanceChecker

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 100000 runs

Other Settings:
paris EvmVersion
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;

// ====================================================================
// |     ______                   _______                             |
// |    / _____________ __  __   / ____(_____  ____ _____  ________   |
// |   / /_  / ___/ __ `| |/_/  / /_  / / __ \/ __ `/ __ \/ ___/ _ \  |
// |  / __/ / /  / /_/ _>  <   / __/ / / / / / /_/ / / / / /__/  __/  |
// | /_/   /_/   \__,_/_/|_|  /_/   /_/_/ /_/\__,_/_/ /_/\___/\___/   |
// |                                                                  |
// ====================================================================
// ================== GlyphDepositBalanceChecker ======================
// ====================================================================

interface IGlyphToken {
    function scaledBalanceOf(address user) external view returns (uint256);
}

/**
 * @title GlyphDepositBalanceChecker
 * @author Frax Finance
 * @notice The GlyphDepositBalanceChecker contract is used to retrieve the balances of addresses and tokens.
 */
contract GlyphDepositBalanceChecker {
    constructor() {}

    /**
     * @notice Used to get the token's balance for multiple addresses.
     * @param token Address of the token to check the balance of
     * @param addresses An array of addresses to check the balance of
     * @return result An array of the balances of the addresses
     */
    function tokenBalances(address token, address[] memory addresses) external view returns (uint256[] memory result) {
        result = new uint256[](addresses.length);
        IGlyphToken glyphToken = IGlyphToken(token);

        for (uint256 i = 0; i < addresses.length; ++i) {
            result[i] = glyphToken.scaledBalanceOf(addresses[i]);
        }
    }

    /**
     * @notice Used to get the balances of multiple tokens for a single address.
     * @dev This function is only preserved for teh smart contract to maintain the same interface as the original
     *  BalanceChecker, but should not be called as it is hardcoded to simply return an empty array.
     * @param addr Address to check the balance of
     * @param tokens An array of tokens to check the balance of
     * @return result An array of the balances of the tokens
     */
    function addressBalances(address addr, address[] memory tokens) external view returns (uint256[] memory result) {
        uint256[] memory mockReturnValue;

        return mockReturnValue;
    }
}

Settings
{
  "remappings": [
    "frax-std/=lib/frax-standard-solidity/src/",
    "@eth-optimism/=lib/optimism/packages/",
    "lib/optimism/packages/contracts-bedrock:src/=lib/optimism/packages/contracts-bedrock/src/",
    "src/=src/",
    "@openzeppelin-4/=node_modules/@openzeppelin-4/",
    "@openzeppelin-5/=node_modules/@openzeppelin-5/",
    "@openzeppelin/=node_modules/@openzeppelin/",
    "@rari-capital/=node_modules/@rari-capital/",
    "clones-with-immutable-args/=lib/optimism/packages/contracts-bedrock/lib/clones-with-immutable-args/src/",
    "ds-test/=lib/frax-standard-solidity/lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/frax-standard-solidity/lib/forge-std/src/",
    "frax-standard-solidity/=lib/frax-standard-solidity/src/",
    "kontrol-cheatcodes/=lib/optimism/packages/contracts-bedrock/lib/kontrol-cheatcodes/src/",
    "lib-keccak/=lib/optimism/packages/contracts-bedrock/lib/lib-keccak/contracts/",
    "openzeppelin-contracts-upgradeable/=lib/optimism/packages/contracts-bedrock/lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin-contracts/=lib/optimism/packages/contracts-bedrock/lib/openzeppelin-contracts/",
    "optimism/=lib/optimism/",
    "safe-contracts/=lib/optimism/packages/contracts-bedrock/lib/safe-contracts/contracts/",
    "solady/=lib/optimism/packages/contracts-bedrock/lib/solady/",
    "solidity-bytes-utils/=lib/frax-standard-solidity/lib/solidity-bytes-utils/",
    "solmate/=lib/optimism/packages/contracts-bedrock/lib/solmate/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 100000
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"addressBalances","outputs":[{"internalType":"uint256[]","name":"result","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"tokenBalances","outputs":[{"internalType":"uint256[]","name":"result","type":"uint256[]"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b506103bb806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80633ad206cc1461003b578063a2b1600c14610064575b600080fd5b61004e610049366004610203565b61007a565b60405161005b91906102f9565b60405180910390f35b61004e610072366004610203565b606092915050565b6060815167ffffffffffffffff811115610096576100966101d4565b6040519080825280602002602001820160405280156100bf578160200160208202803683370190505b5090508260005b83518110156101a3578173ffffffffffffffffffffffffffffffffffffffff16631da24f3e8583815181106100fd576100fd61033d565b60200260200101516040518263ffffffff1660e01b815260040161013d919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa15801561015a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017e919061036c565b8382815181106101905761019061033d565b60209081029190910101526001016100c6565b505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101cf57600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561021657600080fd5b61021f836101ab565b915060208084013567ffffffffffffffff8082111561023d57600080fd5b818601915086601f83011261025157600080fd5b813581811115610263576102636101d4565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811085821117156102a6576102a66101d4565b6040529182528482019250838101850191898311156102c457600080fd5b938501935b828510156102e9576102da856101ab565b845293850193928501926102c9565b8096505050505050509250929050565b6020808252825182820181905260009190848201906040850190845b8181101561033157835183529284019291840191600101610315565b50909695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561037e57600080fd5b505191905056fea2646970667358221220ea526bce46be9f79e0941fe8a17515b0a6e1a8488ff8e19c293e331118e5f4b564736f6c63430008170033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100365760003560e01c80633ad206cc1461003b578063a2b1600c14610064575b600080fd5b61004e610049366004610203565b61007a565b60405161005b91906102f9565b60405180910390f35b61004e610072366004610203565b606092915050565b6060815167ffffffffffffffff811115610096576100966101d4565b6040519080825280602002602001820160405280156100bf578160200160208202803683370190505b5090508260005b83518110156101a3578173ffffffffffffffffffffffffffffffffffffffff16631da24f3e8583815181106100fd576100fd61033d565b60200260200101516040518263ffffffff1660e01b815260040161013d919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b602060405180830381865afa15801561015a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017e919061036c565b8382815181106101905761019061033d565b60209081029190910101526001016100c6565b505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101cf57600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561021657600080fd5b61021f836101ab565b915060208084013567ffffffffffffffff8082111561023d57600080fd5b818601915086601f83011261025157600080fd5b813581811115610263576102636101d4565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811085821117156102a6576102a66101d4565b6040529182528482019250838101850191898311156102c457600080fd5b938501935b828510156102e9576102da856101ab565b845293850193928501926102c9565b8096505050505050509250929050565b6020808252825182820181905260009190848201906040850190845b8181101561033157835183529284019291840191600101610315565b50909695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561037e57600080fd5b505191905056fea2646970667358221220ea526bce46be9f79e0941fe8a17515b0a6e1a8488ff8e19c293e331118e5f4b564736f6c63430008170033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.