ETH Price: $2,045.00 (-0.87%)
Gas: 0.28 Gwei

Contract

0xcF12Eb2d5019D6798a0Fb91c76cc211EeB3bb9f2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Get Unsold Token...117498032021-01-29 8:44:481868 days ago1611909888IN
0xcF12Eb2d...EeB3bb9f2
0 ETH0.00969129126
Close Presale117498022021-01-29 8:44:401868 days ago1611909880IN
0xcF12Eb2d...EeB3bb9f2
0 ETH0.00362338126
Transfer117480422021-01-29 2:12:011868 days ago1611886321IN
0xcF12Eb2d...EeB3bb9f2
0.04 ETH0.0096021170
Transfer117473692021-01-28 23:40:161868 days ago1611877216IN
0xcF12Eb2d...EeB3bb9f2
0.5 ETH0.004221201
Transfer117473522021-01-28 23:37:231868 days ago1611877043IN
0xcF12Eb2d...EeB3bb9f2
0.5 ETH0.002667127
Transfer117472912021-01-28 23:21:551868 days ago1611876115IN
0xcF12Eb2d...EeB3bb9f2
1 ETH0.01659793121
Transfer117472802021-01-28 23:19:471868 days ago1611875987IN
0xcF12Eb2d...EeB3bb9f2
1 ETH0.002562122
Transfer117472602021-01-28 23:16:161868 days ago1611875776IN
0xcF12Eb2d...EeB3bb9f2
1 ETH0.01796966131
Transfer117472212021-01-28 23:07:561868 days ago1611875276IN
0xcF12Eb2d...EeB3bb9f2
1 ETH0.01700945124
Transfer117472152021-01-28 23:05:321868 days ago1611875132IN
0xcF12Eb2d...EeB3bb9f2
1 ETH0.01591206116
Transfer117472062021-01-28 23:03:241868 days ago1611875004IN
0xcF12Eb2d...EeB3bb9f2
1 ETH0.002562122
Start Presale117470092021-01-28 22:18:151868 days ago1611872295IN
0xcF12Eb2d...EeB3bb9f2
0 ETH0.0031051108
Set Token Addres...117469892021-01-28 22:14:041868 days ago1611872044IN
0xcF12Eb2d...EeB3bb9f2
0 ETH0.00478526108

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-117480422021-01-29 2:12:011868 days ago1611886321
0xcF12Eb2d...EeB3bb9f2
0.04 ETH
-117472912021-01-28 23:21:551868 days ago1611876115
0xcF12Eb2d...EeB3bb9f2
1 ETH
-117472602021-01-28 23:16:161868 days ago1611875776
0xcF12Eb2d...EeB3bb9f2
1 ETH
-117472212021-01-28 23:07:561868 days ago1611875276
0xcF12Eb2d...EeB3bb9f2
1 ETH
-117472152021-01-28 23:05:321868 days ago1611875132
0xcF12Eb2d...EeB3bb9f2
1 ETH
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:
Presale

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-01-26
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.6.0;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 *
*/

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }

  function ceil(uint a, uint m) internal pure returns (uint r) {
    return (a + m - 1) / m * m;
  }
}

// ----------------------------------------------------------------------------
// Owned contract
// ----------------------------------------------------------------------------
contract Owned {
    address payable public owner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address payable _newOwner) public onlyOwner {
        owner = _newOwner;
        emit OwnershipTransferred(msg.sender, _newOwner);
    }
}


// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// ----------------------------------------------------------------------------
interface IToken {
    function transfer(address to, uint256 tokens) external returns (bool success);
    function burnTokens(uint256 _amount) external;
    function balanceOf(address tokenOwner) external view returns (uint256 balance);
}


