ETH Price: $3,467.76 (+2.95%)

Contract

0x52132a43D7cAE69B23abE77B226fA1a5BC66b839
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve209472192024-10-12 4:44:1173 days ago1728708251IN
0x52132a43...5BC66b839
0 ETH0.000217899.02199871
Approve205825362024-08-22 7:04:11124 days ago1724310251IN
0x52132a43...5BC66b839
0 ETH0.000042550.92277753
Approve205825242024-08-22 7:01:47124 days ago1724310107IN
0x52132a43...5BC66b839
0 ETH0.000039490.85162786
Approve205583362024-08-18 21:55:23128 days ago1724018123IN
0x52132a43...5BC66b839
0 ETH0.000064481.4
Approve205486562024-08-17 13:30:59129 days ago1723901459IN
0x52132a43...5BC66b839
0 ETH0.000084941.83169165
Approve198220552024-05-08 1:26:35231 days ago1715131595IN
0x52132a43...5BC66b839
0 ETH0.000214124.61118342
Approve189696252024-01-09 13:12:35350 days ago1704805955IN
0x52132a43...5BC66b839
0 ETH0.0010223722.04577967
Approve183091842023-10-08 23:57:23443 days ago1696809443IN
0x52132a43...5BC66b839
0 ETH0.000264935.75003779
Approve179087422023-08-13 21:52:11499 days ago1691963531IN
0x52132a43...5BC66b839
0 ETH0.000322213.34109795
Approve171892892023-05-04 19:10:11600 days ago1683227411IN
0x52132a43...5BC66b839
0 ETH0.0039722386.21235442
Approve170718262023-04-18 6:34:11616 days ago1681799651IN
0x52132a43...5BC66b839
0 ETH0.0007516631.12344128
Approve168824992023-03-22 10:19:59643 days ago1679480399IN
0x52132a43...5BC66b839
0 ETH0.0003046812.61603992
Approve168332562023-03-15 12:20:35650 days ago1678882835IN
0x52132a43...5BC66b839
0 ETH0.0006410426.54305113
Approve161125902022-12-04 16:18:59751 days ago1670170739IN
0x52132a43...5BC66b839
0 ETH0.0003661515.16106314
Approve159160842022-11-07 5:33:59778 days ago1667799239IN
0x52132a43...5BC66b839
0 ETH0.0005020810.81265352
Approve159160342022-11-07 5:23:59778 days ago1667798639IN
0x52132a43...5BC66b839
0 ETH0.0004876710.50241634
Approve158773212022-11-01 19:39:11784 days ago1667331551IN
0x52132a43...5BC66b839
0 ETH0.0003637215.06057384
Approve150746672022-07-04 7:29:25904 days ago1656919765IN
0x52132a43...5BC66b839
0 ETH0.000216098.94747674
Pause132936112021-09-25 7:34:271186 days ago1632555267IN
0x52132a43...5BC66b839
0 ETH0.0022017847.41041365
Unpause132935272021-09-25 7:16:231186 days ago1632554183IN
0x52132a43...5BC66b839
0 ETH0.001227450
Approve132921432021-09-25 2:08:071187 days ago1632535687IN
0x52132a43...5BC66b839
0 ETH0.0023828751.31643898
Approve132819552021-09-23 12:19:481188 days ago1632399588IN
0x52132a43...5BC66b839
0 ETH0.0023801751.2583068
Approve131210372021-08-29 14:57:431213 days ago1630249063IN
0x52132a43...5BC66b839
0 ETH0.0027200458.57745519
Approve130589042021-08-20 0:09:261223 days ago1629418166IN
0x52132a43...5BC66b839
0 ETH0.0012929627.84456426
Approve129703982021-08-06 8:38:321236 days ago1628239112IN
0x52132a43...5BC66b839
0 ETH0.0016716636
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Truample

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-08-20
*/

pragma solidity 0.5.16;


contract Owned {

    address public owner;
    address public newOwner;

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

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

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

    function transferOwnership(address _newOwner) external onlyOwner {
        newOwner = _newOwner;
    }
    function acceptOwnership() external {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}

contract Pausable is Owned {
    event Pause();
    event Unpause();

    bool public paused = false;

    modifier whenNotPaused() {
      require(!paused);
      _;
    }

    modifier whenPaused() {
      require(paused);
      _;
    }

    function pause() onlyOwner whenNotPaused external {
      paused = true;
      emit Pause();
    }

    function unpause() onlyOwner whenPaused external {
      paused = false;
      emit Unpause();
    }
}

/**
 * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
 * the optional functions; to access them see `ERC20Detailed`.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

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

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

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

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

// File: openzeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @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) {
        require(b <= a, "SafeMath: subtraction overflow");
        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-solidity/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) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }


}

/**
 * @title SafeMathInt
 * @dev Math operations for int256 with overflow safety checks.
 */
library SafeMathInt {
    int256 private constant MIN_INT256 = int256(1) << 255;
    int256 private constant MAX_INT256 = ~(int256(1) << 255);

    /**
     * @dev Multiplies two int256 variables and fails on overflow.
     */
    function mul(int256 a, int256 b) internal pure returns (int256) {
        int256 c = a * b;

        // Detect overflow when multiplying MIN_INT256 with -1
        require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256));
        require((b == 0) || (c / b == a));
        return c;
    }

    /**
     * @dev Division of two int256 variables and fails on overflow.
     */
    function div(int256 a, int256 b) internal pure returns (int256) {
        // Prevent overflow when dividing MIN_INT256 by -1
        require(b != -1 || a != MIN_INT256);

        // Solidity already throws when dividing by 0.
        return a / b;
    }

    /**
     * @dev Subtracts two int256 variables and fails on overflow.
     */
    function sub(int256 a, int256 b) internal pure returns (int256) {
        int256 c = a - b;
        require((b >= 0 && c <= a) || (b < 0 && c > a));
        return c;
    }

    /**
     * @dev Adds two int256 variables and fails on overflow.
     */
    function add(int256 a, int256 b) internal pure returns (int256) {
        int256 c = a + b;
        require((b >= 0 && c >= a) || (b < 0 && c < a));
        return c;
    }

    /**
     * @dev Converts to absolute value, and fails on overflow.
     */
    function abs(int256 a) internal pure returns (int256) {
        require(a != MIN_INT256);
        return a < 0 ? -a : a;
    }
}



// File: openzeppelin-solidity/contracts/token/ERC20/ERC20.sol

/**
 * @dev Implementation of the `IERC20` interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using `_mint`.
 * For a generic mechanism see `ERC20Mintable`.
 *
 * *For a detailed writeup see our guide [How to implement supply
 * mechanisms](https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226).*
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an `Approval` event is emitted on calls to `transferFrom`.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard `decreaseAllowance` and `increaseAllowance`
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See `IERC20.approve`.
 */
contract ERC20 is IERC20, Pausable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 internal _totalSupply;

    /**
     * @dev See `IERC20.totalSupply`.
     */
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See `IERC20.balanceOf`.
     */
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }


    /**
     * @dev See `IERC20.allowance`.
     */
    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See `IERC20.approve`.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }


    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to `approve` that can be used as a mitigation for
     * problems described in `IERC20.approve`.
     *
     * Emits an `Approval` event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to `approve` that can be used as a mitigation for
     * problems described in `IERC20.approve`.
     *
     * Emits an `Approval` event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));
        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to `transfer`, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a `Transfer` event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a `Transfer` event with `from` set to the zero address.
     *
     * Requirements
     *
     * - `to` cannot be the zero address.
     */
    function _mint(address account, uint256 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);
    }

    /**
     * @dev See `IERC20.transferFrom`.
     *
     * Emits an `Approval` event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of `ERC20`;
     *
     * Requirements:
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `value`.
     * - the caller must have allowance for `sender`'s tokens of at least
     * `amount`.
     */
    function _transferFrom(address sender, address recipient, uint256 amount) internal whenNotPaused returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }


    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
     *
     * This is internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an `Approval` event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 value) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

}



