Contract Overview |  Synth_sUSD
Balance: 0 Ether
Ether Value: $0
Transactions: 3121 txns
Token Tracker: Synth sUSD (sUSD)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xb2fea5f4ce0c3428a7c844524ff77af948789559at txn 0x40ea164ca224c6a9248cbb709164e07809baa7e0e937eafb79779441a311de76
 Latest 25 transactions from a total of 3121 transactions

TxHash Age From To Value [TxFee]
0x591ed3bccd791349133253935509ae633ef5036ce9a5c3d7121329baae25ee52 42 secs ago0x76e00b37f37aaff0fdb824df1926601180a88209  IN   Synth_sUSD 0 Ether0.00685962
0x24f1d061c7184a079a3054e1b80b0f000808e56c3f1eb61bea57225c37b53c571 hr 12 mins ago0x9530705f52321f334c9844d33eedd8332d17c48f  IN   Synth_sUSD 0 Ether0.001184598
0x3e954589a622aeca5b6a4c57a26eac603ba0dc6961ca7c1433d7617ff92d69491 hr 13 mins ago0x960354c7a9b302bba03cda8f92cf19e5c30d766d  IN   Synth_sUSD 0 Ether0.001184598
0x005ac3560ffa4fbdb6ba26beeef1d41bb47788e0d623868c725a150b3f1d0faf1 hr 23 mins ago0xf86ad40ef17704cc8c706306354ec88fee63101c  IN   Synth_sUSD 0 Ether0.001184598
0x206b615c56808e94b373b245ebd49612770cda2174aee0ecd8c8aaacd74185ed1 hr 24 mins ago0x47b9db02a85ee098d6ecc8470bbe03c14a961baf  IN   Synth_sUSD 0 Ether0.001184598
0xa453de725d22b214550c17a09a4ca08f9008f42e400727052fc9de3c4f0e12ec1 hr 25 mins ago0x0a9b2b753b2596f07126e7d9726685f1df34222c  IN   Synth_sUSD 0 Ether0.001184598
0x3f125365b8d9d2419ffd6ff0c5b2f484b33dca20cbebb38d258fe5083dd90d9e1 hr 28 mins ago0x9d791c825a2ae3b1cf9b91dcd857f10c11db29af  IN   Synth_sUSD 0 Ether0.001184592
0xd918be0bf90401cb98922de190f60d47d3d043ed0c331f714232b0b0eee435eb1 hr 28 mins ago0xeecbb9b504b50d1032f291c2a708c096b0b48814  IN   Synth_sUSD 0 Ether0.001184598
0x3e31f7b241cd4d40d0f96d63cffff2d698788f18185b895985a56753c725f68a1 hr 34 mins ago0x8966af7ea711bc5307b877df2899d93bb9afec7f  IN   Synth_sUSD 0 Ether0.0004343526
0x5d5c52d1854309dc7faf441da93dcf4db72e5fdfed6ee274ccf6f72c892a563f2 hrs 3 mins ago0x6c2ed8398cd0c1b4474c0be797278db6d8ae5915  IN   Synth_sUSD 0 Ether0.0004343526
0x40649d064ad512b6d6b6d28814d7d877eb19e23d05c86e72b37c8ae6e6be01943 hrs 23 mins ago0x68bbe921b900c311e451c873baca0752681c6d86  IN   Synth_sUSD 0 Ether0.00196392
0xcc169e1b2a20d42018c594bc17f62489bd22b6f2192190c18a1c9ded444006613 hrs 37 mins ago0x8f36850b1dac7c556b618aa2a9d662ac9230e67c  IN   Synth_sUSD 0 Ether0.000789732
0x668f754b9afae4119ae5edd18f1bcbb0a5f460bd6615e5b63cd4210149123a5f3 hrs 37 mins ago0x9d791c825a2ae3b1cf9b91dcd857f10c11db29af  IN   Synth_sUSD 0 Ether0.000789728
0x6fe8d3e6c45e5b8711689f36953bf7cc4d52aab77c070fdede4b0ff1c85520f53 hrs 37 mins ago0x47b9db02a85ee098d6ecc8470bbe03c14a961baf  IN   Synth_sUSD 0 Ether0.000789732
0xb485502268f5eadca63fb71265a997eb31dbaf2a9776228f58d17bdf1fd4f51b3 hrs 37 mins ago0xf86ad40ef17704cc8c706306354ec88fee63101c  IN   Synth_sUSD 0 Ether0.000789732
0x36fd39127627cc3dc9a840d7943e95ce5a443fe5af658efe7a954e308689d8dc3 hrs 37 mins ago0x0a9b2b753b2596f07126e7d9726685f1df34222c  IN   Synth_sUSD 0 Ether0.000789732
0x34e53267dcc15ec23d4087fad7b26182c02da503995b768cedd737bd950aba6b3 hrs 37 mins ago0xe944c7a42c2582eeb460a74738d79ef653ec7fb6  IN   Synth_sUSD 0 Ether0.000789728
0x5a4e69d5bb4120e8bd293fed034f40a95c8fe8047972a6069023eecc2d6cac263 hrs 37 mins ago0xeecbb9b504b50d1032f291c2a708c096b0b48814  IN   Synth_sUSD 0 Ether0.000789732
0xef61ac0f0bdd0f89c2477ff798539cbdc2b8d84b94e56364ed77ec257758cdd43 hrs 37 mins ago0x9530705f52321f334c9844d33eedd8332d17c48f  IN   Synth_sUSD 0 Ether0.000789732
0xf1fecbbc176a5a3c5991f27c89543612d61e28cf4a4c8098a6d910ed03c1d4684 hrs 1 min ago0xb73e1ac5c70efdcc7e340460dc639fadc3a74728  IN   Synth_sUSD 0 Ether0.00457156
0xa880d6b44e3086b281f55f04f5793e0dda120d74e4cc416745f89640aa08faa54 hrs 15 mins ago0xb8e4a0e2fab467b72bf6d24dddd6164fe94eaaf5  IN   Synth_sUSD 0 Ether0.0005180152
0xbed98c04e5c965c4c38d6d0b9f46a5daaf0eb1b42be1709cd3c5f3d8255d5c3a4 hrs 20 mins ago0xb8e4a0e2fab467b72bf6d24dddd6164fe94eaaf5  IN   Synth_sUSD 0 Ether0.0005965696
0x007c729d316d15f9c62cb84221dc2fcbdbf43562510719c1b7b1eef7b3e87ceb5 hrs 40 mins ago0x98c68c8e48560fc552dc22cc2955a50e4ee51dc4  IN   Synth_sUSD 0 Ether0.001024624
0xc547878b32075b67087ac78bba37480c3fd2106f5182561d69503999a713827c5 hrs 46 mins ago0x9530705f52321f334c9844d33eedd8332d17c48f  IN   Synth_sUSD 0 Ether0.0004738392
0x4e0c8e39155b81675caabe0aa85a816c75ee73dd42a714e18e7e8727c00018845 hrs 46 mins ago0xf86ad40ef17704cc8c706306354ec88fee63101c  IN   Synth_sUSD 0 Ether0.0004935825
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: Proxy
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

