Contract Overview
ETH Balance: 0 Ether
No Of Transactions: 566 txns
  Latest 25 txns from a total Of 566 transactions View All

TxHash Age From To Value [TxFee]
0x59841e7e99cea9710ab83419bfccd461b6f91cbc6779fdddfc3761ea6240179516 hrs 55 mins ago0x82b9a2e61f7b9c6ee079377d494db96051dcc6c2  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00102644
0x1832a4317416c4a389f9c65a6303d74e440259b8beef19bdcef6e493dd9d8ec021 hrs 13 mins ago0xa81ed2a16e91159f420dbed135a76a46e1948797  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00096268
0x8db88925b8c61218b70c8b0482bff0fbc7f9e2728b4671a15179240c8359aaaf21 hrs 13 mins ago0xe54dfaa46d14d2edc1f700424521b67b7907ad79  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00403984
0xf06a7b21362d483caa5b9bf870fc368fe5ed52b847dc25fcb6ce61c2a925028f1 day 22 hrs ago0x10edb7e1934be9f6421bf19575073eee568590d6  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00072388
0x9a57a4c33378f83f2b4e5d884231a813006874c31a348696081f7d20ebab931c1 day 23 hrs ago0x68c74e50dfb3d07fe68884356cdb67bb3bcd157f  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00072216
0x790d80301a80e330bd0328a47e6feba9b7bfc2e633801f37b94b4595e19940291 day 23 hrs ago0xffb1eeef457717ff9c8fb4548843adcd01c6d374  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.000758268
0x857620e50dec621558a74e3913d4a8037888ce3dac7a2d526acabaacd54242a91 day 23 hrs ago0x79aaf195b2890d006884e53ca674d911b5f7ee2d  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.000758268
0x28344ee159d47bd2cf374daf058d6e0076a37ed2b400c66f94d8f8522c4a67308 days 22 hrs ago0x28248a003ce5d257b73796ad5fa598ec96dd3d6e  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00054291
0x88270e41974c207bb5a9b56cc44eabb2a1e7e2ca109f2a21740183fb3f1791fc9 days 23 hrs ago0x28248a003ce5d257b73796ad5fa598ec96dd3d6e  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.000144776
0xce6f04c849a12efeea10b49fa7ac4b7f467ea365369facdf4129b837d838168e10 days 3 hrs ago0xe9522364af2de283dea03e441007edc2fd6dc8c8  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.000193
0xa4dbac577bdc67c4179717238436fae1e7b2d5901d6264bc953ffc1b02728b6310 days 3 hrs ago0xe9522364af2de283dea03e441007edc2fd6dc8c8  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.000204688
0x8af011e28ce4d0f97a8098e724a965e6f44a861617e2d1780be8ebb30f3c708511 days 22 hrs ago0x312bde3053f3bf85b58c0fe41598d58342b5ddbe  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.0008439
0x29b93cc701b1bf655a5a6c0816d761c500a9fab3b2360c7b24de3e8fa39af3e711 days 22 hrs ago0x312bde3053f3bf85b58c0fe41598d58342b5ddbe  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00027996
0x8126ea11e5099f92d210ec7d19a08c60c2eeaae979158b1eedc345f0bb40a61412 days 18 hrs ago0xe1d4b526ddf83c64a420ce29c392933e10369e1b  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00199188
0xf38ddb3a00578ec2f75a6f72420c26d0d5fd227b21ef6629ee8612c789bd0a2612 days 19 hrs ago0xe1d4b526ddf83c64a420ce29c392933e10369e1b  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.01211256
0x1e22015cbff222b8cde1c9a6ff3fd0900dd9be818582f25c39432332484775e317 days 18 hrs ago0xc482b6c3d1fde0353689a685c8d374ab7fca43d3  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.000167392
0x380ce29f6f680d95821a54d1ad5a1c85a2a37db7f74a2b2bd35f2c8d2fb7a7ef17 days 18 hrs ago0xe7b460d94191c5e55f495e3c0753cf9c6d7f69b7  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.000388056
0x8a8b19a3c8ee818293db6ff88a50badd2ff841c478b22d21214d6137f7cd0c8819 days 17 hrs ago0x3827a2750400e52fea24a386375494ed73b2a184  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00281428
0x61817da8948ffd238461f87892038921f867d700d5fb944df3033c78ad35fe5e19 days 17 hrs ago0x3827a2750400e52fea24a386375494ed73b2a184  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00102216
0x5449c4c4e01325887d22bce4b6ea8f20e1c1f8ba7ae2f4b9a18dd7d35ce690fc19 days 17 hrs ago0x3827a2750400e52fea24a386375494ed73b2a184  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00096372
0x4a72b05a0756832764c0eb869b5cc68cb21a4990e43d798cceabcec5c3d40aa919 days 18 hrs ago0x28248a003ce5d257b73796ad5fa598ec96dd3d6e  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00403624
0xcaaf96f6ff079d6e4de4eba94a64a2988b407dc97bc4e87ee4f8da00806d2e4019 days 18 hrs ago0x85c842ad86b6313f6177ae143e634dc8f599b831  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00096396
0x67266513a0a4f7c9cdcf80a151f2535fdeb9f721a8b1bf63971d615704efb85019 days 18 hrs ago0x85c842ad86b6313f6177ae143e634dc8f599b831  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00066396
0x9cbdaa786786ca36784ce3a1ccd1dd1b223dd5b648b957608b3c555dbb2d38b519 days 18 hrs ago0x85c842ad86b6313f6177ae143e634dc8f599b831  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00048198
0x70cbcbcbb7f4eb94b67417d07e2af81d31a46bdb6c32d49cdb19b5d232c75b6319 days 18 hrs ago0xc482b6c3d1fde0353689a685c8d374ab7fca43d3  IN   0xe275e9c7cebf2c093c365439b836adf9a28537e20 Ether0.00281404
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: Trustlines
Compiler Version: v0.4.11+commit.68ef5810
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.11;

