ETH Price: $3,264.49 (+0.13%)
Gas: 2 Gwei

Contract

0x4DF812F6064def1e5e029f1ca858777CC98D2D81
 
Transaction Hash
Method
Block
From
To
0x41befe850721a198517a79c7830b5ac71c8940b717a742228e526793ab5463b4 Transfer(pending)2024-07-25 8:13:452 days ago1721895225IN
Xaurum Token
0 ETH(Pending)(Pending)
0x4e46677a56a66ec4a925ac0ab661f8e1bde88f70f3c11fc3de52d692b961020f Transfer(pending)2024-07-25 7:14:392 days ago1721891679IN
Xaurum Token
0 ETH(Pending)(Pending)
Transfer203411662024-07-19 14:26:118 days ago1721399171IN
Xaurum Token
0 ETH0.0008138513.33972804
Transfer203245622024-07-17 6:49:4710 days ago1721198987IN
Xaurum Token
0 ETH0.0006706910.99096859
Transfer203066562024-07-14 18:52:5912 days ago1720983179IN
Xaurum Token
0 ETH0.000322564.39860229
Transfer198236312024-05-08 6:43:1180 days ago1715150591IN
Xaurum Token
0 ETH0.000293284
Transfer197917432024-05-03 19:42:1184 days ago1714765331IN
Xaurum Token
0 ETH0.00044516.07057465
Transfer196763892024-04-17 16:28:35101 days ago1713371315IN
Xaurum Token
0 ETH0.0021996630
Transfer196023502024-04-07 7:32:35111 days ago1712475155IN
Xaurum Token
0 ETH0.0008798612
Transfer196006342024-04-07 1:45:23111 days ago1712454323IN
Xaurum Token
0 ETH0.0008065411
Transfer194381182024-03-15 4:58:11134 days ago1710478691IN
Xaurum Token
0 ETH0.0030883642.11369149
Transfer194375152024-03-15 2:55:59134 days ago1710471359IN
Xaurum Token
0 ETH0.0046117562.8870585
Transfer194341312024-03-14 15:28:59135 days ago1710430139IN
Xaurum Token
0 ETH0.0044227260.31914195
Transfer193772212024-03-06 16:07:11143 days ago1709741231IN
Xaurum Token
0 ETH0.0068882693.94543974
Transfer193553662024-03-03 14:53:23146 days ago1709477603IN
Xaurum Token
0 ETH0.0035411962.98586661
Transfer190846372024-01-25 15:50:47184 days ago1706197847IN
Xaurum Token
0 ETH0.003485347.53429038
Transfer190421372024-01-19 16:34:47190 days ago1705682087IN
Xaurum Token
0 ETH0.0047580960.91536876
Transfer189005362023-12-30 19:53:23209 days ago1703966003IN
Xaurum Token
0 ETH0.001506420.54499437
Approve188633622023-12-25 14:34:23215 days ago1703514863IN
Xaurum Token
0 ETH0.0013250128.75851481
Transfer188502422023-12-23 18:17:23216 days ago1703355443IN
Xaurum Token
0 ETH0.0017061723.26580565
Transfer186643132023-11-27 16:56:59243 days ago1701104219IN
Xaurum Token
0 ETH0.0028889439.40079551
Transfer185654112023-11-13 20:37:59256 days ago1699907879IN
Xaurum Token
0 ETH0.002356838.62224806
Transfer185628702023-11-13 12:05:47257 days ago1699877147IN
Xaurum Token
0 ETH0.0033116642.39100164
Transfer185628342023-11-13 11:58:23257 days ago1699876703IN
Xaurum Token
0 ETH0.0021498939.08891102
Transfer185238132023-11-08 0:58:47262 days ago1699405127IN
Xaurum Token
0 ETH0.0013845418.88620398
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
45691772017-11-17 10:40:212444 days ago1510915221
Xaurum Token
0.13216253 ETH
24408352016-10-14 20:57:522842 days ago1476478672
Xaurum Token
0 ETH
24402942016-10-14 18:54:582842 days ago1476471298
Xaurum Token
0 ETH
24402382016-10-14 18:43:192842 days ago1476470599
Xaurum Token
0 ETH
24401592016-10-14 18:23:552842 days ago1476469435
Xaurum Token
0 ETH
24401392016-10-14 18:19:112842 days ago1476469151
Xaurum Token
0 ETH
24397032016-10-14 16:38:162843 days ago1476463096
Xaurum Token
0 ETH
24396972016-10-14 16:37:072843 days ago1476463027
Xaurum Token
0 ETH
24391922016-10-14 14:39:122843 days ago1476455952
Xaurum Token
0 ETH
24390832016-10-14 14:09:372843 days ago1476454177
Xaurum Token
0 ETH
24389482016-10-14 13:30:492843 days ago1476451849
Xaurum Token
0 ETH
24385322016-10-14 11:43:222843 days ago1476445402
Xaurum Token
0 ETH
24385322016-10-14 11:43:222843 days ago1476445402
Xaurum Token
0 ETH
24384382016-10-14 11:18:022843 days ago1476443882
Xaurum Token
0 ETH
24384112016-10-14 11:12:072843 days ago1476443527
Xaurum Token
0 ETH
24383882016-10-14 11:07:592843 days ago1476443279
Xaurum Token
0 ETH
24383832016-10-14 11:06:362843 days ago1476443196
Xaurum Token
0 ETH
24382802016-10-14 10:43:122843 days ago1476441792
Xaurum Token
0 ETH
24382762016-10-14 10:42:092843 days ago1476441729
Xaurum Token
0 ETH
24382762016-10-14 10:42:092843 days ago1476441729
Xaurum Token
0 ETH
24382742016-10-14 10:41:362843 days ago1476441696
Xaurum Token
0 ETH
24382632016-10-14 10:39:102843 days ago1476441550
Xaurum Token
0 ETH
24382562016-10-14 10:37:582843 days ago1476441478
Xaurum Token
0 ETH
24382422016-10-14 10:33:522843 days ago1476441232
Xaurum Token
0 ETH
24382382016-10-14 10:33:222843 days ago1476441202
Xaurum Token
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
XaurumToken

Compiler Version
v0.3.3+commit.4dc1cb1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2016-10-28
*/

contract ERC20TokenInterface {

    /// @return total amount of tokens
    function totalSupply() constant returns (uint256 supply) {}

    /// @param _owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address _owner) constant 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) 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) returns (bool success) {}

    /// @notice `msg.sender` approves `_addr` to spend `_value` tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @param _value The amount of wei to be approved for transfer
    /// @return Whether the approval was successful or not
    function approve(address _spender, uint256 _value) 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) constant returns (uint256 remaining) {}   

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

