Cryo Explorer Ethereum Mainnet

Address Contract Verified

Address 0xCc7FCd37e649390587Aa40816F7d1f3380DFbE7e
Balance 0 ETH
Nonce 1
Code Size 2331 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

2331 bytes
0x608060405234801561000f575f5ffd5b50600436106100a6575f3560e01c8063395093511161006e578063395093511461012f57806370a082311461014257806395d89b411461016a578063a457c2d714610172578063a9059cbb14610185578063dd62ed3e14610198575f5ffd5b806306fdde03146100aa578063095ea7b3146100c857806318160ddd146100eb57806323b872dd146100fd578063313ce56714610110575b5f5ffd5b6100b26101c2565b6040516100bf9190610770565b60405180910390f35b6100db6100d63660046107c0565b61024d565b60405190151581526020016100bf565b6003545b6040519081526020016100bf565b6100db61010b3660046107e8565b6102b9565b60025461011d9060ff1681565b60405160ff90911681526020016100bf565b6100db61013d3660046107c0565b610509565b6100ef610150366004610822565b6001600160a01b03165f9081526004602052604090205490565b6100b2610598565b6100db6101803660046107c0565b6105a5565b6100db6101933660046107c0565b610649565b6100ef6101a6366004610842565b600560209081525f928352604080842090915290825290205481565b5f80546101ce90610873565b80601f01602080910402602001604051908101604052809291908181526020018280546101fa90610873565b80156102455780601f1061021c57610100808354040283529160200191610245565b820191905f5260205f20905b81548152906001019060200180831161022857829003601f168201915b505050505081565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102a79086815260200190565b60405180910390a35060015b92915050565b5f6001600160a01b0383166103095760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b60448201526064015b60405180910390fd5b6001600160a01b0384165f908152600460205260409020548211156103625760405162461bcd60e51b815260206004820152600f60248201526e42616c616e636520746f6f206c6f7760881b6044820152606401610300565b6001600160a01b0384165f9081526005602090815260408083203384529091529020548211156103c85760405162461bcd60e51b8152602060048201526011602482015270416c6c6f77616e636520746f6f206c6f7760781b6044820152606401610300565b6001600160a01b0384165f90815260046020526040812080548492906103ef9084906108bf565b90915550506001600160a01b0383165f908152600460205260408120805484929061041b9084906108d2565b90915550506001600160a01b0384165f908152600560209081526040808320338452909152812080548492906104529084906108bf565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161049e91815260200190565b60405180910390a36001600160a01b0384165f81815260056020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b335f9081526005602090815260408083206001600160a01b038616845290915281208054839190839061053d9084906108d2565b9091555050335f8181526005602090815260408083206001600160a01b038816808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591016102a7565b600180546101ce90610873565b335f9081526005602090815260408083206001600160a01b03861684529091528120548211156106175760405162461bcd60e51b815260206004820152601e60248201527f44656372656173656420616c6c6f77616e63652062656c6f77207a65726f00006044820152606401610300565b335f9081526005602090815260408083206001600160a01b03871684529091528120805484929061053d9084906108bf565b5f6001600160a01b0383166106945760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b6044820152606401610300565b335f908152600460205260409020548211156106e45760405162461bcd60e51b815260206004820152600f60248201526e42616c616e636520746f6f206c6f7760881b6044820152606401610300565b335f90815260046020526040812080548492906107029084906108bf565b90915550506001600160a01b0383165f908152600460205260408120805484929061072e9084906108d2565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016102a7565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146107bb575f5ffd5b919050565b5f5f604083850312156107d1575f5ffd5b6107da836107a5565b946020939093013593505050565b5f5f5f606084860312156107fa575f5ffd5b610803846107a5565b9250610811602085016107a5565b929592945050506040919091013590565b5f60208284031215610832575f5ffd5b61083b826107a5565b9392505050565b5f5f60408385031215610853575f5ffd5b61085c836107a5565b915061086a602084016107a5565b90509250929050565b600181811c9082168061088757607f821691505b6020821081036108a557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156102b3576102b36108ab565b808201808211156102b3576102b36108ab56fea2646970667358221220fed70cd51e43b6e3b475c9a4924b972215ccd8de7e9d0aeb8c3f014ee5f5096264736f6c634300081e0033

Verified Source Code Full Match

Compiler: v0.8.30+commit.73712a01 EVM: prague Optimization: Yes (200 runs)
3_Ballot.sol 72 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.30;

contract Token {
    string public name = "XRP";
    string public symbol = "XRP";
    uint8 public decimals = 18;
    uint256 private _totalSupply = 1_500_000_000_000 * 10 ** 18;

    mapping(address => uint256) private balances;
    mapping(address => mapping(address => uint256)) public allowance;

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    constructor() {
        balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address owner) public view returns (uint256) {
        return balances[owner];
    }

    function transfer(address to, uint256 value) public returns (bool) {
        require(to != address(0), "Invalid recipient");
        require(balances[msg.sender] >= value, "Balance too low");

        balances[msg.sender] -= value;
        balances[to] += value;

        emit Transfer(msg.sender, to, value);
        return true;
    }

    function approve(address spender, uint256 value) public returns (bool) {
        allowance[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    function transferFrom(address from, address to, uint256 value) public returns (bool) {
        require(to != address(0), "Invalid recipient");
        require(balances[from] >= value, "Balance too low");
        require(allowance[from][msg.sender] >= value, "Allowance too low");

        balances[from] -= value;
        balances[to] += value;
        allowance[from][msg.sender] -= value;

        emit Transfer(from, to, value);
        emit Approval(from, msg.sender, allowance[from][msg.sender]);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        allowance[msg.sender][spender] += addedValue;
        emit Approval(msg.sender, spender, allowance[msg.sender][spender]);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        require(allowance[msg.sender][spender] >= subtractedValue, "Decreased allowance below zero");
        allowance[msg.sender][spender] -= subtractedValue;
        emit Approval(msg.sender, spender, allowance[msg.sender][spender]);
        return true;
    }
}

Read Contract

allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256

Write Contract 5 functions

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

approve 0x095ea7b3
address spender
uint256 value
returns: bool
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
transfer 0xa9059cbb
address to
uint256 value
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 value
returns: bool

Recent Transactions

No transactions found for this address