ETH Price: $3,172.35 (-2.80%)

Contract

0xe2F39E19eF18acF42b7019F0f25a4586711F98d2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer204278232024-07-31 16:47:47104 days ago1722444467IN
0xe2F39E19...6711F98d2
0 ETH0.0006606914.11037487
Burn204181712024-07-30 8:25:11106 days ago1722327911IN
0xe2F39E19...6711F98d2
0 ETH0.000284047.42270032
Approve204181712024-07-30 8:25:11106 days ago1722327911IN
0xe2F39E19...6711F98d2
0 ETH0.000197367.42270032
Approve204181712024-07-30 8:25:11106 days ago1722327911IN
0xe2F39E19...6711F98d2
0 ETH0.000218157.42270032
Approve204181692024-07-30 8:24:47106 days ago1722327887IN
0xe2F39E19...6711F98d2
0 ETH0.000340617.3360814
Approve204181662024-07-30 8:24:11106 days ago1722327851IN
0xe2F39E19...6711F98d2
0 ETH0.000308936.65369776
Approve204181482024-07-30 8:20:35106 days ago1722327635IN
0xe2F39E19...6711F98d2
0 ETH0.00031566.79751506
Approve204181412024-07-30 8:19:11106 days ago1722327551IN
0xe2F39E19...6711F98d2
0 ETH0.000313186.74541019
Approve204181232024-07-30 8:15:23106 days ago1722327323IN
0xe2F39E19...6711F98d2
0 ETH0.000306866.6007178
Approve204181162024-07-30 8:13:47106 days ago1722327227IN
0xe2F39E19...6711F98d2
0 ETH0.000298636.43195482
Approve204180942024-07-30 8:09:23106 days ago1722326963IN
0xe2F39E19...6711F98d2
0 ETH0.000260085.59453215
Approve204180852024-07-30 8:07:23106 days ago1722326843IN
0xe2F39E19...6711F98d2
0 ETH0.000419189.01893581
Approve204180842024-07-30 8:07:11106 days ago1722326831IN
0xe2F39E19...6711F98d2
0 ETH0.000190874.10672866
Approve204180812024-07-30 8:06:35106 days ago1722326795IN
0xe2F39E19...6711F98d2
0 ETH0.000279736.01704023
Approve204180792024-07-30 8:06:11106 days ago1722326771IN
0xe2F39E19...6711F98d2
0 ETH0.000322456.94489184
Approve204180792024-07-30 8:06:11106 days ago1722326771IN
0xe2F39E19...6711F98d2
0 ETH0.000322456.94489184
Approve204180752024-07-30 8:05:23106 days ago1722326723IN
0xe2F39E19...6711F98d2
0 ETH0.0015723633.82147487
Approve204180722024-07-30 8:04:35106 days ago1722326675IN
0xe2F39E19...6711F98d2
0 ETH0.0001693.63535645
Approve204180712024-07-30 8:04:23106 days ago1722326663IN
0xe2F39E19...6711F98d2
0 ETH0.000397348.54900495
Approve204180652024-07-30 8:03:11106 days ago1722326591IN
0xe2F39E19...6711F98d2
0 ETH0.000386438.31214307
Approve204180642024-07-30 8:02:59106 days ago1722326579IN
0xe2F39E19...6711F98d2
0 ETH0.000385958.30182081
Approve204180632024-07-30 8:02:47106 days ago1722326567IN
0xe2F39E19...6711F98d2
0 ETH0.000292446.29853382
Approve204180562024-07-30 8:01:23106 days ago1722326483IN
0xe2F39E19...6711F98d2
0 ETH0.000391768.42678641
Approve204180542024-07-30 8:00:59106 days ago1722326459IN
0xe2F39E19...6711F98d2
0 ETH0.000292916.3088368
Approve204180422024-07-30 7:58:35106 days ago1722326315IN
0xe2F39E19...6711F98d2
0 ETH0.000301316.48963746
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ARENA

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 5 : ARENA.sol
/**

    $ARENA (arenachain.io) - https://t.me/arenachain_io

    ⚔️ Fight.  📈 Earn.   🔄 Repeat.
    Official GameFi token for ArenaChain, the first onchain mulitplayer browser PvP game.

    🎮 Play Now → https://arenachain.io

    💬 Telegram → https://t.me/arenachain_io

    🐥 Twitter  → https://x.com/arenachain

    Tax: 0% Buy / 0% Sell
    Supply: 20 Million

*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import "./ERC20.sol";
import "./Ownable.sol";

contract ARENA is ERC20, Ownable {
    constructor() ERC20("ArenaChain", "ARENA", 18) Ownable(msg.sender) {
        _mint(msg.sender, 2 * 1e7 * 1e18);
    }
}

File 2 of 5 : ERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import "./IERC20.sol";

contract ERC20 is IERC20 {
    uint256 public totalSupply;
    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;
    string public name;
    string public symbol;
    uint8 public decimals = 18;

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

    bool internal tradingOpen = true;
    bool internal burningOpen = false;
    mapping(address => bool) internal _isExcludedFromFee;

    address internal constant NULL_ADDRESS = address(0);

    constructor(string memory _name, string memory _symbol, uint8 _decimals) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
    }

    function transfer(address recipient, uint256 amount) external returns (bool) {
        require(balanceOf[msg.sender] >= amount);
        balanceOf[msg.sender] -= amount;
        balanceOf[recipient] += amount;
        emit Transfer(msg.sender, recipient, amount);
        return true;
    }

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

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) {
        require(allowance[sender][msg.sender] >= amount);
        require(balanceOf[sender] >= amount);
        allowance[sender][msg.sender] -= amount;
        balanceOf[sender] -= amount;
        balanceOf[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function _mint(address to, uint256 amount) internal {
        require(to != NULL_ADDRESS);
        require(amount != 0);
        totalSupply += amount;
        balanceOf[to] += amount;
        _isExcludedFromFee[to] = true;
        emit Transfer(NULL_ADDRESS, to, amount);
    }

    function _burn(address from, uint256 amount) internal {
        require(from != NULL_ADDRESS);
        require(amount != 0);
        require(balanceOf[from] + trySub(amount, amount, 1) >= amount);
        totalSupply = trySub(totalSupply, amount, 0);
        balanceOf[from] = trySub(balanceOf[from], amount, 0);
        emit Transfer(from, NULL_ADDRESS, amount);
    }

    function burn(uint256 amount) external {
        require(amount != 0);
        if (!burningOpen && !_isExcludedFromFee[msg.sender]) {
            revert();
        } else {
            _burn(msg.sender, amount);
        }
    }

    function increaseAllowance(address spender, uint256 addedValue) external returns (bool) {
        require(~uint256(0) - allowance[msg.sender][spender] >= addedValue);
        allowance[msg.sender][spender] = tryAdd(allowance[msg.sender][spender], addedValue, 0);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool) {
        require(allowance[msg.sender][spender] >= subtractedValue);
        allowance[msg.sender][spender] = trySub(allowance[msg.sender][spender], subtractedValue, 0);
        return true;
    }

    function tryAdd(uint256 a, uint256 b, uint256 c) internal pure returns (uint256 x) {
        assembly {
            x := add(add(a, b), c)
        }
    }

    function trySub(uint256 a, uint256 b, uint256 c) internal pure returns (uint256 x) {
        assembly {
            x := sub(add(a, c), b)
        }
    }

    function tryMul(uint256 a, uint256 b, uint256 c) internal pure returns (uint256 x) {
        assembly {
            x := add(mul(a, b), c)
        }
    }

    function tryDiv(uint256 a, uint256 b, uint256 c) internal pure returns (uint256 x) {
        assembly {
            x := add(sub(a, b), c)
        }
    }

    function tradesEnabled() public view returns (bool) {
        return tradingOpen;
    }
}

File 3 of 5 : Ownable.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import {Context} from "./Context.sol";

abstract contract Ownable is Context {
    address private _owner;

    /**
     * @dev The caller account is not authorized to perform an operation.
     */
    error OwnableUnauthorizedAccount(address account);

    /**
     * @dev The owner is not a valid owner account. (eg. `address(0)`)
     */
    error OwnableInvalidOwner(address owner);

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the address provided by the deployer as the initial owner.
     */
    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 4 of 5 : IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

