ETH Price: $1,778.35 (+1.11%)

Contract

0x114738B865EEa72468D24465FBBEf013455CF249
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve201483342024-06-22 16:08:11285 days ago1719072491IN
0x114738B8...3455CF249
0 ETH0.000095963.62587469
Redeem200911302024-06-14 16:06:23293 days ago1718381183IN
0x114738B8...3455CF249
0 ETH0.0004939614.12512189
Redeem200911302024-06-14 16:06:23293 days ago1718381183IN
0x114738B8...3455CF249
0 ETH0.0005489714.12512189
Redeem200911302024-06-14 16:06:23293 days ago1718381183IN
0x114738B8...3455CF249
0 ETH0.0005494814.12512189
Redeem200911292024-06-14 16:06:11293 days ago1718381171IN
0x114738B8...3455CF249
0 ETH0.0005441613.98843756
Redeem200911292024-06-14 16:06:11293 days ago1718381171IN
0x114738B8...3455CF249
0 ETH0.0005439913.98843756
Redeem200911292024-06-14 16:06:11293 days ago1718381171IN
0x114738B8...3455CF249
0 ETH0.0005441613.98843756
Redeem200911292024-06-14 16:06:11293 days ago1718381171IN
0x114738B8...3455CF249
0 ETH0.0005443313.98843756
Redeem200911292024-06-14 16:06:11293 days ago1718381171IN
0x114738B8...3455CF249
0 ETH0.0005439913.98843756
Redeem200911282024-06-14 16:05:59293 days ago1718381159IN
0x114738B8...3455CF249
0 ETH0.0005180113.32857749
Redeem200911282024-06-14 16:05:59293 days ago1718381159IN
0x114738B8...3455CF249
0 ETH0.0005183313.32857749
Redeem200911282024-06-14 16:05:59293 days ago1718381159IN
0x114738B8...3455CF249
0 ETH0.0005184913.32857749
Redeem200911282024-06-14 16:05:59293 days ago1718381159IN
0x114738B8...3455CF249
0 ETH0.0005183313.32857749
Redeem200911282024-06-14 16:05:59293 days ago1718381159IN
0x114738B8...3455CF249
0 ETH0.0005183313.32857749
Redeem200911272024-06-14 16:05:47293 days ago1718381147IN
0x114738B8...3455CF249
0 ETH0.000461511.85989089
Redeem200911272024-06-14 16:05:47293 days ago1718381147IN
0x114738B8...3455CF249
0 ETH0.0004610711.85989089
Redeem200911272024-06-14 16:05:47293 days ago1718381147IN
0x114738B8...3455CF249
0 ETH0.000461511.85989089
Redeem200911272024-06-14 16:05:47293 days ago1718381147IN
0x114738B8...3455CF249
0 ETH0.0004613611.85989089
Redeem200911272024-06-14 16:05:47293 days ago1718381147IN
0x114738B8...3455CF249
0 ETH0.0004612111.85989089
Redeem200911272024-06-14 16:05:47293 days ago1718381147IN
0x114738B8...3455CF249
0 ETH0.0004610711.85989089
Redeem200911272024-06-14 16:05:47293 days ago1718381147IN
0x114738B8...3455CF249
0 ETH0.0004613611.85989089
Redeem200911272024-06-14 16:05:47293 days ago1718381147IN
0x114738B8...3455CF249
0 ETH0.000461511.85989089
Redeem200911272024-06-14 16:05:47293 days ago1718381147IN
0x114738B8...3455CF249
0 ETH0.0004613611.85989089
Redeem200911272024-06-14 16:05:47293 days ago1718381147IN
0x114738B8...3455CF249
0 ETH0.0004610711.85989089
Redeem200911252024-06-14 16:05:23293 days ago1718381123IN
0x114738B8...3455CF249
0 ETH0.0004968312.76791031
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
0x60806040167727842023-03-07 0:11:47759 days ago1678147907  Contract Creation0 ETH
Loading...
Loading

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

Contract Name:
SecurityToken

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 5 : SecurityToken.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.16;

import './interfaces/IERC20.sol';
import './interfaces/IManagement.sol';
import './BaseERC20.sol';
import './interfaces/IUpgradedToken.sol';

