ETH Price: $2,800.29 (+1.07%)

Contract

0x9813D5fa1a1838f30349C068492009b84FaDa13a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Pause47329222017-12-14 20:00:112628 days ago1513281611IN
0x9813D5fa...84FaDa13a
0 ETH0.000712225
Approve User KYC47019632017-12-09 10:23:102633 days ago1512814990IN
0x9813D5fa...84FaDa13a
0 ETH0.0025060755
Approve User KYC46912052017-12-07 13:56:372635 days ago1512654997IN
0x9813D5fa...84FaDa13a
0 ETH0.001833960
Approve User KYC46865652017-12-06 18:31:242636 days ago1512585084IN
0x9813D5fa...84FaDa13a
0 ETH0.0019137342
Approve User KYC46865162017-12-06 18:16:012636 days ago1512584161IN
0x9813D5fa...84FaDa13a
0 ETH0.0019137342
Transfer46854542017-12-06 13:33:152636 days ago1512567195IN
0x9813D5fa...84FaDa13a
30 ETH0.0057764242
Unpause46854272017-12-06 13:25:002636 days ago1512566700IN
0x9813D5fa...84FaDa13a
0 ETH0.0011068550
Unpause46854262017-12-06 13:24:532636 days ago1512566693IN
0x9813D5fa...84FaDa13a
0 ETH0.0011068550
Unpause46854242017-12-06 13:24:272636 days ago1512566667IN
0x9813D5fa...84FaDa13a
0 ETH0.0013282260
Unpause46854232017-12-06 13:24:232636 days ago1512566663IN
0x9813D5fa...84FaDa13a
0 ETH0.000703425
Approve User KYC46852512017-12-06 12:36:252636 days ago1512563785IN
0x9813D5fa...84FaDa13a
0 ETH0.0019137342
Approve User KYC46824442017-12-06 0:12:562636 days ago1512519176IN
0x9813D5fa...84FaDa13a
0 ETH0.0013669530
Disapprove User ...46824332017-12-06 0:10:272636 days ago1512519027IN
0x9813D5fa...84FaDa13a
0 ETH0.0009157530
Approve User KYC46824112017-12-06 0:04:512636 days ago1512518691IN
0x9813D5fa...84FaDa13a
0 ETH0.0013669530
Pause46812982017-12-05 19:27:442637 days ago1512502064IN
0x9813D5fa...84FaDa13a
0 ETH0.0006267322

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
46854542017-12-06 13:33:152636 days ago1512567195
0x9813D5fa...84FaDa13a
30 ETH
Loading...
Loading

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

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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