ETH Price: $3,689.62 (+1.65%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xa75553d1...617f8c6Fb
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
DoughV2Token

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : DoughV2Token.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/ERC20.sol)

pragma solidity ^0.8.10;

interface IDoughV2Index {
    function getDoughV2Dsa(address _user) external view returns (address);
}

interface IShadowToken {
    function decimals() external view returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);
}

contract DoughV2Token {
    string private _name;
    string private _symbol;

    address public immutable shadowTokenAddress;
    address public immutable doughV2Index;

    error CustomError(string errorMsg);

    constructor(string memory name_, string memory symbol_, address shadowTokenAddress_, address doughV2Index_) {
        if (shadowTokenAddress_ == address(0)) revert CustomError("invalid address");
        if (doughV2Index_ == address(0)) revert CustomError("invalid address");
        _name = name_;
        _symbol = symbol_;
        shadowTokenAddress = shadowTokenAddress_;
        doughV2Index = doughV2Index_;
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return IShadowToken(shadowTokenAddress).decimals();
    }

    function totalSupply() public view returns (uint256) {
        return IShadowToken(shadowTokenAddress).totalSupply();
    }

    function balanceOf(address account) public view returns (uint256) {
        address _dsa = IDoughV2Index(doughV2Index).getDoughV2Dsa(account);
        if (_dsa == address(0)) {
            return 0;
        } else {
            return IShadowToken(shadowTokenAddress).balanceOf(_dsa);
        }
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"shadowTokenAddress_","type":"address"},{"internalType":"address","name":"doughV2Index_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"string","name":"errorMsg","type":"string"}],"name":"CustomError","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"doughV2Index","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"shadowTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063313ce5671161005b578063313ce567146100dc57806370a08231146100fa57806395d89b411461012a578063a69b6a76146101485761007d565b806306fdde031461008257806318160ddd146100a05780632d3c4d60146100be575b600080fd5b61008a610166565b6040516100979190610618565b60405180910390f35b6100a86101f8565b6040516100b59190610653565b60405180910390f35b6100c661028e565b6040516100d391906106af565b60405180910390f35b6100e46102b2565b6040516100f191906106e6565b60405180910390f35b610114600480360381019061010f9190610732565b610348565b6040516101219190610653565b60405180910390f35b6101326104c9565b60405161013f9190610618565b60405180910390f35b61015061055b565b60405161015d91906106af565b60405180910390f35b6060600080546101759061078e565b80601f01602080910402602001604051908101604052809291908181526020018280546101a19061078e565b80156101ee5780601f106101c3576101008083540402835291602001916101ee565b820191906000526020600020905b8154815290600101906020018083116101d157829003601f168201915b5050505050905090565b60007f000000000000000000000000ea51d7853eefb32b6ee06b1c12e6dcca88be0ffe73ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610265573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028991906107ec565b905090565b7f000000000000000000000000ea51d7853eefb32b6ee06b1c12e6dcca88be0ffe81565b60007f000000000000000000000000ea51d7853eefb32b6ee06b1c12e6dcca88be0ffe73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561031f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103439190610845565b905090565b6000807f0000000000000000000000008f79975e3132192c62b899c3db6b5d388b35772f73ffffffffffffffffffffffffffffffffffffffff1663c9994b43846040518263ffffffff1660e01b81526004016103a491906106af565b602060405180830381865afa1580156103c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e59190610887565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104265760009150506104c4565b7f000000000000000000000000ea51d7853eefb32b6ee06b1c12e6dcca88be0ffe73ffffffffffffffffffffffffffffffffffffffff166370a08231826040518263ffffffff1660e01b815260040161047f91906106af565b602060405180830381865afa15801561049c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c091906107ec565b9150505b919050565b6060600180546104d89061078e565b80601f01602080910402602001604051908101604052809291908181526020018280546105049061078e565b80156105515780601f1061052657610100808354040283529160200191610551565b820191906000526020600020905b81548152906001019060200180831161053457829003601f168201915b5050505050905090565b7f0000000000000000000000008f79975e3132192c62b899c3db6b5d388b35772f81565b600081519050919050565b600082825260208201905092915050565b60005b838110156105b957808201518184015260208101905061059e565b838111156105c8576000848401525b50505050565b6000601f19601f8301169050919050565b60006105ea8261057f565b6105f4818561058a565b935061060481856020860161059b565b61060d816105ce565b840191505092915050565b6000602082019050818103600083015261063281846105df565b905092915050565b6000819050919050565b61064d8161063a565b82525050565b60006020820190506106686000830184610644565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106998261066e565b9050919050565b6106a98161068e565b82525050565b60006020820190506106c460008301846106a0565b92915050565b600060ff82169050919050565b6106e0816106ca565b82525050565b60006020820190506106fb60008301846106d7565b92915050565b600080fd5b61070f8161068e565b811461071a57600080fd5b50565b60008135905061072c81610706565b92915050565b60006020828403121561074857610747610701565b5b60006107568482850161071d565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806107a657607f821691505b602082108114156107ba576107b961075f565b5b50919050565b6107c98161063a565b81146107d457600080fd5b50565b6000815190506107e6816107c0565b92915050565b60006020828403121561080257610801610701565b5b6000610810848285016107d7565b91505092915050565b610822816106ca565b811461082d57600080fd5b50565b60008151905061083f81610819565b92915050565b60006020828403121561085b5761085a610701565b5b600061086984828501610830565b91505092915050565b60008151905061088181610706565b92915050565b60006020828403121561089d5761089c610701565b5b60006108ab84828501610872565b9150509291505056fea26469706673582212202999f31d676a0e22f1b08658d8b2718a4a0cc135b8232b6c2c067c097c71ca6664736f6c634300080a0033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.