/* 
 * Nomin Token Contract Proxy
 * ========================
 * 
 * This contract points to an underlying target which implements its
 * actual functionality, while allowing that functionality to be upgraded.
 */

pragma solidity 0.4.24;

/**
 * @title A contract with an owner.
 * @notice Contract ownership can be transferred by first nominating the new owner,
 * who must then accept the ownership, which prevents accidental incorrect ownership transfers.
 */
contract Owned {
    address public owner;
    address public nominatedOwner;

    /**
     * @dev Owned Constructor
     */
    constructor(address _owner)
        public
    {
        require(_owner != address(0));
        owner = _owner;
        emit OwnerChanged(address(0), _owner);
    }

    /**
     * @notice Nominate a new owner of this contract.
     * @dev Only the current owner may nominate a new owner.
     */
    function nominateNewOwner(address _owner)
        external
        onlyOwner
    {
        nominatedOwner = _owner;
        emit OwnerNominated(_owner);
    }

    /**
     * @notice Accept the nomination to be owner.
     */
    function acceptOwnership()
        external
    {
        require(msg.sender == nominatedOwner);
        emit OwnerChanged(owner, nominatedOwner);
        owner = nominatedOwner;
        nominatedOwner = address(0);
    }

    modifier onlyOwner
    {
        require(msg.sender == owner);
        _;
    }

    event OwnerNominated(address newOwner);
    event OwnerChanged(address oldOwner, address newOwner);
}

