ETH Price: $2,820.97 (+2.08%)

Token

GimmerPreSale Token (GMRP)
 

Overview

Max Total Supply

37,500 GMRP

Holders

1

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
GimmerPreSale

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-12-05
*/

pragma solidity ^0.4.17;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

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

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

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


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


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


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}



/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused public {
    paused = true;
    Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused public {
    paused = false;
    Unpause();
  }
}


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
    uint256 public totalSupply;
    mapping(address => uint256) balances;
    function balanceOf(address _owner) public constant returns (uint256) { return balances[_owner]; }
    // Transfer is disabled for users, as these are PreSale tokens
    //function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
* @title Gimmer PreSale Smart Contract
* @author [email protected], [email protected]
*/
contract GimmerPreSale is ERC20Basic, Pausable {
    using SafeMath for uint256;

    /**
    * @dev Supporter structure, which allows us to track
    * how much the user has bought so far, and if he's flagged as known
    */
    struct Supporter {
        uint256 weiSpent;   // the total amount of Wei this address has sent to this contract
        bool hasKYC;        // if the user has KYC flagged
    }

    mapping(address => Supporter) public supportersMap; // Mapping with all the campaign supporters
    address public fundWallet;      // Address to forward all Ether to
    address public kycManager;      // Address that manages approval of KYC
    uint256 public tokensSold;      // How many tokens sold in PreSale
    uint256 public weiRaised;       // amount of raised money in wei

    uint256 public constant ONE_MILLION = 1000000;
    // Maximum amount that can be sold during the Pre Sale period
    uint256 public constant PRE_SALE_GMRP_TOKEN_CAP = 15 * ONE_MILLION * 1 ether; //15 Million GMRP Tokens

    /* Allowed Contribution in Ether */
    uint256 public constant PRE_SALE_30_ETH     = 30 ether;  // Minimum 30 Ether to get 25% Bonus Tokens
    uint256 public constant PRE_SALE_300_ETH    = 300 ether; // Minimum 300 Ether to get 30% Bonus Tokens
    uint256 public constant PRE_SALE_3000_ETH   = 3000 ether;// Minimum 3000 Ether to get 40% Bonus Tokens

    /* Bonus Tokens based on the ETH Contributed in single transaction */
    uint256 public constant TOKEN_RATE_25_PERCENT_BONUS = 1250; // 25% Bonus Tokens, when >= 30 ETH & < 300 ETH
    uint256 public constant TOKEN_RATE_30_PERCENT_BONUS = 1300; // 30% Bonus Tokens, when >= 300 ETH & < 3000 ETH
    uint256 public constant TOKEN_RATE_40_PERCENT_BONUS = 1400; // 40% Bonus Tokens, when >= 3000 ETH

    /* start and end timestamps where investments are allowed (both inclusive) */
    uint256 public constant START_TIME  = 1511524800;   //GMT: Friday, 24 November 2017 12:00:00
    uint256 public constant END_TIME    = 1514894400;   //GMT: Tuesday, 2 January  2018 12:00:00

    /* Token metadata */
    string public constant name = "GimmerPreSale Token";
    string public constant symbol = "GMRP";
    uint256 public constant decimals = 18;

    /**
    * @dev Modifier to only allow KYCManager
    */
    modifier onlyKycManager() {
        require(msg.sender == kycManager);
        _;
    }

    /**
    * Event for token purchase logging
    * @param purchaser  who bought the tokens
    * @param value      weis paid for purchase
    * @param amount     amount of tokens purchased
    */
    event TokenPurchase(address indexed purchaser, uint256 value, uint256 amount);

    /**
    * Event for minting new tokens
    * @param to         The person that received tokens
    * @param amount     Amount of tokens received
    */
    event Mint(address indexed to, uint256 amount);

    /**
     * Event to log a user is approved or disapproved
     * @param user          User who has been approved/disapproved
     * @param isApproved    true : User is approved, false : User is disapproved
     */
    event KYC(address indexed user, bool isApproved);

    /**
     * Constructor
     * @param _fundWallet           Address to forward all received Ethers to
     * @param _kycManagerWallet     KYC Manager wallet to approve / disapprove user's KYC
     */
    function GimmerPreSale(address _fundWallet, address _kycManagerWallet) public {
        require(_fundWallet != address(0));
        require(_kycManagerWallet != address(0));

        fundWallet = _fundWallet;
        kycManager = _kycManagerWallet;
    }

    /* fallback function can be used to buy tokens */
    function () whenNotPaused public payable {
        buyTokens();
    }

    /* @return true if the transaction can buy tokens, otherwise false */
    function validPurchase() internal constant returns (bool) {
        bool withinPeriod = now >= START_TIME && now <= END_TIME;
        bool higherThanMin30ETH = msg.value >= PRE_SALE_30_ETH;
        return withinPeriod && higherThanMin30ETH;
    }

    /* low level token purchase function */
    function buyTokens() whenNotPaused public payable {
        address sender = msg.sender;

        // make sure the user buying tokens has KYC
        require(userHasKYC(sender));
        require(validPurchase());

        // calculate token amount to be created
        uint256 weiAmountSent = msg.value;
        uint256 rate = getRate(weiAmountSent);
        uint256 newTokens = weiAmountSent.mul(rate);

        // look if we have not yet reached the cap
        uint256 totalTokensSold = tokensSold.add(newTokens);
        require(totalTokensSold <= PRE_SALE_GMRP_TOKEN_CAP);

        // update supporter state
        Supporter storage sup = supportersMap[sender];
        uint256 totalWei = sup.weiSpent.add(weiAmountSent);
        sup.weiSpent = totalWei;

        // update contract state
        weiRaised = weiRaised.add(weiAmountSent);
        tokensSold = totalTokensSold;

        // finally mint the coins
        mint(sender, newTokens);
        TokenPurchase(sender, weiAmountSent, newTokens);

        // and forward the funds to the wallet
        forwardFunds();
    }

    /**
     * returns the rate the user will be paying at,
     * based on the amount of wei sent to the contract
     */
    function getRate(uint256 weiAmount) public pure returns (uint256) {
        if (weiAmount >= PRE_SALE_3000_ETH) {
            return TOKEN_RATE_40_PERCENT_BONUS;
        } else if(weiAmount >= PRE_SALE_300_ETH) {
            return TOKEN_RATE_30_PERCENT_BONUS;
        } else if(weiAmount >= PRE_SALE_30_ETH) {
            return TOKEN_RATE_25_PERCENT_BONUS;
        } else {
            return 0;
        }
    }

    /**
     * send ether to the fund collection wallet
     * override to create custom fund forwarding mechanisms
     */
    function forwardFunds() internal {
        fundWallet.transfer(msg.value);
    }

    // @return true if crowdsale event has ended
    function hasEnded() public constant returns (bool) {
        return now > END_TIME;
    }

    /**
    * @dev Approves an User's KYC
    * @param _user The user to flag as known
    */
    function approveUserKYC(address _user) onlyKycManager public {
        Supporter storage sup = supportersMap[_user];
        sup.hasKYC = true;
        KYC(_user, true);
    }

    /**
     * @dev Disapproves an User's KYC
     * @param _user The user to flag as unknown / suspecious
     */
    function disapproveUserKYC(address _user) onlyKycManager public {
        Supporter storage sup = supportersMap[_user];
        sup.hasKYC = false;
        KYC(_user, false);
    }

    /**
    * @dev Changes the KYC manager to a new address
    * @param _newKYCManager The new address that will be managing KYC approval
    */
    function setKYCManager(address _newKYCManager) onlyOwner public {
        require(_newKYCManager != address(0));
        kycManager = _newKYCManager;
    }

    /**
    * @dev Returns if an users has KYC approval or not
    * @return A boolean representing the user's KYC status
    */
    function userHasKYC(address _user) public constant returns (bool) {
        return supportersMap[_user].hasKYC;
    }

    /**
     * @dev Returns the weiSpent of a user
     */
    function userWeiSpent(address _user) public constant returns (uint256) {
        return supportersMap[_user].weiSpent;
    }

    /**
    * @dev Function to mint tokens
    * @param _to The address that will receive the minted tokens.
    * @param _amount The amount of tokens to mint.
    * @return A boolean that indicates if the operation was successful.
    */
    function mint(address _to, uint256 _amount) internal returns (bool) {
        totalSupply = totalSupply.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        Mint(_to, _amount);
        Transfer(0x0, _to, _amount);
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_RATE_40_PERCENT_BONUS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"END_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newKYCManager","type":"address"}],"name":"setKYCManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"userHasKYC","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PRE_SALE_3000_ETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_RATE_30_PERCENT_BONUS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"weiAmount","type":"uint256"}],"name":"getRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PRE_SALE_300_ETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_RATE_25_PERCENT_BONUS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"kycManager","outputs":[{"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":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ONE_MILLION","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"}],"name":"disapproveUserKYC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"}],"name":"approveUserKYC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"userWeiSpent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"START_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PRE_SALE_30_ETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hasEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"PRE_SALE_GMRP_TOKEN_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"supportersMap","outputs":[{"name":"weiSpent","type":"uint256"},{"name":"hasKYC","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_fundWallet","type":"address"},{"name":"_kycManagerWallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"isApproved","type":"bool"}],"name":"KYC","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60606040526002805460a060020a60ff0219169055341561001f57600080fd5b604051604080610e12833981016040528080519190602001805160028054600160a060020a03191633600160a060020a039081169190911790915590925083161515905061006c57600080fd5b600160a060020a038116151561008157600080fd5b60048054600160a060020a03938416600160a060020a03199182161790915560058054929093169116179055610d56806100bc6000396000f3006060604052600436106101a05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101c157806318160ddd1461024b578063199676c714610270578063313ce5671461028357806337ba682d1461029657806337e05590146102a95780633f4ba83a146102c85780634042b66f146102db5780634438d222146102ee57806345d1b65714610321578063511acd5314610334578063518ab2a814610347578063577640941461035a5780635c975abb146103705780636133a0eb14610383578063664a1ad61461039657806367a6ae62146103c557806370a08231146103d85780637afea44f146103f75780638456cb591461040a5780638da5cb5b1461041d57806395d89b41146104305780639869b7361461044357806398d4856714610456578063a3a6a43e14610475578063d0febe4c146101b7578063d4fc582214610494578063ddaa26ad146104b3578063ebe74b21146104c6578063ecb70fb7146104d9578063f2fde38b146104ec578063f6afe8051461050b578063fcbd06aa1461051e575b60025460a060020a900460ff16156101b757600080fd5b6101bf610557565b005b34156101cc57600080fd5b6101d46106a4565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102105780820151838201526020016101f8565b50505050905090810190601f16801561023d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561025657600080fd5b61025e6106db565b60405190815260200160405180910390f35b341561027b57600080fd5b61025e6106e1565b341561028e57600080fd5b61025e6106e7565b34156102a157600080fd5b61025e6106ec565b34156102b457600080fd5b6101bf600160a060020a03600435166106f4565b34156102d357600080fd5b6101bf610753565b34156102e657600080fd5b61025e6107d2565b34156102f957600080fd5b61030d600160a060020a03600435166107d8565b604051901515815260200160405180910390f35b341561032c57600080fd5b61025e6107fd565b341561033f57600080fd5b61025e61080a565b341561035257600080fd5b61025e610810565b341561036557600080fd5b61025e600435610816565b341561037b57600080fd5b61030d61086b565b341561038e57600080fd5b61025e61087b565b34156103a157600080fd5b6103a9610888565b604051600160a060020a03909116815260200160405180910390f35b34156103d057600080fd5b61025e610897565b34156103e357600080fd5b61025e600160a060020a036004351661089d565b341561040257600080fd5b6103a96108b8565b341561041557600080fd5b6101bf6108c7565b341561042857600080fd5b6103a961094b565b341561043b57600080fd5b6101d461095a565b341561044e57600080fd5b61025e610991565b341561046157600080fd5b6101bf600160a060020a0360043516610998565b341561048057600080fd5b6101bf600160a060020a0360043516610a15565b341561049f57600080fd5b61025e600160a060020a0360043516610a98565b34156104be57600080fd5b61025e610ab3565b34156104d157600080fd5b61025e610abb565b34156104e457600080fd5b61030d610ac8565b34156104f757600080fd5b6101bf600160a060020a0360043516610ad2565b341561051657600080fd5b61025e610b6d565b341561052957600080fd5b61053d600160a060020a0360043516610b7c565b604051918252151560208201526040908101905180910390f35b6000806000806000806000600260149054906101000a900460ff1615151561057e57600080fd5b33965061058a876107d8565b151561059557600080fd5b61059d610b98565b15156105a857600080fd5b3495506105b486610816565b94506105c6868663ffffffff610bd616565b6006549094506105dc908563ffffffff610c0c16565b92506a0c685fa11e01ec6f0000008311156105f657600080fd5b600160a060020a03871660009081526003602052604090208054909250610623908763ffffffff610c0c16565b80835560075490915061063c908763ffffffff610c0c16565b600755600683905561064e8785610c1b565b5086600160a060020a03167fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f878660405191825260208201526040908101905180910390a261069b610cf4565b50505050505050565b60408051908101604052601381527f47696d6d657250726553616c6520546f6b656e00000000000000000000000000602082015281565b60005481565b61057881565b601281565b635a4b744081565b60025433600160a060020a0390811691161461070f57600080fd5b600160a060020a038116151561072457600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025433600160a060020a0390811691161461076e57600080fd5b60025460a060020a900460ff16151561078657600080fd5b6002805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60075481565b600160a060020a03811660009081526003602052604090206001015460ff165b919050565b68a2a15d09519be0000081565b61051481565b60065481565b600068a2a15d09519be00000821061083157506105786107f8565b681043561a8829300000821061084a57506105146107f8565b6801a055690d9db80000821061086357506104e26107f8565b5060006107f8565b60025460a060020a900460ff1681565b681043561a882930000081565b600454600160a060020a031681565b6104e281565b600160a060020a031660009081526001602052604090205490565b600554600160a060020a031681565b60025433600160a060020a039081169116146108e257600080fd5b60025460a060020a900460ff16156108f957600080fd5b6002805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600254600160a060020a031681565b60408051908101604052600481527f474d525000000000000000000000000000000000000000000000000000000000602082015281565b620f424081565b60055460009033600160a060020a039081169116146109b657600080fd5b50600160a060020a03811660008181526003602052604080822060018101805460ff1916905592917fd2fe62e1cfb04a2830bbe558bdb4e07a2332de254077698f16dc3701cedc6c659151901515815260200160405180910390a25050565b60055460009033600160a060020a03908116911614610a3357600080fd5b50600160a060020a038116600081815260036020526040908190206001808201805460ff1916821790559092917fd2fe62e1cfb04a2830bbe558bdb4e07a2332de254077698f16dc3701cedc6c65919051901515815260200160405180910390a25050565b600160a060020a031660009081526003602052604090205490565b635a1809c081565b6801a055690d9db8000081565b635a4b7440421190565b60025433600160a060020a03908116911614610aed57600080fd5b600160a060020a0381161515610b0257600080fd5b600254600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6a0c685fa11e01ec6f00000081565b6003602052600090815260409020805460019091015460ff1682565b6000806000635a1809c04210158015610bb55750635a4b74404211155b9150506801a055690d9db80000341015818015610bcf5750805b9250505090565b600080831515610be95760009150610c05565b50828202828482811515610bf957fe5b0414610c0157fe5b8091505b5092915050565b600082820183811015610c0157fe5b60008054610c2f908363ffffffff610c0c16565b6000908155600160a060020a038416815260016020526040902054610c5a908363ffffffff610c0c16565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a282600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600454600160a060020a03163480156108fc0290604051600060405180830381858888f193505050501515610d2857600080fd5b5600a165627a7a723058203a045285c56dd19221ae7f87ee435efd743e93e0b6f9fae6d94a50df1dae821800290000000000000000000000008c789463412b2697185e103ded5f75b9b3931a84000000000000000000000000bb3628807c424b58b8db1ae5e304255b84581af1

Deployed Bytecode

0x6060604052600436106101a05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101c157806318160ddd1461024b578063199676c714610270578063313ce5671461028357806337ba682d1461029657806337e05590146102a95780633f4ba83a146102c85780634042b66f146102db5780634438d222146102ee57806345d1b65714610321578063511acd5314610334578063518ab2a814610347578063577640941461035a5780635c975abb146103705780636133a0eb14610383578063664a1ad61461039657806367a6ae62146103c557806370a08231146103d85780637afea44f146103f75780638456cb591461040a5780638da5cb5b1461041d57806395d89b41146104305780639869b7361461044357806398d4856714610456578063a3a6a43e14610475578063d0febe4c146101b7578063d4fc582214610494578063ddaa26ad146104b3578063ebe74b21146104c6578063ecb70fb7146104d9578063f2fde38b146104ec578063f6afe8051461050b578063fcbd06aa1461051e575b60025460a060020a900460ff16156101b757600080fd5b6101bf610557565b005b34156101cc57600080fd5b6101d46106a4565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102105780820151838201526020016101f8565b50505050905090810190601f16801561023d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561025657600080fd5b61025e6106db565b60405190815260200160405180910390f35b341561027b57600080fd5b61025e6106e1565b341561028e57600080fd5b61025e6106e7565b34156102a157600080fd5b61025e6106ec565b34156102b457600080fd5b6101bf600160a060020a03600435166106f4565b34156102d357600080fd5b6101bf610753565b34156102e657600080fd5b61025e6107d2565b34156102f957600080fd5b61030d600160a060020a03600435166107d8565b604051901515815260200160405180910390f35b341561032c57600080fd5b61025e6107fd565b341561033f57600080fd5b61025e61080a565b341561035257600080fd5b61025e610810565b341561036557600080fd5b61025e600435610816565b341561037b57600080fd5b61030d61086b565b341561038e57600080fd5b61025e61087b565b34156103a157600080fd5b6103a9610888565b604051600160a060020a03909116815260200160405180910390f35b34156103d057600080fd5b61025e610897565b34156103e357600080fd5b61025e600160a060020a036004351661089d565b341561040257600080fd5b6103a96108b8565b341561041557600080fd5b6101bf6108c7565b341561042857600080fd5b6103a961094b565b341561043b57600080fd5b6101d461095a565b341561044e57600080fd5b61025e610991565b341561046157600080fd5b6101bf600160a060020a0360043516610998565b341561048057600080fd5b6101bf600160a060020a0360043516610a15565b341561049f57600080fd5b61025e600160a060020a0360043516610a98565b34156104be57600080fd5b61025e610ab3565b34156104d157600080fd5b61025e610abb565b34156104e457600080fd5b61030d610ac8565b34156104f757600080fd5b6101bf600160a060020a0360043516610ad2565b341561051657600080fd5b61025e610b6d565b341561052957600080fd5b61053d600160a060020a0360043516610b7c565b604051918252151560208201526040908101905180910390f35b6000806000806000806000600260149054906101000a900460ff1615151561057e57600080fd5b33965061058a876107d8565b151561059557600080fd5b61059d610b98565b15156105a857600080fd5b3495506105b486610816565b94506105c6868663ffffffff610bd616565b6006549094506105dc908563ffffffff610c0c16565b92506a0c685fa11e01ec6f0000008311156105f657600080fd5b600160a060020a03871660009081526003602052604090208054909250610623908763ffffffff610c0c16565b80835560075490915061063c908763ffffffff610c0c16565b600755600683905561064e8785610c1b565b5086600160a060020a03167fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f878660405191825260208201526040908101905180910390a261069b610cf4565b50505050505050565b60408051908101604052601381527f47696d6d657250726553616c6520546f6b656e00000000000000000000000000602082015281565b60005481565b61057881565b601281565b635a4b744081565b60025433600160a060020a0390811691161461070f57600080fd5b600160a060020a038116151561072457600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025433600160a060020a0390811691161461076e57600080fd5b60025460a060020a900460ff16151561078657600080fd5b6002805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60075481565b600160a060020a03811660009081526003602052604090206001015460ff165b919050565b68a2a15d09519be0000081565b61051481565b60065481565b600068a2a15d09519be00000821061083157506105786107f8565b681043561a8829300000821061084a57506105146107f8565b6801a055690d9db80000821061086357506104e26107f8565b5060006107f8565b60025460a060020a900460ff1681565b681043561a882930000081565b600454600160a060020a031681565b6104e281565b600160a060020a031660009081526001602052604090205490565b600554600160a060020a031681565b60025433600160a060020a039081169116146108e257600080fd5b60025460a060020a900460ff16156108f957600080fd5b6002805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600254600160a060020a031681565b60408051908101604052600481527f474d525000000000000000000000000000000000000000000000000000000000602082015281565b620f424081565b60055460009033600160a060020a039081169116146109b657600080fd5b50600160a060020a03811660008181526003602052604080822060018101805460ff1916905592917fd2fe62e1cfb04a2830bbe558bdb4e07a2332de254077698f16dc3701cedc6c659151901515815260200160405180910390a25050565b60055460009033600160a060020a03908116911614610a3357600080fd5b50600160a060020a038116600081815260036020526040908190206001808201805460ff1916821790559092917fd2fe62e1cfb04a2830bbe558bdb4e07a2332de254077698f16dc3701cedc6c65919051901515815260200160405180910390a25050565b600160a060020a031660009081526003602052604090205490565b635a1809c081565b6801a055690d9db8000081565b635a4b7440421190565b60025433600160a060020a03908116911614610aed57600080fd5b600160a060020a0381161515610b0257600080fd5b600254600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6a0c685fa11e01ec6f00000081565b6003602052600090815260409020805460019091015460ff1682565b6000806000635a1809c04210158015610bb55750635a4b74404211155b9150506801a055690d9db80000341015818015610bcf5750805b9250505090565b600080831515610be95760009150610c05565b50828202828482811515610bf957fe5b0414610c0157fe5b8091505b5092915050565b600082820183811015610c0157fe5b60008054610c2f908363ffffffff610c0c16565b6000908155600160a060020a038416815260016020526040902054610c5a908363ffffffff610c0c16565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a282600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600454600160a060020a03163480156108fc0290604051600060405180830381858888f193505050501515610d2857600080fd5b5600a165627a7a723058203a045285c56dd19221ae7f87ee435efd743e93e0b6f9fae6d94a50df1dae82180029

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

0000000000000000000000008c789463412b2697185e103ded5f75b9b3931a84000000000000000000000000bb3628807c424b58b8db1ae5e304255b84581af1

-----Decoded View---------------
Arg [0] : _fundWallet (address): 0x8c789463412b2697185E103dEd5F75b9b3931a84
Arg [1] : _kycManagerWallet (address): 0xBb3628807C424b58B8db1ae5e304255b84581af1

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000008c789463412b2697185e103ded5f75b9b3931a84
Arg [1] : 000000000000000000000000bb3628807c424b58b8db1ae5e304255b84581af1


Swarm Source

bzzr://3a045285c56dd19221ae7f87ee435efd743e93e0b6f9fae6d94a50df1dae8218
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.