contract SecurityToken  is BaseERC20 {
    uint8 public transferFlag = 1;
    bool public upgraded;
    address public upgradedAddress;
    address public management;
    bool public paused;
    address public issuer;
    
    event SetSTManagement(address indexed from, address indexed newManagement);
    event Issue(address indexed from, address indexed to, uint256 value);
    event Redeem(address indexed from, address indexed to, uint256 value);
    event Paused(bool paused);
    event Flag(uint8 transferFlag);
    event Upgrade(address newAddress);

    modifier whenNotPaused() {
        require(!paused,"Paused");
        _;
    } 

    modifier onlyManagement() {
        require(msg.sender == management,"Caller is not management");
        _;
    }

    modifier onlyContractManager() {
        require(IManagement(management).isContractManager(msg.sender),"Caller is not contract manager");
        _;
    }

    constructor(
        string memory _name, 
        address _issuer,
        uint _amount,
        address _management
    ) BaseERC20(_name) {
        require(_management!= address(0));
        management = _management;
        issuer = _issuer;
        decimals = _amount;
    }


    function transfer(
        address to, 
        uint value
    )external whenNotPaused returns (bool) {
         if(upgraded){
            return IUpgradedToken(upgradedAddress).transferByLegacy(msg.sender, to, value);
        }
        if(transferFlag == 1){
            require(IManagement(management).isWhiteContract(msg.sender)&&//发起者白名单合约		
                (IManagement(management).isWhiteInvestor(to) || IManagement(management).isRestrictInvestor(to)),'Forbid transfer');
        }else if(transferFlag == 2){
            require((IManagement(management).isWhiteContract(msg.sender)||IManagement(management).isWhiteInvestor(msg.sender) || IManagement(management).isRestrictInvestor(msg.sender)) &&
                (IManagement(management).isWhiteInvestor(to) || IManagement(management).isRestrictInvestor(to)),'Forbid transfer');//发起者平台用户
        }else{	
            require(!IManagement(management).isBlockInvestor(msg.sender),'Block');//任何地址(非block地址)
        }
        _transfer(msg.sender, to, value);
        return true;
    }
    
    function transferFrom(
        address from,
        address to,
        uint value
    )external whenNotPaused  returns (bool) {
        if(upgraded){
            return IUpgradedToken(upgradedAddress).transferFromByLegacy(msg.sender, from ,to, value);
        }
        if(transferFlag == 1){
            require(IManagement(management).isWhiteContract(msg.sender)&&//发起者白名单合约
                (IManagement(management).isWhiteInvestor(from) || IManagement(management).isRestrictInvestor(from))&&
                (IManagement(management).isWhiteContract(to)||IManagement(management).isWhiteInvestor(to) || IManagement(management).isRestrictInvestor(to)),'Forbid transferFrom');
        }else if(transferFlag == 2){
            require((IManagement(management).isWhiteContract(msg.sender)||IManagement(management).isWhiteInvestor(msg.sender) || IManagement(management).isRestrictInvestor(msg.sender))&& //发起者平台用户
                (IManagement(management).isWhiteInvestor(from) || IManagement(management).isRestrictInvestor(from))&&
                (IManagement(management).isWhiteContract(to)||IManagement(management).isWhiteInvestor(to) || IManagement(management).isRestrictInvestor(to)),'Forbid transferFrom');
        }else{	
            require(!IManagement(management).isBlockInvestor(from),'Block'); //任何地址(非block地址)
        }
        if (_allowance[from][msg.sender] != MAX_INT) {
            _allowance[from][msg.sender] -=  value;
        }
        _transfer(from, to, value);
        return true;
    }
    function totalSupply() override public view returns (uint) {
        if (upgraded) {
            return IUpgradedToken(upgradedAddress).totalSupply();
        } else {
            return super.totalSupply();
        }
    }
    function approve(address _spender, uint _value) public override returns(bool) {
        if (upgraded) {
            return IUpgradedToken(upgradedAddress).approveByLegacy(msg.sender, _spender, _value);
        } else {
            return super.approve(_spender, _value);
        }
    }
    function balanceOf(address who) public view override returns (uint) {
        if (upgraded) {
            return IUpgradedToken(upgradedAddress).balanceOf(who);
        } else {
            return super.balanceOf(who);
        }
    }
    function allowance(address _owner, address _spender) public view override returns (uint remaining) {
        if (upgraded) {
            return IUpgradedToken(upgradedAddress).allowance(_owner, _spender);
        } else {
            return super.allowance(_owner, _spender);
        }
    }

    function setManagement(address _management) external onlyManagement  {
        require(_management!= address(0));
        management = _management;
        emit SetSTManagement(address(this),_management);
    }

    function setTransferFlag(uint8 _transferFlag) external onlyContractManager {
        transferFlag = _transferFlag;
        emit Flag(_transferFlag);
    }

    function setPause(bool _paused) external onlyContractManager {
        paused = _paused;
        emit Paused(_paused);
    }

    function issue(
        address investor,
        uint256 value
    ) external onlyContractManager  {
        if (transferFlag == 1 || transferFlag == 2){
            require(IManagement(management).isWhiteInvestor(investor) || IManagement(management).isWhiteContract(investor),"Forbid issue");
        }else{
            require(!IManagement(management).isBlockInvestor(investor),"Block"); //任何地址(非blocklist地址)
        }
        _mint(investor,value);
        emit Issue(address(this),investor,value);
    }

    function redeem(
        address investor,
        uint256 value
    ) external onlyContractManager {
        _burn(investor,value);
        emit Redeem(address(this),investor,value);
    }

    function upgrade(address _upgradedAddress) external onlyContractManager {
        require(_upgradedAddress!= address(0));
        upgraded = true;
        upgradedAddress = _upgradedAddress;
        emit Upgrade(_upgradedAddress);
    }
}