contract Presale is Owned {
    using SafeMath for uint256;
    
    bool public isPresaleOpen;
    
    //@dev ERC20 token address and decimals
    address public tokenAddress;
    uint256 public tokenDecimals = 18;
    
    //@dev amount of tokens per ether 100 indicates 1 token per eth
    uint256 public tokenRatePerEth = 20000_00;
    //@dev decimal for tokenRatePerEth,
    //2 means if you want 100 tokens per eth then set the rate as 100 + number of rateDecimals i.e => 10000
    uint256 public rateDecimals = 2;
    
    //@dev max and min token buy limit per account
    uint256 public minEthLimit = 1 finney; // 0.00100000 ETH
    uint256 public maxEthLimit = 5 ether;
    
    mapping(address => uint256) public usersInvestments;
    
    constructor() public {
        owner = msg.sender;
    }
    
    function startPresale() external onlyOwner{
        require(!isPresaleOpen, "Presale is open");
        
        isPresaleOpen = true;
    }
    
    function closePresale() external onlyOwner{
        require(isPresaleOpen, "Presale is not open yet.");
        
        isPresaleOpen = false;
    }
    
    function setTokenAddress(address token) external onlyOwner {
        require(tokenAddress == address(0), "Token address is already set.");
        require(token != address(0), "Token address zero not allowed.");
        
        tokenAddress = token;
    }
    
    function setTokenDecimals(uint256 decimals) external onlyOwner {
       tokenDecimals = decimals;
    }
    
    function setMinEthLimit(uint256 amount) external onlyOwner {
        minEthLimit = amount;    
    }
    
    function setMaxEthLimit(uint256 amount) external onlyOwner {
        maxEthLimit = amount;    
    }
    
    function setTokenRatePerEth(uint256 rate) external onlyOwner {
        tokenRatePerEth = rate;
    }
    
    function setRateDecimals(uint256 decimals) external onlyOwner {
        rateDecimals = decimals;
    }
    
    receive() external payable{
        require(isPresaleOpen, "Presale is not open.");
        require(
                usersInvestments[msg.sender].add(msg.value) <= maxEthLimit
                && usersInvestments[msg.sender].add(msg.value) >= minEthLimit,
                "Installment Invalid."
            );
        
        //@dev calculate the amount of tokens to transfer for the given eth
        uint256 tokenAmount = getTokensPerEth(msg.value);
        
        require(IToken(tokenAddress).transfer(msg.sender, tokenAmount), "Insufficient balance of presale contract!");
        
        usersInvestments[msg.sender] = usersInvestments[msg.sender].add(msg.value);
        
        //@dev send received funds to the owner
        owner.transfer(msg.value);
    }
    
    function getTokensPerEth(uint256 amount) internal view returns(uint256) {
        return amount.mul(tokenRatePerEth).div(
            10**(uint256(18).sub(tokenDecimals).add(rateDecimals))
            );
    }
    
    function burnUnsoldTokens() external onlyOwner {
        require(!isPresaleOpen, "You cannot burn tokens untitl the presale is closed.");
        
        IToken(tokenAddress).burnTokens(IToken(tokenAddress).balanceOf(address(this)));   
    }
    
    function getUnsoldTokens() external onlyOwner {
        require(!isPresaleOpen, "You cannot get tokens until the presale is closed.");
        
        IToken(tokenAddress).transfer(owner, IToken(tokenAddress).balanceOf(address(this)) );
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"burnUnsoldTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"closePresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getUnsoldTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isPresaleOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxEthLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minEthLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rateDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxEthLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMinEthLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"decimals","type":"uint256"}],"name":"setRateDecimals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"decimals","type":"uint256"}],"name":"setTokenDecimals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setTokenRatePerEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startPresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenDecimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenRatePerEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"usersInvestments","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526012600255621e8480600355600260045566038d7ea4c68000600555674563918244f4000060065534801561003857600080fd5b50600080546001600160a01b031990811633908117909116179055610d51806100626000396000f3fe6080604052600436106101235760003560e01c806393e74ba4116100a0578063eb4f847b11610064578063eb4f847b14610551578063f1cf257f1461057a578063f288dc10146105a4578063f2fde38b146105b9578063faa06d6f146105ec57610351565b806393e74ba4146104b5578063940bb344146104e85780639d76ea58146104fd578063b97af2c814610512578063e868764c1461053c57610351565b80635bb2a528116100e75780635bb2a5281461040657806363cea450146104305780636d00e5011461044557806375ec64841461045a5780638da5cb5b1461048457610351565b806304c98b2b146103565780631a3480b51461036d5780632243f3c51461039457806326a4e8d2146103be5780633b97e856146103f157610351565b3661035157600054600160a01b900460ff1661017d576040805162461bcd60e51b8152602060048201526014602482015273283932b9b0b6329034b9903737ba1037b832b71760611b604482015290519081900360640190fd5b600654336000908152600760205260409020546101a0903463ffffffff61060116565b111580156101cf5750600554336000908152600760205260409020546101cc903463ffffffff61060116565b10155b610217576040805162461bcd60e51b815260206004820152601460248201527324b739ba30b63636b2b73a1024b73b30b634b21760611b604482015290519081900360640190fd5b600061022234610619565b6001546040805163a9059cbb60e01b81523360048201526024810184905290519293506001600160a01b039091169163a9059cbb916044808201926020929091908290030181600087803b15801561027957600080fd5b505af115801561028d573d6000803e3d6000fd5b505050506040513d60208110156102a357600080fd5b50516102e05760405162461bcd60e51b8152600401808060200182810382526029815260200180610cbf6029913960400191505060405180910390fd5b33600090815260076020526040902054610300903463ffffffff61060116565b3360009081526007602052604080822092909255805491516001600160a01b0392909216913480156108fc0292909190818181858888f1935050505015801561034d573d6000803e3d6000fd5b5050005b600080fd5b34801561036257600080fd5b5061036b61066a565b005b34801561037957600080fd5b506103826106e7565b60408051918252519081900360200190f35b3480156103a057600080fd5b5061036b600480360360208110156103b757600080fd5b50356106ed565b3480156103ca57600080fd5b5061036b600480360360208110156103e157600080fd5b50356001600160a01b0316610709565b3480156103fd57600080fd5b506103826107fb565b34801561041257600080fd5b5061036b6004803603602081101561042957600080fd5b5035610801565b34801561043c57600080fd5b5061036b61081d565b34801561045157600080fd5b5061036b6108a1565b34801561046657600080fd5b5061036b6004803603602081101561047d57600080fd5b5035610a02565b34801561049057600080fd5b50610499610a1e565b604080516001600160a01b039092168252519081900360200190f35b3480156104c157600080fd5b50610382600480360360208110156104d857600080fd5b50356001600160a01b0316610a2d565b3480156104f457600080fd5b5061036b610a3f565b34801561050957600080fd5b50610499610b76565b34801561051e57600080fd5b5061036b6004803603602081101561053557600080fd5b5035610b85565b34801561054857600080fd5b50610382610ba1565b34801561055d57600080fd5b50610566610ba7565b604080519115158252519081900360200190f35b34801561058657600080fd5b5061036b6004803603602081101561059d57600080fd5b5035610bb7565b3480156105b057600080fd5b50610382610bd3565b3480156105c557600080fd5b5061036b600480360360208110156105dc57600080fd5b50356001600160a01b0316610bd9565b3480156105f857600080fd5b50610382610c3b565b60008282018381101561061057fe5b90505b92915050565b600061061361064660045461063a6002546012610c4190919063ffffffff16565b9063ffffffff61060116565b600a0a61065e60035485610c5390919063ffffffff16565b9063ffffffff610c7716565b6000546001600160a01b0316331461068157600080fd5b600054600160a01b900460ff16156106d2576040805162461bcd60e51b815260206004820152600f60248201526e283932b9b0b6329034b99037b832b760891b604482015290519081900360640190fd5b6000805460ff60a01b1916600160a01b179055565b60045481565b6000546001600160a01b0316331461070457600080fd5b600455565b6000546001600160a01b0316331461072057600080fd5b6001546001600160a01b03161561077e576040805162461bcd60e51b815260206004820152601d60248201527f546f6b656e206164647265737320697320616c7265616479207365742e000000604482015290519081900360640190fd5b6001600160a01b0381166107d9576040805162461bcd60e51b815260206004820152601f60248201527f546f6b656e2061646472657373207a65726f206e6f7420616c6c6f7765642e00604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60025481565b6000546001600160a01b0316331461081857600080fd5b600355565b6000546001600160a01b0316331461083457600080fd5b600054600160a01b900460ff16610892576040805162461bcd60e51b815260206004820152601860248201527f50726573616c65206973206e6f74206f70656e207965742e0000000000000000604482015290519081900360640190fd5b6000805460ff60a01b19169055565b6000546001600160a01b031633146108b857600080fd5b600054600160a01b900460ff16156109015760405162461bcd60e51b8152600401808060200182810382526032815260200180610c8d6032913960400191505060405180910390fd5b600154600054604080516370a0823160e01b815230600482015290516001600160a01b039384169363a9059cbb93169184916370a0823191602480820192602092909190829003018186803b15801561095957600080fd5b505afa15801561096d573d6000803e3d6000fd5b505050506040513d602081101561098357600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156109d457600080fd5b505af11580156109e8573d6000803e3d6000fd5b505050506040513d60208110156109fe57600080fd5b5050565b6000546001600160a01b03163314610a1957600080fd5b600555565b6000546001600160a01b031681565b60076020526000908152604090205481565b6000546001600160a01b03163314610a5657600080fd5b600054600160a01b900460ff1615610a9f5760405162461bcd60e51b8152600401808060200182810382526034815260200180610ce86034913960400191505060405180910390fd5b600154604080516370a0823160e01b815230600482015290516001600160a01b0390921691636d1b229d9183916370a0823191602480820192602092909190829003018186803b158015610af257600080fd5b505afa158015610b06573d6000803e3d6000fd5b505050506040513d6020811015610b1c57600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b158015610b5c57600080fd5b505af1158015610b70573d6000803e3d6000fd5b50505050565b6001546001600160a01b031681565b6000546001600160a01b03163314610b9c57600080fd5b600255565b60035481565b600054600160a01b900460ff1681565b6000546001600160a01b03163314610bce57600080fd5b600655565b60055481565b6000546001600160a01b03163314610bf057600080fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60065481565b600082821115610c4d57fe5b50900390565b600082610c6257506000610613565b82820282848281610c6f57fe5b041461061057fe5b600080828481610c8357fe5b0494935050505056fe596f752063616e6e6f742067657420746f6b656e7320756e74696c207468652070726573616c6520697320636c6f7365642e496e73756666696369656e742062616c616e6365206f662070726573616c6520636f6e747261637421596f752063616e6e6f74206275726e20746f6b656e7320756e7469746c207468652070726573616c6520697320636c6f7365642ea2646970667358221220aaee58885d3891b53d8ccbf4da3186c6cbba1e36b25f0d61b8f7b9898cc633da64736f6c63430006000033

