ETH Price: $3,644.18 (-0.34%)
 

Overview

ETH Balance

0.03 ETH

Eth Value

$109.33 (@ $3,644.18/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Buy123607942021-05-03 10:52:491343 days ago1620039169IN
0x1D01a536...F1bC3833c
0.03 ETH0.003425230.8
Ethremove120244512021-03-12 15:26:311395 days ago1615562791IN
0x1D01a536...F1bC3833c
0 ETH0.00590371199.1
Withdraw118983782021-02-21 5:21:431414 days ago1613884903IN
0x1D01a536...F1bC3833c
0 ETH0.00721067112
Buy118284682021-02-10 11:22:081425 days ago1612956128IN
0x1D01a536...F1bC3833c
1 ETH0.02268569212
Buy118118342021-02-07 21:45:391428 days ago1612734339IN
0x1D01a536...F1bC3833c
0.3 ETH0.01305497122
Withdraw117423432021-01-28 5:01:081438 days ago1611810068IN
0x1D01a536...F1bC3833c
0 ETH0.0051037745.01
Buy117244522021-01-25 11:04:281441 days ago1611572668IN
0x1D01a536...F1bC3833c
0.5 ETH0.006741563.00000145
Withdraw117032742021-01-22 4:53:421444 days ago1611291222IN
0x1D01a536...F1bC3833c
0 ETH0.0061996578.1
Withdraw116921062021-01-20 11:49:431446 days ago1611143383IN
0x1D01a536...F1bC3833c
0 ETH0.00273304108
Withdraw116921032021-01-20 11:49:251446 days ago1611143365IN
0x1D01a536...F1bC3833c
0 ETH0.00695444108
Withdraw116710572021-01-17 6:14:371449 days ago1610864077IN
0x1D01a536...F1bC3833c
0 ETH0.0025409832.01
Buy116573972021-01-15 4:13:471451 days ago1610684027IN
0x1D01a536...F1bC3833c
1.55 ETH0.0051209847.85606765
Withdraw116568032021-01-15 2:00:001451 days ago1610676000IN
0x1D01a536...F1bC3833c
0 ETH0.0053822583.6
Withdraw116567752021-01-15 1:53:511451 days ago1610675631IN
0x1D01a536...F1bC3833c
0 ETH0.0070252188.5
Withdraw116560292021-01-14 23:00:281452 days ago1610665228IN
0x1D01a536...F1bC3833c
0 ETH0.0030164738
Buy116513122021-01-14 5:13:521452 days ago1610601232IN
0x1D01a536...F1bC3833c
0.19 ETH0.0058854455
Withdraw116498732021-01-13 23:58:521452 days ago1610582332IN
0x1D01a536...F1bC3833c
0 ETH0.003730947
Withdraw116451962021-01-13 7:06:171453 days ago1610521577IN
0x1D01a536...F1bC3833c
0 ETH0.0031752440.00000145
Withdraw116416632021-01-12 17:57:121454 days ago1610474232IN
0x1D01a536...F1bC3833c
0 ETH0.0042071953.00000145
Buy116300982021-01-10 23:29:581455 days ago1610321398IN
0x1D01a536...F1bC3833c
0.15 ETH0.0047190544.1000015
Buy116231052021-01-09 21:46:221457 days ago1610228782IN
0x1D01a536...F1bC3833c
2 ETH0.0051174855.62
Withdraw116230702021-01-09 21:40:061457 days ago1610228406IN
0x1D01a536...F1bC3833c
0 ETH0.0103186791
Withdraw116197382021-01-09 9:22:111457 days ago1610184131IN
0x1D01a536...F1bC3833c
0 ETH0.0057948173
Buy116196042021-01-09 8:45:331457 days ago1610181933IN
0x1D01a536...F1bC3833c
4 ETH0.01284096120
Withdraw116109932021-01-08 1:18:271458 days ago1610068707IN
0x1D01a536...F1bC3833c
0 ETH0.01143086144
View all transactions

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
120244512021-03-12 15:26:311395 days ago1615562791
0x1D01a536...F1bC3833c
20.414599 ETH
115363572020-12-27 14:30:451470 days ago1609079445
0x1D01a536...F1bC3833c
152.0904 ETH
115178672020-12-24 18:16:551473 days ago1608833815
0x1D01a536...F1bC3833c
0.003 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
synSales

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 1 of 4: synsales.sol
pragma solidity >= 0.6.4;

import './ownable.sol';
import './SafeMath.sol';
import './IERC20.sol';

contract synSales is Owned {
  using SafeMath for uint256;

  constructor() public {
    SYN = IERC20(0x1695936d6a953df699C38CA21c2140d497C08BD9);
    maxSYN = 2 * 10**6 * 10**18;
    initPrice = 101089 * 10**10;
    maxPriceInc = 2 * 10**15;
    maxETH = maxSYN.mul(initPrice).div(10**18)
              .add(maxSYN.mul(maxPriceInc).div(2 * 10**18));
  }

  event userBuy(
      address account,
      uint256 syn,
      uint256 eth,
      uint256 date
  );
  event userWithdraw(
      address account,
      uint256 syn
  );

  struct buyStruct {
    uint256 syn;
    uint256 date;
    bool withdrawn;
  }

  IERC20 public SYN;
  uint256 public maxSYN;
  uint256 public maxETH;
  uint256 public initPrice;
  uint256 public maxPriceInc;

  mapping(address => uint256) public userNonce;
  mapping(address => mapping(uint256 => buyStruct)) public userBuys;

  uint256 public synSold;
  uint256 public ethPaid;

  function buy(uint256 maxPrice) public payable {
    require(msg.value > 0);
    uint256 eth = msg.value;
    uint256 buyPrice = getBuyPrice(eth);
    require(maxPrice >= buyPrice);
    uint256 syn = eth.mul(1 ether).div(buyPrice);
    uint256 date = block.timestamp.add(1 weeks);
    userBuys[msg.sender][userNonce[msg.sender]].syn = syn;
    userBuys[msg.sender][userNonce[msg.sender]].date = date;

    require(maxSYN >= synSold.add(syn));
    synSold = synSold.add(syn);
    ethPaid = ethPaid.add(eth);

    userNonce[msg.sender] += 1;

    emit userBuy(msg.sender, syn, eth, date);
  }

  function withdraw(uint256[] memory nonces) public returns(uint256) {
    for(uint256 i = 0; i < nonces.length; i++) {
      if(userBuys[msg.sender][nonces[i]].date <= block.timestamp && userBuys[msg.sender][nonces[i]].date != 0){
        if(userBuys[msg.sender][nonces[i]].withdrawn == false){
          userBuys[msg.sender][nonces[i]].withdrawn = true;
          SYN.transfer(msg.sender, userBuys[msg.sender][nonces[i]].syn);
        }
      }
    }
    return(block.timestamp);
  }

  function getBuyPrice(uint256 eth) public view returns(uint256) {
    uint256 p1 = ethPaid.mul(maxPriceInc).div(maxETH);
    uint256 p2 = ethPaid.add(eth).mul(maxPriceInc).div(maxETH);
    return(p1.add(p2).div(2).add(initPrice));
  }

  function tokenremove(IERC20 token, uint256 amount) public onlyOwner() {
    require(token != SYN);
    token.transfer(msg.sender, amount);
  }

  function ethremove() public onlyOwner() {
    address payable owner = msg.sender;
    owner.transfer(address(this).balance);
  }

}

File 2 of 4: IERC20.sol
pragma solidity >= 0.6.4;

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

File 3 of 4: ownable.sol
pragma solidity ^0.6.0;

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Owned is Context {
    address private _owner;

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

    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

File 4 of 4: SafeMath.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"syn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"eth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"date","type":"uint256"}],"name":"userBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"syn","type":"uint256"}],"name":"userWithdraw","type":"event"},{"inputs":[],"name":"SYN","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxPrice","type":"uint256"}],"name":"buy","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"ethPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ethremove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"eth","type":"uint256"}],"name":"getBuyPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxPriceInc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSYN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"synSold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"tokenremove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userBuys","outputs":[{"internalType":"uint256","name":"syn","type":"uint256"},{"internalType":"uint256","name":"date","type":"uint256"},{"internalType":"bool","name":"withdrawn","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"nonces","type":"uint256[]"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506000620000276001600160e01b036200014916565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060018054731695936d6a953df699c38ca21c2140d497c08bd96001600160a01b03199091161790556a01a784379d99db420000006002819055660397662b5b640060045566071afd498d0000600581905562000140916200010191671bc16d674ec8000091620000ed916200014d602090811b62000b5a17901c565b620001b460201b62000bbc1790919060201c565b6200012c670de0b6b3a7640000620000ed6004546002546200014d60201b62000b5a1790919060201c565b620001fe60201b62000bfe1790919060201c565b60035562000300565b3390565b6000826200015e57506000620001ae565b828202828482816200016c57fe5b0414620001ab5760405162461bcd60e51b8152600401808060200182810382526021815260200180620010ab6021913960400191505060405180910390fd5b90505b92915050565b6000620001ab83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200025960201b60201c565b600082820183811015620001ab576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008183620002e95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620002ad57818101518382015260200162000293565b50505050905090810190601f168015620002db5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581620002f657fe5b0495945050505050565b610d9b80620003106000396000f3fe6080604052600436106100fe5760003560e01c806390ed1bca11610095578063cb75839c11610064578063cb75839c14610321578063d96a094a1461037a578063e71bfbeb14610397578063f2fde38b146103ac578063f92e0c8c146103df576100fe565b806390ed1bca1461020e578063983d95ce14610247578063b6add0f4146102f7578063b878b86c1461030c576100fe565b8063715018a6116100d1578063715018a61461019c5780637ab29c3b146101b35780637bf8f0fc146101c85780638da5cb5b146101dd576100fe565b806302814b861461010357806308d4db141461012a5780632dca3727146101545780632e04b8e714610169575b600080fd5b34801561010f57600080fd5b506101186103f4565b60408051918252519081900360200190f35b34801561013657600080fd5b506101186004803603602081101561014d57600080fd5b50356103fa565b34801561016057600080fd5b5061011861048a565b34801561017557600080fd5b506101186004803603602081101561018c57600080fd5b50356001600160a01b0316610490565b3480156101a857600080fd5b506101b16104a2565b005b3480156101bf57600080fd5b50610118610544565b3480156101d457600080fd5b506101b161054a565b3480156101e957600080fd5b506101f26105d4565b604080516001600160a01b039092168252519081900360200190f35b34801561021a57600080fd5b506101b16004803603604081101561023157600080fd5b506001600160a01b0381351690602001356105e3565b34801561025357600080fd5b506101186004803603602081101561026a57600080fd5b81019060208101813564010000000081111561028557600080fd5b82018360208201111561029757600080fd5b803590602001918460208302840111640100000000831117156102b957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506106d5945050505050565b34801561030357600080fd5b506101186108d7565b34801561031857600080fd5b506101f26108dd565b34801561032d57600080fd5b5061035a6004803603604081101561034457600080fd5b506001600160a01b0381351690602001356108ec565b604080519384526020840192909252151582820152519081900360600190f35b6101b16004803603602081101561039057600080fd5b503561091b565b3480156103a357600080fd5b50610118610a56565b3480156103b857600080fd5b506101b1600480360360208110156103cf57600080fd5b50356001600160a01b0316610a5c565b3480156103eb57600080fd5b50610118610b54565b60035481565b60008061042660035461041a600554600954610b5a90919063ffffffff16565b9063ffffffff610bbc16565b9050600061045760035461041a60055461044b88600954610bfe90919063ffffffff16565b9063ffffffff610b5a16565b60045490915061048290610476600261041a868663ffffffff610bfe16565b9063ffffffff610bfe16565b949350505050565b60025481565b60066020526000908152604090205481565b6104aa610c58565b6000546001600160a01b039081169116146104fa576040805162461bcd60e51b81526020600482018190526024820152600080516020610d46833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60085481565b610552610c58565b6000546001600160a01b039081169116146105a2576040805162461bcd60e51b81526020600482018190526024820152600080516020610d46833981519152604482015290519081900360640190fd5b604051339081904780156108fc02916000818181858888f193505050501580156105d0573d6000803e3d6000fd5b5050565b6000546001600160a01b031690565b6105eb610c58565b6000546001600160a01b0390811691161461063b576040805162461bcd60e51b81526020600482018190526024820152600080516020610d46833981519152604482015290519081900360640190fd5b6001546001600160a01b038381169116141561065657600080fd5b6040805163a9059cbb60e01b81523360048201526024810183905290516001600160a01b0384169163a9059cbb9160448083019260209291908290030181600087803b1580156106a557600080fd5b505af11580156106b9573d6000803e3d6000fd5b505050506040513d60208110156106cf57600080fd5b50505050565b6000805b82518110156108cf57336000908152600760205260408120845142929086908590811061070257fe5b6020026020010151815260200190815260200160002060010154111580156107645750336000908152600760205260408120845190919085908490811061074557fe5b6020026020010151815260200190815260200160002060010154600014155b156108c757336000908152600760205260408120845190919085908490811061078957fe5b60209081029190910181015182528101919091526040016000206002015460ff166108c7573360009081526007602052604081208451600192908690859081106107cf57fe5b60209081029190910181015182528181019290925260409081016000908120600201805460ff19169415159490941790935560015433808552600790935290832086516001600160a01b039092169363a9059cbb939288908790811061083157fe5b60200260200101518152602001908152602001600020600001546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561089a57600080fd5b505af11580156108ae573d6000803e3d6000fd5b505050506040513d60208110156108c457600080fd5b50505b6001016106d9565b504292915050565b60045481565b6001546001600160a01b031681565b600760209081526000928352604080842090915290825290208054600182015460029092015490919060ff1683565b6000341161092857600080fd5b346000610934826103fa565b90508083101561094357600080fd5b60006109618261041a85670de0b6b3a764000063ffffffff610b5a16565b905060006109784262093a8063ffffffff610bfe16565b336000908152600760209081526040808320600683528184208054855292528083208690559054825290206001018190556008549091506109b99083610bfe565b60025410156109c757600080fd5b6008546109da908363ffffffff610bfe16565b6008556009546109f0908563ffffffff610bfe16565b60095533600081815260066020908152604091829020805460010190558151928352820184905281810186905260608201839052517f73d3b891254b1708d399ee05c85cd4b6aa3c18b8763b42578939b98be8ffbb769181900360800190a15050505050565b60095481565b610a64610c58565b6000546001600160a01b03908116911614610ab4576040805162461bcd60e51b81526020600482018190526024820152600080516020610d46833981519152604482015290519081900360640190fd5b6001600160a01b038116610af95760405162461bcd60e51b8152600401808060200182810382526026815260200180610cff6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60055481565b600082610b6957506000610bb6565b82820282848281610b7657fe5b0414610bb35760405162461bcd60e51b8152600401808060200182810382526021815260200180610d256021913960400191505060405180910390fd5b90505b92915050565b6000610bb383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c5c565b600082820183811015610bb3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b60008183610ce85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cad578181015183820152602001610c95565b50505050905090810190601f168015610cda5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610cf457fe5b049594505050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220345fdd68ab434d60963c576a5a53cf541eab1beebc9dcf52727fdce5e0f7468164736f6c63430006060033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77

