Latest 25 transactions from a total of 57555 transactions
(+1 PendingTxn)

TxHash Age From To Value [TxFee]
0x850601f07ccf625501c3d5a577a3fe38157d726857ba09ec13df2c3f0f3a370f(pending)0x4123f43f63f4330fcb26362a6c7f566438fd528d  IN  0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether(Pending)
0x67641a1e361c0cadd21d5b84ea798dbdea9362729087a9c4ed83df5aab37207e6 mins ago0xb798b380be75a88e0332f360c404d7ccc1053c24  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00033986
0x4c4a269961fac0fed6f51b09ba81435a4c2cb49790033bfdc7a53fbc0eb872c312 mins ago0xb798b380be75a88e0332f360c404d7ccc1053c24  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000628016
0x1f28d1a6663cc61d19ce35d30e99fec3f023661bb1a098deb76997d99625ca6e21 mins ago0x87c08ed284588f327064107f4d26897b9044dfae  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000325284
0xa64178396fd78a4fa78677ce4fc5acc932b4239da31a6a809368499276d771f124 mins ago0x87c08ed284588f327064107f4d26897b9044dfae  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000628016
0xe1021e8a0c4cb093688787b346bc45606c91d353d88b2e5fff1733599db2b02d2 hrs 22 mins ago0x64e433de0fccd2e569e950479d0b8c855272306e  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001916655
0x6d15686250fa93e2dcb2c584a75edc3d714355aa60f1eafde752ee36bd1916a82 hrs 26 mins ago0x64e433de0fccd2e569e950479d0b8c855272306e  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001916655
0x0908fd1d86d2aa11c8884a6ae9c8ace0acdd6dfff2b794c54643f78d289aadce10 hrs 20 mins ago0xd477ff47373bf38f2dcaa75c9dfa4d0158a3ee10  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000325284
0xe9e3c936a0d6bf32a7ec4bdf0dfb36c4234632e633036ae7c190f9120843fde310 hrs 25 mins ago0xd477ff47373bf38f2dcaa75c9dfa4d0158a3ee10  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000385028
0xa6b836cbc94928a2e5816834e763d4047713e7e305f886ae93c02eabbe8ab86510 hrs 35 mins ago0xd477ff47373bf38f2dcaa75c9dfa4d0158a3ee10  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000385028
0xc0627f6baa4b405d87cfb3849d44bfde96305bc9eac7f39124e88e301862715b10 hrs 38 mins ago0xd477ff47373bf38f2dcaa75c9dfa4d0158a3ee10  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000385028
0x3a97cb1eaced222f39f48150a39dced1b186f37beb821533b2e4093c06fcb39f10 hrs 46 mins ago0xd477ff47373bf38f2dcaa75c9dfa4d0158a3ee10  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000385028
0x716c5c6ec25362c4ab529b3c85a77aef177d01c15525129b8140a62dcf33ebd519 hrs 2 mins ago0x89971e0a95f3fbd9e79f1bdc184648874756f61d  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00048
0x8347cad05bfaee64c424b9e30519ab76448608400b6fbd4b9d8d4ff54dab8eb219 hrs 47 mins ago0x89971e0a95f3fbd9e79f1bdc184648874756f61d  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.0021
0xcc1a3958935fcf712d6cb0c19e9ed77450d8bc01d1aebbb23bd7fb8afd6b7e5220 hrs 7 mins ago0x89971e0a95f3fbd9e79f1bdc184648874756f61d  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00063
0xec3ef4baf7d13f2429da7be998a7652552582816e96f2cba9f23080cb06d5aae20 hrs 20 mins ago0x89971e0a95f3fbd9e79f1bdc184648874756f61d  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00036
0x0df20255a3a9c16c971852a4b5d300e50a65491a54f1e2a4221f4632c5656aaf23 hrs 11 mins ago0x147982a78108e48173bf1c695f74bfd845d1c3f4  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000325284
0xbb7bf9dc62594a685249836c6f54296b116bd33c355b4e19fa3e7e2721f8bc4823 hrs 17 mins ago0x4e048cddf2755b89fef861417307c32454f4e11d  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000325284
0xdf1026ed8326b63556e2956ddc1c57edbf9cc705def3f714bc761fa24cb7fd661 day 13 mins ago0xf73359fbd26302cc9d1b58e3e85b7827e47650a9  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000384772
0xa7ecd92f676433ef41d374e7fc698d53445a4f28aab8a3910880bf1b45c569291 day 13 mins ago0xf73359fbd26302cc9d1b58e3e85b7827e47650a9  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000384772
0xc0b654e82c2c2a8371c094c3b16a880c3f35842313f4bc895e715b95730691071 day 6 hrs agoCoinExchange.io  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001213632
0x0b24790d24e5f541f6c8ed601d7e8008bf266ef0325d3ae46ad3d86b596d73c42 days 4 hrs ago0x7a31c79a29d89bf850696cb4691dae8aa3cf4758  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.0029487
0xf3e246f9e56e1cb8d9405abc7dd4da2a2c261079b2a1bd301725c4a8fe74854c3 days 5 hrs ago0xdf86353212b6e2894f268c5df2d7db0602df465a  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.0013118904
0xa2d29b8b3ea7b48cf97b5cbb15759b2b6e1311599aaa2a934d9f1a0aa9aed4d53 days 6 hrs ago0x64e433de0fccd2e569e950479d0b8c855272306e  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001915823
0x7c0ba9e62601f17998577a2af820da763af293755da26b7b543a68db3937e5923 days 6 hrs ago0x64e433de0fccd2e569e950479d0b8c855272306e  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126112
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here To View More View All
ParentTxHash Block Age From To Value
0x7c3c15e31a0f8b3194a6ec93f1ebcd1f7c46a0452c3af0e99e4e9e6dd62df0d66134215121 days 6 hrs ago0xe4c94d45f7aef7018a5d66f44af780ec6023378e0x5e86bb7f1f75bab03e01592afc87c4c97f69071b0.005 Ether
0x952961c321c8628850f77bd28e1e3d360117055bfa3f064890a532469c263dcd5463580237 days 3 hrs ago0xe4c94d45f7aef7018a5d66f44af780ec6023378e0x71272cac6673c8a22ac1d697e29575c2965a51600.00005 Ether
0x4aab7387a354a386da6c55dea8d92e339d6212d78b593b4cf589780afc33bbb15409209246 days 7 hrs ago0xe4c94d45f7aef7018a5d66f44af780ec6023378e0xfcfa6ec1d346bc2c9d0f949fb168db3d3df4ffed0.001 Ether
0x714fe830afcd79953ba7584cde23a09bdc824d32bf4135cef3738ba361e8a26d2440530788 days 14 mins ago0xa00d52431f51223b6cff30aefb8d08007d6a1c740xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xca761e4534db9b7c10fbff429a3b2ec050095c819389fb7f88222a584071e3692440527788 days 15 mins ago0x178c793b18a1e53b6402a7454b61b1046f8adf990xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x88b6693e0f338c153bc1d990ae44e4c3409b561ccf19ec62654c45cadd74a7fe2439600788 days 3 hrs ago0x87fb2458ef0d5be4a43acb2e728d1741812bf6eb0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xaef0d0de5e4dd14731b900f6f4c8b01449a54769ae965a5156275fd24680d0242439594788 days 3 hrs ago0xa76151762bd6b8eefc5d70f297bd8f3e8ca8d2400xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x27470aa1d18588247386a3703b2f11a8ab4c4c4b4075a22069c291acea5901c82439592788 days 3 hrs ago0xb1ebfb6b7268e0ba004c1fe606815636057bb7740xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xe095db44c9d29b7d14e22eebdd92321d8a8019ef87858b28239a7d07342381962439149788 days 5 hrs ago0x880b322587937e0e1fe37b868dc2339575bc0a790xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x6fc0bfe696f4bf300fbf691313e55dbe39240af88135b9fbf1fc1e5fefb8b5ba2439074788 days 5 hrs ago0x273346fa685408cfde4b5f1d620c8e5c265df84a0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xb6f2bc0794302d6e2ec6195a07f317a3a6d278e6306fd252c735ef59c3ecbbbe2438948788 days 6 hrs ago0x1c6b5a73c53eca8c90cf8b7066610f3e18065aad0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xa06018177dbdb52c1e95ee5b91ee2e2ea5472646566d8cff96ff440cf7612d492438936788 days 6 hrs ago0xbe33f67647898a7342da8ac65765c6746040e0b80xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xd4ff20b8123e231d199333bb97ac3c08eb767157e93f2948ba5204211d2ef8912438863788 days 6 hrs ago0x889297dca98c10be6f7ad2ce98d8aace155d27b30xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x684acf4e91e28b54348460ed0e96e2685e075ec9ebc31fb279205ad815ffa9bc2438724788 days 7 hrs ago0x5e7aad31e35793ddee4996f84b39911a2b47ccf90xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x316ca7fda55f933e4c318bcc9bcabddf68e406eb91070d8638364a52b5cfa8162438517788 days 8 hrs ago0x713e473bcd07880ce4401512b91664951883cce70xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xefb932fce3c0580599c99aa4f34cc2dc711f2f3859a116ab8ded9624cd76bdf72438507788 days 8 hrs ago0xb8f9959c1f996236af2996413dd88308b6d9efc10xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x0326f57a16fb204d8da452589e69c8b6854dfc6125e9bedf3b2f486e5b1fcb4e2438465788 days 8 hrs ago0x690ac703e69138e37238a086d2eebcaeb2cf5abd0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x0414ccdbcddf309c2d86a6ad9850249190b2ad75c6823a8b59cca3d3d499b56b2438459788 days 8 hrs ago0xa69e954d4ca939bd22af794a8702c377876c53fa0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x261df5341e1aa09ebb63a9111733778dfe920dad29d82f4ac842a8b4e24041cd2438438788 days 8 hrs ago0x83859940431967251a48ee08014d52dfbfe6ce440xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x5cd7ff67f1004222aefe06ebc4d742e5bf8333f470a7334f25e7844bd06f7f3c2438435788 days 8 hrs ago0x1a8ec4f3b910b76f2b4e1f690aaeaa164e8d0ea20xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xd2a129377156f4ec5c719427c42f24b80468486091bc881bd48d43bdb2b6afcb2438433788 days 8 hrs ago0x77f70cc52fe611b70bafd2f2029ac39534189e2a0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x63f9f45958dfc581f3835e3e28c494ff0107669a8d2027c514c79ed8aa788ee52438388788 days 8 hrs ago0xc821aa24ad4080ab0dee22d03ad799efb0b297ed0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xfffc12100b50949dc499d060d0dbfc263ca1162973a1e4bad4d19cf0214b6d3a2438383788 days 8 hrs ago0x44a0932a883c40b73eeb0b14ad08b22d6fce05010xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xdf5d0fe33c1545af2ef70263b640764b3a79a2c8f21f8ca642eba10aaee5ec772438332788 days 9 hrs ago0xdab76543bf59cc8a7a05bb7d3d5df7f66821e8510xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x92a2f324c003cf0488529bd8b4a4189b5a133520e2df820225ca92c70aeb1f6b2438321788 days 9 hrs ago0x1f6693bbc3a8c0f3d780912800787363523eb8e60xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
[ Download CSV Export  ] 



  Contract Source Code   Find Similiar Contracts

