Sponsored Link:   Etheal: CES Las Vegas 2nd place winner + working product with 2.5 million visits/year 30% bonus - First hour only: June 25
 Latest 25 txns from a total Of 56435 transactions
View All

TxHash Age From To Value [TxFee]
0xdde8bd11920f010c57a227445eced8750736b07ac9af2b45b2eea0589babdfc74 hrs 41 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126944
0x5460e0d57e4efb62ba197c2d54d867f8c21cde33378fab47a5129ef3a0a00a2313 hrs 14 mins ago0x5d7dfe9eb3cf5deba22fc41e166a875a94daefda  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00215064
0xf4c5cd52d58f1685d539b2e0b1f8ae718d7bcb97397d2ff1cba69d14ea46f9ba13 hrs 28 mins ago0x7a31c79a29d89bf850696cb4691dae8aa3cf4758  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00203376
0x8d25647ad276c96cfbb705d1af50a9c73140f32b2d91d95f3494e8cc50340d0313 hrs 52 mins ago0xb7b60012e38d14e263e180739f8c061217b23b8c  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000078803
0xc90e51018c456fe0f62bc69313a08df1996eefedf060c73ad7808c531c95fcc215 hrs 1 min ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001767402
0x63b55b4943a43fad0b1d675e589e64d057456e13a84b881687e132d0d7cdc0cb15 hrs 3 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001767402
0xdc0032995a31a0a1d6d569b7c9aad3efa83748983caa222f49d3404f93fe098515 hrs 4 mins ago0x914015bc15ebc7c90545243df096200964fdeb52  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.000078803
0xc03e1e63925d860ca493118ce28788aa0a2da2def2d5773aedc4c21d0a28002a18 hrs 17 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001747629
0x61caf5c6515f5ae813152ed55ca47db62b9b4a4e40922e045fc9be226d0153f318 hrs 21 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001747629
0x76fc9670ee911c296027c8c254dee1ff2a3ab1e263677eadf916b26726cca13618 hrs 53 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001747629
0xa1c7dd485f22f2d8139a8e7f29cb01d68c0fa2e68b13639c549183601f1dd49918 hrs 57 mins ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001747629
0x2edfa1a7bea974c26917cb07432403ce32d9b83f356fc9850bac3f833bc428501 day 19 hrs ago0xab275f77760b9d59c431ec4fa11ee5f20034630c  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00051702
0xe74ac271d003f8a1f85aae68e2478ae91ff0c7917339c58025687400d0487ee61 day 20 hrs ago0x7a31c79a29d89bf850696cb4691dae8aa3cf4758  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.0027064
0xc27a0b86495fc410c42ac96a8be281fd32d998b945f4dfe6b85b02fc641e19631 day 20 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001750918
0x557e898e53090585216c54be59b7372d70afeaafab2fc60ff85766458e389f742 days 1 hr ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00175916
0x1d088824bac30ee42f34b9469f093922303c504e12ec11106628f91041e43dc92 days 1 hr ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00175916
0xc30f32c6ad86e42c6c70f9ed5994ddc077ae63877f7d2cf1ac50071202e2d9dd2 days 1 hr ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00175916
0x7cf282b8d3f2214493d6a3f24a8519126f1a65e4cfaba339471d94179757a7b12 days 4 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001767402
0xd92ef1d1efa1a3a07acee6b9da6e005085d932b5bc0dcc662752ac3da05e62de2 days 5 hrs ago0xe4e7f6e7d082aeaaa1dd20907ea426a3cc70b0df  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001915823
0xa28ad191e858271537a70e9215026bffc38562ab997c622d821312d4ddea1fda2 days 10 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001126944
0x1a7333575dfa7a5b0e1d8017ef5d4ff20c3e5ff77b9185a96898a1402ee2d32a2 days 17 hrs ago0x5d7dfe9eb3cf5deba22fc41e166a875a94daefda  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00215064
0x04dc76273b41cdd6851296ead7cf89d28fddce90adbdb47ab3d9204d9062677e2 days 17 hrs ago0x7a31c79a29d89bf850696cb4691dae8aa3cf4758  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00203376
0x9b0ce4a621c891ce81acd0a3d6a68e0fe41f5574e7c6f3bce1a80ba6394bad412 days 19 hrs ago0xa5f307f23076ed30f39f72fb8552cfcbd5e05261  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.00215064
0x8b0b9e58e40567bf5efa0c71c07cc79959e33bc9fad4c82350edaded201abfc32 days 20 hrs ago0x3797fd929a52c00a54b0f2f41d158c03cbdcc2e6  IN   0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether0.001728696
0x8a157bb22ffdd50a6b99793794b309b017a1b4497d72d763863d18920d65ef6a2 days 20 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
0x952961c321c8628850f77bd28e1e3d360117055bfa3f064890a532469c263dcd546358065 days 17 hrs ago0xe4c94d45f7aef7018a5d66f44af780ec6023378e0x71272cac6673c8a22ac1d697e29575c2965a51600.00005 Ether
0x4aab7387a354a386da6c55dea8d92e339d6212d78b593b4cf589780afc33bbb1540920974 days 21 hrs ago0xe4c94d45f7aef7018a5d66f44af780ec6023378e0xfcfa6ec1d346bc2c9d0f949fb168db3d3df4ffed0.001 Ether
0x714fe830afcd79953ba7584cde23a09bdc824d32bf4135cef3738ba361e8a26d2440530616 days 14 hrs ago0xa00d52431f51223b6cff30aefb8d08007d6a1c740xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xca761e4534db9b7c10fbff429a3b2ec050095c819389fb7f88222a584071e3692440527616 days 14 hrs ago0x178c793b18a1e53b6402a7454b61b1046f8adf990xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x88b6693e0f338c153bc1d990ae44e4c3409b561ccf19ec62654c45cadd74a7fe2439600616 days 18 hrs ago0x87fb2458ef0d5be4a43acb2e728d1741812bf6eb0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xaef0d0de5e4dd14731b900f6f4c8b01449a54769ae965a5156275fd24680d0242439594616 days 18 hrs ago0xa76151762bd6b8eefc5d70f297bd8f3e8ca8d2400xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x27470aa1d18588247386a3703b2f11a8ab4c4c4b4075a22069c291acea5901c82439592616 days 18 hrs ago0xb1ebfb6b7268e0ba004c1fe606815636057bb7740xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xe095db44c9d29b7d14e22eebdd92321d8a8019ef87858b28239a7d07342381962439149616 days 19 hrs ago0x880b322587937e0e1fe37b868dc2339575bc0a790xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x6fc0bfe696f4bf300fbf691313e55dbe39240af88135b9fbf1fc1e5fefb8b5ba2439074616 days 20 hrs ago0x273346fa685408cfde4b5f1d620c8e5c265df84a0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xb6f2bc0794302d6e2ec6195a07f317a3a6d278e6306fd252c735ef59c3ecbbbe2438948616 days 20 hrs ago0x1c6b5a73c53eca8c90cf8b7066610f3e18065aad0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xa06018177dbdb52c1e95ee5b91ee2e2ea5472646566d8cff96ff440cf7612d492438936616 days 20 hrs ago0xbe33f67647898a7342da8ac65765c6746040e0b80xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xd4ff20b8123e231d199333bb97ac3c08eb767157e93f2948ba5204211d2ef8912438863616 days 21 hrs ago0x889297dca98c10be6f7ad2ce98d8aace155d27b30xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x684acf4e91e28b54348460ed0e96e2685e075ec9ebc31fb279205ad815ffa9bc2438724616 days 21 hrs ago0x5e7aad31e35793ddee4996f84b39911a2b47ccf90xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x316ca7fda55f933e4c318bcc9bcabddf68e406eb91070d8638364a52b5cfa8162438517616 days 22 hrs ago0x713e473bcd07880ce4401512b91664951883cce70xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xefb932fce3c0580599c99aa4f34cc2dc711f2f3859a116ab8ded9624cd76bdf72438507616 days 22 hrs ago0xb8f9959c1f996236af2996413dd88308b6d9efc10xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x0326f57a16fb204d8da452589e69c8b6854dfc6125e9bedf3b2f486e5b1fcb4e2438465616 days 22 hrs ago0x690ac703e69138e37238a086d2eebcaeb2cf5abd0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x0414ccdbcddf309c2d86a6ad9850249190b2ad75c6823a8b59cca3d3d499b56b2438459616 days 22 hrs ago0xa69e954d4ca939bd22af794a8702c377876c53fa0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x261df5341e1aa09ebb63a9111733778dfe920dad29d82f4ac842a8b4e24041cd2438438616 days 22 hrs ago0x83859940431967251a48ee08014d52dfbfe6ce440xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x5cd7ff67f1004222aefe06ebc4d742e5bf8333f470a7334f25e7844bd06f7f3c2438435616 days 23 hrs ago0x1a8ec4f3b910b76f2b4e1f690aaeaa164e8d0ea20xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xd2a129377156f4ec5c719427c42f24b80468486091bc881bd48d43bdb2b6afcb2438433616 days 23 hrs ago0x77f70cc52fe611b70bafd2f2029ac39534189e2a0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x63f9f45958dfc581f3835e3e28c494ff0107669a8d2027c514c79ed8aa788ee52438388616 days 23 hrs ago0xc821aa24ad4080ab0dee22d03ad799efb0b297ed0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xfffc12100b50949dc499d060d0dbfc263ca1162973a1e4bad4d19cf0214b6d3a2438383616 days 23 hrs ago0x44a0932a883c40b73eeb0b14ad08b22d6fce05010xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xdf5d0fe33c1545af2ef70263b640764b3a79a2c8f21f8ca642eba10aaee5ec772438332616 days 23 hrs ago0xdab76543bf59cc8a7a05bb7d3d5df7f66821e8510xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0x92a2f324c003cf0488529bd8b4a4189b5a133520e2df820225ca92c70aeb1f6b2438321616 days 23 hrs ago0x1f6693bbc3a8c0f3d780912800787363523eb8e60xe4c94d45f7aef7018a5d66f44af780ec6023378e0 Ether
0xdfc118096e5c8c0c7a251dbc485d52fe1dcbf13cd8c39c95fcf9bae08f926eac2438287616 days 23 hrs ago0x7caaf6c22694766f66c6a1d9e859485eeb24f95e0xe4c94d45f7aef7018a5d66f44af780ec6023378e0 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 txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.