contract XaurumProxyERC20 is ERC20TokenInterface {

    bool public xaurumProxyWorking;

    XaurumToken xaurumTokenReference; 

    address proxyCurrator;
    address owner;
    address dev;

    /* Public variables of the token */
    string public standard = 'XaurumERCProxy';
    string public name = 'Xaurum';
    string public symbol = 'XAUR';
    uint8 public decimals = 8;


    modifier isWorking(){
        if (xaurumProxyWorking && !xaurumTokenReference.lockdown()){
            _
        }
    }

    function XaurumProxyERC20(){
        dev = msg.sender;
        xaurumProxyWorking = true;
    }

    function setTokenReference(address _xaurumTokenAress) returns (bool){
        if (msg.sender == proxyCurrator){
            xaurumTokenReference = XaurumToken(_xaurumTokenAress);
            return true;
        }
        return false;
    }

    function EnableDisableTokenProxy() returns (bool){
        if (msg.sender == proxyCurrator){        
            xaurumProxyWorking = !xaurumProxyWorking;
            return true;
        }
        return false;
    }

    function setProxyCurrator(address _newCurratorAdress) returns (bool){
        if (msg.sender == owner || msg.sender == dev){        
            proxyCurrator = _newCurratorAdress;
            return true;
        }
        return false;
    }

    function setOwner(address _newOwnerAdress) returns (bool){
        if ( msg.sender == dev ){        
            owner = _newOwnerAdress;
            return true;
        }
        return false;
    }

    function totalSupply() constant returns (uint256 supply) {
        return xaurumTokenReference.totalSupply();
    }

    function balanceOf(address _owner) constant returns (uint256 balance) {
        return xaurumTokenReference.balanceOf(_owner);
    }

    function transfer(address _to, uint256 _value) isWorking returns (bool success) {
        bool answerStatus;
        address sentFrom;
        address sentTo;
        uint256 sentToAmount;
        address burningAddress;
        uint256 burningAmount;

        (answerStatus, sentFrom, sentTo, sentToAmount, burningAddress, burningAmount) = xaurumTokenReference.transferViaProxy(msg.sender, _to, _value);
        if(answerStatus){
            Transfer(sentFrom, sentTo, sentToAmount);
            Transfer(sentFrom, burningAddress, burningAmount);
            return true;
        }
        return false;
    }

    function transferFrom(address _from, address _to, uint256 _value) isWorking returns (bool success) {
        bool answerStatus;
        address sentFrom;
        address sentTo;
        uint256 sentToAmount;
        address burningAddress;
        uint256 burningAmount;

        (answerStatus, sentFrom, sentTo, sentToAmount, burningAddress, burningAmount) = xaurumTokenReference.transferFromViaProxy(msg.sender, _from, _to, _value);
        if(answerStatus){
            Transfer(sentFrom, sentTo, sentToAmount);
            Transfer(sentFrom, burningAddress, burningAmount);
            return true;
        }
        return false;
    }

    function approve(address _spender, uint256 _value) isWorking returns (bool success) {
        if (xaurumTokenReference.approveFromProxy(msg.sender, _spender, _value)){
            Approval(msg.sender, _spender, _value);
            return true;
        }
        return false;
    }

    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        return xaurumTokenReference.allowanceFromProxy(msg.sender, _owner, _spender);
    } 
}

contract tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData); }