contract MultiAsset {
    function isCreated(bytes32 _symbol) constant returns(bool);
    function owner(bytes32 _symbol) constant returns(address);
    function totalSupply(bytes32 _symbol) constant returns(uint);
    function balanceOf(address _holder, bytes32 _symbol) constant returns(uint);
    function transfer(address _to, uint _value, bytes32 _symbol) returns(bool);
    function proxyTransferWithReference(address _to, uint _value, bytes32 _symbol, string _reference) returns(bool);
    function proxyTransferToICAPWithReference(bytes32 _icap, uint _value, string _reference) returns(bool);
    function proxyApprove(address _spender, uint _value, bytes32 _symbol) returns(bool);
    function allowance(address _from, address _spender, bytes32 _symbol) constant returns(uint);
    function transferFromWithReference(address _from, address _to, uint _value, bytes32 _symbol, string _reference) returns(bool);
    function transferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference) returns(bool);
    function proxyTransferFromWithReference(address _from, address _to, uint _value, bytes32 _symbol, string _reference) returns(bool);
    function proxyTransferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference) returns(bool);
    function proxySetCosignerAddress(address _address, bytes32 _symbol) returns(bool);
}

contract Ambi {
    function getNodeAddress(bytes32 _name) constant returns (address);
    function addNode(bytes32 _name, address _addr) external returns (bool);
    function hasRelation(bytes32 _from, bytes32 _role, address _to) constant returns (bool);
}

contract EtherTreasuryInterface {
    function withdraw(address _to, uint _value) returns(bool);
}

contract Safe {
    // Should always be placed as first modifier!
    modifier noValue {
        if (msg.value > 0) {
            // Internal Out Of Gas/Throw: revert this transaction too;
            // Call Stack Depth Limit reached: revert this transaction too;
            // Recursive Call: safe, no any changes applied yet, we are inside of modifier.
            _safeSend(msg.sender, msg.value);
        }
        _
    }

    modifier onlyHuman {
        if (_isHuman()) {
            _
        }
    }

    modifier noCallback {
        if (!isCall) {
            _
        }
    }

    modifier immutable(address _address) {
        if (_address == 0) {
            _
        }
    }

    address stackDepthLib;
    function setupStackDepthLib(address _stackDepthLib) immutable(address(stackDepthLib)) returns(bool) {
        stackDepthLib = _stackDepthLib;
        return true;
    }

    modifier requireStackDepth(uint16 _depth) {
        if (stackDepthLib == 0x0) {
            throw;
        }
        if (_depth > 1023) {
            throw;
        }
        if (!stackDepthLib.delegatecall(0x32921690, stackDepthLib, _depth)) {
            throw;
        }
        _
    }

    // Must not be used inside the functions that have noValue() modifier!
    function _safeFalse() internal noValue() returns(bool) {
        return false;
    }

    function _safeSend(address _to, uint _value) internal {
        if (!_unsafeSend(_to, _value)) {
            throw;
        }
    }

    function _unsafeSend(address _to, uint _value) internal returns(bool) {
        return _to.call.value(_value)();
    }

    function _isContract() constant internal returns(bool) {
        return msg.sender != tx.origin;
    }

    function _isHuman() constant internal returns(bool) {
        return !_isContract();
    }

    bool private isCall = false;
    function _setupNoCallback() internal {
        isCall = true;
    }

    function _finishNoCallback() internal {
        isCall = false;
    }
}