/**
@dev Library for a Set that can be iterated over
*/
library ItSet {
    struct SetEntry {
        uint index; // index of the entry, starting at 1
    }

    struct AddressSet {
        mapping(address=>SetEntry) addressToEntry;
        address[] list;
    }

    function insert(AddressSet storage self, address address_) internal {
        var entry = self.addressToEntry[address_];
        if(entry.index == 0) {
            entry.index = self.list.length + 1;
            self.list.push(address_);
        }
    }

    function contains(AddressSet storage self, address address_) internal constant returns (bool) {
        return self.addressToEntry[address_].index > 0;
    }

    function remove(AddressSet storage self, address address_) internal {
        var entry = self.addressToEntry[address_];
        if(entry.index > 0) {
            // remove from list
            var last_address = self.list[self.list.length - 1];
            self.list[entry.index - 1] = last_address;
            self.list.length -= 1;
            // update entries
            self.addressToEntry[last_address].index = entry.index;
            entry.index = 0;
        }
    }

    function size(AddressSet storage self) internal constant returns (uint) {
        return self.list.length;
    }
}

// Implements a subset of the ERC 20 Token standard: https://github.com/ethereum/EIPs/issues/20
contract ERC20Token {
    function transfer(address _to, uint256 _value) returns (bool success);

    function totalSupply() constant returns (uint256 supply);
    function balanceOf(address _owner) constant returns (uint256 balance);

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
}