Deployed Bytecode

0x6080604052600436106101235760003560e01c806393e74ba4116100a0578063eb4f847b11610064578063eb4f847b14610551578063f1cf257f1461057a578063f288dc10146105a4578063f2fde38b146105b9578063faa06d6f146105ec57610351565b806393e74ba4146104b5578063940bb344146104e85780639d76ea58146104fd578063b97af2c814610512578063e868764c1461053c57610351565b80635bb2a528116100e75780635bb2a5281461040657806363cea450146104305780636d00e5011461044557806375ec64841461045a5780638da5cb5b1461048457610351565b806304c98b2b146103565780631a3480b51461036d5780632243f3c51461039457806326a4e8d2146103be5780633b97e856146103f157610351565b3661035157600054600160a01b900460ff1661017d576040805162461bcd60e51b8152602060048201526014602482015273283932b9b0b6329034b9903737ba1037b832b71760611b604482015290519081900360640190fd5b600654336000908152600760205260409020546101a0903463ffffffff61060116565b111580156101cf5750600554336000908152600760205260409020546101cc903463ffffffff61060116565b10155b610217576040805162461bcd60e51b815260206004820152601460248201527324b739ba30b63636b2b73a1024b73b30b634b21760611b604482015290519081900360640190fd5b600061022234610619565b6001546040805163a9059cbb60e01b81523360048201526024810184905290519293506001600160a01b039091169163a9059cbb916044808201926020929091908290030181600087803b15801561027957600080fd5b505af115801561028d573d6000803e3d6000fd5b505050506040513d60208110156102a357600080fd5b50516102e05760405162461bcd60e51b8152600401808060200182810382526029815260200180610cbf6029913960400191505060405180910390fd5b33600090815260076020526040902054610300903463ffffffff61060116565b3360009081526007602052604080822092909255805491516001600160a01b0392909216913480156108fc0292909190818181858888f1935050505015801561034d573d6000803e3d6000fd5b5050005b600080fd5b34801561036257600080fd5b5061036b61066a565b005b34801561037957600080fd5b506103826106e7565b60408051918252519081900360200190f35b3480156103a057600080fd5b5061036b600480360360208110156103b757600080fd5b50356106ed565b3480156103ca57600080fd5b5061036b600480360360208110156103e157600080fd5b50356001600160a01b0316610709565b3480156103fd57600080fd5b506103826107fb565b34801561041257600080fd5b5061036b6004803603602081101561042957600080fd5b5035610801565b34801561043c57600080fd5b5061036b61081d565b34801561045157600080fd5b5061036b6108a1565b34801561046657600080fd5b5061036b6004803603602081101561047d57600080fd5b5035610a02565b34801561049057600080fd5b50610499610a1e565b604080516001600160a01b039092168252519081900360200190f35b3480156104c157600080fd5b50610382600480360360208110156104d857600080fd5b50356001600160a01b0316610a2d565b3480156104f457600080fd5b5061036b610a3f565b34801561050957600080fd5b50610499610b76565b34801561051e57600080fd5b5061036b6004803603602081101561053557600080fd5b5035610b85565b34801561054857600080fd5b50610382610ba1565b34801561055d57600080fd5b50610566610ba7565b604080519115158252519081900360200190f35b34801561058657600080fd5b5061036b6004803603602081101561059d57600080fd5b5035610bb7565b3480156105b057600080fd5b50610382610bd3565b3480156105c557600080fd5b5061036b600480360360208110156105dc57600080fd5b50356001600160a01b0316610bd9565b3480156105f857600080fd5b50610382610c3b565b60008282018381101561061057fe5b90505b92915050565b600061061361064660045461063a6002546012610c4190919063ffffffff16565b9063ffffffff61060116565b600a0a61065e60035485610c5390919063ffffffff16565b9063ffffffff610c7716565b6000546001600160a01b0316331461068157600080fd5b600054600160a01b900460ff16156106d2576040805162461bcd60e51b815260206004820152600f60248201526e283932b9b0b6329034b99037b832b760891b604482015290519081900360640190fd5b6000805460ff60a01b1916600160a01b179055565b60045481565b6000546001600160a01b0316331461070457600080fd5b600455565b6000546001600160a01b0316331461072057600080fd5b6001546001600160a01b03161561077e576040805162461bcd60e51b815260206004820152601d60248201527f546f6b656e206164647265737320697320616c7265616479207365742e000000604482015290519081900360640190fd5b6001600160a01b0381166107d9576040805162461bcd60e51b815260206004820152601f60248201527f546f6b656e2061646472657373207a65726f206e6f7420616c6c6f7765642e00604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60025481565b6000546001600160a01b0316331461081857600080fd5b600355565b6000546001600160a01b0316331461083457600080fd5b600054600160a01b900460ff16610892576040805162461bcd60e51b815260206004820152601860248201527f50726573616c65206973206e6f74206f70656e207965742e0000000000000000604482015290519081900360640190fd5b6000805460ff60a01b19169055565b6000546001600160a01b031633146108b857600080fd5b600054600160a01b900460ff16156109015760405162461bcd60e51b8152600401808060200182810382526032815260200180610c8d6032913960400191505060405180910390fd5b600154600054604080516370a0823160e01b815230600482015290516001600160a01b039384169363a9059cbb93169184916370a0823191602480820192602092909190829003018186803b15801561095957600080fd5b505afa15801561096d573d6000803e3d6000fd5b505050506040513d602081101561098357600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156109d457600080fd5b505af11580156109e8573d6000803e3d6000fd5b505050506040513d60208110156109fe57600080fd5b5050565b6000546001600160a01b03163314610a1957600080fd5b600555565b6000546001600160a01b031681565b60076020526000908152604090205481565b6000546001600160a01b03163314610a5657600080fd5b600054600160a01b900460ff1615610a9f5760405162461bcd60e51b8152600401808060200182810382526034815260200180610ce86034913960400191505060405180910390fd5b600154604080516370a0823160e01b815230600482015290516001600160a01b0390921691636d1b229d9183916370a0823191602480820192602092909190829003018186803b158015610af257600080fd5b505afa158015610b06573d6000803e3d6000fd5b505050506040513d6020811015610b1c57600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b158015610b5c57600080fd5b505af1158015610b70573d6000803e3d6000fd5b50505050565b6001546001600160a01b031681565b6000546001600160a01b03163314610b9c57600080fd5b600255565b60035481565b600054600160a01b900460ff1681565b6000546001600160a01b03163314610bce57600080fd5b600655565b60055481565b6000546001600160a01b03163314610bf057600080fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60065481565b600082821115610c4d57fe5b50900390565b600082610c6257506000610613565b82820282848281610c6f57fe5b041461061057fe5b600080828481610c8357fe5b0494935050505056fe596f752063616e6e6f742067657420746f6b656e7320756e74696c207468652070726573616c6520697320636c6f7365642e496e73756666696369656e742062616c616e6365206f662070726573616c6520636f6e747261637421596f752063616e6e6f74206275726e20746f6b656e7320756e7469746c207468652070726573616c6520697320636c6f7365642ea2646970667358221220aaee58885d3891b53d8ccbf4da3186c6cbba1e36b25f0d61b8f7b9898cc633da64736f6c63430006000033