// This contract should be treated like an abstract contract
contract Proxyable is Owned {
    /* The proxy this contract exists behind. */
    Proxy public proxy;

    /* The caller of the proxy, passed through to this contract.
     * Note that every function using this member must apply the onlyProxy or
     * optionalProxy modifiers, otherwise their invocations can use stale values. */ 
    address messageSender; 

    constructor(address _proxy, address _owner)
        Owned(_owner)
        public
    {
        proxy = Proxy(_proxy);
        emit ProxyUpdated(_proxy);
    }

    function setProxy(address _proxy)
        external
        onlyOwner
    {
        proxy = Proxy(_proxy);
        emit ProxyUpdated(_proxy);
    }

    function setMessageSender(address sender)
        external
        onlyProxy
    {
        messageSender = sender;
    }

    modifier onlyProxy {
        require(Proxy(msg.sender) == proxy);
        _;
    }

    modifier optionalProxy
    {
        if (Proxy(msg.sender) != proxy) {
            messageSender = msg.sender;
        }
        _;
    }

    modifier optionalProxy_onlyOwner
    {
        if (Proxy(msg.sender) != proxy) {
            messageSender = msg.sender;
        }
        require(messageSender == owner);
        _;
    }

    event ProxyUpdated(address proxyAddress);
}

contract Proxy is Owned {

    Proxyable public target;
    bool public useDELEGATECALL;

    constructor(address _owner)
        Owned(_owner)
        public
    {}

    function setTarget(Proxyable _target)
        external
        onlyOwner
    {
        target = _target;
        emit TargetUpdated(_target);
    }

    function setUseDELEGATECALL(bool value) 
        external
        onlyOwner
    {
        useDELEGATECALL = value;
    }

    function _emit(bytes callData, uint numTopics,
                   bytes32 topic1, bytes32 topic2,
                   bytes32 topic3, bytes32 topic4)
        external
        onlyTarget
    {
        uint size = callData.length;
        bytes memory _callData = callData;

        assembly {
            /* The first 32 bytes of callData contain its length (as specified by the abi). 
             * Length is assumed to be a uint256 and therefore maximum of 32 bytes
             * in length. It is also leftpadded to be a multiple of 32 bytes.
             * This means moving call_data across 32 bytes guarantees we correctly access
             * the data itself. */
            switch numTopics
            case 0 {
                log0(add(_callData, 32), size)
            } 
            case 1 {
                log1(add(_callData, 32), size, topic1)
            }
            case 2 {
                log2(add(_callData, 32), size, topic1, topic2)
            }
            case 3 {
                log3(add(_callData, 32), size, topic1, topic2, topic3)
            }
            case 4 {
                log4(add(_callData, 32), size, topic1, topic2, topic3, topic4)
            }
        }
    }

    function()
        external
        payable
    {
        if (useDELEGATECALL) {
            assembly {
                /* Copy call data into free memory region. */
                let free_ptr := mload(0x40)
                calldatacopy(free_ptr, 0, calldatasize)

                /* Forward all gas and call data to the target contract. */
                let result := delegatecall(gas, sload(target_slot), free_ptr, calldatasize, 0, 0)
                returndatacopy(free_ptr, 0, returndatasize)

                /* Revert if the call failed, otherwise return the result. */
                if iszero(result) { revert(free_ptr, returndatasize) }
                return(free_ptr, returndatasize)
            }
        } else {
            /* Here we are as above, but must send the messageSender explicitly 
             * since we are using CALL rather than DELEGATECALL. */
            target.setMessageSender(msg.sender);
            assembly {
                let free_ptr := mload(0x40)
                calldatacopy(free_ptr, 0, calldatasize)

                /* We must explicitly forward ether to the underlying contract as well. */
                let result := call(gas, sload(target_slot), callvalue, free_ptr, calldatasize, 0, 0)
                returndatacopy(free_ptr, 0, returndatasize)

                if iszero(result) { revert(free_ptr, returndatasize) }
                return(free_ptr, returndatasize)
            }
        }
    }

    modifier onlyTarget {
        require(Proxyable(msg.sender) == target);
        _;
    }

    event TargetUpdated(Proxyable newTarget);
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"setTarget","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"callData","type":"bytes"},{"name":"numTopics","type":"uint256"},{"name":"topic1","type":"bytes32"},{"name":"topic2","type":"bytes32"},{"name":"topic3","type":"bytes32"},{"name":"topic4","type":"bytes32"}],"name":"_emit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"useDELEGATECALL","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"bool"}],"name":"setUseDELEGATECALL","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"target","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newTarget","type":"address"}],"name":"TargetUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"}]

  Contract Creation Code Switch To Opcodes View