// Use network of debt relationships to support multihop payments
contract Trustlines is ERC20Token {

    // Iterable Set
    using ItSet for ItSet.AddressSet;

    // meta data
    string public name;
    string public symbol;
    uint8 public decimals;

    // Events
    event CreditlineUpdate(address indexed _creditor, address indexed _debtor, uint256 _value);
    event BalanceUpdate(address indexed _from, address indexed _to, int256 _value);
    event Transfer(address indexed _from, address indexed _to, uint256 _value);

    // mapping of sha3 hash of two users to account, see hashFunc and Account
    mapping (bytes32 => int256) internal balances;
    mapping (bytes32 => int256) internal creditlines;
    // mapping for the users a user has a trustline with
    mapping (address => ItSet.AddressSet) internal _friends;

    // set of all users of the system
    ItSet.AddressSet internal _users;


    function Trustlines (string tokenName, string tokenSymbol, uint8 decimalUnits) {
        name = tokenName;  // Set the name for display purposes
        symbol = tokenSymbol;  // Set the symbol for display purposes
        decimals = decimalUnits;  // Amount of decimals for display purposes
    }

    // check value is inbounds for accounting to prevent overflows
    modifier valueWithinInt192(uint256 value)
    {
        require(value < 2**192);
        _;
    }

    // public functions

    /// @notice send `_value` tokens to `_to` from `msg.sender`
    /// @dev sender and recipient must have a trustline with enough credit
    /// @param _to The address of the recipient
    /// @param _value The amount of tokens to be transferred, needs to fit in int192
    /// @return Whether the transfer was successful or not
    function transfer(address _to, uint256 _value) valueWithinInt192(_value) returns (bool success) {
        int256 value = int256(_value);
        _transfer(msg.sender, _to, value);
        Transfer(msg.sender, _to, _value);
        success = true;
    }

    /// @notice send `_value` token to `_to` from `msg.sender`
    /// @dev send tokens over the given path.
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @param _path The path over which the token is sent. The path must include the recipient and exclude the sender
    ///              The path must have enough capacity for the transfer
    /// @return Whether the transfer was successful or not
    function mediatedTransfer(address _to, uint256 _value, address[] _path) valueWithinInt192(_value) returns (bool success) {
        // for all addresses in path[:-1] the accumulated balance over all their accounts won't change
        address sender = msg.sender;
        int256 value = int256(_value);
        uint8 idx = 0;
        require(_path.length != 0);
        require(_to == _path[_path.length - 1]);

        while(idx < _path.length){
            _to = _path[idx];
            _transfer(sender, _to, value);
            sender = _to;
            idx++;
        }
        Transfer(msg.sender, _to, _value);
        success = true;
    }

    /// @notice `msg.sender` sets a creditline for `_debtor` of `_value` tokens
    /// @param _debtor The account that can spend tokens up to the given amount
    /// @param _value The maximum amount of tokens that can be spend
    /// @return Whether the credit was successful or not
    function updateCreditline(address _debtor, uint256 _value) valueWithinInt192(_value) returns (bool success) {
        int256 value = int256(_value);
        address _creditor = msg.sender;

        var balance = loadBalance(_creditor, _debtor);

        // onboard users and debtors
        _users.insert(_creditor);
        _users.insert(_debtor);
        _friends[_creditor].insert(_debtor);
        _friends[_debtor].insert(_creditor);

        assert(value >= 0);
        require(value >= balance);
        storeCreditline(_creditor, _debtor, value);
        CreditlineUpdate(_creditor, _debtor, _value);
        success = true;
    }

    /// @dev Checks for the spendable amount by spender
    /// @param _spender The address from which the balance will be retrieved
    /// @return spendable The spendable amount
    function spendable(address _spender) constant returns (uint256 spendable) {
        spendable = 0;
        var myfriends = _friends[_spender].list;
        for(uint i = 0; i < myfriends.length; i++) {
            spendable += spendableTo(_spender, myfriends[i]);
        }
    }

    /// @dev the maximum spendable amount by the spender to the receiver.
    /// @param _spender The account spending the tokens
    /// @param _receiver the receiver that receives the tokens
    /// @return Amount of remaining tokens allowed to spend
    function spendableTo(address _spender, address _receiver) constant returns (uint256 remaining) {
        // returns the current trustline given by A to B
        var balance = uint(loadBalance(_spender, _receiver));
        var creditline = uint(loadCreditline(_receiver, _spender));
        remaining = creditline + balance;
    }

    /// @dev The ERC20 Token balance for the spender. This is different from the balance within a trustline.
    ///      In Trustlines this is the spendable amount
    /// @param _owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address _owner) constant returns (uint256) {
        return spendable(_owner);
    }

    /// @return total amount of tokens. In Trustlines this is the sum of all creditlines
    function totalSupply() constant returns (uint256 supply) {
        supply = 0;
        var users = _users.list;
        for(uint i = 0; i < users.length; i++) {
            supply += spendable(users[i]);
        }
    }

    /// @dev Returns the trustline between A and B from the point of A
    /// @param _A The account spending the tokens
    /// @param _B the receiver that receives the tokens
    /// @return the creditline given from A to B, the creditline given from B to A, the balance from the point of A
    function trustline(address _A, address _B) constant returns (int creditlineAB, int creditlineBA, int balanceAB) {
        creditlineAB = loadCreditline(_A, _B);
        creditlineBA = loadCreditline(_B, _A);
        balanceAB = loadBalance(_A, _B);
    }

    function friends(address _user) public constant returns (address[]) {
        return _friends[_user].list;
    }

    function users() public constant returns (address[]) {
        return _users.list;
    }

    // internal and private functions

    // key to look up the the balance There is only one balance between two users
    function keyBalance(address _A, address _B) internal constant returns (bytes32) {
        if (_A < _B) {
            return sha3(_A, _B);
        } else if (_A > _B) {
            return sha3(_B, _A);
        } else {
            // A == B not allowed
            throw;
        }
    }

    // load balance from storage
    function loadBalance(address _A, address _B) internal constant returns (int256) {
        int256 balance;
        balance = balances[keyBalance(_A, _B)];
        if (_A > _B) {
            balance = -balance;
        }
        return balance;
    }

    // store balance to storage
    function storeBalance(address _A, address _B, int256 balance) internal {
        if (_A < _B) {
             balances[keyBalance(_A, _B)] = balance;
        } else {
             balances[keyBalance(_A, _B)] = -balance;
        }
    }

    // key to look up the the creditline given from _A to _B
    function keyCreditline(address _A, address _B) internal constant returns (bytes32) {
        if (_A == _B) {
            throw;
        }
        return sha3(_A, _B);
    }

    // load the Creditline given from _A to _B from storage
    function loadCreditline(address _A, address _B) internal constant returns (int256) {
        int256 creditline = creditlines[keyCreditline(_A, _B)];
        return creditline;
    }

    // store the Creditline given from _A to _B
    function storeCreditline(address _A, address _B, int256 creditline) internal {
        creditlines[keyCreditline(_A, _B)] = creditline;
    }

    // internal transfer function
    // sender transfers value to receiver
    // receiver will only accept if the total value owed by sender is within the creditline given to sender
    function _transfer(address _sender, address _receiver, int256 _value) private returns (bool success) {
        assert(_value >= 0);

        var balance = loadBalance(_receiver, _sender);
        var creditline = loadCreditline(_receiver, _sender);
        // check if updated balance is within creditline
        require(_value + balance <= creditline);

        int256 newBalance = balance + _value;
        storeBalance(_receiver, _sender, newBalance);
        BalanceUpdate(_receiver, _sender, newBalance);
        success = true;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"_A","type":"address"},{"name":"_B","type":"address"}],"name":"trustline","outputs":[{"name":"creditlineAB","type":"int256"},{"name":"creditlineBA","type":"int256"},{"name":"balanceAB","type":"int256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"supply","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"}],"name":"friends","outputs":[{"name":"","type":"address[]"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_spender","type":"address"},{"name":"_receiver","type":"address"}],"name":"spendableTo","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_path","type":"address[]"}],"name":"mediatedTransfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_spender","type":"address"}],"name":"spendable","outputs":[{"name":"spendable","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_debtor","type":"address"},{"name":"_value","type":"uint256"}],"name":"updateCreditline","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"users","outputs":[{"name":"","type":"address[]"}],"payable":false,"type":"function"},{"inputs":[{"name":"tokenName","type":"string"},{"name":"tokenSymbol","type":"string"},{"name":"decimalUnits","type":"uint8"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_creditor","type":"address"},{"indexed":true,"name":"_debtor","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"CreditlineUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"int256"}],"name":"BalanceUpdate","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"}]

  Contract Creation Code Switch To Opcodes View