Deployed Bytecode Sourcemap

2108:3544:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4165:13;;-1:-1:-1;;;4165:13:0;;;;4157:46;;;;;-1:-1:-1;;;4157:46:0;;;;;;;;;;;;-1:-1:-1;;;4157:46:0;;;;;;;;;;;;;;;4287:11;;4257:10;4240:28;;;;:16;:28;;;;;;:43;;4273:9;4240:43;:32;:43;:::i;:::-;:58;;:137;;;;-1:-1:-1;4366:11:0;;4336:10;4319:28;;;;:16;:28;;;;;;:43;;4352:9;4319:43;:32;:43;:::i;:::-;:58;;4240:137;4214:219;;;;;-1:-1:-1;;;4214:219:0;;;;;;;;;;;;-1:-1:-1;;;4214:219:0;;;;;;;;;;;;;;;4531:19;4553:26;4569:9;4553:15;:26::i;:::-;4615:12;;4608:54;;;-1:-1:-1;;;4608:54:0;;4638:10;4608:54;;;;;;;;;;;;4531:48;;-1:-1:-1;;;;;;4615:12:0;;;;4608:29;;:54;;;;;;;;;;;;;;;4615:12;;4608:54;;;5:2:-1;;;;30:1;27;20:12;5:2;4608:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4608:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4608:54:0;4600:108;;;;-1:-1:-1;;;4600:108:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4777:10;4760:28;;;;:16;:28;;;;;;:43;;4793:9;4760:43;:32;:43;:::i;:::-;4746:10;4729:28;;;;:16;:28;;;;;;:74;;;;4873:5;;:25;;-1:-1:-1;;;;;4873:5:0;;;;;4888:9;4873:25;;;;;4888:9;;4873:25;;4729:28;4873:25;4888:9;4873:5;:25;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4873:25:0;4120:786;2108:3544;;;;;2951:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2951:144:0;;;:::i;:::-;;2610:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2610:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;4004:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4004:104:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4004:104:0;;:::i;3272:261::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3272:261:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3272:261:0;-1:-1:-1;;;;;3272:261:0;;:::i;2297:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2297:33:0;;;:::i;3890:102::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3890:102:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3890:102:0;;:::i;3107:153::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3107:153:0;;;:::i;5402:247::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5402:247:0;;;:::i;3662:102::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3662:102:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3662:102:0;;:::i;1218:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1218:28:0;;;:::i;:::-;;;;-1:-1:-1;;;;;1218:28:0;;;;;;;;;;;;;;2817:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2817:51:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2817:51:0;-1:-1:-1;;;;;2817:51:0;;:::i;5143:247::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5143:247:0;;;:::i;2263:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2263:27:0;;;:::i;3545:105::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3545:105:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3545:105:0;;:::i;2412:41::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2412:41:0;;;:::i;2180:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2180:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;3776:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3776:102:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3776:102:0;;:::i;2706:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2706:37:0;;;:::i;1486:166::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1486:166:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1486:166:0;-1:-1:-1;;;;;1486:166:0;;:::i;2768:36::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2768:36:0;;;:::i;769:133::-;827:7;855:5;;;874:6;;;;867:14;;;;895:1;-1:-1:-1;769:133:0;;;;;:::o;4918:213::-;4981:7;5008:115;5059:48;5094:12;;5059:30;5075:13;;5067:2;5059:15;;:30;;;;:::i;:::-;:34;:48;:34;:48;:::i;:::-;5054:2;:54;5008:27;5019:15;;5008:6;:10;;:27;;;;:::i;:::-;:31;:115;:31;:115;:::i;2951:144::-;1452:5;;-1:-1:-1;;;;;1452:5:0;1438:10;:19;1430:28;;;;;;3013:13:::1;::::0;-1:-1:-1;;;3013:13:0;::::1;;;3012:14;3004:42;;;::::0;;-1:-1:-1;;;3004:42:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3004:42:0;;;;;;;;;;;;;::::1;;3067:13;:20:::0;;-1:-1:-1;;;;3067:20:0::1;-1:-1:-1::0;;;3067:20:0::1;::::0;;2951:144::o;2610:31::-;;;;:::o;4004:104::-;1452:5;;-1:-1:-1;;;;;1452:5:0;1438:10;:19;1430:28;;;;;;4077:12:::1;:23:::0;4004:104::o;3272:261::-;1452:5;;-1:-1:-1;;;;;1452:5:0;1438:10;:19;1430:28;;;;;;3350:12:::1;::::0;-1:-1:-1;;;;;3350:12:0::1;:26:::0;3342:68:::1;;;::::0;;-1:-1:-1;;;3342:68:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;3429:19:0;::::1;3421:63;;;::::0;;-1:-1:-1;;;3421:63:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3505:12;:20:::0;;-1:-1:-1;;;;;;3505:20:0::1;-1:-1:-1::0;;;;;3505:20:0;;;::::1;::::0;;;::::1;::::0;;3272:261::o;2297:33::-;;;;:::o;3890:102::-;1452:5;;-1:-1:-1;;;;;1452:5:0;1438:10;:19;1430:28;;;;;;3962:15:::1;:22:::0;3890:102::o;3107:153::-;1452:5;;-1:-1:-1;;;;;1452:5:0;1438:10;:19;1430:28;;;;;;3168:13:::1;::::0;-1:-1:-1;;;3168:13:0;::::1;;;3160:50;;;::::0;;-1:-1:-1;;;3160:50:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3247:5;3231:21:::0;;-1:-1:-1;;;;3231:21:0::1;::::0;;3107:153::o;5402:247::-;1452:5;;-1:-1:-1;;;;;1452:5:0;1438:10;:19;1430:28;;;;;;5468:13:::1;::::0;-1:-1:-1;;;5468:13:0;::::1;;;5467:14;5459:77;;;;-1:-1:-1::0;;;5459:77:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5564:12;::::0;::::1;5587:5:::0;5594:45:::1;::::0;;-1:-1:-1;;;5594:45:0;;5633:4:::1;5594:45;::::0;::::1;::::0;;;-1:-1:-1;;;;;5564:12:0;;::::1;::::0;5557:29:::1;::::0;5587:5:::1;::::0;5564:12;;5594:30:::1;::::0;:45;;;;;::::1;::::0;;;;;;;;;5564:12;5594:45;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;5594:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;5594:45:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;5594:45:0;5557:84:::1;::::0;;-1:-1:-1;;;;;;5557:84:0::1;::::0;;;;;;-1:-1:-1;;;;;5557:84:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;5594:45:::1;::::0;5557:84;;;;;;;-1:-1:-1;5557:84:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;5557:84:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;5557:84:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;;5402:247:0:o;3662:102::-;1452:5;;-1:-1:-1;;;;;1452:5:0;1438:10;:19;1430:28;;;;;;3732:11:::1;:20:::0;3662:102::o;1218:28::-;;;-1:-1:-1;;;;;1218:28:0;;:::o;2817:51::-;;;;;;;;;;;;;:::o;5143:247::-;1452:5;;-1:-1:-1;;;;;1452:5:0;1438:10;:19;1430:28;;;;;;5210:13:::1;::::0;-1:-1:-1;;;5210:13:0;::::1;;;5209:14;5201:79;;;;-1:-1:-1::0;;;5201:79:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5308:12;::::0;5333:45:::1;::::0;;-1:-1:-1;;;5333:45:0;;5372:4:::1;5333:45;::::0;::::1;::::0;;;-1:-1:-1;;;;;5308:12:0;;::::1;::::0;5301:31:::1;::::0;5308:12;;5333:30:::1;::::0;:45;;;;;::::1;::::0;;;;;;;;;5308:12;5333:45;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;5333:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;5333:45:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;5333:45:0;5301:78:::1;::::0;;-1:-1:-1;;;;;;5301:78:0::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;-1:-1:-1;;5301:78:0;;;;;;;-1:-1:-1;5301:78:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;5301:78:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;5301:78:0;;;;5143:247::o:0;2263:27::-;;;-1:-1:-1;;;;;2263:27:0;;:::o;3545:105::-;1452:5;;-1:-1:-1;;;;;1452:5:0;1438:10;:19;1430:28;;;;;;3618:13:::1;:24:::0;3545:105::o;2412:41::-;;;;:::o;2180:25::-;;;-1:-1:-1;;;2180:25:0;;;;;:::o;3776:102::-;1452:5;;-1:-1:-1;;;;;1452:5:0;1438:10;:19;1430:28;;;;;;3846:11:::1;:20:::0;3776:102::o;2706:37::-;;;;:::o;1486:166::-;1452:5;;-1:-1:-1;;;;;1452:5:0;1438:10;:19;1430:28;;;;;;1568:5:::1;:17:::0;;-1:-1:-1;;;;;;1568:17:0::1;-1:-1:-1::0;;;;;1568:17:0;::::1;::::0;;::::1;::::0;;1601:43:::1;::::0;1568:17;;1622:10:::1;::::0;1601:43:::1;::::0;1568:5;1601:43:::1;1486:166:::0;:::o;2768:36::-;;;;:::o;650:113::-;708:7;736:1;731;:6;;724:14;;;;-1:-1:-1;752:5:0;;;650:113::o;188:180::-;246:7;266:6;262:37;;-1:-1:-1;290:1:0;283:8;;262:37;317:5;;;321:1;317;:5;:1;336:5;;;;;:10;329:18;;;374:270;432:7;523:9;539:1;535;:5;;;;;;;374:270;-1:-1:-1;;;;374:270:0:o

Swarm Source

ipfs://aaee58885d3891b53d8ccbf4da3186c6cbba1e36b25f0d61b8f7b9898cc633da

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