contract Truample is ERC20 {

    using SafeMath for uint256;
    using SafeMathInt for int256;

    string public constant name = "Truample";
    string public constant symbol = "TMPL";
    uint8  public constant decimals = 9;

    event LogRebase(uint256 indexed epoch, uint256 totalSupply);
    event RebaseContractInitialized(address reBaseAdress);

    address public reBaseContractAddress; 
    modifier validRecipient(address to) {

        require(to != address(0x0));
        require(to != address(this));
        _;
    }

    uint256 private constant MAX_UINT256 = ~uint256(0);
    uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 3000000*(10**uint256(decimals));
    uint256 private constant TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY);
    uint256 private constant MAX_SUPPLY = ~uint128(0); 

    uint256 private _totalSupply;
    uint256 private _gonsPerFragment;
    mapping(address => uint256) private _gonBalances;
    mapping(address => mapping(address => uint256)) private _allowedFragments;

    uint256 public otcTokenSent;
    uint256 public teamTokensSent;
    uint256 public uniSwapLiquiditySent;
    uint256 public futureDevelopment;
    uint256 public ecoSystemTokens;

    mapping(address => bool) public teamTokenHolder;
    mapping(address => uint256) public teamTokensReleased;
    mapping(address => uint256) public teamTokensInitially;
    mapping (address => uint256) public lockingTime;

    /**
    * @dev this function will send the tokens to given entities
    * @param _userAddress ,address of the token receiver.
    * @param _value , number of tokens to be sent.
    */
    function sendTokens(address _userAddress, uint256 _value, uint256 _typeOfUser) external whenNotPaused onlyOwner returns (bool) {

     if(_typeOfUser == 1)
     {
         otcTokenSent = otcTokenSent.add(_value);
         Ttransfer(msg.sender,_userAddress,_value);

     }else if (_typeOfUser == 2)
     {
         uniSwapLiquiditySent = uniSwapLiquiditySent.add(_value);
         Ttransfer(msg.sender,_userAddress,_value);

     }else if (_typeOfUser == 3){
         
        futureDevelopment = futureDevelopment.add(_value);
         Ttransfer(msg.sender,_userAddress,_value);
        
     } else if (_typeOfUser == 4){

        ecoSystemTokens = ecoSystemTokens.add(_value);
         Ttransfer(msg.sender,_userAddress,_value);

     }else {

         revert();

     }

   }

    /**
    * @dev this function will send the Team tokens to given address
    * @param _userAddress ,address of the team receiver.
    * @param _value , number of tokens to be sent.
    */
    function sendteamTokens(address _userAddress, uint256 _value) external whenNotPaused onlyOwner returns (bool) {

     teamTokenHolder[_userAddress] = true;
     teamTokensInitially[_userAddress] = teamTokensInitially[_userAddress].add(_value);
     lockingTime[_userAddress] = now;
     teamTokensSent = teamTokensSent.add(_value);
     Ttransfer(msg.sender,_userAddress,_value);
        return true;

   }

    function getCycle(address _userAddress) public view returns (uint256){
     
     require(teamTokenHolder[_userAddress]);
     uint256 cycle = now.sub(lockingTime[_userAddress]);
    
     if(cycle <= 1296000)
     {
         return 0;
     }
     else if (cycle > 1296000 && cycle <= 42768000)
     {     
    
      uint256 secondsToHours = cycle.div(1296000);
      return secondsToHours;

     }

    else if (cycle > 42768000)
    {
        return 34;
    }
    
    }
    
    function setRebaseContractAddress(address _reBaseAddress) public onlyOwner returns (address){
        
        reBaseContractAddress = _reBaseAddress;
        emit RebaseContractInitialized(reBaseContractAddress);
        return (reBaseContractAddress);
    } 

    function rebase(uint256 epoch, int256 supplyDelta)
        external
        returns (bool)
    {
        require(reBaseContractAddress != address(0x0), "rebase address not set yet");
        require (msg.sender == reBaseContractAddress,"Not called by rebase contract");

        if (supplyDelta == 0) {
            emit LogRebase(epoch, _totalSupply);
            return true;
        }

        if (supplyDelta < 0) {
            _totalSupply = _totalSupply.sub(uint256(supplyDelta.abs()));
        } else {
            _totalSupply = _totalSupply.add(uint256(supplyDelta));
        }

        if (_totalSupply > MAX_SUPPLY) {
            _totalSupply = MAX_SUPPLY;
        }

        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);


        emit LogRebase(epoch, _totalSupply);
        return true;
    }

    constructor(address owner_) public Owned(owner_) {

        _totalSupply = INITIAL_FRAGMENTS_SUPPLY;
        _gonBalances[owner_] = TOTAL_GONS;
        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);
    }

    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }


    function balanceOf(address who) public view returns (uint256) {
        return _gonBalances[who].div(_gonsPerFragment);
    }

    function Ttransfer(
        address from,
        address to,
        uint256 value
    ) internal validRecipient(to) returns (bool) {
        uint256 gonValue = value.mul(_gonsPerFragment);

        _gonBalances[from] = _gonBalances[from].sub(gonValue);
        _gonBalances[to] = _gonBalances[to].add(gonValue);
        emit Transfer(from, to, value);
        return true;
    }


    function allowance(address owner_, address spender)
        public
        view
        returns (uint256)
    {
        return _allowedFragments[owner_][spender];
    }


    function TtransferFrom(
        address from,
        address to,
        uint256 value
    ) internal validRecipient(to) returns (bool) {
        _allowedFragments[from][msg.sender] = _allowedFragments[from][msg
            .sender]
            .sub(value);

        uint256 gonValue = value.mul(_gonsPerFragment);
        _gonBalances[from] = _gonBalances[from].sub(gonValue);
        _gonBalances[to] = _gonBalances[to].add(gonValue);
        emit Transfer(from, to, value);

        return true;
    }


    function approve(address spender, uint256 value) public returns (bool) {
        _allowedFragments[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }


    function increaseAllowance(address spender, uint256 addedValue)
        public
        returns (bool)
    {
        _allowedFragments[msg.sender][spender] = _allowedFragments[msg
            .sender][spender]
            .add(addedValue);
        emit Approval(
            msg.sender,
            spender,
            _allowedFragments[msg.sender][spender]
        );
        return true;
    }


    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        returns (bool)
    {
        uint256 oldValue = _allowedFragments[msg.sender][spender];
        if (subtractedValue >= oldValue) {
            _allowedFragments[msg.sender][spender] = 0;
        } else {
            _allowedFragments[msg.sender][spender] = oldValue.sub(
                subtractedValue
            );
        }
        emit Approval(
            msg.sender,
            spender,
            _allowedFragments[msg.sender][spender]
        );
        return true;
    }

    function transfer(address recipient, uint256 amount) public
        whenNotPaused
        returns (bool)
    {

        if(teamTokenHolder[msg.sender]){


           if(teamTokensReleased[msg.sender] == teamTokensInitially[msg.sender]){
               
            Ttransfer(msg.sender, recipient, amount);
            return true;
               
           } else {

            require(now >= lockingTime[msg.sender].add(1296000),'Zero cycle is running');

            uint256 preSaleCycle = getCycle(msg.sender);
            uint256 threePercentOfInitialFund = (teamTokensInitially[msg.sender].mul(3)).div(100);
            
            require(teamTokensReleased[msg.sender] != teamTokensInitially[msg.sender], 'all tokens released');
            require(teamTokensReleased[msg.sender] != threePercentOfInitialFund.mul(preSaleCycle),'this cycle all tokens released');            
            
            if(teamTokensReleased[msg.sender] < threePercentOfInitialFund.mul(preSaleCycle))
            {
            uint256 tokenToSend = amount;
            teamTokensReleased[msg.sender] = tokenToSend.add(teamTokensReleased[msg.sender]);
            require(teamTokensReleased[msg.sender] <= teamTokensInitially[msg.sender],'tokens released are greater then inital tokens');

            Ttransfer(msg.sender, recipient, amount);
            return true;
            }
           }

            
            
        }else{

            Ttransfer(msg.sender, recipient, amount);
            return true;
        } 

    }
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public whenNotPaused returns (bool) {


        if(teamTokenHolder[sender]){

           if(teamTokensReleased[sender] == teamTokensInitially[sender]){
               
            TtransferFrom(sender, recipient, amount);
            return true;
               
           }else 
{            require(now >= lockingTime[sender].add(1296000),"zero cycle is running");

            uint256 preSaleCycle = getCycle(sender);
            uint256 threePercentOfInitialFund = (teamTokensInitially[sender].mul(3)).div(100);
            
            require(teamTokensReleased[sender] != teamTokensInitially[sender]);
            require(teamTokensReleased[sender] != threePercentOfInitialFund.mul(preSaleCycle));            
            
            if(teamTokensReleased[sender] < threePercentOfInitialFund.mul(preSaleCycle))

            {
            
            uint256 tokenToSend = amount;
            teamTokensReleased[sender] = tokenToSend.add(teamTokensReleased[sender]);
            require(teamTokensReleased[sender] <= teamTokensInitially[sender]);

            TtransferFrom(sender, recipient, amount);
            return true;
                    
            }
}            
            
        }else{

            TtransferFrom(sender, recipient, amount);
            return true;
            
        } 

    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"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":"uint256","name":"epoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"}],"name":"LogRebase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"reBaseAdress","type":"address"}],"name":"RebaseContractInitialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"ecoSystemTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"futureDevelopment","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"getCycle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lockingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"otcTokenSent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reBaseContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"int256","name":"supplyDelta","type":"int256"}],"name":"rebase","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_userAddress","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_typeOfUser","type":"uint256"}],"name":"sendTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_userAddress","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"sendteamTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_reBaseAddress","type":"address"}],"name":"setRebaseContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"teamTokenHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"teamTokensInitially","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"teamTokensReleased","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamTokensSent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"uniSwapLiquiditySent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526001805460ff60a01b1916905534801561001d57600080fd5b506040516119733803806119738339818101604052602081101561004057600080fd5b5051600080546001600160a01b0319166001600160a01b0383169081178255660aa87bee53800060069081559082526008602090815260409092206607222fb4d4ffff1990819055905461009b926100a4811b6116a017901c565b6007555061010e565b60008082116100fa576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161010557fe5b04949350505050565b6118568061011d6000396000f3fe608060405234801561001057600080fd5b50600436106101fa5760003560e01c80638456cb591161011a578063a9059cbb116100ad578063dd62ed3e1161007c578063dd62ed3e1461053b578063eb392a2614610569578063f06fc10314610595578063f2fde38b146105c7578063fe3ce413146105ed576101fa565b8063a9059cbb146104f7578063c2e4d2c114610523578063d3a666461461052b578063d4ee1d9014610533576101fa565b80639f09c43a116100e95780639f09c43a14610477578063a2948cdf1461049d578063a457c2d7146104a5578063a5131b4f146104d1576101fa565b80638456cb59146104575780638da5cb5b1461045f57806395d89b41146104675780639ba842b21461046f576101fa565b8063395093511161019257806370a082311161016157806370a08231146103fe57806379ba5097146104245780637a43e23f1461042c5780637d8452f01461044f576101fa565b8063395093511461039a5780633f4ba83a146103c65780633fbb2c01146103d05780635c975abb146103f6576101fa565b806318160ddd116101ce57806318160ddd146102fc57806323b872dd146103045780632ea503a91461033a578063313ce5671461037c576101fa565b8062ec44de146101ff57806306fdde03146102395780630799f2d3146102b6578063095ea7b3146102d0575b600080fd5b6102256004803603602081101561021557600080fd5b50356001600160a01b0316610613565b604080519115158252519081900360200190f35b610241610628565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027b578181015183820152602001610263565b50505050905090810190601f1680156102a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102be61064c565b60408051918252519081900360200190f35b610225600480360360408110156102e657600080fd5b506001600160a01b038135169060200135610652565b6102be6106b9565b6102256004803603606081101561031a57600080fd5b506001600160a01b038135811691602081013590911690604001356106bf565b6103606004803603602081101561035057600080fd5b50356001600160a01b0316610924565b604080516001600160a01b039092168252519081900360200190f35b6103846109a6565b6040805160ff9092168252519081900360200190f35b610225600480360360408110156103b057600080fd5b506001600160a01b0381351690602001356109ab565b6103ce610a44565b005b6102be600480360360208110156103e657600080fd5b50356001600160a01b0316610aa9565b610225610abb565b6102be6004803603602081101561041457600080fd5b50356001600160a01b0316610acb565b6103ce610af9565b6102256004803603604081101561044257600080fd5b5080359060200135610b74565b6102be610d32565b6103ce610d38565b610360610da4565b610241610db3565b6102be610dd3565b6102be6004803603602081101561048d57600080fd5b50356001600160a01b0316610dd9565b6102be610deb565b610225600480360360408110156104bb57600080fd5b506001600160a01b038135169060200135610df1565b6102be600480360360208110156104e757600080fd5b50356001600160a01b0316610ee0565b6102256004803603604081101561050d57600080fd5b506001600160a01b038135169060200135610f9b565b6102be611254565b61036061125a565b610360611269565b6102be6004803603604081101561055157600080fd5b506001600160a01b0381358116916020013516611278565b6102256004803603604081101561057f57600080fd5b506001600160a01b0381351690602001356112a3565b610225600480360360608110156105ab57600080fd5b506001600160a01b038135169060208101359060400135611364565b6103ce600480360360208110156105dd57600080fd5b50356001600160a01b0316611443565b6102be6004803603602081101561060357600080fd5b50356001600160a01b031661147c565b600f6020526000908152604090205460ff1681565b60405180604001604052806008815260200167547275616d706c6560c01b81525081565b600b5481565b3360008181526009602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60065490565b600154600090600160a01b900460ff16156106d957600080fd5b6001600160a01b0384166000908152600f602052604090205460ff1615610912576001600160a01b038416600090815260116020908152604080832054601090925290912054141561073a5761073084848461148e565b506001905061091d565b6001600160a01b038416600090815260126020526040902054610766906213c68063ffffffff6115ed16565b4210156107b2576040805162461bcd60e51b81526020600482015260156024820152747a65726f206379636c652069732072756e6e696e6760581b604482015290519081900360640190fd5b60006107bd85610ee0565b6001600160a01b038616600090815260116020526040812054919250906107fe906064906107f290600363ffffffff61164716565b9063ffffffff6116a016565b6001600160a01b038716600090815260116020908152604080832054601090925290912054919250141561083157600080fd5b610841818363ffffffff61164716565b6001600160a01b038716600090815260106020526040902054141561086557600080fd5b610875818363ffffffff61164716565b6001600160a01b038716600090815260106020526040902054101561090b576001600160a01b03861660009081526010602052604090205484906108c090829063ffffffff6115ed16565b6001600160a01b03881660009081526010602081815260408084208590556011825290922054915210156108f357600080fd5b6108fe87878761148e565b506001935050505061091d565b505061091d565b61073084848461148e565b9392505050565b600080546001600160a01b0316331461093c57600080fd5b600580546001600160a01b0319166001600160a01b03848116919091179182905560408051929091168252517fcf8935b4177984087307bb28b1231a42b983c76a8b315ca5cb5a8f4f1932fa43916020908290030190a1506005546001600160a01b03165b919050565b600981565b3360009081526009602090815260408083206001600160a01b03861684529091528120546109df908363ffffffff6115ed16565b3360008181526009602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000546001600160a01b03163314610a5b57600080fd5b600154600160a01b900460ff16610a7157600080fd5b6001805460ff60a01b191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60126020526000908152604090205481565b600154600160a01b900460ff1681565b6007546001600160a01b03821660009081526008602052604081205490916106b3919063ffffffff6116a016565b6001546001600160a01b03163314610b1057600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6005546000906001600160a01b0316610bd4576040805162461bcd60e51b815260206004820152601a60248201527f7265626173652061646472657373206e6f742073657420796574000000000000604482015290519081900360640190fd5b6005546001600160a01b03163314610c33576040805162461bcd60e51b815260206004820152601d60248201527f4e6f742063616c6c65642062792072656261736520636f6e7472616374000000604482015290519081900360640190fd5b81610c7857600654604080519182525184917f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2919081900360200190a25060016106b3565b6000821215610ca457610c9c610c8d8361170a565b6006549063ffffffff61173216565b600655610cbb565b600654610cb7908363ffffffff6115ed16565b6006555b6006546001600160801b031015610cd8576001600160801b036006555b600654610cee906607222fb4d4ffff19906116a0565b600755600654604080519182525184917f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2919081900360200190a250600192915050565b600a5481565b6000546001600160a01b03163314610d4f57600080fd5b600154600160a01b900460ff1615610d6657600080fd5b6001805460ff60a01b1916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6000546001600160a01b031681565b604051806040016040528060048152602001631513541360e21b81525081565b600c5481565b60116020526000908152604090205481565b600d5481565b3360009081526009602090815260408083206001600160a01b0386168452909152812054808310610e45573360009081526009602090815260408083206001600160a01b0388168452909152812055610e7a565b610e55818463ffffffff61173216565b3360009081526009602090815260408083206001600160a01b03891684529091529020555b3360008181526009602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6001600160a01b0381166000908152600f602052604081205460ff16610f0557600080fd5b6001600160a01b038216600090815260126020526040812054610f2f90429063ffffffff61173216565b90506213c6808111610f455760009150506109a1565b6213c68081118015610f5b575063028c96808111155b15610f7f576000610f75826213c68063ffffffff6116a016565b92506109a1915050565b63028c9680811115610f955760229150506109a1565b50919050565b600154600090600160a01b900460ff1615610fb557600080fd5b336000908152600f602052604090205460ff16156112495733600090815260116020908152604080832054601090925290912054141561100457610ffa33848461178f565b50600190506106b3565b33600090815260126020526040902054611027906213c68063ffffffff6115ed16565b421015611073576040805162461bcd60e51b81526020600482015260156024820152745a65726f206379636c652069732072756e6e696e6760581b604482015290519081900360640190fd5b600061107e33610ee0565b33600090815260116020526040812054919250906110aa906064906107f290600363ffffffff61164716565b336000908152601160209081526040808320546010909252909120549192501415611112576040805162461bcd60e51b8152602060048201526013602482015272185b1b081d1bdad95b9cc81c995b19585cd959606a1b604482015290519081900360640190fd5b611122818363ffffffff61164716565b336000908152601060205260409020541415611185576040805162461bcd60e51b815260206004820152601e60248201527f74686973206379636c6520616c6c20746f6b656e732072656c65617365640000604482015290519081900360640190fd5b611195818363ffffffff61164716565b336000908152601060205260409020541015611242573360009081526010602052604090205484906111ce90829063ffffffff6115ed16565b33600090815260106020818152604080842085905560118252909220549152101561122a5760405162461bcd60e51b815260040180806020018281038252602e8152602001806117d3602e913960400191505060405180910390fd5b61123533878761178f565b50600193505050506106b3565b50506106b3565b610ffa33848461178f565b600e5481565b6005546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b600154600090600160a01b900460ff16156112bd57600080fd5b6000546001600160a01b031633146112d457600080fd5b6001600160a01b0383166000908152600f60209081526040808320805460ff191660011790556011909152902054611312908363ffffffff6115ed16565b6001600160a01b0384166000908152601160209081526040808320939093556012905220429055600b5461134c908363ffffffff6115ed16565b600b5561135a33848461178f565b5060019392505050565b600154600090600160a01b900460ff161561137e57600080fd5b6000546001600160a01b0316331461139557600080fd5b81600114156113c557600a546113b1908463ffffffff6115ed16565b600a556113bf33858561178f565b5061091d565b81600214156113ef57600c546113e1908463ffffffff6115ed16565b600c556113bf33858561178f565b816003141561141957600d5461140b908463ffffffff6115ed16565b600d556113bf33858561178f565b81600414156101fa57600e54611435908463ffffffff6115ed16565b600e556113bf33858561178f565b6000546001600160a01b0316331461145a57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60106020526000908152604090205481565b6000826001600160a01b0381166114a457600080fd5b6001600160a01b0381163014156114ba57600080fd5b6001600160a01b03851660009081526009602090815260408083203384529091529020546114ee908463ffffffff61173216565b6001600160a01b038616600090815260096020908152604080832033845290915281209190915560075461152990859063ffffffff61164716565b6001600160a01b038716600090815260086020526040902054909150611555908263ffffffff61173216565b6001600160a01b03808816600090815260086020526040808220939093559087168152205461158a908263ffffffff6115ed16565b6001600160a01b0380871660008181526008602090815260409182902094909455805188815290519193928a16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350600195945050505050565b60008282018381101561091d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082611656575060006106b3565b8282028284828161166357fe5b041461091d5760405162461bcd60e51b81526004018080602001828103825260218152602001806118016021913960400191505060405180910390fd5b60008082116116f6576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161170157fe5b04949350505050565b6000600160ff1b82141561171d57600080fd5b6000821261172b57816106b3565b5060000390565b600082821115611789576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826001600160a01b0381166117a557600080fd5b6001600160a01b0381163014156117bb57600080fd5b60006115296007548561164790919063ffffffff1656fe746f6b656e732072656c6561736564206172652067726561746572207468656e20696e6974616c20746f6b656e73536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158203ae598c600a32813c04155c9e876fb5436600a2e06664e0ff36f5322e761735364736f6c63430005100032000000000000000000000000abef059ae67c986bf4a60d26d00ffb7e3480fc46

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101fa5760003560e01c80638456cb591161011a578063a9059cbb116100ad578063dd62ed3e1161007c578063dd62ed3e1461053b578063eb392a2614610569578063f06fc10314610595578063f2fde38b146105c7578063fe3ce413146105ed576101fa565b8063a9059cbb146104f7578063c2e4d2c114610523578063d3a666461461052b578063d4ee1d9014610533576101fa565b80639f09c43a116100e95780639f09c43a14610477578063a2948cdf1461049d578063a457c2d7146104a5578063a5131b4f146104d1576101fa565b80638456cb59146104575780638da5cb5b1461045f57806395d89b41146104675780639ba842b21461046f576101fa565b8063395093511161019257806370a082311161016157806370a08231146103fe57806379ba5097146104245780637a43e23f1461042c5780637d8452f01461044f576101fa565b8063395093511461039a5780633f4ba83a146103c65780633fbb2c01146103d05780635c975abb146103f6576101fa565b806318160ddd116101ce57806318160ddd146102fc57806323b872dd146103045780632ea503a91461033a578063313ce5671461037c576101fa565b8062ec44de146101ff57806306fdde03146102395780630799f2d3146102b6578063095ea7b3146102d0575b600080fd5b6102256004803603602081101561021557600080fd5b50356001600160a01b0316610613565b604080519115158252519081900360200190f35b610241610628565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027b578181015183820152602001610263565b50505050905090810190601f1680156102a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102be61064c565b60408051918252519081900360200190f35b610225600480360360408110156102e657600080fd5b506001600160a01b038135169060200135610652565b6102be6106b9565b6102256004803603606081101561031a57600080fd5b506001600160a01b038135811691602081013590911690604001356106bf565b6103606004803603602081101561035057600080fd5b50356001600160a01b0316610924565b604080516001600160a01b039092168252519081900360200190f35b6103846109a6565b6040805160ff9092168252519081900360200190f35b610225600480360360408110156103b057600080fd5b506001600160a01b0381351690602001356109ab565b6103ce610a44565b005b6102be600480360360208110156103e657600080fd5b50356001600160a01b0316610aa9565b610225610abb565b6102be6004803603602081101561041457600080fd5b50356001600160a01b0316610acb565b6103ce610af9565b6102256004803603604081101561044257600080fd5b5080359060200135610b74565b6102be610d32565b6103ce610d38565b610360610da4565b610241610db3565b6102be610dd3565b6102be6004803603602081101561048d57600080fd5b50356001600160a01b0316610dd9565b6102be610deb565b610225600480360360408110156104bb57600080fd5b506001600160a01b038135169060200135610df1565b6102be600480360360208110156104e757600080fd5b50356001600160a01b0316610ee0565b6102256004803603604081101561050d57600080fd5b506001600160a01b038135169060200135610f9b565b6102be611254565b61036061125a565b610360611269565b6102be6004803603604081101561055157600080fd5b506001600160a01b0381358116916020013516611278565b6102256004803603604081101561057f57600080fd5b506001600160a01b0381351690602001356112a3565b610225600480360360608110156105ab57600080fd5b506001600160a01b038135169060208101359060400135611364565b6103ce600480360360208110156105dd57600080fd5b50356001600160a01b0316611443565b6102be6004803603602081101561060357600080fd5b50356001600160a01b031661147c565b600f6020526000908152604090205460ff1681565b60405180604001604052806008815260200167547275616d706c6560c01b81525081565b600b5481565b3360008181526009602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60065490565b600154600090600160a01b900460ff16156106d957600080fd5b6001600160a01b0384166000908152600f602052604090205460ff1615610912576001600160a01b038416600090815260116020908152604080832054601090925290912054141561073a5761073084848461148e565b506001905061091d565b6001600160a01b038416600090815260126020526040902054610766906213c68063ffffffff6115ed16565b4210156107b2576040805162461bcd60e51b81526020600482015260156024820152747a65726f206379636c652069732072756e6e696e6760581b604482015290519081900360640190fd5b60006107bd85610ee0565b6001600160a01b038616600090815260116020526040812054919250906107fe906064906107f290600363ffffffff61164716565b9063ffffffff6116a016565b6001600160a01b038716600090815260116020908152604080832054601090925290912054919250141561083157600080fd5b610841818363ffffffff61164716565b6001600160a01b038716600090815260106020526040902054141561086557600080fd5b610875818363ffffffff61164716565b6001600160a01b038716600090815260106020526040902054101561090b576001600160a01b03861660009081526010602052604090205484906108c090829063ffffffff6115ed16565b6001600160a01b03881660009081526010602081815260408084208590556011825290922054915210156108f357600080fd5b6108fe87878761148e565b506001935050505061091d565b505061091d565b61073084848461148e565b9392505050565b600080546001600160a01b0316331461093c57600080fd5b600580546001600160a01b0319166001600160a01b03848116919091179182905560408051929091168252517fcf8935b4177984087307bb28b1231a42b983c76a8b315ca5cb5a8f4f1932fa43916020908290030190a1506005546001600160a01b03165b919050565b600981565b3360009081526009602090815260408083206001600160a01b03861684529091528120546109df908363ffffffff6115ed16565b3360008181526009602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000546001600160a01b03163314610a5b57600080fd5b600154600160a01b900460ff16610a7157600080fd5b6001805460ff60a01b191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60126020526000908152604090205481565b600154600160a01b900460ff1681565b6007546001600160a01b03821660009081526008602052604081205490916106b3919063ffffffff6116a016565b6001546001600160a01b03163314610b1057600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6005546000906001600160a01b0316610bd4576040805162461bcd60e51b815260206004820152601a60248201527f7265626173652061646472657373206e6f742073657420796574000000000000604482015290519081900360640190fd5b6005546001600160a01b03163314610c33576040805162461bcd60e51b815260206004820152601d60248201527f4e6f742063616c6c65642062792072656261736520636f6e7472616374000000604482015290519081900360640190fd5b81610c7857600654604080519182525184917f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2919081900360200190a25060016106b3565b6000821215610ca457610c9c610c8d8361170a565b6006549063ffffffff61173216565b600655610cbb565b600654610cb7908363ffffffff6115ed16565b6006555b6006546001600160801b031015610cd8576001600160801b036006555b600654610cee906607222fb4d4ffff19906116a0565b600755600654604080519182525184917f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2919081900360200190a250600192915050565b600a5481565b6000546001600160a01b03163314610d4f57600080fd5b600154600160a01b900460ff1615610d6657600080fd5b6001805460ff60a01b1916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6000546001600160a01b031681565b604051806040016040528060048152602001631513541360e21b81525081565b600c5481565b60116020526000908152604090205481565b600d5481565b3360009081526009602090815260408083206001600160a01b0386168452909152812054808310610e45573360009081526009602090815260408083206001600160a01b0388168452909152812055610e7a565b610e55818463ffffffff61173216565b3360009081526009602090815260408083206001600160a01b03891684529091529020555b3360008181526009602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6001600160a01b0381166000908152600f602052604081205460ff16610f0557600080fd5b6001600160a01b038216600090815260126020526040812054610f2f90429063ffffffff61173216565b90506213c6808111610f455760009150506109a1565b6213c68081118015610f5b575063028c96808111155b15610f7f576000610f75826213c68063ffffffff6116a016565b92506109a1915050565b63028c9680811115610f955760229150506109a1565b50919050565b600154600090600160a01b900460ff1615610fb557600080fd5b336000908152600f602052604090205460ff16156112495733600090815260116020908152604080832054601090925290912054141561100457610ffa33848461178f565b50600190506106b3565b33600090815260126020526040902054611027906213c68063ffffffff6115ed16565b421015611073576040805162461bcd60e51b81526020600482015260156024820152745a65726f206379636c652069732072756e6e696e6760581b604482015290519081900360640190fd5b600061107e33610ee0565b33600090815260116020526040812054919250906110aa906064906107f290600363ffffffff61164716565b336000908152601160209081526040808320546010909252909120549192501415611112576040805162461bcd60e51b8152602060048201526013602482015272185b1b081d1bdad95b9cc81c995b19585cd959606a1b604482015290519081900360640190fd5b611122818363ffffffff61164716565b336000908152601060205260409020541415611185576040805162461bcd60e51b815260206004820152601e60248201527f74686973206379636c6520616c6c20746f6b656e732072656c65617365640000604482015290519081900360640190fd5b611195818363ffffffff61164716565b336000908152601060205260409020541015611242573360009081526010602052604090205484906111ce90829063ffffffff6115ed16565b33600090815260106020818152604080842085905560118252909220549152101561122a5760405162461bcd60e51b815260040180806020018281038252602e8152602001806117d3602e913960400191505060405180910390fd5b61123533878761178f565b50600193505050506106b3565b50506106b3565b610ffa33848461178f565b600e5481565b6005546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b600154600090600160a01b900460ff16156112bd57600080fd5b6000546001600160a01b031633146112d457600080fd5b6001600160a01b0383166000908152600f60209081526040808320805460ff191660011790556011909152902054611312908363ffffffff6115ed16565b6001600160a01b0384166000908152601160209081526040808320939093556012905220429055600b5461134c908363ffffffff6115ed16565b600b5561135a33848461178f565b5060019392505050565b600154600090600160a01b900460ff161561137e57600080fd5b6000546001600160a01b0316331461139557600080fd5b81600114156113c557600a546113b1908463ffffffff6115ed16565b600a556113bf33858561178f565b5061091d565b81600214156113ef57600c546113e1908463ffffffff6115ed16565b600c556113bf33858561178f565b816003141561141957600d5461140b908463ffffffff6115ed16565b600d556113bf33858561178f565b81600414156101fa57600e54611435908463ffffffff6115ed16565b600e556113bf33858561178f565b6000546001600160a01b0316331461145a57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60106020526000908152604090205481565b6000826001600160a01b0381166114a457600080fd5b6001600160a01b0381163014156114ba57600080fd5b6001600160a01b03851660009081526009602090815260408083203384529091529020546114ee908463ffffffff61173216565b6001600160a01b038616600090815260096020908152604080832033845290915281209190915560075461152990859063ffffffff61164716565b6001600160a01b038716600090815260086020526040902054909150611555908263ffffffff61173216565b6001600160a01b03808816600090815260086020526040808220939093559087168152205461158a908263ffffffff6115ed16565b6001600160a01b0380871660008181526008602090815260409182902094909455805188815290519193928a16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350600195945050505050565b60008282018381101561091d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082611656575060006106b3565b8282028284828161166357fe5b041461091d5760405162461bcd60e51b81526004018080602001828103825260218152602001806118016021913960400191505060405180910390fd5b60008082116116f6576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161170157fe5b04949350505050565b6000600160ff1b82141561171d57600080fd5b6000821261172b57816106b3565b5060000390565b600082821115611789576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826001600160a01b0381166117a557600080fd5b6001600160a01b0381163014156117bb57600080fd5b60006115296007548561164790919063ffffffff1656fe746f6b656e732072656c6561736564206172652067726561746572207468656e20696e6974616c20746f6b656e73536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158203ae598c600a32813c04155c9e876fb5436600a2e06664e0ff36f5322e761735364736f6c63430005100032

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000abef059ae67c986bf4a60d26d00ffb7e3480fc46