contract Asset is Safe {
    event Transfer(address indexed from, address indexed to, uint value);
    event Approve(address indexed from, address indexed spender, uint value);

    MultiAsset public multiAsset;
    bytes32 public symbol;

    function init(address _multiAsset, bytes32 _symbol) noValue() immutable(address(multiAsset)) returns(bool) {
        MultiAsset ma = MultiAsset(_multiAsset);
        if (!ma.isCreated(_symbol)) {
            return false;
        }
        multiAsset = ma;
        symbol = _symbol;
        return true;
    }

    modifier onlyMultiAsset() {
        if (msg.sender == address(multiAsset)) {
            _
        }
    }

    function totalSupply() constant returns(uint) {
        return multiAsset.totalSupply(symbol);
    }

    function balanceOf(address _owner) constant returns(uint) {
        return multiAsset.balanceOf(_owner, symbol);
    }

    function allowance(address _from, address _spender) constant returns(uint) {
        return multiAsset.allowance(_from, _spender, symbol);
    }

    function transfer(address _to, uint _value) returns(bool) {
        return __transferWithReference(_to, _value, "");
    }

    function transferWithReference(address _to, uint _value, string _reference) returns(bool) {
        return __transferWithReference(_to, _value, _reference);
    }

    function __transferWithReference(address _to, uint _value, string _reference) private noValue() returns(bool) {
        return _isHuman() ?
            multiAsset.proxyTransferWithReference(_to, _value, symbol, _reference) :
            multiAsset.transferFromWithReference(msg.sender, _to, _value, symbol, _reference);
    }

    function transferToICAP(bytes32 _icap, uint _value) returns(bool) {
        return __transferToICAPWithReference(_icap, _value, "");
    }

    function transferToICAPWithReference(bytes32 _icap, uint _value, string _reference) returns(bool) {
        return __transferToICAPWithReference(_icap, _value, _reference);
    }

    function __transferToICAPWithReference(bytes32 _icap, uint _value, string _reference) private noValue() returns(bool) {
        return _isHuman() ?
            multiAsset.proxyTransferToICAPWithReference(_icap, _value, _reference) :
            multiAsset.transferFromToICAPWithReference(msg.sender, _icap, _value, _reference);
    }
    
    function transferFrom(address _from, address _to, uint _value) returns(bool) {
        return __transferFromWithReference(_from, _to, _value, "");
    }

    function transferFromWithReference(address _from, address _to, uint _value, string _reference) returns(bool) {
        return __transferFromWithReference(_from, _to, _value, _reference);
    }

    function __transferFromWithReference(address _from, address _to, uint _value, string _reference) private noValue() onlyHuman() returns(bool) {
        return multiAsset.proxyTransferFromWithReference(_from, _to, _value, symbol, _reference);
    }

    function transferFromToICAP(address _from, bytes32 _icap, uint _value) returns(bool) {
        return __transferFromToICAPWithReference(_from, _icap, _value, "");
    }

    function transferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference) returns(bool) {
        return __transferFromToICAPWithReference(_from, _icap, _value, _reference);
    }

    function __transferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference) private noValue() onlyHuman() returns(bool) {
        return multiAsset.proxyTransferFromToICAPWithReference(_from, _icap, _value, _reference);
    }

    function approve(address _spender, uint _value) noValue() onlyHuman() returns(bool) {
        return multiAsset.proxyApprove(_spender, _value, symbol);
    }

    function setCosignerAddress(address _cosigner) noValue() onlyHuman() returns(bool) {
        return multiAsset.proxySetCosignerAddress(_cosigner, symbol);
    }

    function emitTransfer(address _from, address _to, uint _value) onlyMultiAsset() {
        Transfer(_from, _to, _value);
    }

    function emitApprove(address _from, address _spender, uint _value) onlyMultiAsset() {
        Approve(_from, _spender, _value);
    }

    function sendToOwner() noValue() returns(bool) {
        address owner = multiAsset.owner(symbol);
        uint balance = this.balance;
        bool success = true;
        if (balance > 0) {
            success = _unsafeSend(owner, balance);
        }
        return multiAsset.transfer(owner, balanceOf(owner), symbol) && success;
    }
}

contract AmbiEnabled {
    Ambi public ambiC;
    bool public isImmortal;
    bytes32 public name;

    modifier checkAccess(bytes32 _role) {
        if(address(ambiC) != 0x0 && ambiC.hasRelation(name, _role, msg.sender)){
            _
        }
    }
    
    function getAddress(bytes32 _name) constant returns (address) {
        return ambiC.getNodeAddress(_name);
    }

    function setAmbiAddress(address _ambi, bytes32 _name) returns (bool){
        if(address(ambiC) != 0x0){
            return false;
        }
        Ambi ambiContract = Ambi(_ambi);
        if(ambiContract.getNodeAddress(_name)!=address(this)) {
            if (!ambiContract.addNode(_name, address(this))){
                return false;
            }
        }
        name = _name;
        ambiC = ambiContract;
        return true;
    }

    function immortality() checkAccess("owner") returns(bool) {
        isImmortal = true;
        return true;
    }

    function remove() checkAccess("owner") returns(bool) {
        if (isImmortal) {
            return false;
        }
        selfdestruct(msg.sender);
        return true;
    }
}