contract XaurumToken {
    
    /* Public variables of the token */
    string public standard = 'Xaurum v1.0';
    string public name = 'Xaurum';
    string public symbol = 'XAUR';
    uint8 public decimals = 8;

    uint256 public totalSupply = 0;
    uint256 public totalGoldSupply = 0;
    bool public lockdown = false;
    uint256 numberOfCoinages;

    /* Private variabiles for the token */
    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;
    mapping (address => uint) lockedAccounts;

    /* Events */
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    event Burn(address from, uint256 value, BurningType burningType);
    event Melt(uint256 xaurAmount, uint256 goldAmount);
    event Coinage(uint256 coinageId, uint256 usdAmount, uint256 xaurAmount, uint256 goldAmount, uint256 totalGoldSupply, uint256 totalSupply);

    /*enums*/
    enum BurningType { TxtFee, AllyDonation, ServiceFee }

   /* Contracts */
    XaurumMeltingContract public meltingContract;
    function setMeltingContract(address _meltingContractAddress){
        if (msg.sender == owner || msg.sender == dev){
            meltingContract = XaurumMeltingContract(_meltingContractAddress);
        }
    }

    XaurumDataContract public dataContract;
    function setDataContract(address _dataContractAddress){
        if (msg.sender == owner || msg.sender == dev){
            dataContract = XaurumDataContract(_dataContractAddress);
        }
    }

    XaurumCoinageContract public coinageContract;
    function setCoinageContract(address _coinageContractAddress){
        if (msg.sender == owner || msg.sender == dev){
            coinageContract = XaurumCoinageContract(_coinageContractAddress);
        }
    }

    XaurmProxyContract public proxyContract;
    function setProxyContract(address _proxyContractAddress){
        if (msg.sender == owner || msg.sender == dev){
            proxyContract = XaurmProxyContract(_proxyContractAddress);
        }
    }

    XaurumAlliesContract public alliesContract;
    function setAlliesContract(address _alliesContractAddress){
        if (msg.sender == owner || msg.sender == dev){
            alliesContract = XaurumAlliesContract(_alliesContractAddress);
        }
    }
    
    
    

    /* owner */
    address public owner;
    function setOwner(address _newOwnerAdress) returns (bool){
        if ( msg.sender == dev ){        
            owner = _newOwnerAdress;
            return true;
        }
        return false;
    }

    address public dev;

    /* Xaur for gas */
    address xaurForGasCurrator;
    function setXauForGasCurrator(address _curratorAddress){
        if (msg.sender == owner || msg.sender == dev){
            xaurForGasCurrator = _curratorAddress;
        }
    }

    /* Burrning */
    address public burningAdress;

    /* Constructor */
    function XaurumToken(address _burningAddress) { 
        burningAdress = _burningAddress;
        lockdown = false;
        dev = msg.sender;
       
        
        // initial
         numberOfCoinages += 1;
         balances[0x097B7b672fe0dc3eF61f53B954B3DCC86382e7B9] += 5999319593600000;
         totalSupply += 5999319593600000;
         totalGoldSupply += 1696620000000;
         Coinage(numberOfCoinages, 0, 5999319593600000, 1696620000000, totalGoldSupply, totalSupply);      
		

        // Mint 1
         numberOfCoinages += 1;
         balances[0x097B7b672fe0dc3eF61f53B954B3DCC86382e7B9] += 1588947591000000;
         totalSupply += 1588947591000000;
         totalGoldSupply += 1106042126000;
         Coinage(numberOfCoinages, 60611110000000, 1588947591000000, 1106042126000, totalGoldSupply, totalSupply);
        		
		
        // Mint 2
         numberOfCoinages += 1;
         balances[0x097B7b672fe0dc3eF61f53B954B3DCC86382e7B9] += 151127191000000;
         totalSupply += 151127191000000;
         totalGoldSupply += 110134338200;
         Coinage(numberOfCoinages, 6035361000000, 151127191000000, 110134338200, totalGoldSupply, totalSupply);
        
		
		   // Mint 3
         numberOfCoinages += 1;
         balances[0x097B7b672fe0dc3eF61f53B954B3DCC86382e7B9] += 63789854418800;
         totalSupply += 63789854418800;
         totalGoldSupply +=  46701000000;
         Coinage(numberOfCoinages, 2559215000000, 63789854418800, 46701000000, totalGoldSupply, totalSupply);
        

		   // Mint 4
         numberOfCoinages += 1;
         balances[0x097B7b672fe0dc3eF61f53B954B3DCC86382e7B9] +=  393015011191000;
         totalSupply += 393015011191000;
         totalGoldSupply +=  290692000000;
         Coinage(numberOfCoinages, 15929931000000, 393015011191000, 290692000000, totalGoldSupply, totalSupply);
        

		   // Mint 5
         numberOfCoinages += 1;
         balances[0x097B7b672fe0dc3eF61f53B954B3DCC86382e7B9] +=  49394793870000;
         totalSupply += 49394793870000;
         totalGoldSupply +=  36891368614;
         Coinage(numberOfCoinages, 2021647000000, 49394793870000, 36891368614, totalGoldSupply, totalSupply);
    }
    
    function freezeCoin(){
        if (msg.sender == owner || msg.sender == dev){
            lockdown = !lockdown;
        }
    }

    /* Get balance of the account */
    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

    /* Send coins */
    function transfer(address _to, uint256 _amount) returns (bool status) {
        uint256 goldFee = dataContract.goldFee();

        if (balances[msg.sender] >= _amount &&                                  // Check if the sender has enough
            balances[_to] + _amount > balances[_to] &&                          // Check for overflows
            _amount > goldFee &&                                                // Check if there is something left after burning fee
            !lockdown &&                                                        // Check if coin is on lockdown
            lockedAccounts[msg.sender] <= block.number) {                       // Check if the account is locked
            balances[msg.sender] -= _amount;                                    // Subtract from the sender minus the fee
            balances[_to] += (_amount - goldFee );                              // Add the same to the recipient
            Transfer(msg.sender, _to, (_amount - goldFee ));                    // Notify anyone listening that this transfer took place
            doBurn(msg.sender, goldFee, BurningType.TxtFee);                    // Notify anyone listening that this burn took place
            return true;
        } else {
            return false;
        }
    }
    
    /* A contract attempts to get the coins and sends them*/
    function transferFrom(address _from, address _to, uint256 _amount) returns (bool status) {
        uint256 goldFee = dataContract.goldFee();

        if (balances[_from] >= _amount &&                                  // Check if the sender has enough
            balances[_to] + _amount > balances[_to] &&                          // Check for overflows
            _amount > goldFee &&                                                // Check if there is something left after burning fee
            !lockdown &&                                                        // Check if coin is on lockdown
            lockedAccounts[_from] <= block.number) {                       // Check if the account is locked
            if (_amount > allowed[_from][msg.sender]){                          // Check allowance
                return false;
            }
            balances[_from] -= _amount;                                    // Subtract from the sender minus the fee
            balances[_to] += (_amount - goldFee);                               // Add the same to the recipient
            Transfer(_from, _to, (_amount - goldFee));                     // Notify anyone listening that this transfer took place
            doBurn(_from, goldFee, BurningType.TxtFee);                    
            allowed[_from][msg.sender] -= _amount;                              // Update allowance
            return true;
        } else {
            return false;
        }
    }
    
    /* Allow another contract to spend some tokens in your behalf */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData)
        returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        tokenRecipient spender = tokenRecipient(_spender);
        spender.receiveApproval(msg.sender, _value, this, _extraData);
        return true;
    }

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

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

    /* Send coins via proxy */
    function transferViaProxy(address _source, address _to, uint256 _amount) returns (bool status, address sendFrom, address sentTo, uint256 sentToAmount, address burnAddress, uint256 burnAmount){
        if (!proxyContract.isProxyLegit(msg.sender)){                                        // Check if proxy is legit
            return (false, 0, 0, 0, 0, 0);
        }

        uint256 goldFee = dataContract.goldFee();

        if (balances[_source] >= _amount &&                                     // Check if the sender has enough
            balances[_to] + _amount > balances[_to] &&                          // Check for overflows
            _amount > goldFee &&                                                // Check if there is something left after burning fee
            !lockdown &&                                                        // Check if coin is on lockdown
            lockedAccounts[_source] <= block.number) {                          // Check if the account is locked
            
            balances[_source] -= _amount;                                       // Subtract from the sender minus the fee
            balances[_to] += (_amount - goldFee );                              // Add the same to the recipient
            Transfer(_source, _to, ( _amount - goldFee ));                    // Notify anyone listening that this transfer took place
            doBurn(_source, goldFee, BurningType.TxtFee);                         // Notify anyone listening that this burn took place
        
            return (true, _source, _to, (_amount - goldFee), burningAdress, goldFee);
        } else {
            return (false, 0, 0, 0, 0, 0);
        }
    }
    
    /* a contract attempts to get the coins and sends them via proxy */
    function transferFromViaProxy(address _source, address _from, address _to, uint256 _amount) returns (bool status, address sendFrom, address sentTo, uint256 sentToAmount, address burnAddress, uint256 burnAmount) {
        if (!proxyContract.isProxyLegit(msg.sender)){                                            // Check if proxy is legit
            return (false, 0, 0, 0, 0, 0);
        }

        uint256 goldFee = dataContract.goldFee();

        if (balances[_from] >= _amount &&                                       // Check if the sender has enough
            balances[_to] + _amount > balances[_to] &&                          // Check for overflows
            _amount > goldFee &&                                                // Check if there is something left after burning fee
            !lockdown &&                                                        // Check if coin is on lockdown
            lockedAccounts[_from] <= block.number) {                            // Check if the account is locked

            if (_amount > allowed[_from][_source]){                             // Check allowance
                return (false, 0, 0, 0, 0, 0); 
            }               

            balances[_from] -= _amount;                                         // Subtract from the sender minus the fee
            balances[_to] += ( _amount - goldFee );                             // Add the same to the recipient
            Transfer(_from, _to, ( _amount - goldFee ));                        // Notify anyone listening that this transfer took place
            doBurn(_from, goldFee, BurningType.TxtFee);
            allowed[_from][_source] -= _amount;                                 // Update allowance
            return (true, _from, _to, (_amount - goldFee), burningAdress, goldFee);
        } else {
            return (false, 0, 0, 0, 0, 0);
        }
    }
    
     function approveFromProxy(address _source, address _spender, uint256 _value) returns (bool success) {
        if (!proxyContract.isProxyLegit(msg.sender)){                                        // Check if proxy is legit
            return false;
        }
        allowed[_source][_spender] = _value;
        Approval(_source, _spender, _value);
        return true;
    }

    function allowanceFromProxy(address _source, address _owner, address _spender) constant returns (uint256 remaining) {
      return allowed[_owner][_spender];
    }
    
    /* -----------------------------------------------------------------------*/
    
    /* Lock account for X amount of blocks */
    function lockAccount(uint _block) returns (bool answer){
        if (lockedAccounts[msg.sender] < block.number + _block){
            lockedAccounts[msg.sender] = block.number + _block;
            return true;
        }
        return false;
    }

    function isAccountLocked(address _accountAddress) returns (bool){
        if (lockedAccounts[_accountAddress] > block.number){
            return true;
        }
        return false;
    }
    
    ///
    /// Xaur for gas region
    ///

    /* user get small amout of wei for a small amout of Xaur */
    function getGasForXau(address _to) returns (bool sucess){
        uint256 xaurForGasLimit = dataContract.xaurForGasLimit();
        uint256 weiForXau = dataContract.weiForXau();

        if (balances[msg.sender] > xaurForGasLimit && 
            balances[xaurForGasCurrator] < balances[xaurForGasCurrator]  + xaurForGasLimit &&
            this.balance > dataContract.weiForXau()) {
            if (_to.send(dataContract.weiForXau())){
                balances[msg.sender] -= xaurForGasLimit;
                balances[xaurForGasCurrator] += xaurForGasLimit;
                return true;
            }
        } 
        return false;
    }
    
    /* Currator fills eth through this function */
    function fillGas(){
        if (msg.sender != xaurForGasCurrator) { 
            throw; 
        }
    }

    ///
    /// Melting region
    ///

    function doMelt(uint256 _xaurAmount, uint256 _goldAmount) returns (bool){
        if (msg.sender == address(meltingContract)){
            totalSupply -= _xaurAmount;
            totalGoldSupply -= _goldAmount;
            Melt(_xaurAmount, _goldAmount);
            return true;
        }
        return false;
    }
    
    ///
    /// Proxy region
    ///

    

    ///
    /// Coinage region
    ///
    function doCoinage(address[] _coinageAddresses, uint256[] _coinageAmounts, uint256 _usdAmount, uint256 _xaurCoined, uint256 _goldBought) returns (bool){
        if (msg.sender == address(coinageContract) && 
            _coinageAddresses.length == _coinageAmounts.length){
            
            totalSupply += _xaurCoined;
            totalGoldSupply += _goldBought;
            numberOfCoinages += 1;
            Coinage(numberOfCoinages, _usdAmount, _xaurCoined, _goldBought, totalGoldSupply, totalSupply);
            for (uint256 cnt = 0; cnt < _coinageAddresses.length; cnt++){
                balances[_coinageAddresses[cnt]] += _coinageAmounts[cnt]; 
            }
            return true;
        }
        return false;
    }

    ///
    /// Burining region
    ///
    function doBurn(address _from, uint256 _amountToBurn, BurningType _burningType) internal {
        balances[burningAdress] += _amountToBurn;                              // Burn the fee
        totalSupply -= _amountToBurn;                                          // Edit total supply
        Burn(_from, _amountToBurn, _burningType);                              // Notify anyone listening that this burn took place
    }

    function doBurnFromContract(address _from, uint256 _amount) returns (bool){
        if (msg.sender == address(alliesContract)){
            balances[_from] -= _amount;
            doBurn(_from, _amount, BurningType.AllyDonation);
            return true;
        }
        else if(msg.sender == address(coinageContract)){
            balances[_from] -= _amount;
            doBurn(_from, _amount, BurningType.ServiceFee);
            return true;
        }
        else{
            return false;
        }

    }

    /* This unnamed function is called whenever someone tries to send ether to it */
    function () {
        throw;     // Prevents accidental sending of ether
    }
}

