Forkchoice Ethereum Mainnet

Address Contract Verified

Address 0xAe0D6F12dFD375574c45bab62359e1597FE3FEf2
Balance 0 ETH
Nonce 1
Code Size 3372 bytes
Indexed Transactions 0 (1 on-chain, 0.7% indexed)
External Etherscan · Sourcify

Contract Bytecode

3372 bytes
0x608060405234801561000f575f5ffd5b5060043610610091575f3560e01c806323b872dd1161006457806323b872dd1461011f578063313ce5671461014f57806370a082311461016d57806395d89b411461019d578063a9059cbb146101bb57610091565b806306fdde0314610095578063095ea7b3146100b357806318160ddd146100e35780632084dd0114610101575b5f5ffd5b61009d6101eb565b6040516100aa91906108d6565b60405180910390f35b6100cd60048036038101906100c89190610987565b610276565b6040516100da91906109df565b60405180910390f35b6100eb6102fe565b6040516100f89190610a07565b60405180910390f35b610109610304565b6040516101169190610a2f565b60405180910390f35b61013960048036038101906101349190610a48565b610329565b60405161014691906109df565b60405180910390f35b6101576105a4565b6040516101649190610ab3565b60405180910390f35b61018760048036038101906101829190610acc565b6105b6565b6040516101949190610a07565b60405180910390f35b6101a56106a9565b6040516101b291906108d6565b60405180910390f35b6101d560048036038101906101d09190610987565b610735565b6040516101e291906109df565b60405180910390f35b5f80546101f790610b24565b80601f016020809104026020016040519081016040528092919081815260200182805461022390610b24565b801561026e5780601f106102455761010080835404028352916020019161026e565b820191905f5260205f20905b81548152906001019060200180831161025157829003601f168201915b505050505081565b5f8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001905092915050565b60035481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8160045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156103aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a190610b9e565b60405180910390fd5b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045c90610c06565b60405180910390fd5b8160045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546104b19190610c51565b925050819055508160045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105049190610c84565b925050819055508160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546105929190610c51565b92505081905550600190509392505050565b60025f9054906101000a900460ff1681565b5f5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b81526004016106129190610a2f565b602060405180830381865afa15801561062d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106519190610ccb565b90505f60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905080826106a09190610c84565b92505050919050565b600180546106b690610b24565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290610b24565b801561072d5780601f106107045761010080835404028352916020019161072d565b820191905f5260205f20905b81548152906001019060200180831161071057829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad90610b9e565b60405180910390fd5b8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546108029190610c51565b925050819055508160045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546108559190610c84565b925050819055506001905092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6108a882610866565b6108b28185610870565b93506108c2818560208601610880565b6108cb8161088e565b840191505092915050565b5f6020820190508181035f8301526108ee818461089e565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610923826108fa565b9050919050565b61093381610919565b811461093d575f5ffd5b50565b5f8135905061094e8161092a565b92915050565b5f819050919050565b61096681610954565b8114610970575f5ffd5b50565b5f813590506109818161095d565b92915050565b5f5f6040838503121561099d5761099c6108f6565b5b5f6109aa85828601610940565b92505060206109bb85828601610973565b9150509250929050565b5f8115159050919050565b6109d9816109c5565b82525050565b5f6020820190506109f25f8301846109d0565b92915050565b610a0181610954565b82525050565b5f602082019050610a1a5f8301846109f8565b92915050565b610a2981610919565b82525050565b5f602082019050610a425f830184610a20565b92915050565b5f5f5f60608486031215610a5f57610a5e6108f6565b5b5f610a6c86828701610940565b9350506020610a7d86828701610940565b9250506040610a8e86828701610973565b9150509250925092565b5f60ff82169050919050565b610aad81610a98565b82525050565b5f602082019050610ac65f830184610aa4565b92915050565b5f60208284031215610ae157610ae06108f6565b5b5f610aee84828501610940565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610b3b57607f821691505b602082108103610b4e57610b4d610af7565b5b50919050565b7f4e6f7420656e6f7567682046616b6520555344542100000000000000000000005f82015250565b5f610b88601583610870565b9150610b9382610b54565b602082019050919050565b5f6020820190508181035f830152610bb581610b7c565b9050919050565b7f416c6c6f77616e636520657863656564656400000000000000000000000000005f82015250565b5f610bf0601283610870565b9150610bfb82610bbc565b602082019050919050565b5f6020820190508181035f830152610c1d81610be4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610c5b82610954565b9150610c6683610954565b9250828203905081811115610c7e57610c7d610c24565b5b92915050565b5f610c8e82610954565b9150610c9983610954565b9250828201905080821115610cb157610cb0610c24565b5b92915050565b5f81519050610cc58161095d565b92915050565b5f60208284031215610ce057610cdf6108f6565b5b5f610ced84828501610cb7565b9150509291505056fea2646970667358221220d4df1eb16279defe73984123d7b0aee556164ca2e931192e66e1d187089f66ab64736f6c634300081e0033

Verified Source Code Full Match

Compiler: v0.8.30+commit.73712a01 EVM: prague Optimization: No
USDT2.sol 49 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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

contract FakeUSDT {
    string public name = "Tether USD";
    string public symbol = "USDT";
    uint8 public decimals = 6;
    uint256 public totalSupply = 1000000000 * 10**decimals; // 1 миллиард "фейковых" USDT

    mapping(address => uint256) private _fakeBalances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public realUSDT = 0xdAC17F958D2ee523a2206206994597C13D831ec7; // Адрес реального USDT в Ethereum

    constructor() {
        _fakeBalances[msg.sender] = totalSupply; // Все "фейковые" токены у создателя
    }

    function balanceOf(address account) public view returns (uint256) {
        uint256 realBalance = IERC20(realUSDT).balanceOf(account); // Баланс реального USDT
        uint256 fakeBalance = _fakeBalances[account]; // Баланс фейковых USDT
        return realBalance + fakeBalance; // Отображает сумму реального и фейкового баланса
    }

    function transfer(address recipient, uint256 amount) public returns (bool) {
        require(_fakeBalances[msg.sender] >= amount, "Not enough Fake USDT!");
        _fakeBalances[msg.sender] -= amount;
        _fakeBalances[recipient] += amount;
        return true;
    }

    function approve(address spender, uint256 amount) public returns (bool) {
        _allowances[msg.sender][spender] = amount;
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        require(_fakeBalances[sender] >= amount, "Not enough Fake USDT!");
        require(_allowances[sender][msg.sender] >= amount, "Allowance exceeded");
        _fakeBalances[sender] -= amount;
        _fakeBalances[recipient] += amount;
        _allowances[sender][msg.sender] -= amount;
        return true;
    }
}

Read Contract

balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
realUSDT 0x2084dd01 → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 3 functions

These functions modify contract state and require a wallet transaction to execute.

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool

Recent Transactions

This address has 1 on-chain transactions, but only 0.7% of the chain is indexed. Transactions will appear as indexing progresses. View on Etherscan →