606060405234156200000d57fe5b6040516200159f3803806200159f833981016040528080518201919060200180518201919060200180519060200190919050505b82600090805190602001906200005992919062000098565b5081600190805190602001906200007292919062000098565b5080600260006101000a81548160ff021916908360ff1602179055505b50505062000147565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000db57805160ff19168380011785556200010c565b828001600101855582156200010c579182015b828111156200010b578251825591602001919060010190620000ee565b5b5090506200011b91906200011f565b5090565b6200014491905b808211156200014057600081600090555060010162000126565b5090565b90565b61144880620001576000396000f300606060405236156100c2576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062683c8c146100c457806306fdde031461013b57806318160ddd146101d45780631ddabf7a146101fa5780632ed40caf14610293578063313ce567146102fc5780635f3b7a7f1461032857806370a08231146103bf57806395d89b4114610409578063a219fdd6146104a2578063a9059cbb146104ec578063c81d078b14610543578063f20202751461059a575bfe5b34156100cc57fe5b610117600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061060f565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561014357fe5b61014b610641565b604051808060200182810382528381815181526020019150805190602001908083836000831461019a575b80518252602083111561019a57602082019150602081019050602083039250610176565b505050905090810190601f1680156101c65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101dc57fe5b6101e46106df565b6040518082815260200191505060405180910390f35b341561020257fe5b61022e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061075c565b6040518080602001828103825283818151815260200191508051906020019060200280838360008314610280575b8051825260208311156102805760208201915060208101905060208303925061025c565b5050509050019250505060405180910390f35b341561029b57fe5b6102e6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610833565b6040518082815260200191505060405180910390f35b341561030457fe5b61030c61085f565b604051808260ff1660ff16815260200191505060405180910390f35b341561033057fe5b6103a5600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050610872565b604051808215151515815260200191505060405180910390f35b34156103c757fe5b6103f3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109d1565b6040518082815260200191505060405180910390f35b341561041157fe5b6104196109e4565b6040518080602001828103825283818151815260200191508051906020019080838360008314610468575b80518252602083111561046857602082019150602081019050602083039250610444565b505050905090810190601f1680156104945780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104aa57fe5b6104d6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a82565b6040518082815260200191505060405180910390f35b34156104f457fe5b610529600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b3f565b604051808215151515815260200191505060405180910390f35b341561054b57fe5b610580600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bee565b604051808215151515815260200191505060405180910390f35b34156105a257fe5b6105aa610d98565b60405180806020018281038252838181518152602001915080519060200190602002808383600083146105fc575b8051825260208311156105fc576020820191506020810190506020830392506105d8565b5050509050019250505060405180910390f35b60006000600061061f8585610e30565b925061062b8486610e30565b91506106378585610e66565b90505b9250925092565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106d75780601f106106ac576101008083540402835291602001916106d7565b820191906000526020600020905b8154815290600101906020018083116106ba57829003601f168201915b505050505081565b6000600060006000925060066001019150600090505b818054905081101561075657610744828281548110151561071257fe5b906000526020600020900160005b9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a82565b830192505b80806001019150506106f5565b5b505090565b6107646113b7565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180548060200260200160405190810160405280929190818152602001828054801561082657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116107dc575b505050505090505b919050565b6000600060006108438585610e66565b915061084f8486610e30565b905081810192505b505092915050565b600260009054906101000a900460ff1681565b6000600060006000857801000000000000000000000000000000000000000000000000811015156108a35760006000fd5b3393508692506000915060008651141515156108bf5760006000fd5b8560018751038151811015156108d157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415156109155760006000fd5b5b85518260ff16101561095b57858260ff1681518110151561093357fe5b90602001906020020151975061094a848985610ed7565b508793508180600101925050610916565b8773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040518082815260200191505060405180910390a3600194505b5b505050509392505050565b60006109dc82610a82565b90505b919050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a7a5780601f10610a4f57610100808354040283529160200191610a7a565b820191906000526020600020905b815481529060010190602001808311610a5d57829003601f168201915b505050505081565b60006000600060009250600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001019150600090505b8180549050811015610b3757610b25848383815481101515610af357fe5b906000526020600020900160005b9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610833565b830192505b8080600101915050610ad5565b5b5050919050565b6000600082780100000000000000000000000000000000000000000000000081101515610b6c5760006000fd5b839150610b7a338684610ed7565b508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3600192505b5b505092915050565b600060006000600084780100000000000000000000000000000000000000000000000081101515610c1f5760006000fd5b859350339250610c2f8388610e66565b9150610c45836006610f9a90919063ffffffff16565b610c59876006610f9a90919063ffffffff16565b610caa87600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020610f9a90919063ffffffff16565b610cfb83600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020610f9a90919063ffffffff16565b60008412151515610d0857fe5b818412151515610d185760006000fd5b610d2383888661106c565b8673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fd8c5c77a6121c9b0db83e136f18a72ae68cc79dd6436a09ebdcdb93a47d7713e886040518082815260200191505060405180910390a3600194505b5b5050505092915050565b610da06113b7565b6006600101805480602002602001604051908101604052809291908181526020018280548015610e2557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610ddb575b505050505090505b90565b6000600060046000610e42868661109b565b600019166000191681526020019081526020016000205490508091505b5092915050565b6000600060036000610e788686611174565b600019166000191681526020019081526020016000205490508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161115610ecc578060000390505b8091505b5092915050565b600060006000600060008512151515610eec57fe5b610ef68688610e66565b9250610f028688610e30565b91508183860113151515610f165760006000fd5b8483019050610f26868883611322565b8673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f90496e8ae1151e3218a7f81bfa88e883bcd6fd5695aac012f6e49ac0cdf7b56a836040518082815260200191505060405180910390a3600193505b5050509392505050565b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600001541415611066576001836001018054905001816000018190555082600101805480600101828161101591906113cb565b916000526020600020900160005b84909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b5b505050565b806004600061107b868661109b565b60001916600019168152602001908152602001600020819055505b505050565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110d75760006000fd5b8282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140192505050604051809103902090505b92915050565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161015611245578282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040518091039020905061131c565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161115611314578183604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040518091039020905061131c565b60006000fd5b5b5b92915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1610156113845780600360006113658686611174565b60001916600019168152602001908152602001600020819055506113b1565b80600003600360006113968686611174565b60001916600019168152602001908152602001600020819055505b5b505050565b602060405190810160405280600081525090565b8154818355818115116113f2578183600052602060002091820191016113f191906113f7565b5b505050565b61141991905b808211156114155760008160009055506001016113fd565b5090565b905600a165627a7a72305820afae808740d77e9d44fd474e82a0b8d0d8924b7908b7ae3c1871d58f7f0e75170029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003455552000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034555520000000000000000000000000000000000000000000000000000000000

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

-----Decoded View---------------
Found 7 constructor arguments :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [4] : 4555520000000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 4555520000000000000000000000000000000000000000000000000000000000


   Swarm Source:
bzzr://afae808740d77e9d44fd474e82a0b8d0d8924b7908b7ae3c1871d58f7f0e7517
View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward