ETH Price: $2,632.90 (+0.15%)
Gas: 3 Gwei

Contract

0x5982f9DeCC836248B2c72CF23AF1Ec2a64173FcC
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cast Vote69126262018-12-19 3:04:562061 days ago1545188696IN
0x5982f9De...a64173FcC
0 ETH0.0003125610
Cast Vote69126232018-12-19 3:04:352061 days ago1545188675IN
0x5982f9De...a64173FcC
0 ETH0.000313210
Cast Vote69126212018-12-19 3:03:542061 days ago1545188634IN
0x5982f9De...a64173FcC
0 ETH0.0003758412
Cast Vote69126192018-12-19 3:03:182061 days ago1545188598IN
0x5982f9De...a64173FcC
0 ETH0.000288149.2
Cast Vote68182772018-12-03 11:47:152077 days ago1543837635IN
0x5982f9De...a64173FcC
0 ETH0.00061074
Cast Vote68182422018-12-03 11:38:252077 days ago1543837105IN
0x5982f9De...a64173FcC
0 ETH0.0015267610
Cast Vote68177062018-12-03 9:26:532077 days ago1543829213IN
0x5982f9De...a64173FcC
0 ETH0.0027481618
Cast Vote68176532018-12-03 9:12:082077 days ago1543828328IN
0x5982f9De...a64173FcC
0 ETH0.0018321112
Cast Vote68175422018-12-03 8:46:182077 days ago1543826778IN
0x5982f9De...a64173FcC
0 ETH0.0030535220
Cast Vote68175282018-12-03 8:43:512077 days ago1543826631IN
0x5982f9De...a64173FcC
0 ETH0.0030535220
Cast Vote68175072018-12-03 8:39:122077 days ago1543826352IN
0x5982f9De...a64173FcC
0 ETH0.0035115423
Cast Vote68175052018-12-03 8:38:322077 days ago1543826312IN
0x5982f9De...a64173FcC
0 ETH0.0030535220
Cast Vote68171532018-12-03 7:11:582077 days ago1543821118IN
0x5982f9De...a64173FcC
0 ETH0.0025954917
Cast Vote68171522018-12-03 7:11:532077 days ago1543821113IN
0x5982f9De...a64173FcC
0 ETH0.0005280517
Cast Vote68171422018-12-03 7:09:542077 days ago1543820994IN
0x5982f9De...a64173FcC
0 ETH0.0018321112
Cast Vote68171252018-12-03 7:05:132077 days ago1543820713IN
0x5982f9De...a64173FcC
0 ETH0.0030535220
Cast Vote68171022018-12-03 6:59:272077 days ago1543820367IN
0x5982f9De...a64173FcC
0 ETH0.0030535220
Cast Vote68168242018-12-03 5:55:222077 days ago1543816522IN
0x5982f9De...a64173FcC
0 ETH0.0015267610
Cast Vote68168202018-12-03 5:54:272077 days ago1543816467IN
0x5982f9De...a64173FcC
0 ETH0.00122148
Cast Vote68168032018-12-03 5:49:262077 days ago1543816166IN
0x5982f9De...a64173FcC
0 ETH0.000763385
Cast Vote68167542018-12-03 5:38:422077 days ago1543815522IN
0x5982f9De...a64173FcC
0 ETH0.0021365614
Cast Vote68167542018-12-03 5:38:422077 days ago1543815522IN
0x5982f9De...a64173FcC
0 ETH0.0024428116
Cast Vote68166332018-12-03 5:09:392077 days ago1543813779IN
0x5982f9De...a64173FcC
0 ETH0.0018321112
Cast Vote68165802018-12-03 4:53:452077 days ago1543812825IN
0x5982f9De...a64173FcC
0 ETH0.0015267610
Cast Vote68165622018-12-03 4:49:562077 days ago1543812596IN
0x5982f9De...a64173FcC
0 ETH0.002653517.38
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Proxy

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-05-16
*/

pragma solidity 0.4.23;

/*
 * Ownable
 *
 * Base contract with an owner.
 * Provides onlyOwner modifier, which prevents function from running if it is called by anyone other than the owner.
 */
contract Ownable {
  address public owner;

  function Ownable() public {
    owner = msg.sender;
  }

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

    _;
  }

  function transferOwnership(address newOwner) onlyOwner public {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }

}

contract Proxied is Ownable {
    address public target;
    mapping (address => bool) public initialized;

    event EventUpgrade(address indexed newTarget, address indexed oldTarget, address indexed admin);
    event EventInitialized(address indexed target);

    function upgradeTo(address _target) public;
}

