ETH Price: $1,591.32 (-0.13%)
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve221743782025-04-01 13:32:5917 days ago1743514379IN
UGChain Token
0 ETH0.000100792.17690248
Transfer221743652025-04-01 13:30:2317 days ago1743514223IN
UGChain Token
0 ETH0.000068181.4552128
Transfer220805272025-03-19 11:09:4730 days ago1742382587IN
UGChain Token
0 ETH0.000089452.58674373
Transfer220795152025-03-19 7:45:5930 days ago1742370359IN
UGChain Token
0 ETH0.000126462.44693502
Transfer220392272025-03-13 16:45:1135 days ago1741884311IN
UGChain Token
0 ETH0.00009063.04472249
Transfer220176462025-03-10 16:24:3538 days ago1741623875IN
UGChain Token
0 ETH0.000202983.92940541
Transfer215694782025-01-07 2:02:59101 days ago1736215379IN
UGChain Token
0 ETH0.000285718.27087072
Transfer215374822025-01-02 14:48:11105 days ago1735829291IN
UGChain Token
0 ETH0.000876418.70379305
Approve215064272024-12-29 6:46:35110 days ago1735454795IN
UGChain Token
0 ETH0.000151983.29770282
Approve215060232024-12-29 5:25:23110 days ago1735449923IN
UGChain Token
0 ETH0.000166783.60005955
Transfer214991902024-12-28 6:32:11111 days ago1735367531IN
UGChain Token
0 ETH0.000185263.95274078
Transfer214903272024-12-27 0:50:11112 days ago1735260611IN
UGChain Token
0 ETH0.000201275.82457557
Transfer214903202024-12-27 0:48:47112 days ago1735260527IN
UGChain Token
0 ETH0.000200965.81551913
Transfer214891332024-12-26 20:49:47112 days ago1735246187IN
UGChain Token
0 ETH0.000262277.58971718
Transfer214891302024-12-26 20:49:11112 days ago1735246151IN
UGChain Token
0 ETH0.00027537.96663067
Transfer214737492024-12-24 17:14:47114 days ago1735060487IN
UGChain Token
0 ETH0.00042319.0273534
Transfer213984782024-12-14 4:50:59125 days ago1734151859IN
UGChain Token
0 ETH0.0003941811.40681613
Transfer213984672024-12-14 4:48:47125 days ago1734151727IN
UGChain Token
0 ETH0.00040511.72003944
Transfer213972792024-12-14 0:50:11125 days ago1734137411IN
UGChain Token
0 ETH0.000431312.48106527
Transfer213972742024-12-14 0:49:11125 days ago1734137351IN
UGChain Token
0 ETH0.0004533813.11993934
Approve213424682024-12-06 9:09:47133 days ago1733476187IN
UGChain Token
0 ETH0.0012347726.63219601
Transfer213256602024-12-04 0:49:11135 days ago1733273351IN
UGChain Token
0 ETH0.0006499918.822518
Transfer212373972024-11-21 16:48:23147 days ago1732207703IN
UGChain Token
0 ETH0.000717320.77166131
Approve211787132024-11-13 12:16:59156 days ago1731500219IN
UGChain Token
0 ETH0.0014998532.3495324
Transfer211785492024-11-13 11:43:35156 days ago1731498215IN
UGChain Token
0 ETH0.0011859925.3108827
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:
UGCoin

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-12-24
*/

