ETH Price: $1,988.24 (-1.21%)
 

More Info

Private Name Tags

TokenTracker

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Transfer245663022026-03-02 0:51:5920 mins ago1772412719IN
Gluwa Creditcoin Vesting Token
0 ETH0.000004340.06421855
Transfer245663022026-03-02 0:51:5920 mins ago1772412719IN
Gluwa Creditcoin Vesting Token
0 ETH0.00016923.05054949
Transfer245663002026-03-02 0:51:3521 mins ago1772412695IN
Gluwa Creditcoin Vesting Token
0 ETH0.000050661
Transfer245662452026-03-02 0:40:3532 mins ago1772412035IN
Gluwa Creditcoin Vesting Token
0 ETH0.000075071.03449583
Transfer245660732026-03-02 0:06:111 hr ago1772409971IN
Gluwa Creditcoin Vesting Token
0 ETH0.000124022.23594715
Transfer245660402026-03-01 23:59:231 hr ago1772409563IN
Gluwa Creditcoin Vesting Token
0 ETH0.00016192.23103943
Transfer245655752026-03-01 22:26:232 hrs ago1772403983IN
Gluwa Creditcoin Vesting Token
0 ETH0.00000540.0974459
Transfer245650532026-03-01 20:41:594 hrs ago1772397719IN
Gluwa Creditcoin Vesting Token
0 ETH0.00011822.13112404
Approve245648292026-03-01 19:56:595 hrs ago1772395019IN
Gluwa Creditcoin Vesting Token
0 ETH0.000006750.1454549
Transfer245646282026-03-01 19:16:475 hrs ago1772392607IN
Gluwa Creditcoin Vesting Token
0 ETH0.000058121.04791971
Approve245642352026-03-01 17:58:117 hrs ago1772387891IN
Gluwa Creditcoin Vesting Token
0 ETH0.000004030.08635394
Transfer245639112026-03-01 16:53:238 hrs ago1772384003IN
Gluwa Creditcoin Vesting Token
0 ETH0.000112992.03713536
Transfer245634432026-03-01 15:19:239 hrs ago1772378363IN
Gluwa Creditcoin Vesting Token
0 ETH0.000004720.06515635
Transfer245632392026-03-01 14:38:1110 hrs ago1772375891IN
Gluwa Creditcoin Vesting Token
0 ETH0.000061731.11314743
Transfer245630872026-03-01 14:07:3511 hrs ago1772374055IN
Gluwa Creditcoin Vesting Token
0 ETH0.000050681
Transfer245630142026-03-01 13:52:4711 hrs ago1772373167IN
Gluwa Creditcoin Vesting Token
0 ETH0.000058821.06060951
Transfer245628662026-03-01 13:23:1111 hrs ago1772371391IN
Gluwa Creditcoin Vesting Token
0 ETH0.000005340.07887027
Transfer245628642026-03-01 13:22:4711 hrs ago1772371367IN
Gluwa Creditcoin Vesting Token
0 ETH0.000079331.56587027
Transfer245628112026-03-01 13:12:1112 hrs ago1772370731IN
Gluwa Creditcoin Vesting Token
0 ETH0.000114262.0600489
Transfer245627852026-03-01 13:06:5912 hrs ago1772370419IN
Gluwa Creditcoin Vesting Token
0 ETH0.00022153.05243713
Transfer245627812026-03-01 13:06:1112 hrs ago1772370371IN
Gluwa Creditcoin Vesting Token
0 ETH0.000050651
Transfer245627222026-03-01 12:54:1112 hrs ago1772369651IN
Gluwa Creditcoin Vesting Token
0 ETH0.000076421.05318838
Transfer245627162026-03-01 12:52:5912 hrs ago1772369579IN
Gluwa Creditcoin Vesting Token
0 ETH0.000010050.14834877
Transfer245627132026-03-01 12:52:2312 hrs ago1772369543IN
Gluwa Creditcoin Vesting Token
0 ETH0.000163952.25974405
Transfer245621932026-03-01 11:08:1114 hrs ago1772363291IN
Gluwa Creditcoin Vesting Token
0 ETH0.000050651
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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
/**
 *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

API
[{"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 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.

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.