contract Proxy is Proxied {
    /*
     * @notice Constructor sets the target and emmits an event with the first target
     * @param _target - The target Upgradeable contracts address
     */
    constructor(address _target) public {
        upgradeTo(_target);
    }

    /*
     * @notice Upgrades the contract to a different target that has a changed logic. Can only be called by owner
     * @dev See https://github.com/jackandtheblockstalk/upgradeable-proxy for what can and cannot be done in Upgradeable
     * contracts
     * @param _target - The target Upgradeable contracts address
     */
    function upgradeTo(address _target) public onlyOwner {
        assert(target != _target);

        address oldTarget = target;
        target = _target;

        emit EventUpgrade(_target, oldTarget, msg.sender);
    }

    /*
     * @notice Performs an upgrade and then executes a transaction. Intended use to upgrade and initialize atomically
     */
    function upgradeTo(address _target, bytes _data) public onlyOwner {
        upgradeTo(_target);
        assert(target.delegatecall(_data));
    }

    /*
     * @notice Fallback function that will execute code from the target contract to process a function call.
     * @dev Will use the delegatecall opcode to retain the current state of the Proxy contract and use the logic
     * from the target contract to process it.
     */
    function () payable public {
        bytes memory data = msg.data;
        address impl = target;

        assembly {
            let result := delegatecall(gas, impl, add(data, 0x20), mload(data), 0, 0)
            let size := returndatasize

            let ptr := mload(0x40)
            returndatacopy(ptr, 0, size)

            switch result
            case 0 { revert(ptr, size) }
            default { return(ptr, size) }
        }
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_data","type":"bytes"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"initialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"target","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_target","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newTarget","type":"address"},{"indexed":true,"name":"oldTarget","type":"address"},{"indexed":true,"name":"admin","type":"address"}],"name":"EventUpgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"}],"name":"EventInitialized","type":"event"}]

608060405234801561001057600080fd5b5060405160208061095b83398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061008b81610091640100000000026401000000009004565b50610223565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156100ee57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561014857fe5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fe79b6a8d68293faecf550170958caa9dcab36cab525137e61050eefa170dd93a60405160405180910390a45050565b610729806102326000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100fc5780636fbc15e91461013f5780638da5cb5b146101c8578063cbca47db1461021f578063d4b839921461027a578063f2fde38b146102d1575b6060600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600080835160208501845af43d604051816000823e82600081146100f8578282f35b8282fd5b34801561010857600080fd5b5061013d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610314565b005b34801561014b57600080fd5b506101c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506104a6565b005b3480156101d457600080fd5b506101dd6105bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561022b57600080fd5b50610260600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105e2565b604051808215151515815260200191505060405180910390f35b34801561028657600080fd5b5061028f610602565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102dd57600080fd5b50610312600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610628565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561037157600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156103cb57fe5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fe79b6a8d68293faecf550170958caa9dcab36cab525137e61050eefa170dd93a60405160405180910390a45050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561050157600080fd5b61050a82610314565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405180828051906020019080838360005b83811015610571578082015181840152602081019050610556565b50505050905090810190601f16801561059e5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af491505015156105b957fe5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561068357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156106fa57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505600a165627a7a723058200a333797ea45f49868a72eeb071ac67fc429d7c6a6befd9092420afd2bf7b600002900000000000000000000000069f6baff4dfb233d56d81c766babe745833f5bfd

Deployed Bytecode

0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100fc5780636fbc15e91461013f5780638da5cb5b146101c8578063cbca47db1461021f578063d4b839921461027a578063f2fde38b146102d1575b6060600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600080835160208501845af43d604051816000823e82600081146100f8578282f35b8282fd5b34801561010857600080fd5b5061013d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610314565b005b34801561014b57600080fd5b506101c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506104a6565b005b3480156101d457600080fd5b506101dd6105bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561022b57600080fd5b50610260600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105e2565b604051808215151515815260200191505060405180910390f35b34801561028657600080fd5b5061028f610602565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102dd57600080fd5b50610312600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610628565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561037157600080fd5b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156103cb57fe5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fe79b6a8d68293faecf550170958caa9dcab36cab525137e61050eefa170dd93a60405160405180910390a45050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561050157600080fd5b61050a82610314565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405180828051906020019080838360005b83811015610571578082015181840152602081019050610556565b50505050905090810190601f16801561059e5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af491505015156105b957fe5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561068357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156106fa57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505600a165627a7a723058200a333797ea45f49868a72eeb071ac67fc429d7c6a6befd9092420afd2bf7b6000029

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

00000000000000000000000069f6baff4dfb233d56d81c766babe745833f5bfd

-----Decoded View---------------
Arg [0] : _target (address): 0x69F6Baff4DfB233D56D81c766BAbe745833f5bfD

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000069f6baff4dfb233d56d81c766babe745833f5bfd


Swarm Source

bzzr://0a333797ea45f49868a72eeb071ac67fc429d7c6a6befd9092420afd2bf7b600

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.