contract XaurumMeltingContract {}

contract XaurumAlliesContract {}

contract XaurumCoinageContract {}

contract XaurmProxyContract{

    address public owner;
    address public curator;
    address public dev;

    function XaurmProxyContract(){
        dev = msg.sender;
    }

    function setProxyCurrator(address _newCurratorAdress) returns (bool){
        if (msg.sender == owner || msg.sender == dev){        
            curator = _newCurratorAdress;
            return true;
        }
        return false;
    }

    function setOwner(address _newOwnerAdress) returns (bool){
        if ( msg.sender == dev ){        
            owner = _newOwnerAdress;
            return true;
        }
        return false;
    }

    /* Proxy Contract */
    
    address[] approvedProxys; 
    mapping (address => bool) proxyList;
    
    /* Adds new proxy to proxy lists and grants him the permission to use transferViaProxy */
    function addNewProxy(address _proxyAdress){
        if(msg.sender == curator){
            proxyList[_proxyAdress] = true;
            approvedProxys.push(_proxyAdress);
        }
    }

    function isProxyLegit(address _proxyAddress) returns (bool){
        return proxyList[_proxyAddress];
    }
    
    function getApprovedProxys() returns (address[] proxys){
        return approvedProxys;
    }

    function () {
        throw;
    }
}

contract XaurumDataContract {

    /* Minting data */
    uint256 public xauToEur;
    uint256 public goldToEur;
    uint256 public mintingDataUpdatedAtBlock;

    /* Gas for xaur data */
    uint256 public xaurForGasLimit;
    uint256 public weiForXau;
    uint256 public gasForXaurDataUpdateAtBlock;

    /* Other data */
    uint256 public goldFee;
    uint256 public goldFeeDataUpdatedAtBlock;

    address public owner;
    address public curator;
    address public dev;

    function XaurumDataContract(){
        xaurForGasLimit = 100000000;
        weiForXau = 100000000000000000;
        goldFee = 50000000;
       // dev = _dev;
	   dev = msg.sender;
    }

    function setProxyCurrator(address _newCurratorAdress) returns (bool){
        if (msg.sender == owner || msg.sender == dev){        
            curator = _newCurratorAdress;
            return true;
        }
        return false;
    }

    function setOwner(address _newOwnerAdress) returns (bool){
        if ( msg.sender == dev ){        
            owner = _newOwnerAdress;
            return true;
        }
        return false;
    }

    function updateMintingData(uint256 _xauToEur, uint256 _goldToEur) returns (bool status){
        if (msg.sender == curator || msg.sender == dev){
            xauToEur = _xauToEur;
            goldToEur = _goldToEur;
            mintingDataUpdatedAtBlock = block.number;
            return true;
        }
        return false;
    }

    function updateGasForXaurData(uint256 _xaurForGasLimit, uint256 _weiForXau) returns (bool status){
        if (msg.sender == curator || msg.sender == dev){
            xaurForGasLimit = _xaurForGasLimit;
            weiForXau = _weiForXau;
            gasForXaurDataUpdateAtBlock = block.number;
            return true;
        }
        return false;
    }

    function updateGoldFeeData(uint256 _goldFee) returns (bool status){
        if (msg.sender == curator || msg.sender == dev){
            goldFee = _goldFee;
            goldFeeDataUpdatedAtBlock = block.number;
            return true;
        }
        return false;
    }

    function () {
        throw;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_dataContractAddress","type":"address"}],"name":"setDataContract","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_alliesContractAddress","type":"address"}],"name":"setAlliesContract","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"dataContract","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_curratorAddress","type":"address"}],"name":"setXauForGasCurrator","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_newOwnerAdress","type":"address"}],"name":"setOwner","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_meltingContractAddress","type":"address"}],"name":"setMeltingContract","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"status","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_source","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferViaProxy","outputs":[{"name":"status","type":"bool"},{"name":"sendFrom","type":"address"},{"name":"sentTo","type":"address"},{"name":"sentToAmount","type":"uint256"},{"name":"burnAddress","type":"address"},{"name":"burnAmount","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"getGasForXau","outputs":[{"name":"sucess","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"lockdown","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"alliesContract","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[],"name":"totalGoldSupply","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_amount","type":"uint256"}],"name":"doBurnFromContract","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_proxyContractAddress","type":"address"}],"name":"setProxyContract","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_accountAddress","type":"address"}],"name":"isAccountLocked","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[],"name":"fillGas","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_xaurAmount","type":"uint256"},{"name":"_goldAmount","type":"uint256"}],"name":"doMelt","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_coinageAddresses","type":"address[]"},{"name":"_coinageAmounts","type":"uint256[]"},{"name":"_usdAmount","type":"uint256"},{"name":"_xaurCoined","type":"uint256"},{"name":"_goldBought","type":"uint256"}],"name":"doCoinage","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"burningAdress","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[],"name":"coinageContract","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[],"name":"dev","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"status","type":"bool"}],"type":"function"},{"constant":false,"inputs":[],"name":"freezeCoin","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_source","type":"address"},{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFromViaProxy","outputs":[{"name":"status","type":"bool"},{"name":"sendFrom","type":"address"},{"name":"sentTo","type":"address"},{"name":"sentToAmount","type":"uint256"},{"name":"burnAddress","type":"address"},{"name":"burnAmount","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"_block","type":"uint256"}],"name":"lockAccount","outputs":[{"name":"answer","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"_source","type":"address"},{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowanceFromProxy","outputs":[{"name":"remaining","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"proxyContract","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_source","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approveFromProxy","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"meltingContract","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"_coinageContractAddress","type":"address"}],"name":"setCoinageContract","outputs":[],"type":"function"},{"inputs":[{"name":"_burningAddress","type":"address"}],"type":"constructor"},{"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":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"burningType","type":"XaurumToken.BurningType"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"xaurAmount","type":"uint256"},{"indexed":false,"name":"goldAmount","type":"uint256"}],"name":"Melt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"coinageId","type":"uint256"},{"indexed":false,"name":"usdAmount","type":"uint256"},{"indexed":false,"name":"xaurAmount","type":"uint256"},{"indexed":false,"name":"goldAmount","type":"uint256"},{"indexed":false,"name":"totalGoldSupply","type":"uint256"},{"indexed":false,"name":"totalSupply","type":"uint256"}],"name":"Coinage","type":"event"}]