contract Multiowned {

    // TYPES

    // struct for the status of a pending operation.
    struct PendingState {
        uint yetNeeded;
        uint ownersDone;
        uint index;
    }

    // EVENT

    // this contract only has five types of events: it can accept a confirmation, in which case
    // we record owner and operation (hash) alongside it.
    event Confirmation(address owner, bytes32 operation);
    event Revoke(address owner, bytes32 operation);
    // some others are in the case of an owner changing.
    event OwnerChanged(address oldOwner, address newOwner, bytes32 operation);
    event OwnerAdded(address newOwner, bytes32 operation);
    event OwnerRemoved(address oldOwner, bytes32 operation);
    // the last one is emitted if the required signatures change
    event RequirementChanged(uint newRequirement, bytes32 operation);
    event Operation(bytes32 operation);


    // MODIFIERS

    // simple single-sig function modifier.
    modifier onlyOwner {
        if (isOwner(msg.sender))
            _;
    }
    // multi-sig function modifier: the operation must have an intrinsic hash in order
    // that later attempts can be realised as the same underlying operation and
    // thus count as confirmations.
    modifier onlyManyOwners(bytes32 _operation) {
        Operation(_operation);
        if (confirmAndCheck(_operation))
            _;
    }

    // METHODS

    // constructor is given number of sigs required to do protected "onlyManyOwners" transactions
    // as well as the selection of addresses capable of confirming them.
    function Multiowned() public{
        m_numOwners = 1;
        m_owners[1] = uint(msg.sender);
        m_ownerIndex[uint(msg.sender)] = 1;
        m_required = 1;
    }
    
    // Revokes a prior confirmation of the given operation
    function revoke(bytes32 _operation) external {
        uint ownerIndex = m_ownerIndex[uint(msg.sender)];
        // make sure they're an owner
        if (ownerIndex == 0) return;
        uint ownerIndexBit = 2**ownerIndex;
        var pending = m_pending[_operation];
        if (pending.ownersDone & ownerIndexBit > 0) {
            pending.yetNeeded++;
            pending.ownersDone -= ownerIndexBit;
            Revoke(msg.sender, _operation);
        }
    }
    
    // Replaces an owner `_from` with another `_to`.
    function changeOwner(address _from, address _to) onlyManyOwners(keccak256(msg.data)) external {
        if (isOwner(_to)) return;
        uint ownerIndex = m_ownerIndex[uint(_from)];
        if (ownerIndex == 0) return;

        clearPending();
        m_owners[ownerIndex] = uint(_to);
        m_ownerIndex[uint(_from)] = 0;
        m_ownerIndex[uint(_to)] = ownerIndex;
        OwnerChanged(_from, _to, keccak256(msg.data));
    }
    
    function addOwner(address _owner) onlyManyOwners(keccak256(msg.data)) external {
        if (isOwner(_owner)) return;

        clearPending();
        if (m_numOwners >= c_maxOwners)
            reorganizeOwners();
        if (m_numOwners >= c_maxOwners)
            return;
        m_numOwners++;
        m_owners[m_numOwners] = uint(_owner);
        m_ownerIndex[uint(_owner)] = m_numOwners;
        OwnerAdded(_owner,keccak256(msg.data));
    }
    
    function removeOwner(address _owner) onlyManyOwners(keccak256(msg.data)) external {
        uint ownerIndex = m_ownerIndex[uint(_owner)];
        if (ownerIndex == 0) return;
        if (m_required > m_numOwners - 1) return;

        m_owners[ownerIndex] = 0;
        m_ownerIndex[uint(_owner)] = 0;
        clearPending();
        reorganizeOwners(); //make sure m_numOwner is equal to the number of owners and always points to the optimal free slot
        OwnerRemoved(_owner,keccak256(msg.data));
    }
    
    function changeRequirement(uint _newRequired) onlyManyOwners(keccak256(msg.data)) external {
        if (_newRequired > m_numOwners) return;
        m_required = _newRequired;
        clearPending();
        RequirementChanged(_newRequired,keccak256(msg.data));
    }

    function isOwner(address _addr) view public returns (bool){
        return m_ownerIndex[uint(_addr)] > 0;
    }
    
    //when the voting is complate, hasConfirmed return false
    //if the voteing is ongoing, it returns whether _owner has voted the _operation
    function hasConfirmed(bytes32 _operation, address _owner) view public returns (bool) {
        var pending = m_pending[_operation];
        uint ownerIndex = m_ownerIndex[uint(_owner)];

        // make sure they're an owner
        if (ownerIndex == 0) return false;

        // determine the bit to set for this owner.
        uint ownerIndexBit = 2**ownerIndex;
        return !(pending.ownersDone & ownerIndexBit == 0);
    }
    
    // INTERNAL METHODS

    function confirmAndCheck(bytes32 _operation) internal returns (bool) {
        // determine what index the present sender is:
        uint ownerIndex = m_ownerIndex[uint(msg.sender)];
        // make sure they're an owner
        if (ownerIndex == 0) return;

        var pending = m_pending[_operation];
        // if we're not yet working on this operation, switch over and reset the confirmation status.
        if (pending.yetNeeded == 0) {
            // reset count of confirmations needed.
            pending.yetNeeded = m_required;
            // reset which owners have confirmed (none) - set our bitmap to 0.
            pending.ownersDone = 0;
            pending.index = m_pendingIndex.length++;
            m_pendingIndex[pending.index] = _operation;
        }
        // determine the bit to set for this owner.
        uint ownerIndexBit = 2**ownerIndex;
        // make sure we (the message sender) haven't confirmed this operation previously.
        if (pending.ownersDone & ownerIndexBit == 0) {
            Confirmation(msg.sender, _operation);
            // ok - check if count is enough to go ahead.
            if (pending.yetNeeded <= 1) {
                // enough confirmations: reset and run interior.
                delete m_pendingIndex[m_pending[_operation].index];
                delete m_pending[_operation];
                return true;
            }
            else
            {
                // not enough: record that this owner in particular confirmed.
                pending.yetNeeded--;
                pending.ownersDone |= ownerIndexBit;
            }
        }
    }

    function reorganizeOwners() private {
        uint free = 1;
        while (free < m_numOwners)
        {
            while (free < m_numOwners && m_owners[free] != 0) free++;
            while (m_numOwners > 1 && m_owners[m_numOwners] == 0) m_numOwners--;
            if (free < m_numOwners && m_owners[m_numOwners] != 0 && m_owners[free] == 0)
            {
                m_owners[free] = m_owners[m_numOwners];
                m_ownerIndex[m_owners[free]] = free;
                m_owners[m_numOwners] = 0;
            }
        }
    }
    
    function clearPending() internal {
        uint length = m_pendingIndex.length;
        for (uint i = 0; i < length; ++i)
            if (m_pendingIndex[i] != 0)
                delete m_pending[m_pendingIndex[i]];
        delete m_pendingIndex;
    }
        
    // FIELDS

    // the number of owners that must confirm the same operation before it is run.
    uint public m_required;
    // pointer used to find a free slot in m_owners
    uint public m_numOwners;
    
    // list of owners
    uint[256] m_owners;
    uint constant c_maxOwners = 250;
    // index on the list of owners to allow reverse lookup
    mapping(uint => uint) m_ownerIndex;
    // the ongoing operations.
    mapping(bytes32 => PendingState) m_pending;
    bytes32[] m_pendingIndex;
}

