Contract 0x57Ab1E02fEE23774580C119740129eAC7081e9D3

 

TxHash Block Age From To Value [TxFee]
0x1f85d6e1dac4d6c21affd2c8fc03e85b4c8495f0d43b6bb66c0f46d237df5f74(pending)11 days 9 hrs ago0xbda576ed19c2c3219194fea40f6aae0d48ea8855  IN  0x57ab1e02fee23774580c119740129eac7081e9d30 Ether(Pending)
0xb0d8d7606d575b7ba632dd4ee021f05bc78e6a4187aefd2d2a20f862aa0fec3a72307912 hrs 3 mins ago0xa91f4ad4e2740939b858a2ef728254f1cfb7cd20  IN   Synth_sUSD 0 Ether0.0013803405
0x7b78736e63a253513991dd5d9bf68c7caef808d0a090bc9dc84f9189d4655dfb72296268 hrs 46 mins ago0xa93dfeef9f2bde2bba6c6398323e26242df255be  IN   Synth_sUSD 0 Ether0.003881916
0xf49b4d5fc0595b1d06403b87c307e6c36d4c7129fb8e4202562470729b15e1b9722844715 hrs 30 mins ago0x8e8682ed22257c65e3b7d04775fb320005976fc5  IN   Synth_sUSD 0 Ether0.0021359
0x0bbe91cceee62d3ca2072b14ab7c4585a5bdef6ff56a8428362a92a5229a665572250201 day 11 hrs ago0x1735885323d0f33986bbcdd343a4600b1d7f03c3  IN   Synth_sUSD 0 Ether0.0022653852
0x13066fc0ea7aa5cc42a039628b1e88ec7c0d5dbe9eb19393776bc2f5f7ba72c272245141 day 14 hrs ago0xc03001eb7a4274a8c797ff01998a4083fedab10a  IN   Synth_sUSD 0 Ether0.00059436
0xf031c0ddeda86dacd96d1b25d9ff737fe4360e76b305b38c0372bdb6891ecd5972243721 day 14 hrs ago0xa7fde321289a23e310c8804d41ef3128fa07fc23  IN   Synth_sUSD 0 Ether0.001353535
0x854ac3bdcd331de480f9048c6060739df7f0dc6e98d66411138c40d7a96ba3aa72230241 day 22 hrs ago0x417d947561659697b65f64931b5598e56e5b67ac  IN   Synth_sUSD 0 Ether0.002456285054
0xcac93a0fdea5d9599aa3a789549ea96561e6df86fa6871153d95de9bdf3436e772162883 days 13 hrs ago0xa93dfeef9f2bde2bba6c6398323e26242df255be  IN   Synth_sUSD 0 Ether0.001617465
0x712d70cc7ae8974101b98aa7e13761f8f9c7374c2aa1635de9e825a78b21c9eb72161773 days 14 hrs ago0x06f4828b1cac84ccd4431e56d6f03d0ec95ba4b1  IN   Synth_sUSD 0 Ether0.00427412
0x4aae4a1118c82d8372963e8034440c8eec4291d20ff733891c7548824f5d87d672161693 days 14 hrs ago0xb73e1ac5c70efdcc7e340460dc639fadc3a74728  IN   Synth_sUSD 0 Ether0.0022859
0xa14d06cb4dcecb035c329db22a6bc62488021fc0defb219d69cd8be3d41ca3fd72153933 days 18 hrs ago0xa93dfeef9f2bde2bba6c6398323e26242df255be  IN   Synth_sUSD 0 Ether0.000970479
0x4bac59814a3d8b3a2793e9564b79ff3b94b4888b21b13601a95df26a1c748fd972143904 days 14 mins ago0x7adc5defa1d360f50e698cda6f509d31284b2684  IN   Synth_sUSD 0 Ether0.001894501
0x774aefd284c9ad79c967bc5f30ae736e535cdcde344aef066206de364633ed6272124924 days 11 hrs ago0xeecbb9b504b50d1032f291c2a708c096b0b48814  IN   Synth_sUSD 0 Ether0.002265978
0x916e41cbc25d2e0bfe0af511a321c9ae87ab48555b409d25bce4ff354ad11da572119884 days 14 hrs ago0x4093eb7c3c2f0bf1329398ba7a25bed22c93afae  IN   Synth_sUSD 0 Ether0.0021377
0xbc038fb259a79f2ab7e8d5a314104c05e1e0a8f22f6211f14e3b6a071454e16272104684 days 22 hrs ago0x71b3bb1c5187d3a4bda5f95f2555fb8f3893f00f  IN   Synth_sUSD 0 Ether0.00114327
0x00b8487ada548261c988ba10efbb08059a5964c7c57b0dd7961eb71d82fc511b72082395 days 11 hrs ago0x0b3b08ae4f7125f5bccf07fc696ae6f8b398afad  IN   Synth_sUSD 0 Ether0.00228909312
0x771ebbc9e53178f96896f3b618218b9a436d2f2f4ede24b4032b420f5725c1c772068985 days 18 hrs ago0x4f4f403898944a94e512305f19d0b3cff116f17d  IN   Synth_sUSD 0 Ether0.000640962
0x7e030b9ded6210bb6d1210be9b6b764a7e2828d06344deece2bc9f5d4de4b26672051096 days 4 hrs ago0xfca919553b89702a484d08001074ec7c5a89b99b  IN   Synth_sUSD 0 Ether0.0085508
0x84a3ea13e9003281e0076d75bd7a7f74d1d3cbe25ffbcf967ce3801f2b99872772019346 days 23 hrs ago0xc85f2389bafbdc436c70e9f4e0d3861941f32698  IN   Synth_sUSD 0 Ether0.0022652484
0xea8453a06f2bf4eac88fa6ae4f02fcbbf3a451b5b37719853b715eb8172f74a771979247 days 19 hrs ago0xb1876c5a4255b0d91a5bad25f4943e0a43d502ea  IN   Synth_sUSD 0 Ether0.000427412
0x7dd61f0572d57547ec2684c4253d53763dfb184194b1ed57eb543b26ca19a5b271979217 days 19 hrs ago0xb1876c5a4255b0d91a5bad25f4943e0a43d502ea  IN   Synth_sUSD 0 Ether0.00041412
0x4d876d30054f625b6438ca36763a22cd91b6b6d3ed3ab8d0c639a1e093a1e96e71978507 days 19 hrs ago0x322292a046eb607b95174aba3cd5edbe80b621c0  IN   Synth_sUSD 0 Ether0.000397308
0x6613413ad3152b2f8e47ffc48f2d1c9bbb8d2a588bd44feabd7d833f6cb3d80971978417 days 19 hrs ago0x322292a046eb607b95174aba3cd5edbe80b621c0  IN   Synth_sUSD 0 Ether0.000196396
0xa6857cf52a930241d4b80b44cdc5d10e31bf3ae8c40fd7fb87b819928e26494a71978277 days 20 hrs ago0x322292a046eb607b95174aba3cd5edbe80b621c0  IN   Synth_sUSD 0 Ether0.000099498
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) Solidity Compiler Bugs.

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


Contract Source Code
/* 
 * 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
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
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.