60a0604052600b6060527f58617572756d2076312e30000000000000000000000000000000000000000000608052600080548180527f58617572756d2076312e3000000000000000000000000000000000000000001682556100b3907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563602060026001841615610100026000190190931692909204601f01919091048101905b80821115610145576000815560010161009f565b505060408051808201909152600681527f58617572756d00000000000000000000000000000000000000000000000000006020918201908152600180546000829052915160ff1916600c1781559161014991600281851615610100026000190190911604601f01047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf69081019061009f565b5090565b505060408051808201909152600481527f58415552000000000000000000000000000000000000000000000000000000006020918201908152600280546000829052915160ff19166008178155916101da916001811615610100026000190116839004601f01047f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9081019061009f565b50506003805460ff19908116600817909155600060048190556005556006805490911690556040516020806120768339810160405280805190602001909190505060138054600160a060020a031990811683179091556006805460ff19169055601180549091163317905560078054600101908190556000805160206120568339815191526000908152600860209081527f32ca74e6529b5627a6e369818720813b8442166f7b18077ce37a69c9b83e74a680546615505971454400908101909155600480548201908190556005805465018b066eb300908101918290556040805197885294870195909552858401929092526060850193909352608084015260a0830191909152516000805160206120368339815191529181900360c00190a1600160076000828282505401925050819055506605a523b0ba6fc06008600050600060008051602061205683398151915281526020019081526020016000206000828282505401925050819055506605a523b0ba6fc06004600082828250540192505081905550650101853f7eb060056000828282505401925050819055506000805160206120368339815191526007600050546537201fae55806605a523b0ba6fc0650101853f7eb060056000505460046000505460405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a1600160076000828282505401925050819055506589730a8913c06008600050600060008051602061205683398151915281526020019081526020016000206000828282505401925050819055506589730a8913c060046000828282505401925050819055506419a484a298600560008282825054019250508190555060008051602061203683398151915260076000505465057d378c6a406589730a8913c06419a484a29860056000505460046000505460405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a160016007600082828250540192505081905550653a043b9ce770600860005060006000805160206120568339815191528152602001908152602001600020600082828250540192505081905550653a043b9ce7706004600082828250540192505081905550640adf98b5406005600082828250540192505081905550600080516020612036833981519152600760005054650253dd19d9c0653a043b9ce770640adf98b54060056000505460046000505460405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a16001600760008282825054019250508190555066016571f02228d860086000506000600080516020612056833981519152815260200190815260200160002060008282825054019250508190555066016571f02228d860046000828282505401925050819055506443ae97e9006005600082828250540192505081905550600080516020612036833981519152600760005054650e7cf9e0e8c066016571f02228d86443ae97e90060056000505460046000505460405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a160016007600082828250540192505081905550652cec9f2472b0600860005060006000805160206120568339815191528152602001908152602001600020600082828250540192505081905550652cec9f2472b06004600082828250540192505081905550640896e59ca660056000828282505401925050819055506000805160206120368339815191526007600050546501d6b38d21c0652cec9f2472b0640896e59ca660056000505460046000505460405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a150611896806107a06000396000f300606060405236156101cc5760e060020a600035046303959bb781146101d4578063058d74331461022257806306fdde031461026f578063095ea7b3146102cc5780630d66881814610341578063128198171461035357806313af4035146103a057806318160ddd146103db5780631ca60aeb146103e457806323b872dd14610431578063240ecad514610547578063313ce567146105d25780633e853128146105de5780633e8a0bc91461086557806340df280e146108715780634d7559a8146108835780635a3b7e421461088c57806360c311fd146108ea57806370a08231146109365780637137ed471461095b57806374eb9b68146109a857806375438e49146109d75780637997b997146109f65780637fd238ba14610a6f57806385a10b3014610bf25780638b169c7a14610c045780638da5cb5b14610c1657806391cca3db14610c2857806395d89b4114610c3a578063a9059cbb14610c95578063ac56266614610dd7578063cacc24eb14610e1f578063cae9ca5114610ead578063dd62ed3e14611012578063e8d1e96114611046578063eb06e65e1461107f578063ed550443146110b9578063f11c4482146110cb578063f7ddfb4b14611152578063f8bd526e14611164575b6111b0610002565b6111b0600435601054600160a060020a039081163390911614806102075750601154600160a060020a0390811633909116145b1561021f57600c8054600160a060020a031916821790555b50565b6111b0600435601054600160a060020a039081163390911614806102555750601154600160a060020a0390811633909116145b1561021f57600f8054600160a060020a0319168217905550565b60408051600180546020600282841615610100026000190190921691909104601f81018290048202840182019094528383526111b493908301828280156112ea5780601f106112bf576101008083540402835291602001916112ea565b61122260043560243533600160a060020a03908116600081815260096020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b611236600c54600160a060020a031681565b6111b0600435601054600160a060020a039081163390911614806103865750601154600160a060020a0390811633909116145b1561021f5760128054600160a060020a0319168217905550565b611222600435601154600090600160a060020a039081163390911614156112f2575060108054600160a060020a031916821790556001610956565b61125360045481565b6111b0600435601054600160a060020a039081163390911614806104175750601154600160a060020a0390811633909116145b1561021f57600b8054600160a060020a0319168217905550565b61122260043560243560443560006000600c60009054906101000a9004600160a060020a0316600160a060020a0316637f4da1326040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750506040805151600160a060020a0388169093526008602052832054849010801591506104cc5750600160a060020a03841682526040822054838101115b80156104d757508083115b80156104e6575060065460ff16155b801561050b5750600160a060020a0385166000908152600a6020526040902054439011155b156112fa57600160a060020a038581166000908152600960209081526040808320339094168352929052205483111561130757600091506112ff565b6112656004356024356044356000600060006000600060006000600e60009054906101000a9004600160a060020a0316600160a060020a031663245a6f74336040518260e060020a0281526004018082600160a060020a031681526020019150506020604051808303816000876161da5a03f115610002575050604051511515905061141057611563565b6112a860035460ff1681565b611222600435600060006000600c60009054906101000a9004600160a060020a0316600160a060020a031663a7397d276040518160e060020a0281526004018090506020604051808303816000876161da5a03f115610002575050604080518051600c547f21d148ab0000000000000000000000000000000000000000000000000000000083529251909550600160a060020a039290921692506321d148ab916004828101926020929190829003018187876161da5a03f11561000257505050604051805190602001509050816008600050600033600160a060020a031681526020019081526020016000206000505411801561074a57508160086000506000601260009054906101000a9004600160a060020a0316600160a060020a03168152602001908152602001600020600050540160086000506000601260009054906101000a9004600160a060020a0316600160a060020a0316815260200190815260200160002060005054105b80156107b35750600c60009054906101000a9004600160a060020a0316600160a060020a03166321d148ab6040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750506040515130600160a060020a0316311190505b156115955783600160a060020a03166000600c60009054906101000a9004600160a060020a0316600160a060020a03166321d148ab6040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750506040518051915082818181858883f193505050501561159557600160a060020a03338116600090815260086020526040808220805486900390556012549092168152208054830190556001925061159a565b61122260065460ff1681565b611236600f54600160a060020a031681565b61125360055481565b6040805160008054602060026001831615610100026000190190921691909104601f81018290048202840182019094528383526111b493908301828280156112ea5780601f106112bf576101008083540402835291602001916112ea565b611222600435602435600f54600090600160a060020a039081163390911614156115a157600160a060020a0383168152600860205260408120805483900390556115e483836001611369565b611253600435600160a060020a0381166000908152600860205260409020545b919050565b6111b0600435601054600160a060020a0390811633909116148061098e5750601154600160a060020a0390811633909116145b1561021f57600e8054600160a060020a0319168217905550565b611222600435600160a060020a0381166000908152600a6020526040812054439011156112f257506001610956565b6111b0601254600160a060020a0390811633909116146111b257610002565b611222600435602435600b54600090600160a060020a039081163390911614156115ec57600480548490039055600580548390039055604080518481526020810184905281517fbff18be960d6b68b36595d778b20694fb0e5bf000b02434cdc0a122f32e7bff4929181900390910190a150600161033b565b604080516004803580820135602081810280860182019096528185526112229593946024949093850192918291908501908490808284375050604080518735808a013560208181028085018201909552818452989a99604499939850919091019550935083925085019084908082843750949650509335935050606435915050608435600d546000908190600160a060020a0390811633909116148015610b17575085518751145b156115f45760048054850190819055600580548501908190556007805460010190819055604080519182526020820189905281810188905260608201879052608082019290925260a0810192909252517fcb7ef63daa96829dd0d9b246d0e96fca7f5f51e769894d1b56eb895b43f8c7e29181900360c00190a15060005b8651811015611603578581815181101561000257906020019060200201516008600050600089848151811015610002576020908102909101810151600160a060020a03168252919091526040902080549091019055600101610b95565b611236601354600160a060020a031681565b611236600d54600160a060020a031681565b611236601054600160a060020a031681565b611236601154600160a060020a031681565b6040805160028054602060018216156101000260001901909116829004601f81018290048202840182019094528383526111b493908301828280156112ea5780601f106112bf576101008083540402835291602001916112ea565b61122260043560243560006000600c60009054906101000a9004600160a060020a0316600160a060020a0316637f4da1326040518160e060020a0281526004018090506020604051808303816000876161da5a03f115610002575050604080515133600160a060020a0316909352600860205283205484901080159150610d2d5750600160a060020a03841682526040822054838101115b8015610d3857508083115b8015610d47575060065460ff16155b8015610d6c575033600160a060020a03166000908152600a6020526040902054439011155b1561160c57600160a060020a03338116600081815260086020908152604080832080548990039055938816808352918490208054868903908101909155845190815293519193600080516020611876833981519152929081900390910190a361161833826000611369565b6111b060105433600160a060020a0390811691161480610e065750601154600160a060020a0390811633909116145b156111b2576006805460ff81161560ff19909116179055565b6112656004356024356044356064356000600060006000600060006000600e60009054906101000a9004600160a060020a0316600160a060020a031663245a6f74336040518260e060020a0281526004018082600160a060020a031681526020019150506020604051808303816000876161da5a03f115610002575050604051511515905061162157611753565b604080516020604435600481810135601f810184900484028501840190955284845261122294813594602480359593946064949293910191819084018382808284375094965050505050505060006000836009600050600033600160a060020a03168152602001908152602001600020600050600087600160a060020a031681526020019081526020016000206000508190555084905080600160a060020a0316638f4ffcb1338630876040518560e060020a0281526004018085600160a060020a0316815260200184815260200183600160a060020a03168152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f168015610fe75780820380516001836020036101000a031916815260200191505b50955050505050506000604051808303816000876161da5a03f11561000257505050600191506112ff565b611253600435602435600160a060020a0382811660009081526009602090815260408083209385168352929052205461033b565b61122260043533600160a060020a03166000908152600a60205260408120544383019010156112f2576040902043820190556001610956565b611253600435602435604435600160a060020a038281166000908152600960209081526040808320938516835292905220545b9392505050565b611236600e54600160a060020a031681565b611222600435602435604435600e54604080517f245a6f7400000000000000000000000000000000000000000000000000000000815233600160a060020a03908116600483015291516000939092169163245a6f7491602481810192602092909190829003018187876161da5a03f1156100025750506040515115159050611811576110b2565b611236600b54600160a060020a031681565b6111b060043560105433600160a060020a03908116911614806111965750601154600160a060020a0390811633909116145b1561021f57600d8054600160a060020a0319168217905550565b005b565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156112145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b604080519115158252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b60408051918252519081900360200190f35b604080519615158752600160a060020a039586166020880152938516868501526060860192909252909216608084015260a0830191909152519081900360c00190f35b6040805160ff929092168252519081900360200190f35b820191906000526020600020905b8154815290600101906020018083116112cd57829003601f168201915b505050505081565b506000610956565b600091505b509392505050565b600160a060020a03858116600081815260086020908152604080832080548990039055938816808352918490208054868903908101909155845190815293519193600080516020611876833981519152929081900390910190a36113da858260005b601354600160a060020a03908116600090815260086020908152604091829020805486019055600480548690039055815192861683528201849052818101839052517f55eee3060c5b26cb8b25640c0ac7284dca63b649106677825a2c7e9566fdc16e9181900360600190a1505050565b600160a060020a0385811660009081526009602090815260408083203390941683529290522080548490039055600191506112ff565b600c60009054906101000a9004600160a060020a0316600160a060020a0316637f4da1326040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750506040805151600160a060020a038d16600090815260086020529190912054909250899010801591506114a55750600160a060020a03891660009081526040902054888101115b80156114b057508088115b80156114bf575060065460ff16155b80156114e45750600160a060020a038a166000908152600a6020526040902054439011155b1561154f57600160a060020a038a8116600081815260086020908152604080832080548e90039055938d16808352918490208054868e03908101909155845190815293519193600080516020611876833981519152929081900390910190a36115708a826000611369565b600096508695508594508493508392508291505b5093975093979195509350565b601354600197508a96508995508189039450600160a060020a03169250905080611563565b600092505b5050919050565b600d54600160a060020a039081163390911614156115ec57600160a060020a0383166000908152600860205260409020805483900390556115e483836002611369565b50600161033b565b50600061033b565b600091505b5095945050505050565b600191506115f9565b600091505b5092915050565b60019150611611565b600c60009054906101000a9004600160a060020a0316600160a060020a0316637f4da1326040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750506040805151600160a060020a038d16600090815260086020529190912054909250899010801591506116b65750600160a060020a03891660009081526040902054888101115b80156116c157508088115b80156116d0575060065460ff16155b80156116f55750600160a060020a038a166000908152600a6020526040902054439011155b1561173f57600160a060020a038a81166000908152600960209081526040808320938f16835292905220548811156117615760009650869550859450849350839250829150611753565b600096508695508594508493508392508291505b509499939850945094509450565b600160a060020a038a8116600081815260086020908152604080832080548e90039055938d16808352918490208054868e03908101909155845190815293519193600080516020611876833981519152929081900390910190a36117c78a826000611369565b600160a060020a038a811660009081526009602090815260408083208f85168452909152902080548a90039055601354600198508b97508a9650828a039550169250905080611753565b600160a060020a03848116600081815260096020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060016110b256ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efcb7ef63daa96829dd0d9b246d0e96fca7f5f51e769894d1b56eb895b43f8c7e2000000000000000000000000097b7b672fe0dc3ef61f53b954b3dcc86382e7b9