contract Token {
    /* This is a slight change to the ERC20 base standard.
    function totalSupply() constant returns (uint256 supply);
    is replaced with:
    uint256 public totalSupply;
    This automatically creates a getter function for the totalSupply.
    This is moved to the base contract since public getter functions are not
    currently recognised as an implementation of the matching abstract
    function by the compiler.
    */
    /// total amount of tokens
    uint256 public totalSupply;

    /// @param _owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address _owner) public view returns (uint256 balance);

    /// @notice send `_value` token to `_to` from `msg.sender`
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transfer(address _to, uint256 _value) public returns (bool success);

    /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
    /// @param _from The address of the sender
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);

    /// @notice `msg.sender` approves `_spender` to spend `_value` tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @param _value The amount of tokens to be approved for transfer
    /// @return Whether the approval was successful or not
    function approve(address _spender, uint256 _value) public returns (bool success);

    /// @param _owner The address of the account owning tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @return Amount of remaining tokens allowed to spent
    function allowance(address _owner, address _spender) public view returns (uint256 remaining);

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

contract StandardToken is Token {

    uint256 constant MAX_UINT256 = 2**256 - 1;

    function transfer(address _to, uint256 _value) public returns (bool success) {
        //Default assumes totalSupply can't be over max (2^256 - 1).
        //If your token leaves out totalSupply and can issue more tokens as time goes on, you need to check if it doesn't wrap.
        //Replace the if with this one instead.
        //require(balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]);
        require(balances[msg.sender] >= _value);
        balances[msg.sender] -= _value;
        balances[_to] += _value;
        Transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        //same as above. Replace this line with the following if you want to protect against wrapping uints.
        //require(balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]);
        uint256 allowance = allowed[_from][msg.sender];
        require(balances[_from] >= _value && allowance >= _value);
        balances[_to] += _value;
        balances[_from] -= _value;
        if (allowance < MAX_UINT256) {
            allowed[_from][msg.sender] -= _value;
        }
        Transfer(_from, _to, _value);
        return true;
    }

    function balanceOf(address _owner) view public returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender)
    view public returns (uint256 remaining) {
      return allowed[_owner][_spender];
    }

    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;
}


contract UGCoin is Multiowned, StandardToken {

    event Freeze(address from, uint value);
    event Defreeze(address ownerAddr, address userAddr, uint256 amount);
    event ReturnToOwner(address ownerAddr, uint amount);
    event Destroy(address from, uint value);

    function UGCoin() public Multiowned(){
        balances[msg.sender] = initialAmount;   // Give the creator all initial balances is defined in StandardToken.sol
        totalSupply = initialAmount;              // Update total supply, totalSupply is defined in Tocken.sol
    }

    function() public {

    }
    
    /* transfer UGC to DAS */
    function freeze(uint256 _amount) external returns (bool success){
        require(balances[msg.sender] >= _amount);
        coinPool += _amount;
        balances[msg.sender] -= _amount;
        Freeze(msg.sender, _amount);
        return true;
    }

    /* transfer UGC from DAS */
    function defreeze(address _userAddr, uint256 _amount) onlyOwner external returns (bool success){
        require(balances[msg.sender] >= _amount); //msg.sender is a owner
        require(coinPool >= _amount);
        balances[_userAddr] += _amount;
        balances[msg.sender] -= _amount;
        ownersLoan[msg.sender] += _amount;
        Defreeze(msg.sender, _userAddr, _amount);
        return true;
    }

    function returnToOwner(address _ownerAddr, uint256 _amount) onlyManyOwners(keccak256(msg.data)) external returns (bool success){
        require(coinPool >= _amount);
        require(isOwner(_ownerAddr));
        require(ownersLoan[_ownerAddr] >= _amount);
        balances[_ownerAddr] += _amount;
        coinPool -= _amount;
        ownersLoan[_ownerAddr] -= _amount;
        ReturnToOwner(_ownerAddr, _amount);
        return true;
    }
    
    function destroy(uint256 _amount) external returns (bool success){
        require(balances[msg.sender] >= _amount);
        balances[msg.sender] -= _amount;
        totalSupply -= _amount;
        Destroy(msg.sender, _amount);
        return true;
    }

    function getOwnersLoan(address _ownerAddr) view public returns (uint256){
        return ownersLoan[_ownerAddr];
    }

    /* Approves and then calls the receiving contract */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);

        //call the receiveApproval function on the contract you want to be notified. 
        //This crafts the function signature manually so one doesn't have to include a contract in here just for this.
        //receiveApproval(address _from, uint256 _value, address _tokenContract, bytes _extraData)
        //it is assumed when one does this that the call *should* succeed, otherwise one would use vanilla approve instead.
        require(_spender.call(bytes4(bytes32(keccak256("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData));
        return true;
    }

    string public name = "UG Coin";
    uint8 public decimals = 18;
    string public symbol = "UGC";
    string public version = "v0.1";
    uint256 public initialAmount = (10 ** 9) * (10 ** 18);
    uint256 public coinPool = 0;      // coinPool is a pool for freezing UGC
    mapping (address => uint256) ownersLoan;      // record the amount of UGC paid by oweners for freezing UGC

}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_userAddr","type":"address"},{"name":"_amount","type":"uint256"}],"name":"defreeze","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_numOwners","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_required","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"destroy","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_operation","type":"bytes32"}],"name":"revoke","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newRequired","type":"uint256"}],"name":"changeRequirement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_ownerAddr","type":"address"},{"name":"_amount","type":"uint256"}],"name":"returnToOwner","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_operation","type":"bytes32"},{"name":"_owner","type":"address"}],"name":"hasConfirmed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_ownerAddr","type":"address"}],"name":"getOwnersLoan","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"freeze","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"coinPool","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ownerAddr","type":"address"},{"indexed":false,"name":"userAddr","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Defreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"ownerAddr","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ReturnToOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Destroy","type":"event"},{"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":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"operation","type":"bytes32"}],"name":"Confirmation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"operation","type":"bytes32"}],"name":"Revoke","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"},{"indexed":false,"name":"operation","type":"bytes32"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"},{"indexed":false,"name":"operation","type":"bytes32"}],"name":"OwnerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"operation","type":"bytes32"}],"name":"OwnerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newRequirement","type":"uint256"},{"indexed":false,"name":"operation","type":"bytes32"}],"name":"RequirementChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"operation","type":"bytes32"}],"name":"Operation","type":"event"}]

