ETH Price: $3,585.90 (+3.60%)
 
Transaction Hash
Method
Block
From
To
Transfer215481062025-01-04 2:22:4742 secs ago1735957367IN
Gluwa Creditcoin Vesting Token
0 ETH0.000520187.14814001
Transfer215480962025-01-04 2:20:472 mins ago1735957247IN
Gluwa Creditcoin Vesting Token
0 ETH0.000525887.22770092
Transfer215480172025-01-04 2:04:5918 mins ago1735956299IN
Gluwa Creditcoin Vesting Token
0 ETH0.000615888.46454297
Transfer215479722025-01-04 1:55:4727 mins ago1735955747IN
Gluwa Creditcoin Vesting Token
0 ETH0.00042177.57644464
Transfer215479702025-01-04 1:55:2328 mins ago1735955723IN
Gluwa Creditcoin Vesting Token
0 ETH0.000361846.50098398
Transfer215478822025-01-04 1:37:4745 mins ago1735954667IN
Gluwa Creditcoin Vesting Token
0 ETH0.000471848.4772872
Transfer215478812025-01-04 1:37:3545 mins ago1735954655IN
Gluwa Creditcoin Vesting Token
0 ETH0.000394317.08427021
Transfer215478412025-01-04 1:29:3553 mins ago1735954175IN
Gluwa Creditcoin Vesting Token
0 ETH0.000403277.92917697
Transfer215477942025-01-04 1:19:591 hr ago1735953599IN
Gluwa Creditcoin Vesting Token
0 ETH0.000523627.19666082
Transfer215477402025-01-04 1:09:111 hr ago1735952951IN
Gluwa Creditcoin Vesting Token
0 ETH0.0008361512.30366348
Transfer215477382025-01-04 1:08:471 hr ago1735952927IN
Gluwa Creditcoin Vesting Token
0 ETH0.000681059.36023165
Transfer215476512025-01-04 0:51:231 hr ago1735951883IN
Gluwa Creditcoin Vesting Token
0 ETH0.000380526.83811171
Transfer215476362025-01-04 0:48:231 hr ago1735951703IN
Gluwa Creditcoin Vesting Token
0 ETH0.000550659.89738646
Transfer215474682025-01-04 0:14:352 hrs ago1735949675IN
Gluwa Creditcoin Vesting Token
0 ETH0.000535810.53492836
Transfer215472692025-01-03 23:34:352 hrs ago1735947275IN
Gluwa Creditcoin Vesting Token
0 ETH0.000560077.69754166
Transfer215465032025-01-03 21:00:355 hrs ago1735938035IN
Gluwa Creditcoin Vesting Token
0 ETH0.0006345112.47276344
Transfer215464442025-01-03 20:48:355 hrs ago1735937315IN
Gluwa Creditcoin Vesting Token
0 ETH0.0008144414.6388933
Transfer215464232025-01-03 20:44:235 hrs ago1735937063IN
Gluwa Creditcoin Vesting Token
0 ETH0.0008899815.99652149
Transfer215452522025-01-03 16:48:479 hrs ago1735922927IN
Gluwa Creditcoin Vesting Token
0 ETH0.0016047228.83698494
Transfer215451792025-01-03 16:34:119 hrs ago1735922051IN
Gluwa Creditcoin Vesting Token
0 ETH0.0012812825.19247119
Transfer215451402025-01-03 16:26:239 hrs ago1735921583IN
Gluwa Creditcoin Vesting Token
0 ETH0.0012338324.25934445
Transfer215449882025-01-03 15:55:5910 hrs ago1735919759IN
Gluwa Creditcoin Vesting Token
0 ETH0.0014327819.69187407
Transfer215449182025-01-03 15:41:5910 hrs ago1735918919IN
Gluwa Creditcoin Vesting Token
0 ETH0.0009297818.28122236
Transfer215448322025-01-03 15:24:4710 hrs ago1735917887IN
Gluwa Creditcoin Vesting Token
0 ETH0.0013481918.53243465
Transfer215447602025-01-03 15:09:5911 hrs ago1735916999IN
Gluwa Creditcoin Vesting Token
0 ETH0.0014317819.6749161
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:
GluwaCreditcoinVestingToken

Compiler Version
v0.5.1+commit.c8a2cb62

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-04-16
*/

pragma solidity ^0.5.1;
/**
The MIT License (MIT)

Copyright (c) 2016 Smart Contract Solutions, Inc.

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */


/**
 * @title SafeMath
 * @dev Math operations with safety checks that revert on error
 */
library SafeMath {

    /**
    * @dev Multiplies two numbers, reverts on overflow.
    */
    function multiply(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, "Multiplication overflow");

        return c;
    }

    /**
    * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
    */
    function divide(uint256 a, uint256 b) internal pure returns (uint256)
    {
        require(b > 0, "Division by zero"); // Solidity only automatically asserts when dividing by 0
        uint256 c = a / b;

        return c;
    }

    /**
    * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
    */
    function subtract(uint256 a, uint256 b) internal pure returns (uint256)
    {
        require(b <= a, "Subtraction underflow");
        uint256 c = a - b;

        return c;
    }

    /**
    * @dev Adds two numbers, reverts on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256)
    {
        uint256 c = a + b;
        require(c >= a, "Addition overflow");

        return c;
    }
}

pragma solidity ^0.5.1;

/**
Copyright(c) 2018 Gluwa, Inc.

This file is part of GluwaCreditcoinVestingToken.

GluwaCreditcoinVestingToken is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
	
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
	
You should have received a copy of the GNU Lesser General Public License
along with GluwaCreditcoinVestingToken. If not, see <https://www.gnu.org/licenses/>.
 */