Deployed Bytecode

0x606060405236156101cc5760e060020a600035046303959bb781146101d4578063058d74331461022257806306fdde031461026f578063095ea7b3146102cc5780630d66881814610341578063128198171461035357806313af4035146103a057806318160ddd146103db5780631ca60aeb146103e457806323b872dd14610431578063240ecad514610547578063313ce567146105d25780633e853128146105de5780633e8a0bc91461086557806340df280e146108715780634d7559a8146108835780635a3b7e421461088c57806360c311fd146108ea57806370a08231146109365780637137ed471461095b57806374eb9b68146109a857806375438e49146109d75780637997b997146109f65780637fd238ba14610a6f57806385a10b3014610bf25780638b169c7a14610c045780638da5cb5b14610c1657806391cca3db14610c2857806395d89b4114610c3a578063a9059cbb14610c95578063ac56266614610dd7578063cacc24eb14610e1f578063cae9ca5114610ead578063dd62ed3e14611012578063e8d1e96114611046578063eb06e65e1461107f578063ed550443146110b9578063f11c4482146110cb578063f7ddfb4b14611152578063f8bd526e14611164575b6111b0610002565b6111b0600435601054600160a060020a039081163390911614806102075750601154600160a060020a0390811633909116145b1561021f57600c8054600160a060020a031916821790555b50565b6111b0600435601054600160a060020a039081163390911614806102555750601154600160a060020a0390811633909116145b1561021f57600f8054600160a060020a0319168217905550565b60408051600180546020600282841615610100026000190190921691909104601f81018290048202840182019094528383526111b493908301828280156112ea5780601f106112bf576101008083540402835291602001916112ea565b61122260043560243533600160a060020a03908116600081815260096020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b611236600c54600160a060020a031681565b6111b0600435601054600160a060020a039081163390911614806103865750601154600160a060020a0390811633909116145b1561021f5760128054600160a060020a0319168217905550565b611222600435601154600090600160a060020a039081163390911614156112f2575060108054600160a060020a031916821790556001610956565b61125360045481565b6111b0600435601054600160a060020a039081163390911614806104175750601154600160a060020a0390811633909116145b1561021f57600b8054600160a060020a0319168217905550565b61122260043560243560443560006000600c60009054906101000a9004600160a060020a0316600160a060020a0316637f4da1326040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750506040805151600160a060020a0388169093526008602052832054849010801591506104cc5750600160a060020a03841682526040822054838101115b80156104d757508083115b80156104e6575060065460ff16155b801561050b5750600160a060020a0385166000908152600a6020526040902054439011155b156112fa57600160a060020a038581166000908152600960209081526040808320339094168352929052205483111561130757600091506112ff565b6112656004356024356044356000600060006000600060006000600e60009054906101000a9004600160a060020a0316600160a060020a031663245a6f74336040518260e060020a0281526004018082600160a060020a031681526020019150506020604051808303816000876161da5a03f115610002575050604051511515905061141057611563565b6112a860035460ff1681565b611222600435600060006000600c60009054906101000a9004600160a060020a0316600160a060020a031663a7397d276040518160e060020a0281526004018090506020604051808303816000876161da5a03f115610002575050604080518051600c547f21d148ab0000000000000000000000000000000000000000000000000000000083529251909550600160a060020a039290921692506321d148ab916004828101926020929190829003018187876161da5a03f11561000257505050604051805190602001509050816008600050600033600160a060020a031681526020019081526020016000206000505411801561074a57508160086000506000601260009054906101000a9004600160a060020a0316600160a060020a03168152602001908152602001600020600050540160086000506000601260009054906101000a9004600160a060020a0316600160a060020a0316815260200190815260200160002060005054105b80156107b35750600c60009054906101000a9004600160a060020a0316600160a060020a03166321d148ab6040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750506040515130600160a060020a0316311190505b156115955783600160a060020a03166000600c60009054906101000a9004600160a060020a0316600160a060020a03166321d148ab6040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750506040518051915082818181858883f193505050501561159557600160a060020a03338116600090815260086020526040808220805486900390556012549092168152208054830190556001925061159a565b61122260065460ff1681565b611236600f54600160a060020a031681565b61125360055481565b6040805160008054602060026001831615610100026000190190921691909104601f81018290048202840182019094528383526111b493908301828280156112ea5780601f106112bf576101008083540402835291602001916112ea565b611222600435602435600f54600090600160a060020a039081163390911614156115a157600160a060020a0383168152600860205260408120805483900390556115e483836001611369565b611253600435600160a060020a0381166000908152600860205260409020545b919050565b6111b0600435601054600160a060020a0390811633909116148061098e5750601154600160a060020a0390811633909116145b1561021f57600e8054600160a060020a0319168217905550565b611222600435600160a060020a0381166000908152600a6020526040812054439011156112f257506001610956565b6111b0601254600160a060020a0390811633909116146111b257610002565b611222600435602435600b54600090600160a060020a039081163390911614156115ec57600480548490039055600580548390039055604080518481526020810184905281517fbff18be960d6b68b36595d778b20694fb0e5bf000b02434cdc0a122f32e7bff4929181900390910190a150600161033b565b604080516004803580820135602081810280860182019096528185526112229593946024949093850192918291908501908490808284375050604080518735808a013560208181028085018201909552818452989a99604499939850919091019550935083925085019084908082843750949650509335935050606435915050608435600d546000908190600160a060020a0390811633909116148015610b17575085518751145b156115f45760048054850190819055600580548501908190556007805460010190819055604080519182526020820189905281810188905260608201879052608082019290925260a0810192909252517fcb7ef63daa96829dd0d9b246d0e96fca7f5f51e769894d1b56eb895b43f8c7e29181900360c00190a15060005b8651811015611603578581815181101561000257906020019060200201516008600050600089848151811015610002576020908102909101810151600160a060020a03168252919091526040902080549091019055600101610b95565b611236601354600160a060020a031681565b611236600d54600160a060020a031681565b611236601054600160a060020a031681565b611236601154600160a060020a031681565b6040805160028054602060018216156101000260001901909116829004601f81018290048202840182019094528383526111b493908301828280156112ea5780601f106112bf576101008083540402835291602001916112ea565b61122260043560243560006000600c60009054906101000a9004600160a060020a0316600160a060020a0316637f4da1326040518160e060020a0281526004018090506020604051808303816000876161da5a03f115610002575050604080515133600160a060020a0316909352600860205283205484901080159150610d2d5750600160a060020a03841682526040822054838101115b8015610d3857508083115b8015610d47575060065460ff16155b8015610d6c575033600160a060020a03166000908152600a6020526040902054439011155b1561160c57600160a060020a03338116600081815260086020908152604080832080548990039055938816808352918490208054868903908101909155845190815293519193600080516020611876833981519152929081900390910190a361161833826000611369565b6111b060105433600160a060020a0390811691161480610e065750601154600160a060020a0390811633909116145b156111b2576006805460ff81161560ff19909116179055565b6112656004356024356044356064356000600060006000600060006000600e60009054906101000a9004600160a060020a0316600160a060020a031663245a6f74336040518260e060020a0281526004018082600160a060020a031681526020019150506020604051808303816000876161da5a03f115610002575050604051511515905061162157611753565b604080516020604435600481810135601f810184900484028501840190955284845261122294813594602480359593946064949293910191819084018382808284375094965050505050505060006000836009600050600033600160a060020a03168152602001908152602001600020600050600087600160a060020a031681526020019081526020016000206000508190555084905080600160a060020a0316638f4ffcb1338630876040518560e060020a0281526004018085600160a060020a0316815260200184815260200183600160a060020a03168152602001806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f168015610fe75780820380516001836020036101000a031916815260200191505b50955050505050506000604051808303816000876161da5a03f11561000257505050600191506112ff565b611253600435602435600160a060020a0382811660009081526009602090815260408083209385168352929052205461033b565b61122260043533600160a060020a03166000908152600a60205260408120544383019010156112f2576040902043820190556001610956565b611253600435602435604435600160a060020a038281166000908152600960209081526040808320938516835292905220545b9392505050565b611236600e54600160a060020a031681565b611222600435602435604435600e54604080517f245a6f7400000000000000000000000000000000000000000000000000000000815233600160a060020a03908116600483015291516000939092169163245a6f7491602481810192602092909190829003018187876161da5a03f1156100025750506040515115159050611811576110b2565b611236600b54600160a060020a031681565b6111b060043560105433600160a060020a03908116911614806111965750601154600160a060020a0390811633909116145b1561021f57600d8054600160a060020a0319168217905550565b005b565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600f02600301f150905090810190601f1680156112145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b604080519115158252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b60408051918252519081900360200190f35b604080519615158752600160a060020a039586166020880152938516868501526060860192909252909216608084015260a0830191909152519081900360c00190f35b6040805160ff929092168252519081900360200190f35b820191906000526020600020905b8154815290600101906020018083116112cd57829003601f168201915b505050505081565b506000610956565b600091505b509392505050565b600160a060020a03858116600081815260086020908152604080832080548990039055938816808352918490208054868903908101909155845190815293519193600080516020611876833981519152929081900390910190a36113da858260005b601354600160a060020a03908116600090815260086020908152604091829020805486019055600480548690039055815192861683528201849052818101839052517f55eee3060c5b26cb8b25640c0ac7284dca63b649106677825a2c7e9566fdc16e9181900360600190a1505050565b600160a060020a0385811660009081526009602090815260408083203390941683529290522080548490039055600191506112ff565b600c60009054906101000a9004600160a060020a0316600160a060020a0316637f4da1326040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750506040805151600160a060020a038d16600090815260086020529190912054909250899010801591506114a55750600160a060020a03891660009081526040902054888101115b80156114b057508088115b80156114bf575060065460ff16155b80156114e45750600160a060020a038a166000908152600a6020526040902054439011155b1561154f57600160a060020a038a8116600081815260086020908152604080832080548e90039055938d16808352918490208054868e03908101909155845190815293519193600080516020611876833981519152929081900390910190a36115708a826000611369565b600096508695508594508493508392508291505b5093975093979195509350565b601354600197508a96508995508189039450600160a060020a03169250905080611563565b600092505b5050919050565b600d54600160a060020a039081163390911614156115ec57600160a060020a0383166000908152600860205260409020805483900390556115e483836002611369565b50600161033b565b50600061033b565b600091505b5095945050505050565b600191506115f9565b600091505b5092915050565b60019150611611565b600c60009054906101000a9004600160a060020a0316600160a060020a0316637f4da1326040518160e060020a0281526004018090506020604051808303816000876161da5a03f1156100025750506040805151600160a060020a038d16600090815260086020529190912054909250899010801591506116b65750600160a060020a03891660009081526040902054888101115b80156116c157508088115b80156116d0575060065460ff16155b80156116f55750600160a060020a038a166000908152600a6020526040902054439011155b1561173f57600160a060020a038a81166000908152600960209081526040808320938f16835292905220548811156117615760009650869550859450849350839250829150611753565b600096508695508594508493508392508291505b509499939850945094509450565b600160a060020a038a8116600081815260086020908152604080832080548e90039055938d16808352918490208054868e03908101909155845190815293519193600080516020611876833981519152929081900390910190a36117c78a826000611369565b600160a060020a038a811660009081526009602090815260408083208f85168452909152902080548a90039055601354600198508b97508a9650828a039550169250905080611753565b600160a060020a03848116600081815260096020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060016110b256ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

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

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


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  ]
[ 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.