Sponsored:   HOLD IT | CRED IT | PROF IT - #INLOCK we trust. Join here.
 Latest 25 txns From a total of 57059 Transactions

TxHash Age From To Value [TxFee]
0x4127693139ebb6979acac827df9550454fb3fdd65f9193a5398331eab8ce2b112 hrs 30 mins ago0x28ebe764b8f9a853509840645216d3c2c0fd774b  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000693504
0x48b5b2e36b4c850db3c9c49d761434fa2ef5a50c6f4828814174d121a8750ecf2 hrs 31 mins ago0x28ebe764b8f9a853509840645216d3c2c0fd774b  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00048
0x5742dae1e2781c53130761df09e1e1dea9616fbeaa82d6d89470072ced55d7226 hrs 14 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126112
0x421b6df23da0e9f465e80cf65072a04fdd9730a47cc2f3717f129b86f625a45210 hrs 54 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126112
0xf7be9efff64f81fb84b97a46507fe29c4dbde4d6de08189656bfb2e67169b7521 day 2 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00175916
0xe00efbe25e21be594cf136fce0ff84b735ba0257d8551765437ef1f906812b471 day 2 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00175916
0x0472f1d6e99a33d3826f37ae87c07ded0d51c68c9ade9dc6782518e2068507471 day 2 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00175916
0x0ece9c3042dd63f3ee87a9bc19ceb1a5aec3ea79f1ecd0fe733a8427dc190f041 day 6 hrs ago0x62c674b4e159c79632c4f87826ff9047de8dab18  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00188436
0xf54e2f645a6d62df13069cc989a74375b5fbd63beca3dbbc5bfe257e88df42661 day 6 hrs ago0x62c674b4e159c79632c4f87826ff9047de8dab18  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000945624
0x0789bbbea4b63dfc46065786e201c7722bc8f7e1ec09fb4a656871e97529daa31 day 10 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001754207
0xa3bada77891b59859dea7a2f7bbcd80cc7f2d1bfd5d24d8888c2d6bcbe10f0f91 day 11 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126944
0xeae18933feb75e89ab61dbab439911c0d9d97bd0a0e36b8e06fff33aa55c7ef81 day 14 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001916655
0x2abd69b4fb46549e0a7b5467cd3912bab935962853dcb509bfec0d9b0b72e8521 day 22 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126112
0x800a7230b7e2624c00e4a4c9e1252adf02ee4e75aaa9b56fde62ff784112d4631 day 22 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00175916
0x8c84aa50e26887e41dd7d89eb9d7286c9a249c8d452c2efb25dad650f2a8ca5c2 days 29 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126944
0xdda42cc5a30f6c8e3e184e11ddae43f4ab484aacdf7b154630cce874cda98eec2 days 33 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126944
0x86becc7aa283294dd564e9820668ad81876c06a86f762a2356cf1b11ffb8ff732 days 42 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126944
0x62c20cf857a996109050f5cfee4d5eb49dad6205bfa554bb688081cffa724e602 days 46 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126944
0x9fb4fc34dbce45b0d00fb08b64a7bb6c13ca5daf492bbe1927a0acb01d9469142 days 54 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126112
0x7f3b0bf33f6e9e869d7ba04baa3ce063807a06669b150314e950f089407d7f3d2 days 1 hr ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126944
0x95507fcc1d0be6e42be477e480641a3d35d5778b0585d2efba448479c659a0b92 days 1 hr ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001915823
0xcfc906336d9db8c039616b700064e49907457b60c1368bdc6783f97e857bed912 days 3 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126112
0xc39f82065a6fdf0d4f037248974a8bcf3250393ccd00c471a84f243973d637602 days 3 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00175916
0xf011a270a58b41b88623c4636062b84743d5539065cd8adcb408f1fa54b5f5092 days 4 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00175916
0xcd95e8af1f05920a90875785b245e8190436666980facf214db9edd576766e792 days 4 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00175916
[ 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
0x7c3c15e31a0f8b3194a6ec93f1ebcd1f7c46a0452c3af0e99e4e9e6dd62df0d6613421537 days 6 hrs ago0xe4c94d45f7aef7018a5d66f44af780ec6023378e0x5e86bb7f1f75bab03e01592afc87c4c97f69071b0.005 Ether
0x952961c321c8628850f77bd28e1e3d360117055bfa3f064890a532469c263dcd5463580153 days 2 hrs ago0xe4c94d45f7aef7018a5d66f44af780ec6023378e0x71272cac6673c8a22ac1d697e29575c2965a51600.00005 Ether
0x4aab7387a354a386da6c55dea8d92e339d6212d78b593b4cf589780afc33bbb15409209162 days 6 hrs ago0xe4c94d45f7aef7018a5d66f44af780ec6023378e0xfcfa6ec1d346bc2c9d0f949fb168db3d3df4ffed0.001 Ether
0x714fe830afcd79953ba7584cde23a09bdc824d32bf4135cef3738ba361e8a26d2440530703 days 23 hrs ago0xa00d52431f51223b6cff30aefb8d08007d6a1c740xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xca761e4534db9b7c10fbff429a3b2ec050095c819389fb7f88222a584071e3692440527703 days 23 hrs ago0x178c793b18a1e53b6402a7454b61b1046f8adf990xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x88b6693e0f338c153bc1d990ae44e4c3409b561ccf19ec62654c45cadd74a7fe2439600704 days 2 hrs ago0x87fb2458ef0d5be4a43acb2e728d1741812bf6eb0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xaef0d0de5e4dd14731b900f6f4c8b01449a54769ae965a5156275fd24680d0242439594704 days 2 hrs ago0xa76151762bd6b8eefc5d70f297bd8f3e8ca8d2400xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x27470aa1d18588247386a3703b2f11a8ab4c4c4b4075a22069c291acea5901c82439592704 days 2 hrs ago0xb1ebfb6b7268e0ba004c1fe606815636057bb7740xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xe095db44c9d29b7d14e22eebdd92321d8a8019ef87858b28239a7d07342381962439149704 days 4 hrs ago0x880b322587937e0e1fe37b868dc2339575bc0a790xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x6fc0bfe696f4bf300fbf691313e55dbe39240af88135b9fbf1fc1e5fefb8b5ba2439074704 days 5 hrs ago0x273346fa685408cfde4b5f1d620c8e5c265df84a0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xb6f2bc0794302d6e2ec6195a07f317a3a6d278e6306fd252c735ef59c3ecbbbe2438948704 days 5 hrs ago0x1c6b5a73c53eca8c90cf8b7066610f3e18065aad0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xa06018177dbdb52c1e95ee5b91ee2e2ea5472646566d8cff96ff440cf7612d492438936704 days 5 hrs ago0xbe33f67647898a7342da8ac65765c6746040e0b80xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xd4ff20b8123e231d199333bb97ac3c08eb767157e93f2948ba5204211d2ef8912438863704 days 6 hrs ago0x889297dca98c10be6f7ad2ce98d8aace155d27b30xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x684acf4e91e28b54348460ed0e96e2685e075ec9ebc31fb279205ad815ffa9bc2438724704 days 6 hrs ago0x5e7aad31e35793ddee4996f84b39911a2b47ccf90xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x316ca7fda55f933e4c318bcc9bcabddf68e406eb91070d8638364a52b5cfa8162438517704 days 7 hrs ago0x713e473bcd07880ce4401512b91664951883cce70xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xefb932fce3c0580599c99aa4f34cc2dc711f2f3859a116ab8ded9624cd76bdf72438507704 days 7 hrs ago0xb8f9959c1f996236af2996413dd88308b6d9efc10xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x0326f57a16fb204d8da452589e69c8b6854dfc6125e9bedf3b2f486e5b1fcb4e2438465704 days 7 hrs ago0x690ac703e69138e37238a086d2eebcaeb2cf5abd0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x0414ccdbcddf309c2d86a6ad9850249190b2ad75c6823a8b59cca3d3d499b56b2438459704 days 7 hrs ago0xa69e954d4ca939bd22af794a8702c377876c53fa0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x261df5341e1aa09ebb63a9111733778dfe920dad29d82f4ac842a8b4e24041cd2438438704 days 7 hrs ago0x83859940431967251a48ee08014d52dfbfe6ce440xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x5cd7ff67f1004222aefe06ebc4d742e5bf8333f470a7334f25e7844bd06f7f3c2438435704 days 7 hrs ago0x1a8ec4f3b910b76f2b4e1f690aaeaa164e8d0ea20xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xd2a129377156f4ec5c719427c42f24b80468486091bc881bd48d43bdb2b6afcb2438433704 days 7 hrs ago0x77f70cc52fe611b70bafd2f2029ac39534189e2a0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x63f9f45958dfc581f3835e3e28c494ff0107669a8d2027c514c79ed8aa788ee52438388704 days 8 hrs ago0xc821aa24ad4080ab0dee22d03ad799efb0b297ed0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xfffc12100b50949dc499d060d0dbfc263ca1162973a1e4bad4d19cf0214b6d3a2438383704 days 8 hrs ago0x44a0932a883c40b73eeb0b14ad08b22d6fce05010xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xdf5d0fe33c1545af2ef70263b640764b3a79a2c8f21f8ca642eba10aaee5ec772438332704 days 8 hrs ago0xdab76543bf59cc8a7a05bb7d3d5df7f66821e8510xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x92a2f324c003cf0488529bd8b4a4189b5a133520e2df820225ca92c70aeb1f6b2438321704 days 8 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 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.