60606040526040805190810160405280600781526020017f554720436f696e00000000000000000000000000000000000000000000000000815250610108908051906020019062000052929190620001f7565b50601261010960006101000a81548160ff021916908360ff1602179055506040805190810160405280600381526020017f554743000000000000000000000000000000000000000000000000000000000081525061010a9080519060200190620000be929190620001f7565b506040805190810160405280600481526020017f76302e310000000000000000000000000000000000000000000000000000000081525061010b90805190602001906200010d929190620001f7565b506b033b2e3c9fd0803ce800000061010c55600061010d5534156200013157600080fd5b600180819055503373ffffffffffffffffffffffffffffffffffffffff1660026001610100811015156200016157fe5b0181905550600161010260003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160008190555061010c5461010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061010c5461010581905550620002a6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023a57805160ff19168380011785556200026b565b828001600101855582156200026b579182015b828111156200026a5782518255916020019190600101906200024d565b5b5090506200027a91906200027e565b5090565b620002a391905b808211156200029f57600081600090555060010162000285565b5090565b90565b6127b580620002b66000396000f30060606040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461016c578063095ea7b3146101fa578063173825d91461025457806318160ddd1461028d5780631ee2fe6a146102b657806323b872dd146103105780632f54bf6e14610389578063313ce567146103da5780634123cb6b1461040957806354fd4d50146104325780637065cb48146104c057806370a08231146104f9578063746c91711461054657806395d89b411461056f5780639d118770146105fd578063a9059cbb14610638578063b75c7dc614610692578063ba51a6df146106b9578063be2b9a79146106dc578063c2cf732614610736578063c67410fb14610794578063cae9ca51146107e1578063d7a78db81461087e578063dd62ed3e146108b9578063f00d4b5d14610925578063f4ea77f31461097d578063fc1ed437146109a6575b341561016a57600080fd5b005b341561017757600080fd5b61017f6109cf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101bf5780820151818401526020810190506101a4565b50505050905090810190601f1680156101ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020557600080fd5b61023a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a6e565b604051808215151515815260200191505060405180910390f35b341561025f57600080fd5b61028b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b61565b005b341561029857600080fd5b6102a0610d09565b6040518082815260200191505060405180910390f35b34156102c157600080fd5b6102f6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d10565b604051808215151515815260200191505060405180910390f35b341561031b57600080fd5b61036f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f15565b604051808215151515815260200191505060405180910390f35b341561039457600080fd5b6103c0600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111b4565b604051808215151515815260200191505060405180910390f35b34156103e557600080fd5b6103ed6111ea565b604051808260ff1660ff16815260200191505060405180910390f35b341561041457600080fd5b61041c6111fe565b6040518082815260200191505060405180910390f35b341561043d57600080fd5b610445611204565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561048557808201518184015260208101905061046a565b50505050905090810190601f1680156104b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104cb57600080fd5b6104f7600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112a3565b005b341561050457600080fd5b610530600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611456565b6040518082815260200191505060405180910390f35b341561055157600080fd5b6105596114a0565b6040518082815260200191505060405180910390f35b341561057a57600080fd5b6105826114a6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105c25780820151818401526020810190506105a7565b50505050905090810190601f1680156105ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561060857600080fd5b61061e6004808035906020019091905050611545565b604051808215151515815260200191505060405180910390f35b341561064357600080fd5b610678600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611669565b604051808215151515815260200191505060405180910390f35b341561069d57600080fd5b6106b76004808035600019169060200190919050506117c5565b005b34156106c457600080fd5b6106da60048080359060200190919050506118d9565b005b34156106e757600080fd5b61071c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506119cc565b604051808215151515815260200191505060405180910390f35b341561074157600080fd5b61077a60048080356000191690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611bd1565b604051808215151515815260200191505060405180910390f35b341561079f57600080fd5b6107cb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c51565b6040518082815260200191505060405180910390f35b34156107ec57600080fd5b610864600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611c9b565b604051808215151515815260200191505060405180910390f35b341561088957600080fd5b61089f6004808035906020019091905050611f3d565b604051808215151515815260200191505060405180910390f35b34156108c457600080fd5b61090f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612061565b6040518082815260200191505060405180910390f35b341561093057600080fd5b61097b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506120e9565b005b341561098857600080fd5b610990612302565b6040518082815260200191505060405180910390f35b34156109b157600080fd5b6109b9612309565b6040518082815260200191505060405180910390f35b6101088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a665780601f10610a3b57610100808354040283529160200191610a66565b820191906000526020600020905b815481529060010190602001808311610a4957829003601f168201915b505050505081565b60008161010760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600080366040518083838082843782019150509250505060405180910390207fbc77a194c76c281279b0795dd58fe933d3265a2fa119952cff085cad68a87a048160405180826000191660001916815260200191505060405180910390a1610bc881612310565b15610d045761010260008473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491506000821415610c0857610d03565b60018054036000541115610c1b57610d03565b600060028361010081101515610c2d57fe5b0181905550600061010260008573ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c6a61251c565b610c726125d2565b7f6de65097a3f0c1ff92f9afb7cae179e776c6a00a57c2211a50a2e02865475f6783600036604051808383808284378201915050925050506040518091039020604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a15b5b505050565b6101055481565b6000610d1b336111b4565b15610f0f578161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610d6f57600080fd5b8161010d5410151515610d8157600080fd5b8161010660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508161010e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f46a3e2909577f2702de8e9d85fb18e091da6f1ac1c344916e8eae2b373180a0e338484604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1600190505b92915050565b60008061010760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508261010660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610fe85750828110155b1515610ff357600080fd5b8261010660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508261010660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015611143578261010760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60008061010260008473ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054119050919050565b61010960009054906101000a900460ff1681565b60015481565b61010b8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561129b5780601f106112705761010080835404028352916020019161129b565b820191906000526020600020905b81548152906001019060200180831161127e57829003601f168201915b505050505081565b6000366040518083838082843782019150509250505060405180910390207fbc77a194c76c281279b0795dd58fe933d3265a2fa119952cff085cad68a87a048160405180826000191660001916815260200191505060405180910390a161130981612310565b1561145257611317826111b4565b1561132157611451565b61132961251c565b60fa60015410151561133e5761133d6125d2565b5b60fa60015410151561134f57611451565b6001600081548092919060010191905055508173ffffffffffffffffffffffffffffffffffffffff1660026001546101008110151561138a57fe5b018190555060015461010260008473ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fe76895bf802f93276d19c09b901db9bc4894a3d92c887ef5acb84fe23c35afd582600036604051808383808284378201915050925050506040518091039020604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a15b5b5050565b600061010660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60005481565b61010a8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561153d5780601f106115125761010080835404028352916020019161153d565b820191906000526020600020905b81548152906001019060200180831161152057829003601f168201915b505050505081565b60008161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561159657600080fd5b8161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081610105600082825403925050819055507f81325e2a6c442af9d36e4ee9697f38d5f4bf0837ade0f6c411c6a40af7c057ee3383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a160019050919050565b60008161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156116ba57600080fd5b8161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508161010660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600061010260003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492506000831415611805576118d3565b8260020a915061010360008560001916600019168152602001908152602001600020905060008282600101541611156118d25780600001600081548092919060010191905055508181600101600082825403925050819055507fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b3385604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a15b5b50505050565b6000366040518083838082843782019150509250505060405180910390207fbc77a194c76c281279b0795dd58fe933d3265a2fa119952cff085cad68a87a048160405180826000191660001916815260200191505060405180910390a161193f81612310565b156119c857600154821115611953576119c7565b8160008190555061196261251c565b7fd9f38388916febc2ded023fd78160b7407245c343d4aca394284a34d841490e3826000366040518083838082843782019150509250505060405180910390206040518083815260200182600019166000191681526020019250505060405180910390a15b5b5050565b600080366040518083838082843782019150509250505060405180910390207fbc77a194c76c281279b0795dd58fe933d3265a2fa119952cff085cad68a87a048160405180826000191660001916815260200191505060405180910390a1611a3381612310565b15611bca578261010d5410151515611a4a57600080fd5b611a53846111b4565b1515611a5e57600080fd5b8261010e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611aad57600080fd5b8261010660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508261010d600082825403925050819055508261010e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fd9987c07e67b2955451d91af3143fe74a702a43c2adcbaac5aeac3c916bec4d38484604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1600191505b5092915050565b60008060008061010360008760001916600019168152602001908152602001600020925061010260008673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491506000821415611c345760009350611c48565b8160020a9050600081846001015416141593505b50505092915050565b600061010e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008261010760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff1660405180807f72656365697665417070726f76616c28616464726573732c75696e743235362c81526020017f616464726573732c627974657329000000000000000000000000000000000000815250602e01905060405180910390207c01000000000000000000000000000000000000000000000000000000009004338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828051906020019080838360005b83811015611edd578082015181840152602081019050611ec2565b50505050905090810190601f168015611f0a5780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038160008761646e5a03f1925050501515611f3257600080fd5b600190509392505050565b60008161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611f8e57600080fd5b8161010d600082825401925050819055508161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e03383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a160019050919050565b600061010760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080366040518083838082843782019150509250505060405180910390207fbc77a194c76c281279b0795dd58fe933d3265a2fa119952cff085cad68a87a048160405180826000191660001916815260200191505060405180910390a161215081612310565b156122fc5761215e836111b4565b15612168576122fb565b61010260008573ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060008214156121a3576122fb565b6121ab61251c565b8273ffffffffffffffffffffffffffffffffffffffff16600283610100811015156121d257fe5b0181905550600061010260008673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508161010260008573ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fe1b8708f9200a62991e7705bf47bdd8797e7d38802e7b17060a3efa5576ccb538484600036604051808383808284378201915050925050506040518091039020604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260001916600019168152602001935050505060405180910390a15b5b50505050565b61010d5481565b61010c5481565b60008060008061010260003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250600083141561235157612514565b6101036000866000191660001916815260200190815260200160002091506000826000015414156123d75760005482600001819055506000826001018190555061010480548091906001016123a69190612717565b82600201819055508461010483600201548154811015156123c357fe5b906000526020600020900181600019169055505b8260020a90506000818360010154161415612513577fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda3386604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a1600182600001541115156124eb57610104610103600087600019166000191681526020019081526020016000206002015481548110151561249c57fe5b9060005260206000209001600090556101036000866000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055505060019350612514565b8160000160008154809291906001900391905055508082600101600082825417925050819055505b5b505050919050565b600080610104805490509150600090505b818110156125bf5760006001026101048281548110151561254a57fe5b906000526020600020900154600019161415156125b45761010360006101048381548110151561257657fe5b906000526020600020900154600019166000191681526020019081526020016000206000808201600090556001820160009055600282016000905550505b80600101905061252d565b61010460006125ce9190612743565b5050565b6000600190505b600154811015612714575b60015481108015612607575060006002826101008110151561260257fe5b015414155b156126195780806001019150506125e4565b5b6001805411801561263e5750600060026001546101008110151561263a57fe5b0154145b1561265b576001600081548092919060019003919050555061261a565b600154811080156126805750600060026001546101008110151561267b57fe5b015414155b801561269d575060006002826101008110151561269957fe5b0154145b1561270f576002600154610100811015156126b457fe5b0154600282610100811015156126c657fe5b0181905550806101026000600284610100811015156126e157fe5b0154815260200190815260200160002081905550600060026001546101008110151561270957fe5b01819055505b6125d9565b50565b81548183558181151161273e5781836000526020600020918201910161273d9190612764565b5b505050565b50805460008255906000526020600020908101906127619190612764565b50565b61278691905b8082111561278257600081600090555060010161276a565b5090565b905600a165627a7a72305820e486acae3bbc23eef2bbbbb157bcd6f5bc734d9b7a9ea76fa4321619b5f7ad010029