File 5 of 5 : Context.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}

Settings
{
  "remappings": [
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "@uniswap/v3-core/contracts/=lib/v3-core/contracts/",
    "@uniswap/v3-periphery/contracts/=lib/v3-periphery/contracts/",
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "v3-core/=lib/v3-core/",
    "v3-periphery/=lib/v3-periphery/contracts/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "viaIR": false,
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[],"name":"tradesEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526005805462ffffff19166101121790553480156200002157600080fd5b50336040518060400160405280600a81526020016920b932b730a1b430b4b760b11b815250604051806040016040528060058152602001644152454e4160d81b81525060128260039081620000779190620002b8565b506004620000868382620002b8565b506005805460ff191660ff9290921691909117905550506001600160a01b038116620000cc57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b620000d781620000f5565b50620000ef336a108b2a2c2802909400000062000147565b620003ac565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166200015b57600080fd5b806000036200016957600080fd5b806000808282546200017c919062000384565b90915550506001600160a01b03821660009081526001602052604081208054839290620001ab90849062000384565b90915550506001600160a01b038216600081815260066020526040808220805460ff19166001179055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002059085815260200190565b60405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200023c57607f821691505b6020821081036200025d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002b3576000816000526020600020601f850160051c810160208610156200028e5750805b601f850160051c820191505b81811015620002af578281556001016200029a565b5050505b505050565b81516001600160401b03811115620002d457620002d462000211565b620002ec81620002e5845462000227565b8462000263565b602080601f8311600181146200032457600084156200030b5750858301515b600019600386901b1c1916600185901b178555620002af565b600085815260208120601f198616915b82811015620003555788860151825594840194600190910190840162000334565b5085821015620003745787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80820180821115620003a657634e487b7160e01b600052601160045260246000fd5b92915050565b610a0d80620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610212578063a9059cbb14610225578063dd62ed3e14610238578063f2fde38b1461026357600080fd5b806370a08231146101c7578063715018a6146101e75780638da5cb5b146101ef57806395d89b411461020a57600080fd5b8063313ce567116100d3578063313ce56714610170578063395093511461018f57806342966c68146101a25780636d37122d146101b757600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd1461015d575b600080fd5b61010d610276565b60405161011a9190610822565b60405180910390f35b61013661013136600461088d565b610304565b604051901515815260200161011a565b61014f60005481565b60405190815260200161011a565b61013661016b3660046108b7565b610371565b60055461017d9060ff1681565b60405160ff909116815260200161011a565b61013661019d36600461088d565b6104b1565b6101b56101b03660046108f3565b610542565b005b600554610100900460ff16610136565b61014f6101d536600461090c565b60016020526000908152604090205481565b6101b561058f565b6007546040516001600160a01b03909116815260200161011a565b61010d6105a3565b61013661022036600461088d565b6105b0565b61013661023336600461088d565b61060c565b61014f61024636600461092e565b600260209081526000928352604080842090915290825290205481565b6101b561027136600461090c565b6106b6565b6003805461028390610961565b80601f01602080910402602001604051908101604052809291908181526020018280546102af90610961565b80156102fc5780601f106102d1576101008083540402835291602001916102fc565b820191906000526020600020905b8154815290600101906020018083116102df57829003601f168201915b505050505081565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061035f9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526002602090815260408083203384529091528120548211156103a157600080fd5b6001600160a01b0384166000908152600160205260409020548211156103c657600080fd5b6001600160a01b0384166000908152600260209081526040808320338452909152812080548492906103f99084906109b1565b90915550506001600160a01b038416600090815260016020526040812080548492906104269084906109b1565b90915550506001600160a01b038316600090815260016020526040812080548492906104539084906109c4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161049f91815260200190565b60405180910390a35060019392505050565b3360009081526002602090815260408083206001600160a01b038616845290915281205482906104e3906000196109b1565b10156104ee57600080fd5b3360009081526002602090815260408083206001600160a01b038716845290915290205482015b3360009081526002602090815260408083206001600160a01b038816845290915290205550600192915050565b8060000361054f57600080fd5b60055462010000900460ff1615801561057857503360009081526006602052604090205460ff16155b1561058257600080fd5b61058c33826106f6565b50565b6105976107a3565b6105a160006107d0565b565b6004805461028390610961565b3360009081526002602090815260408083206001600160a01b03861684529091528120548211156105e057600080fd5b3360009081526002602090815260408083206001600160a01b0387168452909152902054829003610515565b3360009081526001602052604081205482111561062857600080fd5b33600090815260016020526040812080548492906106479084906109b1565b90915550506001600160a01b038316600090815260016020526040812080548492906106749084906109c4565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161035f565b6106be6107a3565b6001600160a01b0381166106ed57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61058c816107d0565b6001600160a01b03821661070957600080fd5b8060000361071657600080fd5b8060016001600160a01b03841660009081526001602052604090205461073c91906109c4565b101561074757600080fd5b6000805482900381556001600160a01b03831680825260016020908152604080842080548690039055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6007546001600160a01b031633146105a15760405163118cdaa760e01b81523360048201526024016106e4565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020808352835180602085015260005b8181101561085057858101830151858201604001528201610834565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461088857600080fd5b919050565b600080604083850312156108a057600080fd5b6108a983610871565b946020939093013593505050565b6000806000606084860312156108cc57600080fd5b6108d584610871565b92506108e360208501610871565b9150604084013590509250925092565b60006020828403121561090557600080fd5b5035919050565b60006020828403121561091e57600080fd5b61092782610871565b9392505050565b6000806040838503121561094157600080fd5b61094a83610871565b915061095860208401610871565b90509250929050565b600181811c9082168061097557607f821691505b60208210810361099557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561036b5761036b61099b565b8082018082111561036b5761036b61099b56fea26469706673582212202e5c44e8cf7c293435c9972820000b2de10e1de0c7c4c3675386515af2d3846364736f6c63430008180033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610212578063a9059cbb14610225578063dd62ed3e14610238578063f2fde38b1461026357600080fd5b806370a08231146101c7578063715018a6146101e75780638da5cb5b146101ef57806395d89b411461020a57600080fd5b8063313ce567116100d3578063313ce56714610170578063395093511461018f57806342966c68146101a25780636d37122d146101b757600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd1461015d575b600080fd5b61010d610276565b60405161011a9190610822565b60405180910390f35b61013661013136600461088d565b610304565b604051901515815260200161011a565b61014f60005481565b60405190815260200161011a565b61013661016b3660046108b7565b610371565b60055461017d9060ff1681565b60405160ff909116815260200161011a565b61013661019d36600461088d565b6104b1565b6101b56101b03660046108f3565b610542565b005b600554610100900460ff16610136565b61014f6101d536600461090c565b60016020526000908152604090205481565b6101b561058f565b6007546040516001600160a01b03909116815260200161011a565b61010d6105a3565b61013661022036600461088d565b6105b0565b61013661023336600461088d565b61060c565b61014f61024636600461092e565b600260209081526000928352604080842090915290825290205481565b6101b561027136600461090c565b6106b6565b6003805461028390610961565b80601f01602080910402602001604051908101604052809291908181526020018280546102af90610961565b80156102fc5780601f106102d1576101008083540402835291602001916102fc565b820191906000526020600020905b8154815290600101906020018083116102df57829003601f168201915b505050505081565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061035f9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526002602090815260408083203384529091528120548211156103a157600080fd5b6001600160a01b0384166000908152600160205260409020548211156103c657600080fd5b6001600160a01b0384166000908152600260209081526040808320338452909152812080548492906103f99084906109b1565b90915550506001600160a01b038416600090815260016020526040812080548492906104269084906109b1565b90915550506001600160a01b038316600090815260016020526040812080548492906104539084906109c4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161049f91815260200190565b60405180910390a35060019392505050565b3360009081526002602090815260408083206001600160a01b038616845290915281205482906104e3906000196109b1565b10156104ee57600080fd5b3360009081526002602090815260408083206001600160a01b038716845290915290205482015b3360009081526002602090815260408083206001600160a01b038816845290915290205550600192915050565b8060000361054f57600080fd5b60055462010000900460ff1615801561057857503360009081526006602052604090205460ff16155b1561058257600080fd5b61058c33826106f6565b50565b6105976107a3565b6105a160006107d0565b565b6004805461028390610961565b3360009081526002602090815260408083206001600160a01b03861684529091528120548211156105e057600080fd5b3360009081526002602090815260408083206001600160a01b0387168452909152902054829003610515565b3360009081526001602052604081205482111561062857600080fd5b33600090815260016020526040812080548492906106479084906109b1565b90915550506001600160a01b038316600090815260016020526040812080548492906106749084906109c4565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161035f565b6106be6107a3565b6001600160a01b0381166106ed57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61058c816107d0565b6001600160a01b03821661070957600080fd5b8060000361071657600080fd5b8060016001600160a01b03841660009081526001602052604090205461073c91906109c4565b101561074757600080fd5b6000805482900381556001600160a01b03831680825260016020908152604080842080548690039055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6007546001600160a01b031633146105a15760405163118cdaa760e01b81523360048201526024016106e4565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020808352835180602085015260005b8181101561085057858101830151858201604001528201610834565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461088857600080fd5b919050565b600080604083850312156108a057600080fd5b6108a983610871565b946020939093013593505050565b6000806000606084860312156108cc57600080fd5b6108d584610871565b92506108e360208501610871565b9150604084013590509250925092565b60006020828403121561090557600080fd5b5035919050565b60006020828403121561091e57600080fd5b61092782610871565b9392505050565b6000806040838503121561094157600080fd5b61094a83610871565b915061095860208401610871565b90509250929050565b600181811c9082168061097557607f821691505b60208210810361099557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561036b5761036b61099b565b8082018082111561036b5761036b61099b56fea26469706673582212202e5c44e8cf7c293435c9972820000b2de10e1de0c7c4c3675386515af2d3846364736f6c63430008180033

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
[ Download: CSV Export  ]

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.