608060405234801561001057600080fd5b5060405160208061066b833981016040525180600160a060020a038116151561003857600080fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506105ca806100a16000396000f3006080604052600436106100985763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631627540c811461018357806353a47bb7146101a4578063776d1a01146101d557806379ba5097146101f65780638da5cb5b1461020b578063907dff971461022057806395578ebd14610250578063befff6af14610279578063d4b8399214610293575b60025474010000000000000000000000000000000000000000900460ff16156100e157604051366000823760008036836002545af43d6000833e8015156100dd573d82fd5b3d82f35b600254604080517fbc67f8320000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163bc67f8329160248082019260009290919082900301818387803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e8015156100dd573d82fd5b005b34801561018f57600080fd5b50610181600160a060020a03600435166102a8565b3480156101b057600080fd5b506101b9610320565b60408051600160a060020a039092168252519081900360200190f35b3480156101e157600080fd5b50610181600160a060020a036004351661032f565b34801561020257600080fd5b506101816103a7565b34801561021757600080fd5b506101b961043e565b34801561022c57600080fd5b5061018160246004803582810192910135903560443560643560843560a43561044d565b34801561025c57600080fd5b50610265610517565b604080519115158252519081900360200190f35b34801561028557600080fd5b506101816004351515610538565b34801561029f57600080fd5b506101b961058f565b600054600160a060020a031633146102bf57600080fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600154600160a060020a031681565b600054600160a060020a0316331461034657600080fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b600154600160a060020a031633146103be57600080fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600254600090606090600160a060020a0316331461046a57600080fd5b604080516020601f8b01819004810282018101909252898152899350908a90849081908401838280828437820191505050505050905086600081146104ce57600181146104d957600281146104e557600381146104f257600481146105005761050b565b8260208301a061050b565b868360208401a161050b565b85878460208501a261050b565b8486888560208601a361050b565b838587898660208701a45b50505050505050505050565b60025474010000000000000000000000000000000000000000900460ff1681565b600054600160a060020a0316331461054f57600080fd5b60028054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055565b600254600160a060020a0316815600a165627a7a723058209e104efaf0a7b150d5357b3a38b0260a3741a240fef678863453d378cc0622b90029000000000000000000000000b2fea5f4ce0c3428a7c844524ff77af948789559

    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b2fea5f4ce0c3428a7c844524ff77af948789559

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b2fea5f4ce0c3428a7c844524ff77af948789559


   Swarm Source:
bzzr://9e104efaf0a7b150d5357b3a38b0260a3741a240fef678863453d378cc0622b9

 

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