Contract 0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b3

 

TxHash Block Age From To Value [TxFee]
0xbffa5b2b0357014de20a6c15349f80c8d9f75d6d4da418f43591882a4810fde55159013360 days 14 hrs ago0x354cf7f45154c3998b366c25c99b299f00961aaa IN  0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b30.5 Ether0.000861
0x0db547545592e3c33dd5312985cb01a494f7fdc9a6055a4add51996ca7823a885158612360 days 16 hrs ago0x215fedd5780c39fbdadb4bc3700de61a8ffdd74a IN  0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b30.1 Ether0.000147722
0x9d63ab4e3fba29ccf3e57e3507fd2c2791e5b20113da4d79df2c4e74e1cfa4ee5120079367 days 6 hrs ago0xec6d36a487d85cf562b7b8464ce8dc60637362ac IN  0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b30.1 Ether0.00044343
0x521797ebe1b84825082571a6684d5fb7f85d63c681729f034416d85d3fb69a495118019367 days 15 hrs ago0xc9c5495897fbbc09cbedb798d3aa7beb47e3a9e5 IN  0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b31 Ether0.001699539
0xff3ca022ab058b48635850d7e3fc496a4c6dd5af6fcb324a5bbc7a3fbe5975035116088367 days 22 hrs ago0x6c30328459b6120a4afa5e4e00c4bd3b296e033d IN  0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b30.12 Ether0.001237005
0x8fd61d7e5a36829035c0347f17493cea6bfa6ef3577881738c5cca1b668fa0705115901367 days 23 hrs ago0x6c30328459b6120a4afa5e4e00c4bd3b296e033d IN  0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b30.11 Ether0.002392005
0x59000a5710e276de5f2922b314908ead7e19237df5ac9b91a604f07ad89e7c8d5115864367 days 23 hrs ago0x2a6eb9c1e6aab17c141b36c1ea3ee5855f6296dd IN  Contract Creation0 Ether0.03953986
[ Download CSV Export 

Latest 6 Internal Transactions Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0x0db547545592e3c33dd5312985cb01a494f7fdc9a6055a4add51996ca7823a885158612360 days 16 hrs ago0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b30xe77e35a07794761277870521c80d1ca2573832920.1 Ether
0x9d63ab4e3fba29ccf3e57e3507fd2c2791e5b20113da4d79df2c4e74e1cfa4ee5120079367 days 6 hrs ago0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b30xe77e35a07794761277870521c80d1ca2573832920.1 Ether
0x521797ebe1b84825082571a6684d5fb7f85d63c681729f034416d85d3fb69a495118019367 days 15 hrs ago0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b30xe77e35a07794761277870521c80d1ca2573832921 Ether
0xff3ca022ab058b48635850d7e3fc496a4c6dd5af6fcb324a5bbc7a3fbe5975035116088367 days 22 hrs ago0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b30xe77e35a07794761277870521c80d1ca2573832920.12 Ether
0x8fd61d7e5a36829035c0347f17493cea6bfa6ef3577881738c5cca1b668fa0705115901367 days 23 hrs ago0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b30xe77e35a07794761277870521c80d1ca2573832920.11 Ether
0x59000a5710e276de5f2922b314908ead7e19237df5ac9b91a604f07ad89e7c8d5115864367 days 23 hrs ago0x71b814e3f3cb4f75f1d55dcd535e77550fcfc5b3  Contract Creation0 Ether
[ Download CSV Export 
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: PapereumCrowdsale
Compiler Version: v0.4.20+commit.3155dd80
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity 0.4.20;

contract PapereumTokenBridge {
    function makeNonFungible(uint256 amount, address owner) public;
    function token() public returns (PapereumToken);
}


contract PapereumToken {

    string public name = "Papereum";
    string public symbol = "PPRM";
    uint256 public decimals = 0; // Papereum tokens are not divisible
    uint256 public totalSupply = 100000; // Only 100 000 Non-divisable pieces of Art

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    bool public isTradable = false;

    address public owner = address(0);
    PapereumTokenBridge public bridge;

    function PapereumToken() public {
        owner = msg.sender;
        balanceOf[owner] = totalSupply;
        Transfer(address(0), owner, totalSupply);
    }

    function setBridge(address _bridge) public {
        require(msg.sender == owner);
        require(isTradable);
        require(_bridge != address(0));
        require(bridge == address(0));
        bridge = PapereumTokenBridge(_bridge);
        require(bridge.token() == this);
    }

    function transfer(address _to, uint256 _value) public returns (bool success) {
        require(isTradable || msg.sender == owner);
        require(_to != address(0));
        require(balanceOf[msg.sender] >= _value);
        require(balanceOf[_to] + _value >= balanceOf[_to]);
        balanceOf[msg.sender] -= _value;
        balanceOf[_to] += _value;
        if (_to == address(bridge)) {
            bridge.makeNonFungible(_value, msg.sender);
        }
        Transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(isTradable);
        require(_to != address(0));
        require(balanceOf[_from] >= _value);
        require(balanceOf[_to] + _value >= balanceOf[_to]);
        require(allowance[_from][msg.sender] >= _value);
        balanceOf[_from] -= _value;
        balanceOf[_to] += _value;
        allowance[_from][msg.sender] -= _value;
        if (_to == address(bridge)) {
            bridge.makeNonFungible(_value, msg.sender); // Caller takes ownership of trackable tokens
        }
        Transfer(_from, _to, _value);
        return true;
    }

    function approve(address _spender, uint256 _value) public returns (bool) {
        allowance[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
        require(allowance[msg.sender][_spender] + _addedValue >= allowance[msg.sender][_spender]);
        allowance[msg.sender][_spender] = allowance[msg.sender][_spender] + _addedValue;
        Approval(msg.sender, _spender, allowance[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
        uint oldValue = allowance[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowance[msg.sender][_spender] = 0;
        } else {
            allowance[msg.sender][_spender] = oldValue - _subtractedValue;
        }
        Approval(msg.sender, _spender, allowance[msg.sender][_spender]);
        return true;
    }

    function burn(address newOwner) public returns (bool success) {
        require(msg.sender == owner);
        require(!isTradable);
        require(newOwner != address(0));
        uint256 value = balanceOf[owner];
        balanceOf[owner] = 0;
        totalSupply -= value;
        isTradable = true;
        Transfer(owner, address(0), value);
        owner = newOwner;
        return true;
    }

    function transferOwnership(address newOwner) public {
        require(msg.sender == owner);
        require(newOwner != address(0));
        owner = newOwner;
    }

}


contract PapereumCrowdsale {
    // Wallet where all ether will be
    address public constant WALLET = 0xE77E35a07794761277870521C80d1cA257383292;
    // Wallet for team tokens
    address public constant TEAM_WALLET = 0x5C31f06b4AAC5D5c84Fd7735971B951d7E5104A0;
    // Wallet for media support tokens
    address public constant MEDIA_SUPPORT_WALLET = 0x8E6618e41879d8BE1F7a0E658294E8A1359e4383;

    uint256 public constant ICO_TOKENS = 93000;
    uint32 public constant ICO_TOKENS_PERCENT = 93;
    uint32 public constant TEAM_TOKENS_PERCENT = 2;
    uint32 public constant MEDIA_SUPPORT_PERCENT = 5;
    uint256 public constant START_TIME = 1518998400; // 2018/02/19 00:00 UTC +0
    uint256 public constant END_TIME = 1525046400; // 2018/04/30 00:00 UTC +0
    uint256 public constant RATE = 1e16; // 100 tokens costs 1 ether

    // The token being sold
    PapereumToken public token;
    // amount of raised money in wei
    uint256 public weiRaised;
    bool public isFinalized = false;
    address private tokenMinter;
    address public owner;
    uint256 private icoBalance = ICO_TOKENS;

    event Progress(uint256 tokensSold, uint256 weiRaised);

    event Finalized();
    /**
    * When there no tokens left to mint and token minter tries to manually mint tokens
    * this event is raised to signal how many tokens we have to charge back to purchaser
    */
    event ManualTokenMintRequiresRefund(address indexed purchaser, uint256 value);

    function PapereumCrowdsale() public {
        token = new PapereumToken();
        owner = msg.sender;
        tokenMinter = msg.sender;
    }

    // fallback function can be used to buy tokens or claim refund
    function () external payable {
        buyTokens(msg.sender);
    }

    function assignTokens(address[] _receivers, uint256[] _amounts) external {
        require(msg.sender == tokenMinter || msg.sender == owner);
        require(_receivers.length > 0 && _receivers.length <= 100);
        require(_receivers.length == _amounts.length);
        require(!isFinalized);
        for (uint256 i = 0; i < _receivers.length; i++) {
            address receiver = _receivers[i];
            uint256 amount = _amounts[i];

            require(receiver != address(0));
            require(amount > 0);

            uint256 excess = appendContribution(receiver, amount);

            if (excess > 0) {
                ManualTokenMintRequiresRefund(receiver, excess);
            }
        }
        Progress(ICO_TOKENS - icoBalance, weiRaised);
    }

    function buyTokens(address beneficiary) private {
        require(beneficiary != address(0));
        require(validPurchase());

        uint256 weiReceived = msg.value;

        uint256 tokens;
        uint256 refund;
        (tokens, refund) = calculateTokens(weiReceived);

        uint256 excess = appendContribution(beneficiary, tokens);
        refund += (excess > 0 ? ((excess * weiReceived) / tokens) : 0);

        tokens -= excess;
        weiReceived -= refund;
        weiRaised += weiReceived;

        if (refund > 0) {
            msg.sender.transfer(refund);
        }

        WALLET.transfer(weiReceived);
        Progress(ICO_TOKENS - icoBalance, weiRaised);
    }

    /**
    * @dev Must be called after crowdsale ends, to do some extra finalization
    * work. Calls the contract's finalization function.
    */
    function finalize() public {
        require(msg.sender == owner);
        require(!isFinalized);
        require(getNow() > END_TIME || icoBalance == 0);
        isFinalized = true;

        uint256 totalSoldTokens = ICO_TOKENS - icoBalance;

        uint256 teamTokens = (TEAM_TOKENS_PERCENT * totalSoldTokens) / ICO_TOKENS_PERCENT;
        token.transfer(TEAM_WALLET, teamTokens);
        uint256 mediaTokens = (MEDIA_SUPPORT_PERCENT * totalSoldTokens) / ICO_TOKENS_PERCENT;
        token.transfer(MEDIA_SUPPORT_WALLET, mediaTokens);

        token.burn(owner);

        Finalized();
    }

    function setTokenMinter(address _tokenMinter) public {
        require(msg.sender == owner);
        require(_tokenMinter != address(0));
        tokenMinter = _tokenMinter;
    }

    function getNow() internal view returns (uint256) {
        return now;
    }

    function calculateTokens(uint256 _weiAmount) internal view returns (uint256 tokens, uint256 refundWei) {
        tokens = _weiAmount / RATE;
        refundWei = _weiAmount - (tokens * RATE);
        uint256 now_ = getNow();
        uint256 bonus = 0;

        if (now_ < 1519603200) { // 26-02-2018
            if (tokens >= 2000) bonus = 30;
            else if (tokens >= 500) bonus = 25;
            else if (tokens >= 50) bonus = 20;
            else if (tokens >= 10) bonus = 10;
        } else if (now_ < 1521417600) { // 19-03-2018
            if (tokens >= 10) bonus = 7;
        } else if (now_ < 1522627200) { // 02-04-2018
            if (tokens >= 10) bonus = 5;
        } else if (now_ < 1523232000) { // 09-04-2018
            if (tokens >= 10) bonus = 3;
        }

        tokens += (tokens * bonus) / 100; // with totalSupply <= 100000 and decimals=0 no need in SafeMath
    }

    function appendContribution(address _beneficiary, uint256 _tokens) internal returns (uint256 excess) {
        excess = 0;
        require(_tokens >= 10);
        if (_tokens > icoBalance) {
            excess = icoBalance - _tokens;
            _tokens = icoBalance;
        }
        if (_tokens > 0) {
            icoBalance -= _tokens;
            token.transfer(_beneficiary, _tokens);
        }
    }

    // @return true if the transaction can buy tokens
    function validPurchase() internal view returns (bool) {
        bool withinPeriod = getNow() >= START_TIME && getNow() <= END_TIME;
        bool nonZeroPurchase = msg.value != 0;
        bool canTransfer = icoBalance > 0;
        return withinPeriod && nonZeroPurchase && canTransfer;
    }

    function transferOwnership(address newOwner) public {
        require(msg.sender == owner);
        require(newOwner != address(0));
        owner = newOwner;
    }
}

Contract ABI
[{"constant":true,"inputs":[],"name":"MEDIA_SUPPORT_PERCENT","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receivers","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"assignTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TEAM_WALLET","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"END_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MEDIA_SUPPORT_WALLET","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WALLET","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenMinter","type":"address"}],"name":"setTokenMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ICO_TOKENS_PERCENT","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ICO_TOKENS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TEAM_TOKENS_PERCENT","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"START_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokensSold","type":"uint256"},{"indexed":false,"name":"weiRaised","type":"uint256"}],"name":"Progress","type":"event"},{"anonymous":false,"inputs":[],"name":"Finalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"ManualTokenMintRequiresRefund","type":"event"}]

Contract Creation Code
60606040526002805460ff1916905562016b48600455341561002057600080fd5b61002861008d565b604051809103906000f080151561003e57600080fd5b60008054600160a060020a0319908116600160a060020a0393841617909155600380549091163390921691821790556002805461010060a860020a03191661010090920291909117905561009d565b604051610ea280610c3083390190565b610b84806100ac6000396000f3006060604052600436106100e25763ffffffff60e060020a600035041663063ec2f081146100ed57806315830662146101195780632b905bf61461014357806337ba682d146101725780634042b66f146101975780634bb278f3146101aa5780634dc5fa4e146101bd578063664e9704146101d05780636d9cdbc6146101e357806378533e90146101f65780638d4e4083146102155780638d60be981461023c5780638da5cb5b1461024f578063b6062b5b14610262578063d48e6a1b14610275578063ddaa26ad14610288578063f2fde38b1461029b578063fc0c546a146102ba575b6100eb336102cd565b005b34156100f857600080fd5b61010061040e565b60405163ffffffff909116815260200160405180910390f35b341561012457600080fd5b6100eb6024600480358281019290820135918135918201910135610413565b341561014e57600080fd5b6101566105b0565b604051600160a060020a03909116815260200160405180910390f35b341561017d57600080fd5b6101856105c8565b60405190815260200160405180910390f35b34156101a257600080fd5b6101856105d0565b34156101b557600080fd5b6100eb6105d6565b34156101c857600080fd5b610156610834565b34156101db57600080fd5b61018561084c565b34156101ee57600080fd5b610156610857565b341561020157600080fd5b6100eb600160a060020a036004351661086f565b341561022057600080fd5b6102286108d4565b604051901515815260200160405180910390f35b341561024757600080fd5b6101006108dd565b341561025a57600080fd5b6101566108e2565b341561026d57600080fd5b6101856108f1565b341561028057600080fd5b6101006108f8565b341561029357600080fd5b6101856108fd565b34156102a657600080fd5b6100eb600160a060020a0360043516610905565b34156102c557600080fd5b610156610964565b6000808080600160a060020a03851615156102e757600080fd5b6102ef610973565b15156102fa57600080fd5b349350610306846109cb565b90935091506103158584610a9c565b905060008111610326576000610335565b8284820281151561033357fe5b045b60018054939091019485900392830190559092918190039190600082111561038857600160a060020a03331682156108fc0283604051600060405180830381858888f19350505050151561038857600080fd5b73e77e35a07794761277870521c80d1ca25738329284156108fc0285604051600060405180830381858888f1935050505015156103c457600080fd5b7f5a963beab27d621d78952cbe963b9537be394b32ce60331e11862056065243f160045462016b480360015460405191825260208201526040908101905180910390a15050505050565b600581565b600080600080600260019054906101000a9004600160a060020a0316600160a060020a031633600160a060020a0316148061045c575060035433600160a060020a039081169116145b151561046757600080fd5b600087118015610478575060648711155b151561048357600080fd5b86851461048f57600080fd5b60025460ff161561049f57600080fd5b600093505b86841015610563578787858181106104b857fe5b90506020020135600160a060020a0316925085858581811015156104d857fe5b6020029190910135925050600160a060020a03831615156104f857600080fd5b6000821161050557600080fd5b61050f8383610a9c565b905060008111156105585782600160a060020a03167fc549e7a0e587e053b9e5a7eca60f3a352f16d8552eeafce4367dfceb59f273488260405190815260200160405180910390a25b6001909301926104a4565b7f5a963beab27d621d78952cbe963b9537be394b32ce60331e11862056065243f160045462016b480360015460405191825260208201526040908101905180910390a15050505050505050565b735c31f06b4aac5d5c84fd7735971b951d7e5104a081565b635ae65c8081565b60015481565b6003546000908190819033600160a060020a039081169116146105f857600080fd5b60025460ff161561060857600080fd5b635ae65c80610615610b54565b11806106215750600454155b151561062c57600080fd5b6002805460ff1916600117815560045462016b48039350605d9084020491506000809054906101000a9004600160a060020a0316600160a060020a031663a9059cbb735c31f06b4aac5d5c84fd7735971b951d7e5104a08460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156106d057600080fd5b6102c65a03f115156106e157600080fd5b5050506040518051505060008054605d60058602049250600160a060020a03169063a9059cbb90738e6618e41879d8be1f7a0e658294e8a1359e43839084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561076a57600080fd5b6102c65a03f1151561077b57600080fd5b5050506040518051505060008054600354600160a060020a03918216926389afcb4492909116906040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156107e757600080fd5b6102c65a03f115156107f857600080fd5b50505060405180519050507f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a1505050565b738e6618e41879d8be1f7a0e658294e8a1359e438381565b662386f26fc1000081565b73e77e35a07794761277870521c80d1ca25738329281565b60035433600160a060020a0390811691161461088a57600080fd5b600160a060020a038116151561089f57600080fd5b60028054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b60025460ff1681565b605d81565b600354600160a060020a031681565b62016b4881565b600281565b635a8a138081565b60035433600160a060020a0390811691161461092057600080fd5b600160a060020a038116151561093557600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031681565b600080600080635a8a1380610986610b54565b1015801561099f5750635ae65c8061099c610b54565b11155b92503460001415915060006004541190508280156109ba5750815b80156109c35750805b935050505090565b662386f26fc1000080820490810282036000806109e6610b54565b915060009050635a934e00821015610a3b576107d08410610a095750601e610a36565b6101f48410610a1a57506019610a36565b60328410610a2a57506014610a36565b600a8410610a365750600a5b610a8b565b635aaefd80821015610a5757600a8410610a3657506007610a8b565b635ac17280821015610a7357600a8410610a3657506005610a8b565b635acaad00821015610a8b57600a8410610a8b575060035b606484820204840193505050915091565b6000600a821015610aac57600080fd5b600454821115610abe57506004549081035b6000821115610b4e5760048054839003905560008054600160a060020a03169063a9059cbb90859085906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b3257600080fd5b6102c65a03f11515610b4357600080fd5b505050604051805150505b92915050565b42905600a165627a7a723058200e341a5ed0afd33fc7512cf0e73f56a4e65536ebf09f244e5e056c090f5047700029606060405260408051908101604052600881527f506170657265756d0000000000000000000000000000000000000000000000006020820152600090805161004b92916020019061013f565b5060408051908101604052600481527f5050524d000000000000000000000000000000000000000000000000000000006020820152600190805161009392916020019061013f565b506000600255620186a060035560068054600160a860020a031916905534156100bb57600080fd5b6006805461010060a860020a03191661010033600160a060020a039081168202929092178084556003549082900483166000908152600460205260408082208390559454929092049092169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915190815260200160405180910390a36101da565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018057805160ff19168380011785556101ad565b828001600101855582156101ad579182015b828111156101ad578251825591602001919060010190610192565b506101b99291506101bd565b5090565b6101d791905b808211156101b957600081556001016101c3565b90565b610cb9806101e96000396000f3006060604052600436106100d75763ffffffff60e060020a60003504166306fdde0381146100dc578063095ea7b31461016657806318160ddd1461019c57806323b872dd146101c1578063313ce567146101e95780635074449d146101fc578063661884631461020f57806370a082311461023157806389afcb44146102505780638da5cb5b1461026f5780638dd148021461029e57806395d89b41146102bf578063a9059cbb146102d2578063d73dd623146102f4578063dd62ed3e14610316578063e78cea921461033b578063f2fde38b1461034e575b600080fd5b34156100e757600080fd5b6100ef61036d565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012b578082015183820152602001610113565b50505050905090810190601f1680156101585780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561017157600080fd5b610188600160a060020a036004351660243561040b565b604051901515815260200160405180910390f35b34156101a757600080fd5b6101af610477565b60405190815260200160405180910390f35b34156101cc57600080fd5b610188600160a060020a036004358116906024351660443561047d565b34156101f457600080fd5b6101af61063d565b341561020757600080fd5b610188610643565b341561021a57600080fd5b610188600160a060020a036004351660243561064c565b341561023c57600080fd5b6101af600160a060020a036004351661073a565b341561025b57600080fd5b610188600160a060020a036004351661074c565b341561027a57600080fd5b61028261084d565b604051600160a060020a03909116815260200160405180910390f35b34156102a957600080fd5b6102bd600160a060020a0360043516610861565b005b34156102ca57600080fd5b6100ef61095f565b34156102dd57600080fd5b610188600160a060020a03600435166024356109ca565b34156102ff57600080fd5b610188600160a060020a0360043516602435610b55565b341561032157600080fd5b6101af600160a060020a0360043581169060243516610bf7565b341561034657600080fd5b610282610c14565b341561035957600080fd5b6102bd600160a060020a0360043516610c23565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104035780601f106103d857610100808354040283529160200191610403565b820191906000526020600020905b8154815290600101906020018083116103e657829003601f168201915b505050505081565b600160a060020a03338116600081815260056020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60035481565b60065460009060ff16151561049157600080fd5b600160a060020a03831615156104a657600080fd5b600160a060020a038416600090815260046020526040902054829010156104cc57600080fd5b600160a060020a03831660009081526004602052604090205482810110156104f357600080fd5b600160a060020a03808516600090815260056020908152604080832033909416835292905220548290101561052757600080fd5b600160a060020a0380851660008181526004602090815260408083208054889003905587851680845281842080548901905593835260058252808320338616845290915290208054859003905560075490911614156105ec57600754600160a060020a031663db3359f0833360405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401600060405180830381600087803b15156105d757600080fd5b6102c65a03f115156105e857600080fd5b5050505b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060019392505050565b60025481565b60065460ff1681565b600160a060020a033381166000908152600560209081526040808320938616835292905290812054808311156106a957600160a060020a0333811660009081526005602090815260408083209388168352929052908120556106d4565b600160a060020a03338116600090815260056020908152604080832093881683529290522083820390555b600160a060020a0333811660008181526005602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b60046020526000908152604090205481565b600654600090819033600160a060020a03908116610100909204161461077157600080fd5b60065460ff161561078157600080fd5b600160a060020a038316151561079657600080fd5b5060068054600160a060020a03610100918290048116600090815260046020526040808220805490839055600380548290039055855460ff191660011795869055949193909104909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a360068054600160a060020a0385166101000274ffffffffffffffffffffffffffffffffffffffff00199091161790556001915050919050565b6006546101009004600160a060020a031681565b60065433600160a060020a03908116610100909204161461088157600080fd5b60065460ff16151561089257600080fd5b600160a060020a03811615156108a757600080fd5b600754600160a060020a0316156108bd57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055308116911663fc0c546a6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561092c57600080fd5b6102c65a03f1151561093d57600080fd5b50505060405180519050600160a060020a031614151561095c57600080fd5b50565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104035780601f106103d857610100808354040283529160200191610403565b60065460009060ff16806109f1575060065433600160a060020a0390811661010090920416145b15156109fc57600080fd5b600160a060020a0383161515610a1157600080fd5b600160a060020a03331660009081526004602052604090205482901015610a3757600080fd5b600160a060020a0383166000908152600460205260409020548281011015610a5e57600080fd5b600160a060020a033381166000908152600460205260408082208054869003905585831680835291208054850190556007549091161415610b0557600754600160a060020a031663db3359f0833360405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401600060405180830381600087803b1515610af057600080fd5b6102c65a03f11515610b0157600080fd5b5050505b82600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600160a060020a0333811660009081526005602090815260408083209386168352929052908120548281011015610b8b57600080fd5b600160a060020a033381166000818152600560209081526040808320948816808452949091529081902080548601908190557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a350600192915050565b600560209081526000928352604080842090915290825290205481565b600754600160a060020a031681565b60065433600160a060020a039081166101009092041614610c4357600080fd5b600160a060020a0381161515610c5857600080fd5b60068054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff00199092169190911790555600a165627a7a72305820dc870e262d80b37ac39ef4e0d08b0c93a6ff6c43dfadc854f413a906a9a09d590029


   Swarm Source:
bzzr://dc870e262d80b37ac39ef4e0d08b0c93a6ff6c43dfadc854f413a906a9a09d59
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.