File 2 of 5 : BaseERC20.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.16;

contract  BaseERC20  {
    uint public constant  MAX_INT = 2**256 - 1;

    string public name;
    string public symbol;
    uint public  decimals = 18;
    uint public _totalSupply;
    mapping(address => uint256) public  _balanceOf;
    mapping(address => mapping(address => uint256)) public _allowance;

    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);
    constructor(string memory _name){
        name = _name;
        symbol = _name;
        
    }
    
    function _mint(address to, uint256 value) internal {
        _totalSupply +=  value;
        _balanceOf[to] +=  value;
        emit Transfer(address(0), to, value);
    }

    function _burn(address from, uint256 value) internal {
        _balanceOf[from] -=  value;
        _totalSupply -=  value;
        emit Transfer(from, address(0), value);
    }

    function _transfer(
        address from,
        address to,
        uint256 value
    ) internal {
        _balanceOf[from] -= value;
        _balanceOf[to] += value;
        emit Transfer(from, to, value);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value
    ) internal {
        _allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }
    function balanceOf(address account) public virtual view returns (uint256){
        return _balanceOf[account];
    }
    function totalSupply() public virtual view returns (uint256){
        return _totalSupply;
    }
    function allowance(address owner, address spender) public virtual view returns (uint256){
        return _allowance[owner][spender];
    }
    function approve(address spender, uint256 value) public virtual returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    
}

File 3 of 5 : IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.16;
/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 4 of 5 : IManagement.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.16;

interface IManagement {
    
    function platformFeeAddress() external view returns (address);

    function isContractManager(address manager) external view returns (bool);

    function isWhiteInvestor(address investor) external view returns (bool);

    function isRestrictInvestor(address investor) external view returns (bool);

    function isWhiteContract(address contractAddress) external view returns (bool);
    
    function isBlockInvestor(address investor) external view returns (bool);

    
}

File 5 of 5 : IUpgradedToken.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.16;


interface IUpgradedToken{
    
    function transferByLegacy (address sender,address to,uint256 value) external returns (bool) ;
    
    function transferFromByLegacy (address sender,address from,address to,uint256 value) external returns (bool);

    function balanceOf(address account) external view returns (uint);