Deployed Bytecode

0x6080604052600436106100fe5760003560e01c806390ed1bca11610095578063cb75839c11610064578063cb75839c14610321578063d96a094a1461037a578063e71bfbeb14610397578063f2fde38b146103ac578063f92e0c8c146103df576100fe565b806390ed1bca1461020e578063983d95ce14610247578063b6add0f4146102f7578063b878b86c1461030c576100fe565b8063715018a6116100d1578063715018a61461019c5780637ab29c3b146101b35780637bf8f0fc146101c85780638da5cb5b146101dd576100fe565b806302814b861461010357806308d4db141461012a5780632dca3727146101545780632e04b8e714610169575b600080fd5b34801561010f57600080fd5b506101186103f4565b60408051918252519081900360200190f35b34801561013657600080fd5b506101186004803603602081101561014d57600080fd5b50356103fa565b34801561016057600080fd5b5061011861048a565b34801561017557600080fd5b506101186004803603602081101561018c57600080fd5b50356001600160a01b0316610490565b3480156101a857600080fd5b506101b16104a2565b005b3480156101bf57600080fd5b50610118610544565b3480156101d457600080fd5b506101b161054a565b3480156101e957600080fd5b506101f26105d4565b604080516001600160a01b039092168252519081900360200190f35b34801561021a57600080fd5b506101b16004803603604081101561023157600080fd5b506001600160a01b0381351690602001356105e3565b34801561025357600080fd5b506101186004803603602081101561026a57600080fd5b81019060208101813564010000000081111561028557600080fd5b82018360208201111561029757600080fd5b803590602001918460208302840111640100000000831117156102b957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506106d5945050505050565b34801561030357600080fd5b506101186108d7565b34801561031857600080fd5b506101f26108dd565b34801561032d57600080fd5b5061035a6004803603604081101561034457600080fd5b506001600160a01b0381351690602001356108ec565b604080519384526020840192909252151582820152519081900360600190f35b6101b16004803603602081101561039057600080fd5b503561091b565b3480156103a357600080fd5b50610118610a56565b3480156103b857600080fd5b506101b1600480360360208110156103cf57600080fd5b50356001600160a01b0316610a5c565b3480156103eb57600080fd5b50610118610b54565b60035481565b60008061042660035461041a600554600954610b5a90919063ffffffff16565b9063ffffffff610bbc16565b9050600061045760035461041a60055461044b88600954610bfe90919063ffffffff16565b9063ffffffff610b5a16565b60045490915061048290610476600261041a868663ffffffff610bfe16565b9063ffffffff610bfe16565b949350505050565b60025481565b60066020526000908152604090205481565b6104aa610c58565b6000546001600160a01b039081169116146104fa576040805162461bcd60e51b81526020600482018190526024820152600080516020610d46833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60085481565b610552610c58565b6000546001600160a01b039081169116146105a2576040805162461bcd60e51b81526020600482018190526024820152600080516020610d46833981519152604482015290519081900360640190fd5b604051339081904780156108fc02916000818181858888f193505050501580156105d0573d6000803e3d6000fd5b5050565b6000546001600160a01b031690565b6105eb610c58565b6000546001600160a01b0390811691161461063b576040805162461bcd60e51b81526020600482018190526024820152600080516020610d46833981519152604482015290519081900360640190fd5b6001546001600160a01b038381169116141561065657600080fd5b6040805163a9059cbb60e01b81523360048201526024810183905290516001600160a01b0384169163a9059cbb9160448083019260209291908290030181600087803b1580156106a557600080fd5b505af11580156106b9573d6000803e3d6000fd5b505050506040513d60208110156106cf57600080fd5b50505050565b6000805b82518110156108cf57336000908152600760205260408120845142929086908590811061070257fe5b6020026020010151815260200190815260200160002060010154111580156107645750336000908152600760205260408120845190919085908490811061074557fe5b6020026020010151815260200190815260200160002060010154600014155b156108c757336000908152600760205260408120845190919085908490811061078957fe5b60209081029190910181015182528101919091526040016000206002015460ff166108c7573360009081526007602052604081208451600192908690859081106107cf57fe5b60209081029190910181015182528181019290925260409081016000908120600201805460ff19169415159490941790935560015433808552600790935290832086516001600160a01b039092169363a9059cbb939288908790811061083157fe5b60200260200101518152602001908152602001600020600001546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561089a57600080fd5b505af11580156108ae573d6000803e3d6000fd5b505050506040513d60208110156108c457600080fd5b50505b6001016106d9565b504292915050565b60045481565b6001546001600160a01b031681565b600760209081526000928352604080842090915290825290208054600182015460029092015490919060ff1683565b6000341161092857600080fd5b346000610934826103fa565b90508083101561094357600080fd5b60006109618261041a85670de0b6b3a764000063ffffffff610b5a16565b905060006109784262093a8063ffffffff610bfe16565b336000908152600760209081526040808320600683528184208054855292528083208690559054825290206001018190556008549091506109b99083610bfe565b60025410156109c757600080fd5b6008546109da908363ffffffff610bfe16565b6008556009546109f0908563ffffffff610bfe16565b60095533600081815260066020908152604091829020805460010190558151928352820184905281810186905260608201839052517f73d3b891254b1708d399ee05c85cd4b6aa3c18b8763b42578939b98be8ffbb769181900360800190a15050505050565b60095481565b610a64610c58565b6000546001600160a01b03908116911614610ab4576040805162461bcd60e51b81526020600482018190526024820152600080516020610d46833981519152604482015290519081900360640190fd5b6001600160a01b038116610af95760405162461bcd60e51b8152600401808060200182810382526026815260200180610cff6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60055481565b600082610b6957506000610bb6565b82820282848281610b7657fe5b0414610bb35760405162461bcd60e51b8152600401808060200182810382526021815260200180610d256021913960400191505060405180910390fd5b90505b92915050565b6000610bb383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c5c565b600082820183811015610bb3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b60008183610ce85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cad578181015183820152602001610c95565b50505050905090810190601f168015610cda5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610cf457fe5b049594505050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220345fdd68ab434d60963c576a5a53cf541eab1beebc9dcf52727fdce5e0f7468164736f6c63430006060033