contract CryptoCarbon is Asset, AmbiEnabled {
    uint public txGasPriceLimit = 21000000000;
    uint public refundGas = 40000;
    uint public transferCallGas = 21000;
    uint public transferWithReferenceCallGas = 21000;
    uint public transferFromCallGas = 21000;
    uint public transferFromWithReferenceCallGas = 21000;
    uint public transferToICAPCallGas = 21000;
    uint public transferToICAPWithReferenceCallGas = 21000;
    uint public transferFromToICAPCallGas = 21000;
    uint public transferFromToICAPWithReferenceCallGas = 21000;
    uint public approveCallGas = 21000;
    uint public forwardCallGas = 21000;
    uint public setCosignerCallGas = 21000;
    uint public absMinFee;
    uint public feePercent; // set up in 1/100 of percent, 10 is 0.1%
    uint public absMaxFee;
    EtherTreasuryInterface public treasury;
    address public feeAddress;
    bool private __isAllowed;
    mapping(bytes32 => address) public allowedForwards;

    function setFeeStructure(uint _absMinFee, uint _feePercent, uint _absMaxFee) noValue() checkAccess("cron") returns (bool) {
        if(_feePercent > 10000 || _absMaxFee < _absMinFee) {
            return false;
        }
        absMinFee = _absMinFee;
        feePercent = _feePercent;
        absMaxFee = _absMaxFee;
        return true;
    }

    function setupFee(address _feeAddress) noValue() checkAccess("admin") returns(bool) {
        feeAddress = _feeAddress;
        return true;
    }

    function updateRefundGas() noValue() checkAccess("setup") returns(uint) {
        uint startGas = msg.gas;
        // just to simulate calculations
        uint refund = (startGas - msg.gas + refundGas) * tx.gasprice;
        if (tx.gasprice > txGasPriceLimit) {
            return 0;
        }
        // end
        if (!_refund(5000000000000000)) {
            return 0;
        }
        refundGas = startGas - msg.gas;
        return refundGas;
    }

    function setOperationsCallGas(
        uint _transfer,
        uint _transferFrom,
        uint _transferToICAP,
        uint _transferFromToICAP,
        uint _transferWithReference,
        uint _transferFromWithReference,
        uint _transferToICAPWithReference,
        uint _transferFromToICAPWithReference,
        uint _approve,
        uint _forward,
        uint _setCosigner
    )
        noValue()
        checkAccess("setup")
        returns(bool)
    {
        transferCallGas = _transfer;
        transferFromCallGas = _transferFrom;
        transferToICAPCallGas = _transferToICAP;
        transferFromToICAPCallGas = _transferFromToICAP;
        transferWithReferenceCallGas = _transferWithReference;
        transferFromWithReferenceCallGas = _transferFromWithReference;
        transferToICAPWithReferenceCallGas = _transferToICAPWithReference;
        transferFromToICAPWithReferenceCallGas = _transferFromToICAPWithReference;
        approveCallGas = _approve;
        forwardCallGas = _forward;
        setCosignerCallGas = _setCosigner;
        return true;
    }

    function setupTreasury(address _treasury, uint _txGasPriceLimit) checkAccess("admin") returns(bool) {
        if (_txGasPriceLimit == 0) {
            return _safeFalse();
        }
        treasury = EtherTreasuryInterface(_treasury);
        txGasPriceLimit = _txGasPriceLimit;
        if (msg.value > 0) {
            _safeSend(_treasury, msg.value);
        }
        return true;
    }

    function setForward(bytes4 _msgSig, address _forward) noValue() checkAccess("admin") returns(bool) {
        allowedForwards[sha3(_msgSig)] = _forward;
        return true;
    }

    function _stringGas(string _string) constant internal returns(uint) {
        return bytes(_string).length * 75; // ~75 gas per byte, empirical shown 68-72.
    }

    function _transferFee(address _feeFrom, uint _value, string _reference) internal returns(bool) {
        if (feeAddress == 0x0 || feeAddress == _feeFrom || _value == 0) {
            return true;
        }
        return multiAsset.transferFromWithReference(_feeFrom, feeAddress, _value, symbol, _reference);
    }

    function _returnFee(address _to, uint _value) internal returns(bool, bool) {
        if (feeAddress == 0x0 || feeAddress == _to || _value == 0) {
            return (false, true);
        }
        if (!multiAsset.transferFromWithReference(feeAddress, _to, _value, symbol, "Fee return")) {
            throw;
        }
        return (false, true);
    }

    function _applyRefund(uint _startGas) internal returns(bool) {
        uint refund = (_startGas - msg.gas + refundGas) * tx.gasprice;
        return _refund(refund);
    }

    function _refund(uint _value) internal returns(bool) {
        if (tx.gasprice > txGasPriceLimit) {
            return false;
        }
        return treasury.withdraw(tx.origin, _value);
    }

    function _allow() internal {
        __isAllowed = true;
    }

    function _disallow() internal {
        __isAllowed = false;
    }

    function calculateFee(uint _value) constant returns(uint) {
        uint fee = (_value * feePercent) / 10000;
        if (fee < absMinFee) {
            return absMinFee;
        }
        if (fee > absMaxFee) {
            return absMaxFee;
        }
        return fee;
    }

    function calculateFeeDynamic(uint _value, uint _additionalGas) constant returns(uint) {
        uint fee = calculateFee(_value);
        if (_additionalGas <= 7500) {
            return fee;
        }
        // Assuming that absMinFee covers at least 100000 gas refund, let's add another absMinFee
        // for every other 100000 additional gas.
        uint additionalFee = ((_additionalGas / 100000) + 1) * absMinFee;
        return fee + additionalFee;
    }

    function takeFee(address _feeFrom, uint _value, string _reference) noValue() checkAccess("fee") returns(bool) {
        return _transferFee(_feeFrom, _value, _reference);
    }

    function _transfer(address _to, uint _value) internal returns(bool, bool) {
        uint startGas = msg.gas + transferCallGas;
        uint fee = calculateFee(_value);
        if (!_transferFee(msg.sender, fee, "Transfer fee")) {
            return (false, false);
        }
        _allow();
        bool success = super.transfer(_to, _value);
        _disallow();
        if (!success) {
            return _returnFee(msg.sender, fee);
        }
        return (true, _applyRefund(startGas));
    }

    function _transferFrom(address _from, address _to, uint _value) internal returns(bool, bool) {
        uint startGas = msg.gas + transferFromCallGas;
        _allow();
        uint fee = calculateFee(_value);
        if (!_transferFee(_from, fee, "Transfer fee")) {
            return (false, false);
        }
        _allow();
        bool success = super.transferFrom(_from, _to, _value);
        _disallow();
        if (!success) {
            return _returnFee(_from, fee);
        }
        return (true, _applyRefund(startGas));
    }

    function _transferToICAP(bytes32 _icap, uint _value) internal returns(bool, bool) {
        uint startGas = msg.gas + transferToICAPCallGas;
        uint fee = calculateFee(_value);
        if (!_transferFee(msg.sender, fee, "Transfer fee")) {
            return (false, false);
        }
        _allow();
        bool success = super.transferToICAP(_icap, _value);
        _disallow();
        if (!success) {
            return _returnFee(msg.sender, fee);
        }
        return (true, _applyRefund(startGas));
    }

    function _transferFromToICAP(address _from, bytes32 _icap, uint _value) internal returns(bool, bool) {
        uint startGas = msg.gas + transferFromToICAPCallGas;
        uint fee = calculateFee(_value);
        if (!_transferFee(_from, fee, "Transfer fee")) {
            return (false, false);
        }
        _allow();
        bool success = super.transferFromToICAP(_from, _icap, _value);
        _disallow();
        if (!success) {
            return _returnFee(_from, fee);
        }
        return (true, _applyRefund(startGas));
    }

    function _transferWithReference(address _to, uint _value, string _reference) internal returns(bool, bool) {
        uint startGas = msg.gas + transferWithReferenceCallGas;
        uint additionalGas = _stringGas(_reference);
        uint fee = calculateFeeDynamic(_value, additionalGas);
        if (!_transferFee(msg.sender, fee, "Transfer fee")) {
            return (false, false);
        }
        _allow();
        bool success = super.transferWithReference(_to, _value, _reference);
        _disallow();
        if (!success) {
            return _returnFee(msg.sender, fee);
        }
        return (true, _applyRefund(startGas + additionalGas));
    }

    function _transferFromWithReference(address _from, address _to, uint _value, string _reference) internal returns(bool, bool) {
        uint startGas = msg.gas + transferFromWithReferenceCallGas;
        uint additionalGas = _stringGas(_reference);
        uint fee = calculateFeeDynamic(_value, additionalGas);
        if (!_transferFee(_from, fee, "Transfer fee")) {
            return (false, false);
        }
        _allow();
        bool success = super.transferFromWithReference(_from, _to, _value, _reference);
        _disallow();
        if (!success) {
            return _returnFee(_from, fee);
        }
        return (true, _applyRefund(startGas + additionalGas));
    }

    function _transferToICAPWithReference(bytes32 _icap, uint _value, string _reference) internal returns(bool, bool) {
        uint startGas = msg.gas + transferToICAPWithReferenceCallGas;
        uint additionalGas = _stringGas(_reference);
        uint fee = calculateFeeDynamic(_value, additionalGas);
        if (!_transferFee(msg.sender, fee, "Transfer fee")) {
            return (false, false);
        }
        _allow();
        bool success = super.transferToICAPWithReference(_icap, _value, _reference);
        _disallow();
        if (!success) {
            return _returnFee(msg.sender, fee);
        }
        return (true, _applyRefund(startGas + additionalGas));
    }

    function _transferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference) internal returns(bool, bool) {
        uint startGas = msg.gas + transferFromToICAPWithReferenceCallGas;
        uint additionalGas = _stringGas(_reference);
        uint fee = calculateFeeDynamic(_value, additionalGas);
        if (!_transferFee(_from, fee, "Transfer fee")) {
            return (false, false);
        }
        _allow();
        bool success = super.transferFromToICAPWithReference(_from, _icap, _value, _reference);
        _disallow();
        if (!success) {
            return _returnFee(_from, fee);
        }
        return (true, _applyRefund(startGas + additionalGas));
    }

    function _approve(address _spender, uint _value) internal returns(bool, bool) {
        uint startGas = msg.gas + approveCallGas;
        // Don't take fee when enabling fee taking.
        // Don't refund either.
        if (_spender == address(this)) {
            return (super.approve(_spender, _value), false);
        }
        uint fee = calculateFee(0);
        if (!_transferFee(msg.sender, fee, "Approve fee")) {
            return (false, false);
        }
        _allow();
        bool success = super.approve(_spender, _value);
        _disallow();
        if (!success) {
            return _returnFee(msg.sender, fee);
        }
        return (true, _applyRefund(startGas));
    }

    function _setCosignerAddress(address _cosigner) internal returns(bool, bool) {
        uint startGas = msg.gas + setCosignerCallGas;
        uint fee = calculateFee(0);
        if (!_transferFee(msg.sender, fee, "Cosigner fee")) {
            return (false, false);
        }
        if (!super.setCosignerAddress(_cosigner)) {
            return _returnFee(msg.sender, fee);
        }
        return (true, _applyRefund(startGas));
    }

    function transfer(address _to, uint _value) returns(bool) {
        bool success;
        (success,) = _transfer(_to, _value);
        return success;
    }

    function transferFrom(address _from, address _to, uint _value) returns(bool) {
        bool success;
        (success,) = _transferFrom(_from, _to, _value);
        return success;
    }

    function transferToICAP(bytes32 _icap, uint _value) returns(bool) {
        bool success;
        (success,) = _transferToICAP(_icap, _value);
        return success;
    }

    function transferFromToICAP(address _from, bytes32 _icap, uint _value) returns(bool) {
        bool success;
        (success,) = _transferFromToICAP(_from, _icap, _value);
        return success;
    }

    function transferWithReference(address _to, uint _value, string _reference) returns(bool) {
        bool success;
        (success,) = _transferWithReference(_to, _value, _reference);
        return success;
    }

    function transferFromWithReference(address _from, address _to, uint _value, string _reference) returns(bool) {
        bool success;
        (success,) = _transferFromWithReference(_from, _to, _value, _reference);
        return success;
    }

    function transferToICAPWithReference(bytes32 _icap, uint _value, string _reference) returns(bool) {
        bool success;
        (success,) = _transferToICAPWithReference(_icap, _value, _reference);
        return success;
    }

    function transferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference) returns(bool) {
        bool success;
        (success,) = _transferFromToICAPWithReference(_from, _icap, _value, _reference);
        return success;
    }

    function approve(address _spender, uint _value) returns(bool) {
        bool success;
        (success,) = _approve(_spender, _value);
        return success;
    }

    function setCosignerAddress(address _cosigner) returns(bool) {
        bool success;
        (success,) = _setCosignerAddress(_cosigner);
        return success;
    }

    function checkTransfer(address _to, uint _value) constant returns(bool, bool) {
        return _transfer(_to, _value);
    }

    function checkTransferFrom(address _from, address _to, uint _value) constant returns(bool, bool) {
        return _transferFrom(_from, _to, _value);
    }

    function checkTransferToICAP(bytes32 _icap, uint _value) constant returns(bool, bool) {
        return _transferToICAP(_icap, _value);
    }

    function checkTransferFromToICAP(address _from, bytes32 _icap, uint _value) constant returns(bool, bool) {
        return _transferFromToICAP(_from, _icap, _value);
    }

    function checkTransferWithReference(address _to, uint _value, string _reference) constant returns(bool, bool) {
        return _transferWithReference(_to, _value, _reference);
    }

    function checkTransferFromWithReference(address _from, address _to, uint _value, string _reference) constant returns(bool, bool) {
        return _transferFromWithReference(_from, _to, _value, _reference);
    }

    function checkTransferToICAPWithReference(bytes32 _icap, uint _value, string _reference) constant returns(bool, bool) {
        return _transferToICAPWithReference(_icap, _value, _reference);
    }

    function checkTransferFromToICAPWithReference(address _from, bytes32 _icap, uint _value, string _reference) constant returns(bool, bool) {
        return _transferFromToICAPWithReference(_from, _icap, _value, _reference);
    }

    function checkApprove(address _spender, uint _value) constant returns(bool, bool) {
        return _approve(_spender, _value);
    }

    function checkSetCosignerAddress(address _cosigner) constant returns(bool, bool) {
        return _setCosignerAddress(_cosigner);
    }

    function checkForward(bytes _data) constant returns(bool, bool) {
        return _forward(allowedForwards[sha3(_data[0], _data[1], _data[2], _data[3])], _data);
    }

    function _forward(address _to, bytes _data) internal returns(bool, bool) {
        uint startGas = msg.gas + forwardCallGas;
        uint additionalGas = (_data.length * 50);  // 50 gas per byte;
        if (_to == 0x0) {
            return (false, _safeFalse());
        }
        uint fee = calculateFeeDynamic(0, additionalGas);
        if (!_transferFee(msg.sender, fee, "Forward fee")) {
            return (false, false);
        }
        if (!_to.call.value(msg.value)(_data)) {
            _returnFee(msg.sender, fee);
            return (false, _safeFalse());
        }
        return (true, _applyRefund(startGas + additionalGas));
    }

    function () returns(bool) {
        bool success;
        (success,) = _forward(allowedForwards[sha3(msg.sig)], msg.data);
        return success;
    }

    function emitTransfer(address _from, address _to, uint _value) onlyMultiAsset() {
        Transfer(_from, _to, _value);
        if (__isAllowed) {
            return;
        }
        if (feeAddress == 0x0 || _to == feeAddress || _from == feeAddress) {
            return;
        }
        if (_transferFee(_from, calculateFee(_value), "Transfer fee")) {
            return;
        }
        throw;
    }

    function emitApprove(address _from, address _spender, uint _value) onlyMultiAsset() {
        Approve(_from, _spender, _value);
        if (__isAllowed) {
            return;
        }
        if (feeAddress == 0x0 || _spender == address(this)) {
            return;
        }
        if (_transferFee(_from, calculateFee(0), "Approve fee")) {
            return;
        }
        throw;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_icap","type":"bytes32"},{"name":"_value","type":"uint256"}],"name":"checkTransferFromToICAP","outputs":[{"name":"","type":"bool"},{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"multiAsset","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_msgSig","type":"bytes4"},{"name":"_forward","type":"address"}],"name":"setForward","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_icap","type":"bytes32"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"checkTransferToICAPWithReference","outputs":[{"name":"","type":"bool"},{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"bytes32"}],"type":"function"},{"constant":true,"inputs":[],"name":"setCosignerCallGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_data","type":"bytes"}],"name":"checkForward","outputs":[{"name":"","type":"bool"},{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_stackDepthLib","type":"address"}],"name":"setupStackDepthLib","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"transferFromToICAPCallGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"txGasPriceLimit","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"approveCallGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"bytes32"}],"name":"getAddress","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"emitApprove","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"emitTransfer","outputs":[],"type":"function"},{"constant":false,"inputs":[],"name":"updateRefundGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_feeAddress","type":"address"}],"name":"setupFee","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_multiAsset","type":"address"},{"name":"_symbol","type":"bytes32"}],"name":"init","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_treasury","type":"address"},{"name":"_txGasPriceLimit","type":"uint256"}],"name":"setupTreasury","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"feeAddress","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[],"name":"absMaxFee","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"refundGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"ambiC","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[],"name":"transferToICAPWithReferenceCallGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"transferFromCallGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"treasury","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"transferFromWithReference","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_transfer","type":"uint256"},{"name":"_transferFrom","type":"uint256"},{"name":"_transferToICAP","type":"uint256"},{"name":"_transferFromToICAP","type":"uint256"},{"name":"_transferWithReference","type":"uint256"},{"name":"_transferFromWithReference","type":"uint256"},{"name":"_transferToICAPWithReference","type":"uint256"},{"name":"_transferFromToICAPWithReference","type":"uint256"},{"name":"_approve","type":"uint256"},{"name":"_forward","type":"uint256"},{"name":"_setCosigner","type":"uint256"}],"name":"setOperationsCallGas","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[],"name":"sendToOwner","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"forwardCallGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_icap","type":"bytes32"},{"name":"_value","type":"uint256"}],"name":"transferToICAP","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"isImmortal","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_icap","type":"bytes32"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"transferToICAPWithReference","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_ambi","type":"address"},{"name":"_name","type":"bytes32"}],"name":"setAmbiAddress","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"transferFromWithReferenceCallGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"feePercent","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_cosigner","type":"address"}],"name":"setCosignerAddress","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"checkTransfer","outputs":[{"name":"","type":"bool"},{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_icap","type":"bytes32"},{"name":"_value","type":"uint256"}],"name":"checkTransferToICAP","outputs":[{"name":"","type":"bool"},{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"allowedForwards","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"bytes32"}],"type":"function"},{"constant":true,"inputs":[{"name":"_value","type":"uint256"}],"name":"calculateFee","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"transferWithReferenceCallGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_icap","type":"bytes32"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"transferFromToICAPWithReference","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"transferFromToICAPWithReferenceCallGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_icap","type":"bytes32"},{"name":"_value","type":"uint256"}],"name":"transferFromToICAP","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[],"name":"remove","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"transferWithReference","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"absMinFee","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"transferToICAPCallGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"_cosigner","type":"address"}],"name":"checkSetCosignerAddress","outputs":[{"name":"","type":"bool"},{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_icap","type":"bytes32"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"checkTransferFromToICAPWithReference","outputs":[{"name":"","type":"bool"},{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"transferCallGas","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"_value","type":"uint256"},{"name":"_additionalGas","type":"uint256"}],"name":"calculateFeeDynamic","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"checkTransferFrom","outputs":[{"name":"","type":"bool"},{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"checkTransferFromWithReference","outputs":[{"name":"","type":"bool"},{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"checkTransferWithReference","outputs":[{"name":"","type":"bool"},{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_feeFrom","type":"address"},{"name":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"takeFee","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_absMinFee","type":"uint256"},{"name":"_feePercent","type":"uint256"},{"name":"_absMaxFee","type":"uint256"}],"name":"setFeeStructure","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"checkApprove","outputs":[{"name":"","type":"bool"},{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[],"name":"immortality","outputs":[{"name":"","type":"bool"}],"type":"function"},{"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":"from","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approve","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526000805460a060020a60ff02191681556404e3b29200600555619c40600655615208600781905560088190556009819055600a819055600b819055600c819055600d819055600e819055600f8190556010819055601155612d3490819061006a90396000f3606060405236156102e95760e060020a6000350462a7d6b3811461038e578063029a8bf7146103c257806302aa274b146103d4578063058026d01461041e57806306fdde031461049a5780630787006d146104a3578063095ea7b3146104ac578063119aa5c8146104f757806312ab72421461063157806312b0b3ca1461066457806318160ddd1461066d5780631a1feae1146106e357806321538acb146106ec57806321f8a721146106f5578063233850891461076d57806323b872dd146107f457806323de66511461083b57806324c65f35146108c157806326881518146108dd5780632cc0b254146108f85780633f2f15961461091857806341275358146109c3578063431e83ce146109d55780634f6d3aed146109de57806352959d16146109e75780635b36fea6146109f9578063604f87d814610a0257806361d027b314610a0b5780636461fe3914610a1d5780636522893414610a955780636620a93514610ad157806370a0823114610aef57806371ce9a4a14610b77578063733480b714610b8057806377f18ed314610bb057806377fe38a414610bc35780637948f52314610c1e5780637afa838814610c435780637fd6f15c14610c4c57806382fc49b814610c5557806388e072b214610c805780638e4afa5114610cb05780639407a68814610cc757806395d89b4114610ce857806399a5d74714610cf1578063a39385de14610d1a578063a48a663c14610d23578063a4b7459a14610d9b578063a525f42c14610da4578063a7f4377914610dbf578063a9059cbb14610e6f578063ac35caee14610e86578063ace3088314610efc578063afa560b014610f05578063b623f5e514610f0e578063bd8c1d3314610f21578063be78bb7a14610f7e578063c1cc077514610f87578063c5575ef014610fa0578063c6e0c90814610fbb578063cbcaacab14611018578063d422e4e014611073578063dd62ed3e146110d4578063e5782fd514611166578063ede8ebf314611187578063f7c3ee7a1461119e575b61125160408051600160e060020a031960008035919091168252825191829003600401822081526017602090815283822054601f369081018390048302850183019095528484529193849361126593600160a060020a03169290918591819084018382808284375050505050505b600060006000600060006010600050545a0192508551603202915086600160a060020a0316600014156112cb5760006112bc6112de565b611270600435602435604435600060006114808585855b60006000600060006000600d600050545a019250611fc986610cf8565b61128b600154600160a060020a031681565b6112516004356024356000600034111561149b5761149b33345b61208882825b604051600090600160a060020a0384169083908381818185876185025a03f1925050509050611495565b604080516020604435600481810135601f8101849004840285018401909552848452611270948135946024803595939460649492939101918190840183828082843750949650505050505050600060006114808585855b600060006000600060006000600c600050545a0193506120a8875b8051604b0261157d565b6112a860045481565b6112a860115481565b6112516004356024356000600061148c84845b60006000600060006000600f600050545a01925030600160a060020a031687600160a060020a031614156121535761215d878761216e565b6040805160206004803580820135601f81018490048402850184019095528484526112709491936024939092918401919081908401838280828437509496505050505050506000600061156b6017600050600085600081518110156100025790602001015160f860020a900460f860020a0286600181518110156100025790602001015160f860020a900460f860020a0287600281518110156100025790602001015160f860020a900460f860020a02886003815181101561000257604080516023909301517fff0000000000000000000000000000000000000000000000000000000000000096871684529486166001840152928516600283015260f860020a938490049093029390931691830191909152805191829003600401909120909152602091909152822054600160a060020a031684610357565b61125160043560008054600160a060020a03168082141561157b57508054600160a060020a03191682179055600161157d565b6112a8600d5481565b6112a8604080516001546002547fb524abcf00000000000000000000000000000000000000000000000000000000835260048301529151600092600160a060020a03169163b524abcf916024828101926020929190829003018187876161da5a03f1156100025750506040515191506115869050565b6112a860055481565b6112a8600f5481565b61128b600435604080516003547f2ade6c36000000000000000000000000000000000000000000000000000000008252600482018490529151600092600160a060020a031691632ade6c36916024828101926020929190829003018187876161da5a03f11561000257505060405151915061157d9050565b6112ba600435602435604435600154600160a060020a039081163390911614156107ef5781600160a060020a031683600160a060020a03167f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e836040518082815260200191505060405180910390a360165460a060020a900460ff1615611589575b505050565b611251600435602435604435600060006116148585855b600060006000600060006009600050545a01925061220a5b6016805460a060020a60ff02191660a060020a179055565b6112ba600435602435604435600154600160a060020a039081163390911614156107ef5781600160a060020a031683600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360165460a060020a900460ff1615611623576107ef565b6112a860006000600060003411156117125761171233346103ee565b611251600435600060003411156117fb576117fb33346103ee565b6112516004356024356000600060003411156118a6576118a633346103ee565b61125160043560243560035460009060d960020a6430b236b4b70290600160a060020a031682148015906109ad5750604080516003546004805460e460020a630a1add51028452908301526024820184905233600160a060020a039081166044840152925192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b156114935782600014156119555761197f6112de565b61128b601654600160a060020a031681565b6112a860145481565b6112a860065481565b61128b600354600160a060020a031681565b6112a8600c5481565b6112a860095481565b61128b601554600160a060020a031681565b604080516020606435600481810135601f81018490048402850184019095528484526112519481359460248035956044359560849492019190819084018382808284375094965050505050505060006000611991868686865b600060006000600060006000600a600050545a01935061232b87610490565b61125160043560243560443560643560843560a43560c43560e435610104356101243561014435600060003411156119ad576119ad33346103ee565b61125160006000600060006000341115611a7d57611a7d33346103ee565b6112a86004355b604080516001546002547f4d30b6be000000000000000000000000000000000000000000000000000000008352600160a060020a038581166004850152602484019190915292516000939190911691634d30b6be916044828101926020929190829003018187876161da5a03f11561000257505060405151915061157d9050565b6112a860105481565b6112516004356024356000600061148c84845b60006000600060006000600b600050545a0192506123c786610cf8565b61125160035460a060020a900460ff1681565b604080516020604435600481810135601f810184900484028501840190955284845261125194813594602480359593946064949293910191819084018382808284375094965050505050505060006000611614858585610475565b6112516004356024356003546000908190600160a060020a03168114611b2d57611493565b6112a8600a5481565b6112a860135481565b61125160043560006000611574835b60006000600060006011600050545a01915061244b6000610cf8565b61127060043560243560006000611c2284845b600060006000600060006007600050545a0192506124d886610cf8565b61127060043560243560006000611c228484610b93565b61128b600435601760205260009081526040902054600160a060020a031681565b6112a860025481565b6112a86004355b6013546012546000916127109084020490811015611c2e57601254915061157b565b6112a860085481565b604080516020606435600481810135601f81018490048402850184019095528484526112519481359460248035956044359560849492019190819084018382808284375094965050505050505060006000611991868686865b600060006000600060006000600e600050545a01935061256187610490565b6112a8600e5481565b611251600435602435604435600060006116148585856103a5565b61125160035460009060d960020a6437bbb732b90290600160a060020a03168214801590610e4e5750604080516003546004805460e460020a630a1add51028452908301526024820184905233600160a060020a039081166044840152925192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b1561126c5760035460a060020a900460ff1615611c4a576000915050611586565b6112516004356024356000600061148c8484610c93565b604080516020604435600481810135601f8101849004840285018401909552848452611251948135946024803595939460649492939101918190840183828082843750949650505050505050600060006116148585855b6000600060006000600060006008600050545a0193506125d587610490565b6112a860125481565b6112a8600b5481565b6112706004356000600061156b83610c64565b604080516020606435600481810135601f81018490048402850184019095528484526112709481359460248035956044359560849492019190819084018382808284375094965050505050505060006000611c5686868686610d7c565b6112a860075481565b6112a86004356024355b600060006000611c6385610cf8565b6112706004356024356044356000600061148085858561080b565b604080516020606435600481810135601f81018490048402850184019095528484526112709481359460248035956044359560849492019190819084018382808284375094965050505050505060006000611c5686868686610a76565b604080516020604435600481810135601f810184900484028501840190955284845261127094813594602480359593946064949293910191819084018382808284375094965050505050505060006000611480858585610edd565b604080516020604435600481810135601f810184900484028501840190955284845261125194813594602480359593946064949293910191819084018382808284375094965050505050505060006000341115611c8157611c8133346103ee565b6112a8600435602435604080516001546002547f1c8d5d38000000000000000000000000000000000000000000000000000000008352600160a060020a0386811660048501528581166024850152604484019190915292516000939190911691631c8d5d38916064828101926020929190829003018187876161da5a03f1156100025750506040515191506114959050565b61125160043560243560443560006000341115611d3157611d3133346103ee565b61127060043560243560006000611c2284846104bf565b61125160035460009060d960020a6437bbb732b90290600160a060020a0316821480159061122d5750604080516003546004805460e460020a630a1add51028452908301526024820184905233600160a060020a039081166044840152925192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b1561126c5750506003805460a060020a60ff02191660a060020a1790556001611586565b604080519115158252519081900360200190f35b5091508190505b5090565b60408051921515835290151560208301528051918290030190f35b60408051600160a060020a03929092168252519081900360200190f35b60408051918252519081900360200190f35b005b945094505b5050509250929050565b6112f3600083610f91565b505060006112bc5b600060003411156115825761158233346103ee565b90506113763382604060405190810160405280600b81526020017f466f7277617264206665650000000000000000000000000000000000000000008152602001505b601654600090600160a060020a031681148061135e5750601654600160a060020a038581169116145b806113695750826000145b15611e0c57506001611c7a565b15156113895760006000945094506112c1565b86600160a060020a03163487604051808280519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156113e25780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876185025a03f192505050151561144e576112d633825b6016546000908190600160a060020a03168114806114325750601654600160a060020a038581169116145b8061143d5750826000145b15611ef65750600090506001611c27565b60016112bc8385015b600060003a6006600050545a850301029050611fb2815b6005546000903a111561229e5761157d565b91509150935093915050565b5091508190505b505b92915050565b60035460d960020a6430b236b4b70290600160a060020a03166000148015906115265750604080516003546004805460e460020a630a1add51028452908301526024820184905233600160a060020a039081166044840152925192169163a1add5109160648181019260209290919082900301816000876161da5a03f1156100025750506040515190505b1561149357505060408051600160e060020a031984168152815190819003600401902060009081526017602052208054600160a060020a031916821790556001611495565b91509150915091565b5091508190505b505b919050565b5060005b90565b601654600160a060020a0316600014806115b4575030600160a060020a031682600160a060020a0316145b156115be576107ef565b6115cc836115d66000610cf8565b1561160f576107ef565b60408051808201909152600b81527f417070726f7665206665650000000000000000000000000000000000000000006020820152611335565b610002565b5091508190505b509392505050565b601654600160a060020a03166000148061164b5750601654600160a060020a03908116908316145b806116645750601654600160a060020a03908116908416145b1561166e576107ef565b6115cc8361167b83610cf8565b60408051808201909152600c815260a060020a6b5472616e7366657220666565026020820152611335565b6002600050546040518460e060020a0281526004018084600160a060020a031681526020018381526020018260001916815260200193505050506020604051808303816000876161da5a03f11561000257505060405151905080156117085750805b93505b505b505090565b60035460dc60020a6407365747570290600160a060020a031660001480159061179d5750604080516003546004805460e460020a630a1add51028452908301526024820184905233600160a060020a039081166044840152925192169163a1add5109160648181019260209290919082900301816000876161da5a03f1156100025750506040515190505b1561170b575a92503a6006600050545a8503010291506005600050543a11156117ca57600093505061170d565b6117da6611c37937e0800061146e565b15156117ea57600093505061170d565b5a83036006819055935061170d9050565b60035460d960020a6430b236b4b70290600160a060020a03166000148015906118865750604080516003546004805460e460020a630a1add51028452908301526024820184905233600160a060020a039081166044840152925192169163a1add5109160648181019260209290919082900301816000876161da5a03f1156100025750506040515190505b1561157b57505060168054600160a060020a03191682179055600161157d565b600154600160a060020a0316600081141561192e5784915081600160a060020a0316632f553d31856040518260e060020a02815260040180826000191681526020019150506020604051808303816000876161da5a03f1156100025750506040515115159050611936576000925050611493565b50601254620186a084046001010280820192505b505092915050565b5060018054600160a060020a0319168217815560028490559150611493565b60158054600160a060020a03191685179055600583905560003411156119875761198784346103ee565b915050611495565b6001915050611495565b509695505050505050565b505b9b9a5050505050505050505050565b60035460dc60020a6407365747570290600160a060020a0316600014801590611a385750604080516003546004805460e460020a630a1add51028452908301526024820184905233600160a060020a039081166044840152925192169163a1add5109160648181019260209290919082900301816000876161da5a03f1156100025750506040515190505b1561199c57505060078b905560098a9055600b899055600d8890556008879055600a869055600c859055600e849055600f83905560108290556011819055600161199e565b604080516001546002547f02571be300000000000000000000000000000000000000000000000000000000835260048301529151600160a060020a0392909216916302571be39160248181019260209290919082900301816000876161da5a03f115610002575050604051519350505030600160a060020a031631905060016000821115611b1257611b0f83836103f4565b90505b600154600160a060020a03166357cfeeee846116a681610af6565b83905030600160a060020a031681600160a060020a0316632ade6c36856040518260e060020a02815260040180826000191681526020019150506020604051808303816000876161da5a03f11561000257505060405151600160a060020a03169091149050611c025780600160a060020a0316637684937684306040518360e060020a028152600401808360001916815260200182600160a060020a03168152602001925050506020604051808303816000876161da5a03f1156100025750506040515115159050611c025760009150611493565b600483905560038054600160a060020a0319168217905560019150611493565b915091505b9250929050565b601454811115611c4257601454915061157b565b80915061157b565b33600160a060020a0316ff5b9150915094509492505050565b9150611d4c841161191a5781925061192e565b9150505b9392505050565b6003547f666565000000000000000000000000000000000000000000000000000000000090600160a060020a0316600014801590611d215750604080516003546004805460e460020a630a1add51028452908301526024820184905233600160a060020a039081166044840152925192169163a1add5109160648181019260209290919082900301816000876161da5a03f1156100025750506040515190505b1561161b57611c76858585611335565b6003547f63726f6e0000000000000000000000000000000000000000000000000000000090600160a060020a0316600014801590611dd15750604080516003546004805460e460020a630a1add51028452908301526024820184905233600160a060020a039081166044840152925192169163a1add5109160648181019260209290919082900301816000876161da5a03f1156100025750506040515190505b1561161b57612710841180611de557508483105b15611df4576000915050611c7a565b50506012839055601382905560148190556001611c7a565b60165460405160015460025460e060020a6331c6c4cf028352600160a060020a03888116600485810191825295821660248601819052604486018a90526064860184905260a060848701908152895160a4880152895195909316966331c6c4cf968c9692958c9590948c949093919260c40191602086810192918291859183918691600091601f850104600f02600301f150905090810190601f168015611ec75780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303816000876161da5a03f115610002575050604051519150611c7a9050565b6016546040805160015460025460e060020a6331c6c4cf028352600160a060020a039485166004840152888516602484015260448301889052606483015260a06084830152600a60a48301527f4665652072657475726e0000000000000000000000000000000000000000000060c4830152915191909216916331c6c4cf9160e480830192602092919082900301816000876161da5a03f1156100025750506040515115159050611fa657610002565b50600090506001611c27565b915061157b565b945094505b505050935093915050565b91506120018883604060405190810160405280600c815260200160a060020a6b5472616e736665722066656502815260200150611335565b1515612014576000600094509450611fbe565b61201c610823565b612054888888600061272684848460206040519081016040528060008152602001505b6000600034111561287c5761287c33346103ee565b905061206c5b6016805460a060020a60ff0219169055565b80151561207d57611fb98883611407565b6001611fb984611457565b151561209357610002565b5050565b955095505b50505050935093915050565b92506120b48884610f91565b91506120ec3383604060405190810160405280600c815260200160a060020a6b5472616e736665722066656502815260200150611335565b15156120ff57600060009550955061209c565b612107610823565b61212b89898960006127268484845b6000600034111561296a5761296a33346103ee565b905061213561205a565b801515612146576120973383611407565b6001612097848601611457565b6121836000610cf8565b6000945094506112c1565b6121e487875b6000600034111561272d5761272d33346103ee565b91506121c93383604060405190810160405280600b81526020017f417070726f766520666565000000000000000000000000000000000000000000815260200150611335565b15156121dc5760006000945094506112c1565b612168610823565b90506121ee61205a565b8015156121ff576112bc3383611407565b60016112bc84611457565b61221386610cf8565b915061224b8883604060405190810160405280600c815260200160a060020a6b5472616e736665722066656502815260200150611335565b151561225e576000600094509450611fbe565b612266610823565b612054888888600061272684848460206040519081016040528060008152602001505b60006000341115612a4a57612a4a33346103ee565b604080516015547ff3fef3a300000000000000000000000000000000000000000000000000000000825232600160a060020a03908116600484015260248301869052925192169163f3fef3a39160448082019260209290919082900301816000876161da5a03f11561000257505060405151915061157d9050565b955095505b5050505094509492505050565b92506123378884610f91565b915061236f8a83604060405190810160405280600c815260200160a060020a6b5472616e736665722066656502815260200150611335565b151561238257600060009550955061231e565b61238a610823565b61239f8a8a8a8a60006127df85858585612289565b90506123a961205a565b8015156123ba576123198a83611407565b6001612319848601611457565b91506123ff3383604060405190810160405280600c815260200160a060020a6b5472616e736665722066656502815260200150611335565b15156124125760006000945094506112c1565b61241a610823565b6121e4878760006127ea83836020604051908101604052806000815260200150612116565b935093505b5050915091565b90506124913382604060405190810160405280600c81526020017f436f7369676e6572206665650000000000000000000000000000000000000000815260200150611335565b15156124a4576000600093509350612444565b6124bd85600060003411156127f1576127f133346103ee565b15156124cd5761243f3382611407565b600161243f83611457565b91506125103383604060405190810160405280600c815260200160a060020a6b5472616e736665722066656502815260200150611335565b15156125235760006000945094506112c1565b61252b610823565b6121e4878760006127ea838360206040519081016040528060008152602001505b60006000341115612b4e57612b4e33346103ee565b925061256d8884610f91565b91506125a58a83604060405190810160405280600c815260200160a060020a6b5472616e736665722066656502815260200150611335565b15156125b857600060009550955061231e565b6125c0610823565b61239f8a8a8a8a60006127df8585858561203f565b92506125e18884610f91565b91506126193383604060405190810160405280600c815260200160a060020a6b5472616e736665722066656502815260200150611335565b151561262c57600060009550955061209c565b612634610823565b61212b898989600061272684848461254c565b61297257600160009054906101000a9004600160a060020a0316600160a060020a031663a48a663c338686866040518560e060020a0281526004018085600160a060020a0316815260200184600019168152602001838152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156126fe5780820380516001836020036101000a031916815260200191505b50955050505050506020604051808303816000876161da5a03f1156100025750506040515190505b9050611c7a565b6127555b6000612a42600032600160a060020a031633600160a060020a031614159050611586565b1561149557604080516001546002547f4f09eba7000000000000000000000000000000000000000000000000000000008352600160a060020a0387811660048501526024840187905260448401919091529251921691634f09eba79160648181019260209290919082900301816000876161da5a03f1156100025750506040515191506114959050565b90505b949350505050565b9050611495565b6127f9612731565b1561157d57604080516001546002547fe82b7cb2000000000000000000000000000000000000000000000000000000008352600160a060020a0386811660048501526024840191909152925192169163e82b7cb29160448181019260209290919082900301816000876161da5a03f11561000257505060405151915061157d9050565b612884612731565b156127e257600160009054906101000a9004600160a060020a0316600160a060020a031663ea98e540868686866040518560e060020a0281526004018085600160a060020a0316815260200184600019168152602001838152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f16801561293c5780820380516001836020036101000a031916815260200191505b50955050505050506020604051808303816000876161da5a03f1156100025750506040515191506127e29050565b612647612731565b600160009054906101000a9004600160a060020a0316600160a060020a031663c54876618585856040518460e060020a0281526004018084600019168152602001838152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f168015612a155780820380516001836020036101000a031916815260200191505b509450505050506020604051808303816000876161da5a03f1156100025750506040515190509050611c7a565b159050611586565b612a52612731565b156127e257600160009054906101000a9004600160a060020a0316600160a060020a031663f0cbe059868686600260005054876040518660e060020a0281526004018086600160a060020a0316815260200185600160a060020a0316815260200184815260200183600019168152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f168015612b1f5780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303816000876161da5a03f1156100025750506040515191506127e29050565b612b56612731565b612c4f57600160009054906101000a9004600160a060020a0316600160a060020a03166331c6c4cf338686600260005054876040518660e060020a0281526004018086600160a060020a0316815260200185600160a060020a0316815260200184815260200183600019168152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f168015612c225780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303816000876161da5a03f115610002575050604051519050612726565b600160009054906101000a9004600160a060020a0316600160a060020a03166364ef212e8585600260005054866040518560e060020a0281526004018085600160a060020a0316815260200184815260200183600019168152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156126fe5780820380516001836020036101000a0319168152602001915050955050505050506020604051808303816000876161da5a03f1156100025750506040515190509050611c7a56

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.