-----Decoded View---------------
Arg [0] : owner_ (address): 0xabEF059ae67c986bF4A60d26d00FfB7e3480fc46

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000abef059ae67c986bf4a60d26d00ffb7e3480fc46


Deployed Bytecode Sourcemap

15434:10601:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15434:10601:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16697:47;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16697:47:0;-1:-1:-1;;;;;16697:47:0;;:::i;:::-;;;;;;;;;;;;;;;;;;15540:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15540:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16541:29;;;:::i;:::-;;;;;;;;;;;;;;;;21748:210;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;21748:210:0;;;;;;;;:::i;20397:91::-;;;:::i;24560:1470::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;24560:1470:0;;;;;;;;;;;;;;;;;:::i;19062:264::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19062:264:0;-1:-1:-1;;;;;19062:264:0;;:::i;:::-;;;;-1:-1:-1;;;;;19062:264:0;;;;;;;;;;;;;;15632:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21968:408;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;21968:408:0;;;;;;;;:::i;1037:103::-;;;:::i;:::-;;16872:47;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16872:47:0;-1:-1:-1;;;;;16872:47:0;;:::i;745:26::-;;;:::i;20498:127::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20498:127:0;-1:-1:-1;;;;;20498:127:0;;:::i;462:198::-;;;:::i;19335:835::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19335:835:0;;;;;;;:::i;16507:27::-;;;:::i;928:101::-;;;:::i;53:20::-;;;:::i;15587:38::-;;;:::i;16577:35::-;;;:::i;16811:54::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16811:54:0;-1:-1:-1;;;;;16811:54:0;;:::i;16619:32::-;;;:::i;22386:594::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;22386:594:0;;;;;;;;:::i;18555:495::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18555:495:0;-1:-1:-1;;;;;18555:495:0;;:::i;22988:1566::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;22988:1566:0;;;;;;;;:::i;16658:30::-;;;:::i;15804:36::-;;;:::i;80:23::-;;;:::i;21034:174::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;21034:174:0;;;;;;;;;;:::i;18132:415::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;18132:415:0;;;;;;;;:::i;17121:807::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;17121:807:0;;;;;;;;;;;;;:::i;352:104::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;352:104:0;-1:-1:-1;;;;;352:104:0;;:::i;16751:53::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16751:53:0;-1:-1:-1;;;;;16751:53:0;;:::i;16697:47::-;;;;;;;;;;;;;;;:::o;15540:40::-;;;;;;;;;;;;;;-1:-1:-1;;;15540:40:0;;;;:::o;16541:29::-;;;;:::o;21748:210::-;21848:10;21813:4;21830:29;;;:17;:29;;;;;;;;-1:-1:-1;;;;;21830:38:0;;;;;;;;;;;:46;;;21892:36;;;;;;;21813:4;;21830:38;;21848:10;;21892:36;;;;;;;;-1:-1:-1;21946:4:0;21748:210;;;;;:::o;20397:91::-;20468:12;;20397:91;:::o;24560:1470::-;823:6;;24697:4;;-1:-1:-1;;;823:6:0;;;;822:7;814:16;;;;;;-1:-1:-1;;;;;24721:23:0;;;;;;:15;:23;;;;;;;;24718:1302;;;-1:-1:-1;;;;;24794:27:0;;;;;;:19;:27;;;;;;;;;24764:18;:26;;;;;;;:57;24761:1109;;;24854:40;24868:6;24876:9;24887:6;24854:13;:40::i;:::-;;24916:4;24909:11;;;;24761:1109;-1:-1:-1;;;;;24987:19:0;;;;;;:11;:19;;;;;;:32;;25011:7;24987:32;:23;:32;:::i;:::-;24980:3;:39;;24972:72;;;;;-1:-1:-1;;;24972:72:0;;;;;;;;;;;;-1:-1:-1;;;24972:72:0;;;;;;;;;;;;;;;25061:20;25084:16;25093:6;25084:8;:16::i;:::-;-1:-1:-1;;;;;25152:27:0;;25115:33;25152:27;;;:19;:27;;;;;;25061:39;;-1:-1:-1;25115:33:0;25151:45;;25192:3;;25152:34;;25184:1;25152:34;:31;:34;:::i;:::-;25151:40;:45;:40;:45;:::i;:::-;-1:-1:-1;;;;;25263:27:0;;;;;;:19;:27;;;;;;;;;25233:18;:26;;;;;;;25115:81;;-1:-1:-1;25233:57:0;;25225:66;;;;;;25344:43;:25;25374:12;25344:43;:29;:43;:::i;:::-;-1:-1:-1;;;;;25314:26:0;;;;;;:18;:26;;;;;;:73;;25306:82;;;;;;25461:43;:25;25491:12;25461:43;:29;:43;:::i;:::-;-1:-1:-1;;;;;25432:26:0;;;;;;:18;:26;;;;;;:72;25429:438;;;-1:-1:-1;;;;;25638:26:0;;25550:19;25638:26;;;:18;:26;;;;;;25572:6;;25622:43;;25572:6;;25622:43;:15;:43;:::i;:::-;-1:-1:-1;;;;;25593:26:0;;;;;;:18;:26;;;;;;;;:72;;;25718:19;:27;;;;;;25688:26;;-1:-1:-1;25688:57:0;25680:66;;;;;;25763:40;25777:6;25785:9;25796:6;25763:13;:40::i;:::-;;25825:4;25818:11;;;;;;;25429:438;24761:1109;;24718:1302;;;25928:40;25942:6;25950:9;25961:6;25928:13;:40::i;24718:1302::-;24560:1470;;;;;:::o;19062:264::-;19146:7;318:5;;-1:-1:-1;;;;;318:5:0;304:10;:19;296:28;;;;;;19175:21;:38;;-1:-1:-1;;;;;;19175:38:0;-1:-1:-1;;;;;19175:38:0;;;;;;;;;;;19229:48;;;19255:21;;;;19229:48;;;;;;;;;;;;;-1:-1:-1;19296:21:0;;-1:-1:-1;;;;;19296:21:0;335:1;19062:264;;;:::o;15632:35::-;15666:1;15632:35;:::o;21968:408::-;22147:24;22066:4;22129:43;;;:17;:43;;;;;;;;-1:-1:-1;;;;;22129:52:0;;;;;;;;;;:82;;22200:10;22129:82;:70;:82;:::i;:::-;22106:10;22088:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;22088:38:0;;;;;;;;;;;;:123;;;22227:119;;;;;;22088:38;;22227:119;;;;;;;;;;;-1:-1:-1;22364:4:0;21968:408;;;;:::o;1037:103::-;318:5;;-1:-1:-1;;;;;318:5:0;304:10;:19;296:28;;;;;;895:6;;-1:-1:-1;;;895:6:0;;;;887:15;;;;;;1095:6;:14;;-1:-1:-1;;;;1095:14:0;;;1123:9;;;;1104:5;;1123:9;1037:103::o;16872:47::-;;;;;;;;;;;;;:::o;745:26::-;;;-1:-1:-1;;;745:26:0;;;;;:::o;20498:127::-;20600:16;;-1:-1:-1;;;;;20578:17:0;;20551:7;20578:17;;;:12;:17;;;;;;20551:7;;20578:39;;:17;:39;:21;:39;:::i;462:198::-;531:8;;-1:-1:-1;;;;;531:8:0;517:10;:22;509:31;;;;;;584:8;;;577:5;;556:37;;-1:-1:-1;;;;;584:8:0;;;;577:5;;;;556:37;;;612:8;;;;604:16;;-1:-1:-1;;;;;;604:16:0;;;-1:-1:-1;;;;;612:8:0;;604:16;;;;631:21;;;462:198::o;19335:835::-;19452:21;;19422:4;;-1:-1:-1;;;;;19452:21:0;19444:76;;;;;-1:-1:-1;;;19444:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19554:21;;-1:-1:-1;;;;;19554:21:0;19540:10;:35;19531:77;;;;;-1:-1:-1;;;19531:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19625:16;19621:110;;19680:12;;19663:30;;;;;;;19673:5;;19663:30;;;;;;;;;;-1:-1:-1;19715:4:0;19708:11;;19621:110;19761:1;19747:11;:15;19743:193;;;19794:44;19819:17;:11;:15;:17::i;:::-;19794:12;;;:44;:16;:44;:::i;:::-;19779:12;:59;19743:193;;;19886:12;;:38;;19911:11;19886:38;:16;:38;:::i;:::-;19871:12;:53;19743:193;19952:12;;-1:-1:-1;;;;;;19948:83:0;;;-1:-1:-1;;;;;19994:12:0;:25;19948:83;20077:12;;20062:28;;-1:-1:-1;;16176:54:0;20062:14;:28::i;:::-;20043:16;:47;20127:12;;20110:30;;;;;;;20120:5;;20110:30;;;;;;;;;;-1:-1:-1;20158:4:0;19335:835;;;;:::o;16507:27::-;;;;:::o;928:101::-;318:5;;-1:-1:-1;;;;;318:5:0;304:10;:19;296:28;;;;;;823:6;;-1:-1:-1;;;823:6:0;;;;822:7;814:16;;;;;;996:4;987:13;;-1:-1:-1;;;;987:13:0;-1:-1:-1;;;987:13:0;;;1014:7;;;;987:13;;1014:7;928:101::o;53:20::-;;;-1:-1:-1;;;;;53:20:0;;:::o;15587:38::-;;;;;;;;;;;;;;-1:-1:-1;;;15587:38:0;;;;:::o;16577:35::-;;;;:::o;16811:54::-;;;;;;;;;;;;;:::o;16619:32::-;;;;:::o;22386:594::-;22548:10;22489:4;22530:29;;;:17;:29;;;;;;;;-1:-1:-1;;;;;22530:38:0;;;;;;;;;;22583:27;;;22579:237;;22645:10;22668:1;22627:29;;;:17;:29;;;;;;;;-1:-1:-1;;;;;22627:38:0;;;;;;;;;:42;22579:237;;;22743:61;:8;22774:15;22743:61;:12;:61;:::i;:::-;22720:10;22702:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;22702:38:0;;;;;;;;;:102;22579:237;22854:10;22901:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;22831:119:0;;22901:38;;;;;;;;;;;22831:119;;;;;;;;;22854:10;22831:119;;;;;;;;;;;-1:-1:-1;22968:4:0;;22386:594;-1:-1:-1;;;22386:594:0:o;18555:495::-;-1:-1:-1;;;;;18647:29:0;;18616:7;18647:29;;;:15;:29;;;;;;;;18639:38;;;;;;-1:-1:-1;;;;;18709:25:0;;18685:13;18709:25;;;:11;:25;;;;;;18701:34;;:3;;:34;:7;:34;:::i;:::-;18685:50;;18761:7;18752:5;:16;18749:288;;18795:1;18788:8;;;;;18749:288;18829:7;18821:5;:15;:36;;;;;18849:8;18840:5;:17;;18821:36;18817:220;;;18885:22;18910:18;:5;18920:7;18910:18;:9;:18;:::i;:::-;18885:43;-1:-1:-1;18937:21:0;;-1:-1:-1;;18937:21:0;18817:220;18994:8;18986:5;:16;18982:55;;;19027:2;19020:9;;;;;18982:55;18555:495;;;;:::o;22988:1566::-;823:6;;23089:4;;-1:-1:-1;;;823:6:0;;;;822:7;814:16;;;;;;23132:10;23116:27;;;;:15;:27;;;;;;;;23113:1431;;;23219:10;23199:31;;;;:19;:31;;;;;;;;;23165:18;:30;;;;;;;:65;23162:1242;;;23263:40;23273:10;23285:9;23296:6;23263:9;:40::i;:::-;;23325:4;23318:11;;;;23162:1242;23411:10;23399:23;;;;:11;:23;;;;;;:36;;23427:7;23399:36;:27;:36;:::i;:::-;23392:3;:43;;23384:76;;;;;-1:-1:-1;;;23384:76:0;;;;;;;;;;;;-1:-1:-1;;;23384:76:0;;;;;;;;;;;;;;;23477:20;23500;23509:10;23500:8;:20::i;:::-;23592:10;23535:33;23572:31;;;:19;:31;;;;;;23477:43;;-1:-1:-1;23535:33:0;23571:49;;23616:3;;23572:38;;23608:1;23572:38;:35;:38;:::i;23571:49::-;23711:10;23691:31;;;;:19;:31;;;;;;;;;23657:18;:30;;;;;;;23535:85;;-1:-1:-1;23657:65:0;;23649:97;;;;;-1:-1:-1;;;23649:97:0;;;;;;;;;;;;-1:-1:-1;;;23649:97:0;;;;;;;;;;;;;;;23803:43;:25;23833:12;23803:43;:29;:43;:::i;:::-;23788:10;23769:30;;;;:18;:30;;;;;;:77;;23761:119;;;;;-1:-1:-1;;;23761:119:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;23957:43;:25;23987:12;23957:43;:29;:43;:::i;:::-;23943:10;23924:30;;;;:18;:30;;;;;;:76;23921:469;;;24141:10;24030:19;24122:30;;;:18;:30;;;;;;24052:6;;24106:47;;24052:6;;24106:47;:15;:47;:::i;:::-;24092:10;24073:30;;;;:18;:30;;;;;;;;:80;;;24210:19;:31;;;;;;24176:30;;-1:-1:-1;24176:65:0;24168:123;;;;-1:-1:-1;;;24168:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24308:40;24318:10;24330:9;24341:6;24308:9;:40::i;:::-;;24370:4;24363:11;;;;;;;23921:469;23162:1242;;23113:1431;;;24466:40;24476:10;24488:9;24499:6;24466:9;:40::i;16658:30::-;;;;:::o;15804:36::-;;;-1:-1:-1;;;;;15804:36:0;;:::o;80:23::-;;;-1:-1:-1;;;;;80:23:0;;:::o;21034:174::-;-1:-1:-1;;;;;21166:25:0;;;21134:7;21166:25;;;:17;:25;;;;;;;;:34;;;;;;;;;;;;;21034:174::o;18132:415::-;823:6;;18236:4;;-1:-1:-1;;;823:6:0;;;;822:7;814:16;;;;;;318:5;;-1:-1:-1;;;;;318:5:0;304:10;:19;296:28;;;;;;-1:-1:-1;;;;;18252:29:0;;;;;;:15;:29;;;;;;;;:36;;-1:-1:-1;;18252:36:0;18284:4;18252:36;;;18332:19;:33;;;;;;:45;;18370:6;18332:45;:37;:45;:::i;:::-;-1:-1:-1;;;;;18296:33:0;;;;;;:19;:33;;;;;;;;:81;;;;18385:11;:25;;;18413:3;18385:31;;18441:14;;:26;;18460:6;18441:26;:18;:26;:::i;:::-;18424:14;:43;18475:41;18485:10;18496:12;18509:6;18475:9;:41::i;:::-;-1:-1:-1;18534:4:0;;18132:415;-1:-1:-1;;;18132:415:0:o;17121:807::-;823:6;;17242:4;;-1:-1:-1;;;823:6:0;;;;822:7;814:16;;;;;;318:5;;-1:-1:-1;;;;;318:5:0;304:10;:19;296:28;;;;;;17261:11;17276:1;17261:16;17258:662;;;17312:12;;:24;;17329:6;17312:24;:16;:24;:::i;:::-;17297:12;:39;17348:41;17358:10;17369:12;17382:6;17348:9;:41::i;:::-;;17258:662;;;17409:11;17424:1;17409:16;17405:515;;;17468:20;;:32;;17493:6;17468:32;:24;:32;:::i;:::-;17445:20;:55;17512:41;17522:10;17533:12;17546:6;17512:9;:41::i;17405:515::-;17573:11;17588:1;17573:16;17569:351;;;17632:17;;:29;;17654:6;17632:29;:21;:29;:::i;:::-;17612:17;:49;17673:41;17683:10;17694:12;17707:6;17673:9;:41::i;17569:351::-;17743:11;17758:1;17743:16;17739:181;;;17791:15;;:27;;17811:6;17791:27;:19;:27;:::i;:::-;17773:15;:45;17830:41;17840:10;17851:12;17864:6;17830:9;:41::i;352:104::-;318:5;;-1:-1:-1;;;;;318:5:0;304:10;:19;296:28;;;;;;428:8;:20;;-1:-1:-1;;;;;;428:20:0;-1:-1:-1;;;;;428:20:0;;;;;;;;;;352:104::o;16751:53::-;;;;;;;;;;;;;:::o;21218:520::-;21353:4;21340:2;-1:-1:-1;;;;;15905:18:0;;15897:27;;;;;;-1:-1:-1;;;;;15943:19:0;;15957:4;15943:19;;15935:28;;;;;;-1:-1:-1;;;;;21408:23:0;;;;;;:17;:23;;;;;;;;21432:24;21408:49;;;;;;;;:74;;21476:5;21408:74;:67;:74;:::i;:::-;-1:-1:-1;;;;;21370:23:0;;;;;;:17;:23;;;;;;;;21394:10;21370:35;;;;;;;:112;;;;21524:16;;21514:27;;:5;;:27;:9;:27;:::i;:::-;-1:-1:-1;;;;;21573:18:0;;;;;;:12;:18;;;;;;21495:46;;-1:-1:-1;21573:32:0;;21495:46;21573:32;:22;:32;:::i;:::-;-1:-1:-1;;;;;21552:18:0;;;;;;;:12;:18;;;;;;:53;;;;21635:16;;;;;;;:30;;21656:8;21635:30;:20;:30;:::i;:::-;-1:-1:-1;;;;;21616:16:0;;;;;;;:12;:16;;;;;;;;;:49;;;;21681:25;;;;;;;21616:16;;21681:25;;;;;;;;;;;;;-1:-1:-1;21726:4:0;;21218:520;-1:-1:-1;;;;;21218:520:0:o;4826:181::-;4884:7;4916:5;;;4940:6;;;;4932:46;;;;;-1:-1:-1;;;4932:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5717:470;5775:7;6019:6;6015:47;;-1:-1:-1;6049:1:0;6042:8;;6015:47;6086:5;;;6090:1;6086;:5;:1;6110:5;;;;;:10;6102:56;;;;-1:-1:-1;;;6102:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6655:333;6713:7;6812:1;6808;:5;6800:44;;;;;-1:-1:-1;;;6800:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6855:9;6871:1;6867;:5;;;;;;;6655:333;-1:-1:-1;;;;6655:333:0:o;8615:129::-;8661:6;-1:-1:-1;;;8688:15:0;;;8680:24;;;;;;8726:1;8722;:5;:14;;8735:1;8722:14;;;-1:-1:-1;8730:2:0;;;8615:129::o;5282:184::-;5340:7;5373:1;5368;:6;;5360:49;;;;;-1:-1:-1;;;5360:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5432:5:0;;;5282:184::o;20633:391::-;20764:4;20751:2;-1:-1:-1;;;;;15905:18:0;;15897:27;;;;;;-1:-1:-1;;;;;15943:19:0;;15957:4;15943:19;;15935:28;;;;;;20781:16;20800:27;20810:16;;20800:5;:9;;:27;;;;:::i

Swarm Source

bzzr://3ae598c600a32813c04155c9e876fb5436600a2e06664e0ff36f5322e7617353

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.