Deployed Bytecode Sourcemap

100:2505:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;756:21:3;;5:9:-1;2:2;;;27:1;24;17:12;2:2;756:21:3;;;:::i;:::-;;;;;;;;;;;;;;;;2091:233;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2091:233:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2091:233:3;;:::i;731:21::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;731:21:3;;;:::i;840:44::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;840:44:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;840:44:3;-1:-1:-1;;;;;840:44:3;;:::i;922:145:2:-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;922:145:2;;;:::i;:::-;;958:22:3;;5:9:-1;2:2;;;27:1;24;17:12;2:2;958:22:3;;;:::i;2474:128::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2474:128:3;;;:::i;717:77:2:-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;717:77:2;;;:::i;:::-;;;;-1:-1:-1;;;;;717:77:2;;;;;;;;;;;;;;2328:142:3;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2328:142:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;2328:142:3;;;;;;;;:::i;1604:483::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1604:483:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1604:483:3;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;1604:483:3;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1604:483:3;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;1604:483:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1604:483:3;;-1:-1:-1;1604:483:3;;-1:-1:-1;;;;;1604:483:3:i;781:24::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;781:24:3;;;:::i;710:17::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;710:17:3;;;:::i;888:65::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;888:65:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;888:65:3;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1011:589;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1011:589:3;;:::i;984:22::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;984:22:3;;;:::i;1073:240:2:-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1073:240:2;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1073:240:2;-1:-1:-1;;;;;1073:240:2;;:::i;809:26:3:-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;809:26:3;;;:::i;756:21::-;;;;:::o;2091:233::-;2145:7;2160:10;2173:36;2202:6;;2173:24;2185:11;;2173:7;;:11;;:24;;;;:::i;:::-;:28;:36;:28;:36;:::i;:::-;2160:49;;2215:10;2228:45;2266:6;;2228:33;2249:11;;2228:16;2240:3;2228:7;;:11;;:16;;;;:::i;:::-;:20;:33;:20;:33;:::i;:45::-;2308:9;;2215:58;;-1:-1:-1;2286:32:3;;:17;2301:1;2286:10;:2;2215:58;2286:10;:6;:10;:::i;:17::-;:21;:32;:21;:32;:::i;:::-;2279:40;2091:233;-1:-1:-1;;;;2091:233:3:o;731:21::-;;;;:::o;840:44::-;;;;;;;;;;;;;:::o;922:145:2:-;849:12;:10;:12::i;:::-;839:6;;-1:-1:-1;;;;;839:6:2;;;:22;;;831:67;;;;;-1:-1:-1;;;831:67:2;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;831:67:2;;;;;;;;;;;;;;;1028:1:::1;1012:6:::0;;991:40:::1;::::0;-1:-1:-1;;;;;1012:6:2;;::::1;::::0;991:40:::1;::::0;1028:1;;991:40:::1;1058:1;1041:19:::0;;-1:-1:-1;;;;;;1041:19:2::1;::::0;;922:145::o;958:22:3:-;;;;:::o;2474:128::-;849:12:2;:10;:12::i;:::-;839:6;;-1:-1:-1;;;;;839:6:2;;;:22;;;831:67;;;;;-1:-1:-1;;;831:67:2;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;831:67:2;;;;;;;;;;;;;;;2560:37:3::1;::::0;2544:10:::1;::::0;;;2575:21:::1;2560:37:::0;::::1;;;::::0;2520:21:::1;2560:37:::0;2520:21;2560:37;2575:21;2544:10;2560:37;::::1;;;;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;2560:37:3;908:1:2;2474:128:3:o:0;717:77:2:-;755:7;781:6;-1:-1:-1;;;;;781:6:2;717:77;:::o;2328:142:3:-;849:12:2;:10;:12::i;:::-;839:6;;-1:-1:-1;;;;;839:6:2;;;:22;;;831:67;;;;;-1:-1:-1;;;831:67:2;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;831:67:2;;;;;;;;;;;;;;;2421:3:3::1;::::0;-1:-1:-1;;;;;2412:12:3;;::::1;2421:3:::0;::::1;2412:12;;2404:21;;12:1:-1;9::::0;2:12:::1;2404:21:3;2431:34;::::0;;-1:-1:-1;;;2431:34:3;;2446:10:::1;2431:34;::::0;::::1;::::0;;;;;;;;;-1:-1:-1;;;;;2431:14:3;::::1;::::0;::::1;::::0;:34;;;;;::::1;::::0;;;;;;;;-1:-1:-1;2431:14:3;:34;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;2431:34:3;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;2431:34:3;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;;;;2328:142:3:o;1604:483::-;1662:7;;1677:377;1700:6;:13;1696:1;:17;1677:377;;;1740:10;1731:20;;;;:8;:20;;;;;1752:9;;1771:15;;1731:20;1752:6;;1759:1;;1752:9;;;;;;;;;;;;1731:31;;;;;;;;;;;:36;;;:55;;:100;;;;-1:-1:-1;1799:10:3;1790:20;;;;:8;:20;;;;;1811:9;;1790:20;;;1811:6;;1818:1;;1811:9;;;;;;;;;;;;1790:31;;;;;;;;;;;:36;;;1830:1;1790:41;;1731:100;1728:320;;;1854:10;1845:20;;;;:8;:20;;;;;1866:9;;1845:20;;;1866:6;;1873:1;;1866:9;;;;;;;;;;;;;;;;;1845:31;;;;;;;;;;-1:-1:-1;1845:31:3;:41;;;;;1842:198;;1917:10;1908:20;;;;:8;:20;;;;;1929:9;;1952:4;;1908:20;1929:6;;1936:1;;1929:9;;;;;;;;;;;;;;;;;1908:31;;;;;;;;;;;;;-1:-1:-1;1908:31:3;;;:41;;:48;;-1:-1:-1;;1908:48:3;;;;;;;;;;;-1:-1:-1;1968:3:3;1981:10;1993:20;;;:8;:20;;;;;;2014:9;;-1:-1:-1;;;;;1968:3:3;;;;:12;;1981:10;2014:9;;2021:1;;2014:9;;;;;;;;;;;;1993:31;;;;;;;;;;;:35;;;1968:61;;;;;;;;;;;;;-1:-1:-1;;;;;1968:61:3;-1:-1:-1;;;;;1968:61:3;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1968:61:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1968:61:3;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;1842:198:3;1715:3;;1677:377;;;-1:-1:-1;2066:15:3;;1604:483;-1:-1:-1;;1604:483:3:o;781:24::-;;;;:::o;710:17::-;;;-1:-1:-1;;;;;710:17:3;;:::o;888:65::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1011:589::-;1083:1;1071:9;:13;1063:22;;12:1:-1;9;2:12;1063:22:3;1105:9;1091:11;1139:16;1105:9;1139:11;:16::i;:::-;1120:35;;1181:8;1169;:20;;1161:29;;12:1:-1;9;2:12;1161:29:3;1196:11;1210:30;1231:8;1210:16;:3;1218:7;1210:16;:7;:16;:::i;:30::-;1196:44;-1:-1:-1;1246:12:3;1261:28;:15;1281:7;1261:28;:19;:28;:::i;:::-;1304:10;1295:20;;;;:8;:20;;;;;;;;1316:9;:21;;;;;;;1295:43;;;;;;;:53;;;1375:21;;1354:43;;;;:48;;:55;;;1434:7;;1354:55;;-1:-1:-1;1434:16:3;;1295:53;1434:11;:16::i;:::-;1424:6;;:26;;1416:35;;12:1:-1;9;2:12;1416:35:3;1467:7;;:16;;1479:3;1467:16;:11;:16;:::i;:::-;1457:7;:26;1499:7;;:16;;1511:3;1499:16;:11;:16;:::i;:::-;1489:7;:26;1532:10;1522:21;;;;:9;:21;;;;;;;;;:26;;1547:1;1522:26;;;1560:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1011:589;;;;;:::o;984:22::-;;;;:::o;1073:240:2:-;849:12;:10;:12::i;:::-;839:6;;-1:-1:-1;;;;;839:6:2;;;:22;;;831:67;;;;;-1:-1:-1;;;831:67:2;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;831:67:2;;;;;;;;;;;;;;;-1:-1:-1;;;;;1161:22:2;::::1;1153:73;;;;-1:-1:-1::0;;;1153:73:2::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1262:6;::::0;;1241:38:::1;::::0;-1:-1:-1;;;;;1241:38:2;;::::1;::::0;1262:6;::::1;::::0;1241:38:::1;::::0;::::1;1289:6;:17:::0;;-1:-1:-1;;;;;;1289:17:2::1;-1:-1:-1::0;;;;;1289:17:2;;;::::1;::::0;;;::::1;::::0;;1073:240::o;809:26:3:-;;;;:::o;2180:459:1:-;2238:7;2479:6;2475:45;;-1:-1:-1;2508:1:1;2501:8;;2475:45;2542:5;;;2546:1;2542;:5;:1;2565:5;;;;;:10;2557:56;;;;-1:-1:-1;;;2557:56:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2631:1;-1:-1:-1;2180:459:1;;;;;:::o;3101:130::-;3159:7;3185:39;3189:1;3192;3185:39;;;;;;;;;;;;;;;;;:3;:39::i;874:176::-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:1;;;;;;;;;;;;;;;;;;;;;;;;;;;57:104:2;144:10;57:104;:::o;3713:272:1:-;3799:7;3833:12;3826:5;3818:28;;;;-1:-1:-1;;;3818:28:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3818:28:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3856:9;3872:1;3868;:5;;;;;;;3713:272;-1:-1:-1;;;;;3713:272:1:o

Swarm Source

ipfs://345fdd68ab434d60963c576a5a53cf541eab1beebc9dcf52727fdce5e0f74681

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.