contract Erc20
{   
    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
    function totalSupply() public view returns (uint256 amount);
    function balanceOf(address owner) public view returns (uint256 balance);
    function transfer(address to, uint256 value) public returns (bool success);
    function transferFrom(address from, address to, uint256 value) public returns (bool success);
    function approve(address spender, uint256 value) public returns (bool success);
    function allowance(address owner, address spender) public view returns (uint256 remaining);
    
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


contract Erc20Plus is Erc20
{
    function burn(uint256 value) public returns (bool success);
    function burnFrom(address from, uint256 value) public returns (bool success);

    event Burnt(address indexed from, uint256 value);
}


contract Owned
{
    address internal Owner;

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

    modifier onlyOwner 
    {
        require(msg.sender == Owner, "Only contract owner can do this.");
        _;
    }   

    function () external payable 
    {
        require(false, "eth transfer is disabled."); // throw
    }
}


contract CreditcoinBase is Owned
{
    //----------- ERC20 members
    uint8 public constant decimals = 18;
    //=========== ERC20 members

    uint256 internal constant FRAC_IN1UNIT = 10 ** uint256(decimals);
    uint256 public constant creditcoinLimitInFrac = 2000000000 * FRAC_IN1UNIT;
}


contract GluwaCreditcoinVestingToken is CreditcoinBase, Erc20Plus
{
    using SafeMath for uint256;

    //----------- ERC20 members
    string public constant name = "Gluwa Creditcoin Vesting Token";
    string public constant symbol = "G-CRE";
    //=========== ERC20 members

    uint256 public constant creditcoinSalesLimit = creditcoinLimitInFrac * 3 / 10;

    bool public IsSalesFinalized;
    uint256 public VestingStartDate;

    address private _creditcoinFoundation;

    uint256 private _totalSupply;

    event Exchange(address indexed from, uint256 value, string indexed sighash);

    /* 
        Mapping of addresses to map of vesting periods (uint16) to token balance (uint256).
        Also maps investor address to their amount of token transfer balance and amount of vesting tokens used.
    */
    mapping(address => mapping(uint16 => uint256)) private _balances;
    mapping (address => mapping (address => uint256)) private _allowance;

    uint16 constant TRANSFER_TOKENS_BALANCE  = 0;
    uint16 constant USED_VESTED_AMOUNT = 1;
    uint16 constant SIX_MONTH_VESTING_IN_DAYS = 183;
    uint16 constant ONE_YEAR_VESTING_IN_DAYS = 365;
    uint16 constant TWO_YEAR_VESTING_IN_DAYS = 730;
    uint16 constant THREE_YEAR_VESTING_IN_DAYS = 1095;
    uint16 constant SIX_YEAR_VESTING_IN_DAYS = 2190;

    modifier salesNotFinalized()
    {
        require(!IsSalesFinalized, "Sales have been finalized");
        _;
    }

    constructor(address creditcoinFoundation, address devCost) public
    {
        _creditcoinFoundation = creditcoinFoundation;
        uint256 creditcoinFoundationTokens = creditcoinLimitInFrac.multiply(5).divide(100);
        uint256 devCostTokens = creditcoinLimitInFrac.multiply(15).divide(100);
        
        _balances[creditcoinFoundation][SIX_YEAR_VESTING_IN_DAYS] = creditcoinFoundationTokens;
        _totalSupply = _totalSupply.add(creditcoinFoundationTokens);

        _balances[devCost][SIX_YEAR_VESTING_IN_DAYS] = devCostTokens;
        _totalSupply = _totalSupply.add(devCostTokens);

        emit Transfer(address(0), creditcoinFoundation, creditcoinFoundationTokens);
        emit Transfer(address(0), devCost, devCostTokens);
    }

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

    function balanceOf(address owner) public view returns (uint256 balance)
    {
        uint256 vestedBalance = vestedBalanceOf(owner);
        uint256 transferBalance = _balances[owner][TRANSFER_TOKENS_BALANCE];
        uint256 usedVestedAmount = _balances[owner][USED_VESTED_AMOUNT];

        return vestedBalance.add(transferBalance).subtract(usedVestedAmount);
    }

    function transfer(address to, uint256 value) public returns (bool success)
    {
        require(to != address(0), "Invalid to address");
        require(to != msg.sender, "Can't transfer to self");
        require(balanceOf(msg.sender) >= value, "Insufficient balance");
        
        _removeTokensFromAddress(msg.sender, value);
        _balances[to][TRANSFER_TOKENS_BALANCE] = _balances[to][TRANSFER_TOKENS_BALANCE].add(value);

        emit Transfer(msg.sender, to, value);

        return true;
    }

    function transferFrom(address from, address to, uint256 value) public returns (bool success)
    {
        require(from != address(0), "Invalid from address");
        require(to != address(0), "Invalid recipient address");
        require(balanceOf(from) >= value, "Insufficient balance");
        require(_allowance[from][msg.sender] >= value, "Allowance exceeded");

        _removeTokensFromAddress(from, value);
        _balances[to][TRANSFER_TOKENS_BALANCE] = _balances[to][TRANSFER_TOKENS_BALANCE].add(value);
        _allowance[from][msg.sender] = _allowance[from][msg.sender].subtract(value);

        emit Transfer(from, to, value);

        return true;
    }

    function approve(address spender, uint256 value) public returns (bool success)
    {
        require(spender != address(0), "Invalid spender address");
        require(spender != msg.sender, "Can't approve allowance for yourself");

        _allowance[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        
        return true;
    }

    function allowance(address owner, address spender) public view returns (uint256 remaining)
    {
        return _allowance[owner][spender];
    }

    function burn(uint256 value) public returns (bool success) 
    {
        require(balanceOf(msg.sender) >= value, "Insufficient balance");

        _removeTokensFromAddress(msg.sender, value);
        _totalSupply = _totalSupply.subtract(value);

        emit Burnt(msg.sender, value);
        emit Transfer(msg.sender, address(0), value);

        return true;
    }

    function burnFrom(address from, uint256 value) public returns (bool success)
    {
        require(balanceOf(from) >= value, "Insufficient balance");
        require(_allowance[from][msg.sender] >= value, "Allowance exceeded");

        _removeTokensFromAddress(from, value);
        _allowance[from][msg.sender] = _allowance[from][msg.sender].subtract(value);
        _totalSupply = _totalSupply.subtract(value);

        emit Burnt(from, value);
        emit Transfer(from, address(0), value);

        return true;
    }

    function exchange(uint256 value, string memory sighash) public returns (bool success) 
    {
        require(balanceOf(msg.sender) >= value, "Insufficient balance");
        require(bytes(sighash).length == 60, "Invalid sighash length");

        _removeTokensFromAddress(msg.sender, value);
        _totalSupply = _totalSupply.subtract(value);

        emit Exchange(msg.sender, value, sighash);
        emit Transfer(msg.sender, address(0), value);

        return true;
    }

    function finalizeSales() public onlyOwner
    {
        require(!IsSalesFinalized, "Sales have already been finalized");

        uint256 remainingTokens = creditcoinSalesLimit.subtract(_totalSupply);
        _balances[_creditcoinFoundation][SIX_YEAR_VESTING_IN_DAYS] = _balances[_creditcoinFoundation][SIX_YEAR_VESTING_IN_DAYS].add(remainingTokens);
        _totalSupply = creditcoinSalesLimit;
        
        emit Transfer(address(0), _creditcoinFoundation, remainingTokens);

        IsSalesFinalized = true;
    }

    function startVesting() public onlyOwner
    {
        require(IsSalesFinalized, "Sales must be finalized before vesting start.");
        require(VestingStartDate == 0, "Vesting  has already started");

        VestingStartDate = now;
    }

    function recordSale183Days(address tokenHolder, uint256 numCoins) public onlyOwner salesNotFinalized
    {
        _recordSale(tokenHolder, SIX_MONTH_VESTING_IN_DAYS, numCoins);
    }

    function recordSales183Days(address[] memory tokenHolders, uint256[] memory amounts) public onlyOwner salesNotFinalized
    {
        require(tokenHolders.length == amounts.length, "Token holder list and values list length mismatch");

        for (uint i = 0; i < tokenHolders.length; i++)
        {
            recordSale183Days(tokenHolders[i], amounts[i]);
        }
    }

    function recordSale365Days(address tokenHolder, uint256 numCoins) public onlyOwner salesNotFinalized
    {
        _recordSale(tokenHolder, ONE_YEAR_VESTING_IN_DAYS, numCoins);
    }

    function recordSales365Days(address[] memory tokenHolders, uint256[] memory amounts) public onlyOwner salesNotFinalized
    {
        require(tokenHolders.length == amounts.length, "Token holder list and values list length mismatch");

        for (uint i = 0; i < tokenHolders.length; i++)
        {
            recordSale365Days(tokenHolders[i], amounts[i]);
        }
    }

    function recordSale730Days(address tokenHolder, uint256 numCoins) public onlyOwner salesNotFinalized
    {
        _recordSale(tokenHolder, TWO_YEAR_VESTING_IN_DAYS, numCoins);
    }

    function recordSales730Days(address[] memory tokenHolders, uint256[] memory amounts) public onlyOwner salesNotFinalized
    {
        require(tokenHolders.length == amounts.length, "Token holder list and values list length mismatch");

        for (uint i = 0; i < tokenHolders.length; i++)
        {
            recordSale730Days(tokenHolders[i], amounts[i]);
        }
    }

    function recordSale1095Days(address tokenHolder, uint256 numCoins) public onlyOwner salesNotFinalized
    {
        _recordSale(tokenHolder, THREE_YEAR_VESTING_IN_DAYS, numCoins);
    }

    function recordSales1095Days(address[] memory tokenHolders, uint256[] memory amounts) public onlyOwner salesNotFinalized
    {
        require(tokenHolders.length == amounts.length, "Token holder list and values list length mismatch");

        for (uint i = 0; i < tokenHolders.length; i++)
        {
            recordSale1095Days(tokenHolders[i], amounts[i]);
        }
    }

    function recordSale2190Days(address tokenHolder, uint256 numCoins) public onlyOwner salesNotFinalized
    {
        _recordSale(tokenHolder, SIX_YEAR_VESTING_IN_DAYS, numCoins);
    }

    function recordSales2190Days(address[] memory tokenHolders, uint256[] memory amounts) public onlyOwner salesNotFinalized
    {
        require(tokenHolders.length == amounts.length, "Token holder list and values list length mismatch");

        for (uint i = 0; i < tokenHolders.length; i++)
        {
            recordSale2190Days(tokenHolders[i], amounts[i]);
        }
    }

    function vestedBalanceOf183Days(address tokenHolder) public view returns (uint256 balance) 
    {
        return _calculateAvailableVestingTokensForPeriod(tokenHolder, SIX_MONTH_VESTING_IN_DAYS);
    }

    function vestedBalanceOf365Days(address tokenHolder) public view returns (uint256 balance)
    {
        return _calculateAvailableVestingTokensForPeriod(tokenHolder, ONE_YEAR_VESTING_IN_DAYS);
    }

    function vestedBalanceOf730Days(address tokenHolder) public view returns (uint256 balance)
    {
        return _calculateAvailableVestingTokensForPeriod(tokenHolder, TWO_YEAR_VESTING_IN_DAYS);
    }

    function vestedBalanceOf1095Days(address tokenHolder) public view returns (uint256 balance)
    {
        return _calculateAvailableVestingTokensForPeriod(tokenHolder, THREE_YEAR_VESTING_IN_DAYS);
    }

    function vestedBalanceOf2190Days(address tokenHolder) public view returns (uint256 balance)
    {
        return _calculateAvailableVestingTokensForPeriod(tokenHolder, SIX_YEAR_VESTING_IN_DAYS);
    }

    function vestedBalanceOf(address tokenHolder) public view returns (uint256 balance)
    {
        if (VestingStartDate == 0)
        {
            return 0;
        }

        uint256 vestedBalance183Days = vestedBalanceOf183Days(tokenHolder);
        uint256 vestedBalance365Days = vestedBalanceOf365Days(tokenHolder);
        uint256 vestedBalance730Days = vestedBalanceOf730Days(tokenHolder);
        uint256 vestedBalance1095Days = vestedBalanceOf1095Days(tokenHolder);
        uint256 vestedBalance2190Days = vestedBalanceOf2190Days(tokenHolder);
        
        return vestedBalance183Days.add(vestedBalance365Days).add(vestedBalance730Days).add(vestedBalance1095Days).add(vestedBalance2190Days);
    }

    function purchasedBalanceOf183Days(address tokenHolder) public view returns (uint256 balance)
    {
        return _balances[tokenHolder][SIX_MONTH_VESTING_IN_DAYS];
    }

    function purchasedBalanceOf365Days(address tokenHolder) public view returns (uint256 balance)
    {
        return _balances[tokenHolder][ONE_YEAR_VESTING_IN_DAYS];
    }

    function purchasedBalanceOf730Days(address tokenHolder) public view returns (uint256 balance)
    {
        return _balances[tokenHolder][TWO_YEAR_VESTING_IN_DAYS];
    }

    function purchasedBalanceOf1095Days(address tokenHolder) public view returns (uint256 balance)
    {
        return _balances[tokenHolder][THREE_YEAR_VESTING_IN_DAYS];
    }

    function purchasedBalanceOf2190Days(address tokenHolder) public view returns (uint256 balance)
    {
        return _balances[tokenHolder][SIX_YEAR_VESTING_IN_DAYS];
    }

    function purchasedBalanceOf(address tokenHolder) public view returns (uint256 balance)
    {
        uint256 purchasedBalance183Days = purchasedBalanceOf183Days(tokenHolder);
        uint256 purchasedBalance365Days = purchasedBalanceOf365Days(tokenHolder);
        uint256 purchasedBalance730Days = purchasedBalanceOf730Days(tokenHolder);
        uint256 purchasedBalance1095Days = purchasedBalanceOf1095Days(tokenHolder);
        uint256 purchasedBalance2190Days = purchasedBalanceOf2190Days(tokenHolder);

        return purchasedBalance183Days
            .add(purchasedBalance365Days)
            .add(purchasedBalance730Days)
            .add(purchasedBalance1095Days)
            .add(purchasedBalance2190Days);
    }

    function _calculateAvailableVestingTokensForPeriod(address tokenHolder, uint16 vestingPeriod) private view returns (uint256)
    {
        if (VestingStartDate == 0)
        {
            return 0;
        }

        uint256 numDaysSinceVesting = now.subtract(VestingStartDate).divide(1 days);
        uint256 totalVestingTokens = _balances[tokenHolder][vestingPeriod];

        if (numDaysSinceVesting >= vestingPeriod)
        {
            return totalVestingTokens;
        }
        
        return totalVestingTokens.multiply(numDaysSinceVesting).divide(vestingPeriod);
    }

    function _recordSale(address tokenHolder, uint16 vestingPeriod, uint256 numCoins) private
    {
        require(_balances[tokenHolder][vestingPeriod] == 0, "Sales have already been recorded for this address and vestingPeriod");

        uint256 newTotalSupply = _totalSupply.add(numCoins);
        require(newTotalSupply <= creditcoinSalesLimit, "Creditcoin sales limit exceeded");

        _balances[tokenHolder][vestingPeriod] = numCoins;
        _totalSupply = newTotalSupply;

        emit Transfer(address(0), tokenHolder, numCoins);
    }

    function _removeTokensFromAddress(address from, uint256 value) private
    {
        uint256 fromTransferBalance = _balances[from][TRANSFER_TOKENS_BALANCE];

        if (fromTransferBalance >= value)
        {
            _balances[from][TRANSFER_TOKENS_BALANCE] -= value;
        }
        else
        {
            _balances[from][USED_VESTED_AMOUNT] = _balances[from][USED_VESTED_AMOUNT].add(value - fromTransferBalance);
            _balances[from][TRANSFER_TOKENS_BALANCE] = 0;
        }
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"tokenHolders","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"recordSales730Days","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"VestingStartDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenHolder","type":"address"}],"name":"vestedBalanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenHolder","type":"address"}],"name":"purchasedBalanceOf365Days","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"},{"name":"sighash","type":"string"}],"name":"exchange","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenHolder","type":"address"}],"name":"vestedBalanceOf183Days","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenHolders","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"recordSales1095Days","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenHolder","type":"address"}],"name":"vestedBalanceOf365Days","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenHolder","type":"address"}],"name":"purchasedBalanceOf2190Days","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenHolders","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"recordSales183Days","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenHolder","type":"address"},{"name":"numCoins","type":"uint256"}],"name":"recordSale365Days","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenHolder","type":"address"}],"name":"vestedBalanceOf730Days","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenHolder","type":"address"}],"name":"purchasedBalanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalizeSales","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenHolder","type":"address"}],"name":"vestedBalanceOf2190Days","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenHolder","type":"address"}],"name":"purchasedBalanceOf730Days","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenHolder","type":"address"},{"name":"numCoins","type":"uint256"}],"name":"recordSale183Days","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"creditcoinSalesLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenHolder","type":"address"}],"name":"vestedBalanceOf1095Days","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"creditcoinLimitInFrac","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenHolder","type":"address"},{"name":"numCoins","type":"uint256"}],"name":"recordSale2190Days","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenHolder","type":"address"},{"name":"numCoins","type":"uint256"}],"name":"recordSale730Days","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenHolder","type":"address"}],"name":"purchasedBalanceOf1095Days","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startVesting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenHolders","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"recordSales2190Days","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenHolder","type":"address"}],"name":"purchasedBalanceOf183Days","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"IsSalesFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenHolders","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"recordSales365Days","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenHolder","type":"address"},{"name":"numCoins","type":"uint256"}],"name":"recordSale1095Days","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"creditcoinFoundation","type":"address"},{"name":"devCost","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"sighash","type":"string"}],"name":"Exchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burnt","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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040523480156200001157600080fd5b50604051604080620031f0833981018060405260408110156200003357600080fd5b5080516020909101516000805433600160a060020a031991821617825560028054909116600160a060020a038516179055620000a66064620000916b06765c793fa10079d00000006005640100000000620001d4810262002cf31704565b9064010000000062002c846200026e82021704565b90506000620000d76064620000916b06765c793fa10079d0000000600f64010000000062002cf3620001d482021704565b600160a060020a038516600090815260046020908152604080832061088e845290915290208390556003549091506200011f9083640100000000620028cb620002f682021704565b6003908155600160a060020a038416600090815260046020908152604080832061088e8452909152902082905554620001679082640100000000620028cb620002f682021704565b600355604080518381529051600160a060020a03861691600091600080516020620031d08339815191529181900360200190a3604080518281529051600160a060020a03851691600091600080516020620031d08339815191529181900360200190a3505050506200036b565b6000821515620001e75750600062000268565b828202828482811515620001f757fe5b04146200026557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c7469706c69636174696f6e206f766572666c6f77000000000000000000604482015290519081900360640190fd5b90505b92915050565b6000808211620002df57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4469766973696f6e206279207a65726f00000000000000000000000000000000604482015290519081900360640190fd5b60008284811515620002ed57fe5b04949350505050565b6000828201838110156200026557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4164646974696f6e206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b612e55806200037b6000396000f3fe6080604052600436106101e7577c0100000000000000000000000000000000000000000000000000000000600035046304dc0f9c8114610239578063057272b61461036d57806306fdde0314610394578063095ea7b31461041e5780630e2d1a2a1461046b57806318160ddd1461049e57806320b8f2f6146104b357806323a56849146104e657806323b872dd146105a0578063250944db146105e3578063313ce5671461061657806334ccc871146106415780633cb8e5271461077557806342966c68146107a857806348900c90146107d25780635d51ef3714610805578063699c3906146109395780636ee6347b1461097257806370815b10146109a557806370a08231146109d8578063768882df14610a0b57806379cc679014610a205780638f8ace5c14610a595780639374d7f614610a8c57806395d89b4114610abf5780639da9469114610ad4578063a9059cbb14610b0d578063aa37ca0214610b46578063afd90c2914610b5b578063d147957514610b8e578063d378d07714610ba3578063d5a2ffde14610bdc578063d6a5334a14610c15578063dd62ed3e14610c48578063deb36e3214610c83578063e7725f5b14610c98578063eaa142ba14610dcc578063ebf701ae14610dff578063f39d39a014610e14578063fda1bfc514610f48575b6040805160e560020a62461bcd02815260206004820152601960248201527f657468207472616e736665722069732064697361626c65642e00000000000000604482015290519081900360640190fd5b005b34801561024557600080fd5b506102376004803603604081101561025c57600080fd5b81019060208101813564010000000081111561027757600080fd5b82018360208201111561028957600080fd5b803590602001918460208302840111640100000000831117156102ab57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156102fb57600080fd5b82018360208201111561030d57600080fd5b8035906020019184602083028401116401000000008311171561032f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610f81945050505050565b34801561037957600080fd5b506103826110cd565b60408051918252519081900360200190f35b3480156103a057600080fd5b506103a96110d3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103e35781810151838201526020016103cb565b50505050905090810190601f1680156104105780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561042a57600080fd5b506104576004803603604081101561044157600080fd5b50600160a060020a03813516906020013561110a565b604080519115158252519081900360200190f35b34801561047757600080fd5b506103826004803603602081101561048e57600080fd5b5035600160a060020a031661125a565b3480156104aa57600080fd5b506103826112e1565b3480156104bf57600080fd5b50610382600480360360208110156104d657600080fd5b5035600160a060020a03166112e7565b3480156104f257600080fd5b506104576004803603604081101561050957600080fd5b8135919081019060408101602082013564010000000081111561052b57600080fd5b82018360208201111561053d57600080fd5b8035906020019184600183028401116401000000008311171561055f57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061130f945050505050565b3480156105ac57600080fd5b50610457600480360360608110156105c357600080fd5b50600160a060020a03813581169160208101359091169060400135611495565b3480156105ef57600080fd5b506103826004803603602081101561060657600080fd5b5035600160a060020a0316611703565b34801561062257600080fd5b5061062b611710565b6040805160ff9092168252519081900360200190f35b34801561064d57600080fd5b506102376004803603604081101561066457600080fd5b81019060208101813564010000000081111561067f57600080fd5b82018360208201111561069157600080fd5b803590602001918460208302840111640100000000831117156106b357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561070357600080fd5b82018360208201111561071557600080fd5b8035906020019184602083028401116401000000008311171561073757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611715945050505050565b34801561078157600080fd5b506103826004803603602081101561079857600080fd5b5035600160a060020a031661185c565b3480156107b457600080fd5b50610457600480360360208110156107cb57600080fd5b503561186a565b3480156107de57600080fd5b50610382600480360360208110156107f557600080fd5b5035600160a060020a031661193e565b34801561081157600080fd5b506102376004803603604081101561082857600080fd5b81019060208101813564010000000081111561084357600080fd5b82018360208201111561085557600080fd5b8035906020019184602083028401116401000000008311171561087757600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156108c757600080fd5b8201836020820111156108d957600080fd5b803590602001918460208302840111640100000000831117156108fb57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611966945050505050565b34801561094557600080fd5b506102376004803603604081101561095c57600080fd5b50600160a060020a038135169060200135611aad565b34801561097e57600080fd5b506103826004803603602081101561099557600080fd5b5035600160a060020a0316611b5e565b3480156109b157600080fd5b50610382600480360360208110156109c857600080fd5b5035600160a060020a0316611b6c565b3480156109e457600080fd5b50610382600480360360208110156109fb57600080fd5b5035600160a060020a0316611bac565b348015610a1757600080fd5b50610237611c0b565b348015610a2c57600080fd5b5061045760048036036040811015610a4357600080fd5b50600160a060020a038135169060200135611dd1565b348015610a6557600080fd5b5061038260048036036020811015610a7c57600080fd5b5035600160a060020a0316611f8b565b348015610a9857600080fd5b5061038260048036036020811015610aaf57600080fd5b5035600160a060020a0316611f99565b348015610acb57600080fd5b506103a9611fc1565b348015610ae057600080fd5b5061023760048036036040811015610af757600080fd5b50600160a060020a038135169060200135611ff8565b348015610b1957600080fd5b5061045760048036036040811015610b3057600080fd5b50600160a060020a0381351690602001356120a4565b348015610b5257600080fd5b50610382612247565b348015610b6757600080fd5b5061038260048036036020811015610b7e57600080fd5b5035600160a060020a0316612257565b348015610b9a57600080fd5b50610382612265565b348015610baf57600080fd5b5061023760048036036040811015610bc657600080fd5b50600160a060020a038135169060200135612275565b348015610be857600080fd5b5061023760048036036040811015610bff57600080fd5b50600160a060020a038135169060200135612322565b348015610c2157600080fd5b5061038260048036036020811015610c3857600080fd5b5035600160a060020a03166123cf565b348015610c5457600080fd5b5061038260048036036040811015610c6b57600080fd5b50600160a060020a03813581169160200135166123f7565b348015610c8f57600080fd5b50610237612422565b348015610ca457600080fd5b5061023760048036036040811015610cbb57600080fd5b810190602081018135640100000000811115610cd657600080fd5b820183602082011115610ce857600080fd5b80359060200191846020830284011164010000000083111715610d0a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050640100000000811115610d5a57600080fd5b820183602082011115610d6c57600080fd5b80359060200191846020830284011164010000000083111715610d8e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612559945050505050565b348015610dd857600080fd5b5061038260048036036020811015610def57600080fd5b5035600160a060020a03166126a0565b348015610e0b57600080fd5b506104576126c7565b348015610e2057600080fd5b5061023760048036036040811015610e3757600080fd5b810190602081018135640100000000811115610e5257600080fd5b820183602082011115610e6457600080fd5b80359060200191846020830284011164010000000083111715610e8657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050640100000000811115610ed657600080fd5b820183602082011115610ee857600080fd5b80359060200191846020830284011164010000000083111715610f0a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506126d7945050505050565b348015610f5457600080fd5b5061023760048036036040811015610f6b57600080fd5b50600160a060020a03813516906020013561281e565b600054600160a060020a03163314610fd1576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615611021576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b805182511461107c576040805160e560020a62461bcd0281526020600482015260316024820152600080516020612dea8339815191526044820152600080516020612e0a833981519152606482015290519081900360840190fd5b60005b82518110156110c8576110c0838281518110151561109957fe5b9060200190602002015183838151811015156110b157fe5b90602001906020020151612322565b60010161107f565b505050565b60015481565b60408051808201909152601e81527f476c75776120437265646974636f696e2056657374696e6720546f6b656e0000602082015281565b6000600160a060020a038316151561116c576040805160e560020a62461bcd02815260206004820152601760248201527f496e76616c6964207370656e6465722061646472657373000000000000000000604482015290519081900360640190fd5b600160a060020a0383163314156111f2576040805160e560020a62461bcd028152602060048201526024808201527f43616e277420617070726f766520616c6c6f77616e636520666f7220796f757260448201527f73656c6600000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000818152600560209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60006001546000141561126f575060006112dc565b600061127a83611703565b905060006112878461185c565b9050600061129485611b5e565b905060006112a186612257565b905060006112ae87611f8b565b90506112d4816112c8848187818b8b63ffffffff6128cb16565b9063ffffffff6128cb16565b955050505050505b919050565b60035490565b600160a060020a0316600090815260046020908152604080832061016d845290915290205490565b60008261131b33611bac565b101561135f576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612d8a833981519152604482015290519081900360640190fd5b8151603c146113b8576040805160e560020a62461bcd02815260206004820152601660248201527f496e76616c69642073696768617368206c656e67746800000000000000000000604482015290519081900360640190fd5b6113c2338461292f565b6003546113d5908463ffffffff6129f816565b6003556040518251839190819060208401908083835b6020831061140a5780518252601f1990920191602091820191016113eb565b51815160209384036101000a60001901801990921691161790526040805192909401829003822089835293519395503394507f1ed7bbccd2ed756e55a14e1873ce4f295f67cb73ade758a84e3b5a91e556e8699391829003019150a36040805184815290516000913391600080516020612daa8339815191529181900360200190a350600192915050565b6000600160a060020a03841615156114f7576040805160e560020a62461bcd02815260206004820152601460248201527f496e76616c69642066726f6d2061646472657373000000000000000000000000604482015290519081900360640190fd5b600160a060020a0383161515611557576040805160e560020a62461bcd02815260206004820152601960248201527f496e76616c696420726563697069656e74206164647265737300000000000000604482015290519081900360640190fd5b8161156185611bac565b10156115a5576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612d8a833981519152604482015290519081900360640190fd5b600160a060020a0384166000908152600560209081526040808320338452909152902054821115611620576040805160e560020a62461bcd02815260206004820152601260248201527f416c6c6f77616e63652065786365656465640000000000000000000000000000604482015290519081900360640190fd5b61162a848361292f565b600160a060020a038316600090815260046020908152604080832083805290915290205461165e908363ffffffff6128cb16565b600160a060020a03808516600090815260046020908152604080832083805282528083209490945591871681526005825282812033825290915220546116aa908363ffffffff6129f816565b600160a060020a0380861660008181526005602090815260408083203384528252918290209490945580518681529051928716939192600080516020612daa833981519152929181900390910190a35060019392505050565b60006112548260b7612a58565b601281565b600054600160a060020a03163314611765576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff16156117b5576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b8051825114611810576040805160e560020a62461bcd0281526020600482015260316024820152600080516020612dea8339815191526044820152600080516020612e0a833981519152606482015290519081900360840190fd5b60005b82518110156110c857611854838281518110151561182d57fe5b90602001906020020151838381518110151561184557fe5b9060200190602002015161281e565b600101611813565b60006112548261016d612a58565b60008161187633611bac565b10156118ba576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612d8a833981519152604482015290519081900360640190fd5b6118c4338361292f565b6003546118d7908363ffffffff6129f816565b60035560408051838152905133917f919f7e2092ffcc9d09f599be18d8152860b0c054df788a33bc549cdd9d0f15b1919081900360200190a26040805183815290516000913391600080516020612daa8339815191529181900360200190a3506001919050565b600160a060020a0316600090815260046020908152604080832061088e845290915290205490565b600054600160a060020a031633146119b6576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615611a06576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b8051825114611a61576040805160e560020a62461bcd0281526020600482015260316024820152600080516020612dea8339815191526044820152600080516020612e0a833981519152606482015290519081900360840190fd5b60005b82518110156110c857611aa58382815181101515611a7e57fe5b906020019060200201518383815181101515611a9657fe5b90602001906020020151611ff8565b600101611a64565b600054600160a060020a03163314611afd576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615611b4d576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b611b5a8261016d83612aea565b5050565b6000611254826102da612a58565b600080611b78836126a0565b90506000611b85846112e7565b90506000611b9285611f99565b90506000611b9f866123cf565b905060006112ae8761193e565b600080611bb88361125a565b600160a060020a0384166000908152600460209081526040808320838052909152808220546001835291205491925090611c0281611bf685856128cb565b9063ffffffff6129f816565b95945050505050565b600054600160a060020a03163314611c5b576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615611ce3576040805160e560020a62461bcd02815260206004820152602160248201527f53616c6573206861766520616c7265616479206265656e2066696e616c697a6560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600354600090611d00906b01f04ef12cb04cf158000000906129f8565b600254600160a060020a0316600090815260046020908152604080832061088e8452909152902054909150611d3b908263ffffffff6128cb16565b600254600160a060020a0316600090815260046020908152604080832061088e8452909152902055600a6b1363156bbee3016d7000000004600355600254604080518381529051600160a060020a0390921691600091600080516020612daa833981519152919081900360200190a3506000805474ff0000000000000000000000000000000000000000191660a060020a179055565b600081611ddd84611bac565b1015611e21576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612d8a833981519152604482015290519081900360640190fd5b600160a060020a0383166000908152600560209081526040808320338452909152902054821115611e9c576040805160e560020a62461bcd02815260206004820152601260248201527f416c6c6f77616e63652065786365656465640000000000000000000000000000604482015290519081900360640190fd5b611ea6838361292f565b600160a060020a0383166000908152600560209081526040808320338452909152902054611eda908363ffffffff6129f816565b600160a060020a0384166000908152600560209081526040808320338452909152902055600354611f11908363ffffffff6129f816565b600355604080518381529051600160a060020a038516917f919f7e2092ffcc9d09f599be18d8152860b0c054df788a33bc549cdd9d0f15b1919081900360200190a2604080518381529051600091600160a060020a03861691600080516020612daa8339815191529181900360200190a350600192915050565b60006112548261088e612a58565b600160a060020a031660009081526004602090815260408083206102da845290915290205490565b60408051808201909152600581527f472d435245000000000000000000000000000000000000000000000000000000602082015281565b600054600160a060020a03163314612048576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615612098576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b611b5a8260b783612aea565b6000600160a060020a0383161515612106576040805160e560020a62461bcd02815260206004820152601260248201527f496e76616c696420746f20616464726573730000000000000000000000000000604482015290519081900360640190fd5b600160a060020a038316331415612167576040805160e560020a62461bcd02815260206004820152601660248201527f43616e2774207472616e7366657220746f2073656c6600000000000000000000604482015290519081900360640190fd5b8161217133611bac565b10156121b5576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612d8a833981519152604482015290519081900360640190fd5b6121bf338361292f565b600160a060020a03831660009081526004602090815260408083208380529091529020546121f3908363ffffffff6128cb16565b600160a060020a0384166000818152600460209081526040808320838052825291829020939093558051858152905191923392600080516020612daa8339815191529281900390910190a350600192915050565b6b01f04ef12cb04cf15800000081565b600061125482610447612a58565b6b06765c793fa10079d000000081565b600054600160a060020a031633146122c5576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615612315576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b611b5a8261088e83612aea565b600054600160a060020a03163314612372576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff16156123c2576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b611b5a826102da83612aea565b600160a060020a03166000908152600460209081526040808320610447845290915290205490565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600054600160a060020a03163314612472576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615156124fb576040805160e560020a62461bcd02815260206004820152602d60248201527f53616c6573206d7573742062652066696e616c697a6564206265666f7265207660448201527f657374696e672073746172742e00000000000000000000000000000000000000606482015290519081900360840190fd5b60015415612553576040805160e560020a62461bcd02815260206004820152601c60248201527f56657374696e67202068617320616c7265616479207374617274656400000000604482015290519081900360640190fd5b42600155565b600054600160a060020a031633146125a9576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff16156125f9576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b8051825114612654576040805160e560020a62461bcd0281526020600482015260316024820152600080516020612dea8339815191526044820152600080516020612e0a833981519152606482015290519081900360840190fd5b60005b82518110156110c857612698838281518110151561267157fe5b90602001906020020151838381518110151561268957fe5b90602001906020020151612275565b600101612657565b600160a060020a0316600090815260046020908152604080832060b7845290915290205490565b60005460a060020a900460ff1681565b600054600160a060020a03163314612727576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615612777576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b80518251146127d2576040805160e560020a62461bcd0281526020600482015260316024820152600080516020612dea8339815191526044820152600080516020612e0a833981519152606482015290519081900360840190fd5b60005b82518110156110c85761281683828151811015156127ef57fe5b90602001906020020151838381518110151561280757fe5b90602001906020020151611aad565b6001016127d5565b600054600160a060020a0316331461286e576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff16156128be576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b611b5a8261044783612aea565b600082820183811015612928576040805160e560020a62461bcd02815260206004820152601160248201527f4164646974696f6e206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b9392505050565b600160a060020a038216600090815260046020908152604080832083805290915290205481811061298957600160a060020a03831660009081526004602090815260408083208380529091529020805483900390556110c8565b600160a060020a0383166000908152600460209081526040808320600184529091529020546129c09082840363ffffffff6128cb16565b600160a060020a0384166000908152600460209081526040808320600184528083528184209490945582805292905290812055505050565b600082821115612a52576040805160e560020a62461bcd02815260206004820152601560248201527f5375627472616374696f6e20756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b50900390565b600060015460001415612a6d57506000611254565b6000612a9762015180612a8b600154426129f890919063ffffffff16565b9063ffffffff612c8416565b600160a060020a038516600090815260046020908152604080832061ffff88168085529252909120549192508210612ad25791506112549050565b611c0261ffff8516612a8b838563ffffffff612cf316565b600160a060020a038316600090815260046020908152604080832061ffff8616845290915290205415612bb3576040805160e560020a62461bcd02815260206004820152604360248201527f53616c6573206861766520616c7265616479206265656e207265636f7264656460448201527f20666f722074686973206164647265737320616e642076657374696e6750657260648201527f696f640000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600354600090612bc9908363ffffffff6128cb16565b90506b01f04ef12cb04cf158000000811115612c2f576040805160e560020a62461bcd02815260206004820152601f60248201527f437265646974636f696e2073616c6573206c696d697420657863656564656400604482015290519081900360640190fd5b600160a060020a038416600081815260046020908152604080832061ffff881684528252808320869055600385905580518681529051600080516020612daa833981519152929181900390910190a350505050565b6000808211612cdd576040805160e560020a62461bcd02815260206004820152601060248201527f4469766973696f6e206279207a65726f00000000000000000000000000000000604482015290519081900360640190fd5b60008284811515612cea57fe5b04949350505050565b6000821515612d0457506000611254565b828202828482811515612d1357fe5b0414612928576040805160e560020a62461bcd02815260206004820152601760248201527f4d756c7469706c69636174696f6e206f766572666c6f77000000000000000000604482015290519081900360640190fdfe53616c65732068617665206265656e2066696e616c697a656400000000000000496e73756666696369656e742062616c616e6365000000000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef4f6e6c7920636f6e7472616374206f776e65722063616e20646f20746869732e546f6b656e20686f6c646572206c69737420616e642076616c756573206c697374206c656e677468206d69736d61746368000000000000000000000000000000a165627a7a723058205d98591ac63d39c6a5dc2cb49de230d01b347e07c24b2a22b1116e71c10931ba0029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000016d43e797d14d626a90060ac7cf9b451f77ec1e80000000000000000000000002c21b180014b5fb261a2253962a2ca9ebd33bf8e

Deployed Bytecode

0x6080604052600436106101e7577c0100000000000000000000000000000000000000000000000000000000600035046304dc0f9c8114610239578063057272b61461036d57806306fdde0314610394578063095ea7b31461041e5780630e2d1a2a1461046b57806318160ddd1461049e57806320b8f2f6146104b357806323a56849146104e657806323b872dd146105a0578063250944db146105e3578063313ce5671461061657806334ccc871146106415780633cb8e5271461077557806342966c68146107a857806348900c90146107d25780635d51ef3714610805578063699c3906146109395780636ee6347b1461097257806370815b10146109a557806370a08231146109d8578063768882df14610a0b57806379cc679014610a205780638f8ace5c14610a595780639374d7f614610a8c57806395d89b4114610abf5780639da9469114610ad4578063a9059cbb14610b0d578063aa37ca0214610b46578063afd90c2914610b5b578063d147957514610b8e578063d378d07714610ba3578063d5a2ffde14610bdc578063d6a5334a14610c15578063dd62ed3e14610c48578063deb36e3214610c83578063e7725f5b14610c98578063eaa142ba14610dcc578063ebf701ae14610dff578063f39d39a014610e14578063fda1bfc514610f48575b6040805160e560020a62461bcd02815260206004820152601960248201527f657468207472616e736665722069732064697361626c65642e00000000000000604482015290519081900360640190fd5b005b34801561024557600080fd5b506102376004803603604081101561025c57600080fd5b81019060208101813564010000000081111561027757600080fd5b82018360208201111561028957600080fd5b803590602001918460208302840111640100000000831117156102ab57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156102fb57600080fd5b82018360208201111561030d57600080fd5b8035906020019184602083028401116401000000008311171561032f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610f81945050505050565b34801561037957600080fd5b506103826110cd565b60408051918252519081900360200190f35b3480156103a057600080fd5b506103a96110d3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103e35781810151838201526020016103cb565b50505050905090810190601f1680156104105780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561042a57600080fd5b506104576004803603604081101561044157600080fd5b50600160a060020a03813516906020013561110a565b604080519115158252519081900360200190f35b34801561047757600080fd5b506103826004803603602081101561048e57600080fd5b5035600160a060020a031661125a565b3480156104aa57600080fd5b506103826112e1565b3480156104bf57600080fd5b50610382600480360360208110156104d657600080fd5b5035600160a060020a03166112e7565b3480156104f257600080fd5b506104576004803603604081101561050957600080fd5b8135919081019060408101602082013564010000000081111561052b57600080fd5b82018360208201111561053d57600080fd5b8035906020019184600183028401116401000000008311171561055f57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061130f945050505050565b3480156105ac57600080fd5b50610457600480360360608110156105c357600080fd5b50600160a060020a03813581169160208101359091169060400135611495565b3480156105ef57600080fd5b506103826004803603602081101561060657600080fd5b5035600160a060020a0316611703565b34801561062257600080fd5b5061062b611710565b6040805160ff9092168252519081900360200190f35b34801561064d57600080fd5b506102376004803603604081101561066457600080fd5b81019060208101813564010000000081111561067f57600080fd5b82018360208201111561069157600080fd5b803590602001918460208302840111640100000000831117156106b357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561070357600080fd5b82018360208201111561071557600080fd5b8035906020019184602083028401116401000000008311171561073757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611715945050505050565b34801561078157600080fd5b506103826004803603602081101561079857600080fd5b5035600160a060020a031661185c565b3480156107b457600080fd5b50610457600480360360208110156107cb57600080fd5b503561186a565b3480156107de57600080fd5b50610382600480360360208110156107f557600080fd5b5035600160a060020a031661193e565b34801561081157600080fd5b506102376004803603604081101561082857600080fd5b81019060208101813564010000000081111561084357600080fd5b82018360208201111561085557600080fd5b8035906020019184602083028401116401000000008311171561087757600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156108c757600080fd5b8201836020820111156108d957600080fd5b803590602001918460208302840111640100000000831117156108fb57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611966945050505050565b34801561094557600080fd5b506102376004803603604081101561095c57600080fd5b50600160a060020a038135169060200135611aad565b34801561097e57600080fd5b506103826004803603602081101561099557600080fd5b5035600160a060020a0316611b5e565b3480156109b157600080fd5b50610382600480360360208110156109c857600080fd5b5035600160a060020a0316611b6c565b3480156109e457600080fd5b50610382600480360360208110156109fb57600080fd5b5035600160a060020a0316611bac565b348015610a1757600080fd5b50610237611c0b565b348015610a2c57600080fd5b5061045760048036036040811015610a4357600080fd5b50600160a060020a038135169060200135611dd1565b348015610a6557600080fd5b5061038260048036036020811015610a7c57600080fd5b5035600160a060020a0316611f8b565b348015610a9857600080fd5b5061038260048036036020811015610aaf57600080fd5b5035600160a060020a0316611f99565b348015610acb57600080fd5b506103a9611fc1565b348015610ae057600080fd5b5061023760048036036040811015610af757600080fd5b50600160a060020a038135169060200135611ff8565b348015610b1957600080fd5b5061045760048036036040811015610b3057600080fd5b50600160a060020a0381351690602001356120a4565b348015610b5257600080fd5b50610382612247565b348015610b6757600080fd5b5061038260048036036020811015610b7e57600080fd5b5035600160a060020a0316612257565b348015610b9a57600080fd5b50610382612265565b348015610baf57600080fd5b5061023760048036036040811015610bc657600080fd5b50600160a060020a038135169060200135612275565b348015610be857600080fd5b5061023760048036036040811015610bff57600080fd5b50600160a060020a038135169060200135612322565b348015610c2157600080fd5b5061038260048036036020811015610c3857600080fd5b5035600160a060020a03166123cf565b348015610c5457600080fd5b5061038260048036036040811015610c6b57600080fd5b50600160a060020a03813581169160200135166123f7565b348015610c8f57600080fd5b50610237612422565b348015610ca457600080fd5b5061023760048036036040811015610cbb57600080fd5b810190602081018135640100000000811115610cd657600080fd5b820183602082011115610ce857600080fd5b80359060200191846020830284011164010000000083111715610d0a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050640100000000811115610d5a57600080fd5b820183602082011115610d6c57600080fd5b80359060200191846020830284011164010000000083111715610d8e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612559945050505050565b348015610dd857600080fd5b5061038260048036036020811015610def57600080fd5b5035600160a060020a03166126a0565b348015610e0b57600080fd5b506104576126c7565b348015610e2057600080fd5b5061023760048036036040811015610e3757600080fd5b810190602081018135640100000000811115610e5257600080fd5b820183602082011115610e6457600080fd5b80359060200191846020830284011164010000000083111715610e8657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050640100000000811115610ed657600080fd5b820183602082011115610ee857600080fd5b80359060200191846020830284011164010000000083111715610f0a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506126d7945050505050565b348015610f5457600080fd5b5061023760048036036040811015610f6b57600080fd5b50600160a060020a03813516906020013561281e565b600054600160a060020a03163314610fd1576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615611021576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b805182511461107c576040805160e560020a62461bcd0281526020600482015260316024820152600080516020612dea8339815191526044820152600080516020612e0a833981519152606482015290519081900360840190fd5b60005b82518110156110c8576110c0838281518110151561109957fe5b9060200190602002015183838151811015156110b157fe5b90602001906020020151612322565b60010161107f565b505050565b60015481565b60408051808201909152601e81527f476c75776120437265646974636f696e2056657374696e6720546f6b656e0000602082015281565b6000600160a060020a038316151561116c576040805160e560020a62461bcd02815260206004820152601760248201527f496e76616c6964207370656e6465722061646472657373000000000000000000604482015290519081900360640190fd5b600160a060020a0383163314156111f2576040805160e560020a62461bcd028152602060048201526024808201527f43616e277420617070726f766520616c6c6f77616e636520666f7220796f757260448201527f73656c6600000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000818152600560209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60006001546000141561126f575060006112dc565b600061127a83611703565b905060006112878461185c565b9050600061129485611b5e565b905060006112a186612257565b905060006112ae87611f8b565b90506112d4816112c8848187818b8b63ffffffff6128cb16565b9063ffffffff6128cb16565b955050505050505b919050565b60035490565b600160a060020a0316600090815260046020908152604080832061016d845290915290205490565b60008261131b33611bac565b101561135f576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612d8a833981519152604482015290519081900360640190fd5b8151603c146113b8576040805160e560020a62461bcd02815260206004820152601660248201527f496e76616c69642073696768617368206c656e67746800000000000000000000604482015290519081900360640190fd5b6113c2338461292f565b6003546113d5908463ffffffff6129f816565b6003556040518251839190819060208401908083835b6020831061140a5780518252601f1990920191602091820191016113eb565b51815160209384036101000a60001901801990921691161790526040805192909401829003822089835293519395503394507f1ed7bbccd2ed756e55a14e1873ce4f295f67cb73ade758a84e3b5a91e556e8699391829003019150a36040805184815290516000913391600080516020612daa8339815191529181900360200190a350600192915050565b6000600160a060020a03841615156114f7576040805160e560020a62461bcd02815260206004820152601460248201527f496e76616c69642066726f6d2061646472657373000000000000000000000000604482015290519081900360640190fd5b600160a060020a0383161515611557576040805160e560020a62461bcd02815260206004820152601960248201527f496e76616c696420726563697069656e74206164647265737300000000000000604482015290519081900360640190fd5b8161156185611bac565b10156115a5576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612d8a833981519152604482015290519081900360640190fd5b600160a060020a0384166000908152600560209081526040808320338452909152902054821115611620576040805160e560020a62461bcd02815260206004820152601260248201527f416c6c6f77616e63652065786365656465640000000000000000000000000000604482015290519081900360640190fd5b61162a848361292f565b600160a060020a038316600090815260046020908152604080832083805290915290205461165e908363ffffffff6128cb16565b600160a060020a03808516600090815260046020908152604080832083805282528083209490945591871681526005825282812033825290915220546116aa908363ffffffff6129f816565b600160a060020a0380861660008181526005602090815260408083203384528252918290209490945580518681529051928716939192600080516020612daa833981519152929181900390910190a35060019392505050565b60006112548260b7612a58565b601281565b600054600160a060020a03163314611765576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff16156117b5576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b8051825114611810576040805160e560020a62461bcd0281526020600482015260316024820152600080516020612dea8339815191526044820152600080516020612e0a833981519152606482015290519081900360840190fd5b60005b82518110156110c857611854838281518110151561182d57fe5b90602001906020020151838381518110151561184557fe5b9060200190602002015161281e565b600101611813565b60006112548261016d612a58565b60008161187633611bac565b10156118ba576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612d8a833981519152604482015290519081900360640190fd5b6118c4338361292f565b6003546118d7908363ffffffff6129f816565b60035560408051838152905133917f919f7e2092ffcc9d09f599be18d8152860b0c054df788a33bc549cdd9d0f15b1919081900360200190a26040805183815290516000913391600080516020612daa8339815191529181900360200190a3506001919050565b600160a060020a0316600090815260046020908152604080832061088e845290915290205490565b600054600160a060020a031633146119b6576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615611a06576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b8051825114611a61576040805160e560020a62461bcd0281526020600482015260316024820152600080516020612dea8339815191526044820152600080516020612e0a833981519152606482015290519081900360840190fd5b60005b82518110156110c857611aa58382815181101515611a7e57fe5b906020019060200201518383815181101515611a9657fe5b90602001906020020151611ff8565b600101611a64565b600054600160a060020a03163314611afd576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615611b4d576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b611b5a8261016d83612aea565b5050565b6000611254826102da612a58565b600080611b78836126a0565b90506000611b85846112e7565b90506000611b9285611f99565b90506000611b9f866123cf565b905060006112ae8761193e565b600080611bb88361125a565b600160a060020a0384166000908152600460209081526040808320838052909152808220546001835291205491925090611c0281611bf685856128cb565b9063ffffffff6129f816565b95945050505050565b600054600160a060020a03163314611c5b576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615611ce3576040805160e560020a62461bcd02815260206004820152602160248201527f53616c6573206861766520616c7265616479206265656e2066696e616c697a6560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600354600090611d00906b01f04ef12cb04cf158000000906129f8565b600254600160a060020a0316600090815260046020908152604080832061088e8452909152902054909150611d3b908263ffffffff6128cb16565b600254600160a060020a0316600090815260046020908152604080832061088e8452909152902055600a6b1363156bbee3016d7000000004600355600254604080518381529051600160a060020a0390921691600091600080516020612daa833981519152919081900360200190a3506000805474ff0000000000000000000000000000000000000000191660a060020a179055565b600081611ddd84611bac565b1015611e21576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612d8a833981519152604482015290519081900360640190fd5b600160a060020a0383166000908152600560209081526040808320338452909152902054821115611e9c576040805160e560020a62461bcd02815260206004820152601260248201527f416c6c6f77616e63652065786365656465640000000000000000000000000000604482015290519081900360640190fd5b611ea6838361292f565b600160a060020a0383166000908152600560209081526040808320338452909152902054611eda908363ffffffff6129f816565b600160a060020a0384166000908152600560209081526040808320338452909152902055600354611f11908363ffffffff6129f816565b600355604080518381529051600160a060020a038516917f919f7e2092ffcc9d09f599be18d8152860b0c054df788a33bc549cdd9d0f15b1919081900360200190a2604080518381529051600091600160a060020a03861691600080516020612daa8339815191529181900360200190a350600192915050565b60006112548261088e612a58565b600160a060020a031660009081526004602090815260408083206102da845290915290205490565b60408051808201909152600581527f472d435245000000000000000000000000000000000000000000000000000000602082015281565b600054600160a060020a03163314612048576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615612098576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b611b5a8260b783612aea565b6000600160a060020a0383161515612106576040805160e560020a62461bcd02815260206004820152601260248201527f496e76616c696420746f20616464726573730000000000000000000000000000604482015290519081900360640190fd5b600160a060020a038316331415612167576040805160e560020a62461bcd02815260206004820152601660248201527f43616e2774207472616e7366657220746f2073656c6600000000000000000000604482015290519081900360640190fd5b8161217133611bac565b10156121b5576040805160e560020a62461bcd0281526020600482015260146024820152600080516020612d8a833981519152604482015290519081900360640190fd5b6121bf338361292f565b600160a060020a03831660009081526004602090815260408083208380529091529020546121f3908363ffffffff6128cb16565b600160a060020a0384166000818152600460209081526040808320838052825291829020939093558051858152905191923392600080516020612daa8339815191529281900390910190a350600192915050565b6b01f04ef12cb04cf15800000081565b600061125482610447612a58565b6b06765c793fa10079d000000081565b600054600160a060020a031633146122c5576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615612315576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b611b5a8261088e83612aea565b600054600160a060020a03163314612372576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff16156123c2576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b611b5a826102da83612aea565b600160a060020a03166000908152600460209081526040808320610447845290915290205490565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600054600160a060020a03163314612472576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615156124fb576040805160e560020a62461bcd02815260206004820152602d60248201527f53616c6573206d7573742062652066696e616c697a6564206265666f7265207660448201527f657374696e672073746172742e00000000000000000000000000000000000000606482015290519081900360840190fd5b60015415612553576040805160e560020a62461bcd02815260206004820152601c60248201527f56657374696e67202068617320616c7265616479207374617274656400000000604482015290519081900360640190fd5b42600155565b600054600160a060020a031633146125a9576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff16156125f9576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b8051825114612654576040805160e560020a62461bcd0281526020600482015260316024820152600080516020612dea8339815191526044820152600080516020612e0a833981519152606482015290519081900360840190fd5b60005b82518110156110c857612698838281518110151561267157fe5b90602001906020020151838381518110151561268957fe5b90602001906020020151612275565b600101612657565b600160a060020a0316600090815260046020908152604080832060b7845290915290205490565b60005460a060020a900460ff1681565b600054600160a060020a03163314612727576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff1615612777576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b80518251146127d2576040805160e560020a62461bcd0281526020600482015260316024820152600080516020612dea8339815191526044820152600080516020612e0a833981519152606482015290519081900360840190fd5b60005b82518110156110c85761281683828151811015156127ef57fe5b90602001906020020151838381518110151561280757fe5b90602001906020020151611aad565b6001016127d5565b600054600160a060020a0316331461286e576040805160e560020a62461bcd0281526020600482018190526024820152600080516020612dca833981519152604482015290519081900360640190fd5b60005460a060020a900460ff16156128be576040805160e560020a62461bcd0281526020600482015260196024820152600080516020612d6a833981519152604482015290519081900360640190fd5b611b5a8261044783612aea565b600082820183811015612928576040805160e560020a62461bcd02815260206004820152601160248201527f4164646974696f6e206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b9392505050565b600160a060020a038216600090815260046020908152604080832083805290915290205481811061298957600160a060020a03831660009081526004602090815260408083208380529091529020805483900390556110c8565b600160a060020a0383166000908152600460209081526040808320600184529091529020546129c09082840363ffffffff6128cb16565b600160a060020a0384166000908152600460209081526040808320600184528083528184209490945582805292905290812055505050565b600082821115612a52576040805160e560020a62461bcd02815260206004820152601560248201527f5375627472616374696f6e20756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b50900390565b600060015460001415612a6d57506000611254565b6000612a9762015180612a8b600154426129f890919063ffffffff16565b9063ffffffff612c8416565b600160a060020a038516600090815260046020908152604080832061ffff88168085529252909120549192508210612ad25791506112549050565b611c0261ffff8516612a8b838563ffffffff612cf316565b600160a060020a038316600090815260046020908152604080832061ffff8616845290915290205415612bb3576040805160e560020a62461bcd02815260206004820152604360248201527f53616c6573206861766520616c7265616479206265656e207265636f7264656460448201527f20666f722074686973206164647265737320616e642076657374696e6750657260648201527f696f640000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600354600090612bc9908363ffffffff6128cb16565b90506b01f04ef12cb04cf158000000811115612c2f576040805160e560020a62461bcd02815260206004820152601f60248201527f437265646974636f696e2073616c6573206c696d697420657863656564656400604482015290519081900360640190fd5b600160a060020a038416600081815260046020908152604080832061ffff881684528252808320869055600385905580518681529051600080516020612daa833981519152929181900390910190a350505050565b6000808211612cdd576040805160e560020a62461bcd02815260206004820152601060248201527f4469766973696f6e206279207a65726f00000000000000000000000000000000604482015290519081900360640190fd5b60008284811515612cea57fe5b04949350505050565b6000821515612d0457506000611254565b828202828482811515612d1357fe5b0414612928576040805160e560020a62461bcd02815260206004820152601760248201527f4d756c7469706c69636174696f6e206f766572666c6f77000000000000000000604482015290519081900360640190fdfe53616c65732068617665206265656e2066696e616c697a656400000000000000496e73756666696369656e742062616c616e6365000000000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef4f6e6c7920636f6e7472616374206f776e65722063616e20646f20746869732e546f6b656e20686f6c646572206c69737420616e642076616c756573206c697374206c656e677468206d69736d61746368000000000000000000000000000000a165627a7a723058205d98591ac63d39c6a5dc2cb49de230d01b347e07c24b2a22b1116e71c10931ba0029

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

00000000000000000000000016d43e797d14d626a90060ac7cf9b451f77ec1e80000000000000000000000002c21b180014b5fb261a2253962a2ca9ebd33bf8e

-----Decoded View---------------
Arg [0] : creditcoinFoundation (address): 0x16D43E797D14D626a90060Ac7Cf9B451F77eC1E8
Arg [1] : devCost (address): 0x2c21B180014B5Fb261a2253962a2CA9ebd33bF8e

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000016d43e797d14d626a90060ac7cf9b451f77ec1e8
Arg [1] : 0000000000000000000000002c21b180014b5fb261a2253962a2ca9ebd33bf8e


Swarm Source

bzzr://5d98591ac63d39c6a5dc2cb49de230d01b347e07c24b2a22b1116e71c10931ba

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Gluwa Creditcoin Vesting Token (G-CRE) is an ERC-20 representation of Creditcoin (CTC). Creditcoin is the native token of the Creditcoin network, a blockchain that provides a cryptocurrency credit investment market.

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.