    function approveByLegacy (address sender,address to,uint256 value) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint);

    function totalSupply() external view returns (uint);
    
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"_issuer","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_management","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":false,"internalType":"uint8","name":"transferFlag","type":"uint8"}],"name":"Flag","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":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"paused","type":"bool"}],"name":"Paused","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":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"newManagement","type":"address"}],"name":"SetSTManagement","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"Upgrade","type":"event"},{"inputs":[],"name":"MAX_INT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"","type":"address"}],"name":"_balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"investor","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"issue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"issuer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"management","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":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"investor","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"redeem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_management","type":"address"}],"name":"setManagement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_transferFlag","type":"uint8"}],"name":"setTransferFlag","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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferFlag","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_upgradedAddress","type":"address"}],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgraded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"upgradedAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de578063a9059cbb11610097578063cca3e83211610071578063cca3e83214610328578063d4a22bde14610348578063dd336c121461035b578063dd62ed3e1461038657600080fd5b8063a9059cbb146102f0578063bedb86fb14610303578063c28de2cd1461031657600080fd5b806370a082311461027d578063867904b41461029057806388125b70146102a357806388a8d602146102b657806395d89b41146102c9578063a393cedc146102d157600080fd5b80631e9a6950116101305780631e9a69501461021857806323b872dd1461022b57806326976e3f1461023e578063313ce567146102575780633eaaf86b146102605780635c975abb1461026957600080fd5b806306fdde03146101785780630900f01014610196578063095ea7b3146101ab578063098d3228146101ce57806318160ddd146101e55780631d143848146101ed575b600080fd5b610180610399565b60405161018d91906119ee565b60405180910390f35b6101a96101a4366004611a53565b610427565b005b6101be6101b9366004611a6e565b61053c565b604051901515815260200161018d565b6101d760001981565b60405190815260200161018d565b6101d76105eb565b600854610200906001600160a01b031681565b6040516001600160a01b03909116815260200161018d565b6101a9610226366004611a6e565b610681565b6101be610239366004611a98565b610758565b600654610200906201000090046001600160a01b031681565b6101d760025481565b6101d760035481565b6007546101be90600160a01b900460ff1681565b6101d761028b366004611a53565b610d6f565b6101a961029e366004611a6e565b610e1a565b6101a96102b1366004611ad4565b6110b4565b600754610200906001600160a01b031681565b61018061117e565b6006546102de9060ff1681565b60405160ff909116815260200161018d565b6101be6102fe366004611a6e565b61118b565b6101a9610311366004611b08565b61158b565b6006546101be90610100900460ff1681565b6101d7610336366004611a53565b60046020526000908152604090205481565b6101a9610356366004611a53565b611660565b6101d7610369366004611b25565b600560209081526000928352604080842090915290825290205481565b6101d7610394366004611b25565b611719565b600080546103a690611b58565b80601f01602080910402602001604051908101604052809291908181526020018280546103d290611b58565b801561041f5780601f106103f45761010080835404028352916020019161041f565b820191906000526020600020905b81548152906001019060200180831161040257829003601f168201915b505050505081565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa15801561046f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104939190611b92565b6104b85760405162461bcd60e51b81526004016104af90611baf565b60405180910390fd5b6001600160a01b0381166104cb57600080fd5b600680546001600160a01b0383166201000002610100600160b01b0319909116176101001790556040517ff78721226efe9a1bb678189a16d1554928b9f2192e2cb93eeda83b79fa40007d906105319083906001600160a01b0391909116815260200190565b60405180910390a150565b600654600090610100900460ff16156105db5760065460405163aee92d3360e01b81523360048201526001600160a01b03858116602483015260448201859052620100009092049091169063aee92d33906064015b6020604051808303816000875af11580156105b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d49190611b92565b90506105e5565b6105d483836117d4565b92915050565b600654600090610100900460ff161561067a57600660029054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610651573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106759190611be6565b905090565b5060035490565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa1580156106c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ed9190611b92565b6107095760405162461bcd60e51b81526004016104af90611baf565b61071382826117e1565b6040518181526001600160a01b0383169030907fd12200efa34901b99367694174c3b0d32c99585fdf37c7c26892136ddd0836d9906020015b60405180910390a35050565b600754600090600160a01b900460ff161561079e5760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b60448201526064016104af565b600654610100900460ff161561084157600654604051638b477adb60e01b81523360048201526001600160a01b0386811660248301528581166044830152606482018590526201000090920490911690638b477adb906084016020604051808303816000875af1158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a9190611b92565b9050610d68565b60065460ff16600103610b485760075460405163ca14d1bb60e01b81523360048201526001600160a01b039091169063ca14d1bb906024015b602060405180830381865afa158015610897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bb9190611b92565b80156109a45750600754604051630199cceb60e31b81526001600160a01b03868116600483015290911690630cce675890602401602060405180830381865afa15801561090c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109309190611b92565b806109a4575060075460405163b09c4d3d60e01b81526001600160a01b0386811660048301529091169063b09c4d3d90602401602060405180830381865afa158015610980573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a49190611b92565b8015610b01575060075460405163ca14d1bb60e01b81526001600160a01b0385811660048301529091169063ca14d1bb90602401602060405180830381865afa1580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a199190611b92565b80610a8d5750600754604051630199cceb60e31b81526001600160a01b03858116600483015290911690630cce675890602401602060405180830381865afa158015610a69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8d9190611b92565b80610b01575060075460405163b09c4d3d60e01b81526001600160a01b0385811660048301529091169063b09c4d3d90602401602060405180830381865afa158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b019190611b92565b610b435760405162461bcd60e51b8152602060048201526013602482015272466f72626964207472616e7366657246726f6d60681b60448201526064016104af565b610cf4565b60065460ff16600203610c695760075460405163ca14d1bb60e01b81523360048201526001600160a01b039091169063ca14d1bb90602401602060405180830381865afa158015610b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc19190611b92565b80610c335750600754604051630199cceb60e31b81523360048201526001600160a01b0390911690630cce675890602401602060405180830381865afa158015610c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c339190611b92565b806108bb575060075460405163b09c4d3d60e01b81523360048201526001600160a01b039091169063b09c4d3d9060240161087a565b60075460405163e184f6cb60e01b81526001600160a01b0386811660048301529091169063e184f6cb90602401602060405180830381865afa158015610cb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd79190611b92565b15610cf45760405162461bcd60e51b81526004016104af90611bff565b6001600160a01b038416600090815260056020908152604080832033845290915290205460001914610d59576001600160a01b038416600090815260056020908152604080832033845290915281208054849290610d53908490611c34565b90915550505b610d64848484611865565b5060015b9392505050565b600654600090610100900460ff1615610df7576006546040516370a0823160e01b81526001600160a01b03848116600483015262010000909204909116906370a0823190602401602060405180830381865afa158015610dd3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e59190611be6565b6001600160a01b0382166000908152600460205260409020546105e5565b919050565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa158015610e62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e869190611b92565b610ea25760405162461bcd60e51b81526004016104af90611baf565b60065460ff1660011480610ebb575060065460ff166002145b15610fe257600754604051630199cceb60e31b81526001600160a01b03848116600483015290911690630cce675890602401602060405180830381865afa158015610f0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2e9190611b92565b80610fa2575060075460405163ca14d1bb60e01b81526001600160a01b0384811660048301529091169063ca14d1bb90602401602060405180830381865afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa29190611b92565b610fdd5760405162461bcd60e51b815260206004820152600c60248201526b466f7262696420697373756560a01b60448201526064016104af565b61106d565b60075460405163e184f6cb60e01b81526001600160a01b0384811660048301529091169063e184f6cb90602401602060405180830381865afa15801561102c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110509190611b92565b1561106d5760405162461bcd60e51b81526004016104af90611bff565b6110778282611913565b6040518181526001600160a01b0383169030907f4b2682685b046a3dae8e75ff49b82fa703e366056a43c6a791411011134f4f5d9060200161074c565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa1580156110fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111209190611b92565b61113c5760405162461bcd60e51b81526004016104af90611baf565b6006805460ff191660ff83169081179091556040519081527fedb033101ee74a2510b0dade2be7e909662762ae8fbc98942ac3170f628e069490602001610531565b600180546103a690611b58565b600754600090600160a01b900460ff16156111d15760405162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b60448201526064016104af565b600654610100900460ff16156112275760065460405163370c4c0560e11b81523360048201526001600160a01b038581166024830152604482018590526201000090920490911690636e18980a90606401610591565b60065460ff166001036113cd5760075460405163ca14d1bb60e01b81523360048201526001600160a01b039091169063ca14d1bb906024015b602060405180830381865afa15801561127d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a19190611b92565b801561138a5750600754604051630199cceb60e31b81526001600160a01b03858116600483015290911690630cce675890602401602060405180830381865afa1580156112f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113169190611b92565b8061138a575060075460405163b09c4d3d60e01b81526001600160a01b0385811660048301529091169063b09c4d3d90602401602060405180830381865afa158015611366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138a9190611b92565b6113c85760405162461bcd60e51b815260206004820152600f60248201526e2337b93134b2103a3930b739b332b960891b60448201526064016104af565b611577565b60065460ff166002036114ee5760075460405163ca14d1bb60e01b81523360048201526001600160a01b039091169063ca14d1bb90602401602060405180830381865afa158015611422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114469190611b92565b806114b85750600754604051630199cceb60e31b81523360048201526001600160a01b0390911690630cce675890602401602060405180830381865afa158015611494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b89190611b92565b806112a1575060075460405163b09c4d3d60e01b81523360048201526001600160a01b039091169063b09c4d3d90602401611260565b60075460405163e184f6cb60e01b81523360048201526001600160a01b039091169063e184f6cb90602401602060405180830381865afa158015611536573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155a9190611b92565b156115775760405162461bcd60e51b81526004016104af90611bff565b611582338484611865565b50600192915050565b60075460405163306abccf60e01b81523360048201526001600160a01b039091169063306abccf90602401602060405180830381865afa1580156115d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f79190611b92565b6116135760405162461bcd60e51b81526004016104af90611baf565b60078054821515600160a01b0260ff60a01b199091161790556040517f0e2fb031ee032dc02d8011dc50b816eb450cf856abd8261680dac74f72165bd29061053190831515815260200190565b6007546001600160a01b031633146116ba5760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f74206d616e6167656d656e74000000000000000060448201526064016104af565b6001600160a01b0381166116cd57600080fd5b600780546001600160a01b0319166001600160a01b03831690811790915560405130907f183dc3c9790171f2cf061ea28dbd5041edf6ff72a23f039d595607079aecf2cb90600090a350565b600654600090610100900460ff16156117a957600654604051636eb1769f60e11b81526001600160a01b0385811660048301528481166024830152620100009092049091169063dd62ed3e90604401602060405180830381865afa158015611785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d49190611be6565b6001600160a01b038084166000908152600560209081526040808320938616835292905220546105d4565b6000611582338484611995565b6001600160a01b03821660009081526004602052604081208054839290611809908490611c34565b9250508190555080600360008282546118229190611c34565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161074c565b6001600160a01b0383166000908152600460205260408120805483929061188d908490611c34565b90915550506001600160a01b038216600090815260046020526040812080548392906118ba908490611c47565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161190691815260200190565b60405180910390a3505050565b80600360008282546119259190611c47565b90915550506001600160a01b03821660009081526004602052604081208054839290611952908490611c47565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161074c565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101611906565b600060208083528351808285015260005b81811015611a1b578581018301518582016040015282016119ff565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610e1557600080fd5b600060208284031215611a6557600080fd5b610d6882611a3c565b60008060408385031215611a8157600080fd5b611a8a83611a3c565b946020939093013593505050565b600080600060608486031215611aad57600080fd5b611ab684611a3c565b9250611ac460208501611a3c565b9150604084013590509250925092565b600060208284031215611ae657600080fd5b813560ff81168114610d6857600080fd5b8015158114611b0557600080fd5b50565b600060208284031215611b1a57600080fd5b8135610d6881611af7565b60008060408385031215611b3857600080fd5b611b4183611a3c565b9150611b4f60208401611a3c565b90509250929050565b600181811c90821680611b6c57607f821691505b602082108103611b8c57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611ba457600080fd5b8151610d6881611af7565b6020808252601e908201527f43616c6c6572206973206e6f7420636f6e7472616374206d616e616765720000604082015260600190565b600060208284031215611bf857600080fd5b5051919050565b602080825260059082015264426c6f636b60d81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156105e5576105e5611c1e565b808201808211156105e5576105e5611c1e56fea2646970667358221220b4212043ded90bfc702c2f0312c0e6a6ac79a331e1b49909aca686924e598b0464736f6c63430008100033

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