Deployed Bytecode

0x60606040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461016c578063095ea7b3146101fa578063173825d91461025457806318160ddd1461028d5780631ee2fe6a146102b657806323b872dd146103105780632f54bf6e14610389578063313ce567146103da5780634123cb6b1461040957806354fd4d50146104325780637065cb48146104c057806370a08231146104f9578063746c91711461054657806395d89b411461056f5780639d118770146105fd578063a9059cbb14610638578063b75c7dc614610692578063ba51a6df146106b9578063be2b9a79146106dc578063c2cf732614610736578063c67410fb14610794578063cae9ca51146107e1578063d7a78db81461087e578063dd62ed3e146108b9578063f00d4b5d14610925578063f4ea77f31461097d578063fc1ed437146109a6575b341561016a57600080fd5b005b341561017757600080fd5b61017f6109cf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101bf5780820151818401526020810190506101a4565b50505050905090810190601f1680156101ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020557600080fd5b61023a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a6e565b604051808215151515815260200191505060405180910390f35b341561025f57600080fd5b61028b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b61565b005b341561029857600080fd5b6102a0610d09565b6040518082815260200191505060405180910390f35b34156102c157600080fd5b6102f6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d10565b604051808215151515815260200191505060405180910390f35b341561031b57600080fd5b61036f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f15565b604051808215151515815260200191505060405180910390f35b341561039457600080fd5b6103c0600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111b4565b604051808215151515815260200191505060405180910390f35b34156103e557600080fd5b6103ed6111ea565b604051808260ff1660ff16815260200191505060405180910390f35b341561041457600080fd5b61041c6111fe565b6040518082815260200191505060405180910390f35b341561043d57600080fd5b610445611204565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561048557808201518184015260208101905061046a565b50505050905090810190601f1680156104b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104cb57600080fd5b6104f7600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112a3565b005b341561050457600080fd5b610530600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611456565b6040518082815260200191505060405180910390f35b341561055157600080fd5b6105596114a0565b6040518082815260200191505060405180910390f35b341561057a57600080fd5b6105826114a6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105c25780820151818401526020810190506105a7565b50505050905090810190601f1680156105ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561060857600080fd5b61061e6004808035906020019091905050611545565b604051808215151515815260200191505060405180910390f35b341561064357600080fd5b610678600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611669565b604051808215151515815260200191505060405180910390f35b341561069d57600080fd5b6106b76004808035600019169060200190919050506117c5565b005b34156106c457600080fd5b6106da60048080359060200190919050506118d9565b005b34156106e757600080fd5b61071c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506119cc565b604051808215151515815260200191505060405180910390f35b341561074157600080fd5b61077a60048080356000191690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611bd1565b604051808215151515815260200191505060405180910390f35b341561079f57600080fd5b6107cb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c51565b6040518082815260200191505060405180910390f35b34156107ec57600080fd5b610864600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611c9b565b604051808215151515815260200191505060405180910390f35b341561088957600080fd5b61089f6004808035906020019091905050611f3d565b604051808215151515815260200191505060405180910390f35b34156108c457600080fd5b61090f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612061565b6040518082815260200191505060405180910390f35b341561093057600080fd5b61097b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506120e9565b005b341561098857600080fd5b610990612302565b6040518082815260200191505060405180910390f35b34156109b157600080fd5b6109b9612309565b6040518082815260200191505060405180910390f35b6101088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a665780601f10610a3b57610100808354040283529160200191610a66565b820191906000526020600020905b815481529060010190602001808311610a4957829003601f168201915b505050505081565b60008161010760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600080366040518083838082843782019150509250505060405180910390207fbc77a194c76c281279b0795dd58fe933d3265a2fa119952cff085cad68a87a048160405180826000191660001916815260200191505060405180910390a1610bc881612310565b15610d045761010260008473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491506000821415610c0857610d03565b60018054036000541115610c1b57610d03565b600060028361010081101515610c2d57fe5b0181905550600061010260008573ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c6a61251c565b610c726125d2565b7f6de65097a3f0c1ff92f9afb7cae179e776c6a00a57c2211a50a2e02865475f6783600036604051808383808284378201915050925050506040518091039020604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a15b5b505050565b6101055481565b6000610d1b336111b4565b15610f0f578161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610d6f57600080fd5b8161010d5410151515610d8157600080fd5b8161010660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508161010e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f46a3e2909577f2702de8e9d85fb18e091da6f1ac1c344916e8eae2b373180a0e338484604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1600190505b92915050565b60008061010760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508261010660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610fe85750828110155b1515610ff357600080fd5b8261010660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508261010660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015611143578261010760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60008061010260008473ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054119050919050565b61010960009054906101000a900460ff1681565b60015481565b61010b8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561129b5780601f106112705761010080835404028352916020019161129b565b820191906000526020600020905b81548152906001019060200180831161127e57829003601f168201915b505050505081565b6000366040518083838082843782019150509250505060405180910390207fbc77a194c76c281279b0795dd58fe933d3265a2fa119952cff085cad68a87a048160405180826000191660001916815260200191505060405180910390a161130981612310565b1561145257611317826111b4565b1561132157611451565b61132961251c565b60fa60015410151561133e5761133d6125d2565b5b60fa60015410151561134f57611451565b6001600081548092919060010191905055508173ffffffffffffffffffffffffffffffffffffffff1660026001546101008110151561138a57fe5b018190555060015461010260008473ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fe76895bf802f93276d19c09b901db9bc4894a3d92c887ef5acb84fe23c35afd582600036604051808383808284378201915050925050506040518091039020604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a15b5b5050565b600061010660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60005481565b61010a8054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561153d5780601f106115125761010080835404028352916020019161153d565b820191906000526020600020905b81548152906001019060200180831161152057829003601f168201915b505050505081565b60008161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561159657600080fd5b8161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081610105600082825403925050819055507f81325e2a6c442af9d36e4ee9697f38d5f4bf0837ade0f6c411c6a40af7c057ee3383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a160019050919050565b60008161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156116ba57600080fd5b8161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508161010660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080600061010260003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492506000831415611805576118d3565b8260020a915061010360008560001916600019168152602001908152602001600020905060008282600101541611156118d25780600001600081548092919060010191905055508181600101600082825403925050819055507fc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b3385604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a15b5b50505050565b6000366040518083838082843782019150509250505060405180910390207fbc77a194c76c281279b0795dd58fe933d3265a2fa119952cff085cad68a87a048160405180826000191660001916815260200191505060405180910390a161193f81612310565b156119c857600154821115611953576119c7565b8160008190555061196261251c565b7fd9f38388916febc2ded023fd78160b7407245c343d4aca394284a34d841490e3826000366040518083838082843782019150509250505060405180910390206040518083815260200182600019166000191681526020019250505060405180910390a15b5b5050565b600080366040518083838082843782019150509250505060405180910390207fbc77a194c76c281279b0795dd58fe933d3265a2fa119952cff085cad68a87a048160405180826000191660001916815260200191505060405180910390a1611a3381612310565b15611bca578261010d5410151515611a4a57600080fd5b611a53846111b4565b1515611a5e57600080fd5b8261010e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611aad57600080fd5b8261010660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508261010d600082825403925050819055508261010e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fd9987c07e67b2955451d91af3143fe74a702a43c2adcbaac5aeac3c916bec4d38484604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1600191505b5092915050565b60008060008061010360008760001916600019168152602001908152602001600020925061010260008673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491506000821415611c345760009350611c48565b8160020a9050600081846001015416141593505b50505092915050565b600061010e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008261010760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff1660405180807f72656365697665417070726f76616c28616464726573732c75696e743235362c81526020017f616464726573732c627974657329000000000000000000000000000000000000815250602e01905060405180910390207c01000000000000000000000000000000000000000000000000000000009004338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828051906020019080838360005b83811015611edd578082015181840152602081019050611ec2565b50505050905090810190601f168015611f0a5780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038160008761646e5a03f1925050501515611f3257600080fd5b600190509392505050565b60008161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611f8e57600080fd5b8161010d600082825401925050819055508161010660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e03383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a160019050919050565b600061010760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080366040518083838082843782019150509250505060405180910390207fbc77a194c76c281279b0795dd58fe933d3265a2fa119952cff085cad68a87a048160405180826000191660001916815260200191505060405180910390a161215081612310565b156122fc5761215e836111b4565b15612168576122fb565b61010260008573ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060008214156121a3576122fb565b6121ab61251c565b8273ffffffffffffffffffffffffffffffffffffffff16600283610100811015156121d257fe5b0181905550600061010260008673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508161010260008573ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fe1b8708f9200a62991e7705bf47bdd8797e7d38802e7b17060a3efa5576ccb538484600036604051808383808284378201915050925050506040518091039020604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260001916600019168152602001935050505060405180910390a15b5b50505050565b61010d5481565b61010c5481565b60008060008061010260003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250600083141561235157612514565b6101036000866000191660001916815260200190815260200160002091506000826000015414156123d75760005482600001819055506000826001018190555061010480548091906001016123a69190612717565b82600201819055508461010483600201548154811015156123c357fe5b906000526020600020900181600019169055505b8260020a90506000818360010154161415612513577fe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda3386604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a1600182600001541115156124eb57610104610103600087600019166000191681526020019081526020016000206002015481548110151561249c57fe5b9060005260206000209001600090556101036000866000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055505060019350612514565b8160000160008154809291906001900391905055508082600101600082825417925050819055505b5b505050919050565b600080610104805490509150600090505b818110156125bf5760006001026101048281548110151561254a57fe5b906000526020600020900154600019161415156125b45761010360006101048381548110151561257657fe5b906000526020600020900154600019166000191681526020019081526020016000206000808201600090556001820160009055600282016000905550505b80600101905061252d565b61010460006125ce9190612743565b5050565b6000600190505b600154811015612714575b60015481108015612607575060006002826101008110151561260257fe5b015414155b156126195780806001019150506125e4565b5b6001805411801561263e5750600060026001546101008110151561263a57fe5b0154145b1561265b576001600081548092919060019003919050555061261a565b600154811080156126805750600060026001546101008110151561267b57fe5b015414155b801561269d575060006002826101008110151561269957fe5b0154145b1561270f576002600154610100811015156126b457fe5b0154600282610100811015156126c657fe5b0181905550806101026000600284610100811015156126e157fe5b0154815260200190815260200160002081905550600060026001546101008110151561270957fe5b01819055505b6125d9565b50565b81548183558181151161273e5781836000526020600020918201910161273d9190612764565b5b505050565b50805460008255906000526020600020908101906127619190612764565b50565b61278691905b8082111561278257600081600090555060010161276a565b5090565b905600a165627a7a72305820e486acae3bbc23eef2bbbbb157bcd6f5bc734d9b7a9ea76fa4321619b5f7ad010029

Swarm Source

bzzr://e486acae3bbc23eef2bbbbb157bcd6f5bc734d9b7a9ea76fa4321619b5f7ad01

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

ugChain (UGC) is a cryptocurrency and operates on the Ethereum platform.

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.