ETH Price: $2,983.93 (-6.01%)
Gas: 7 Gwei

Contract

0x4DF812F6064def1e5e029f1ca858777CC98D2D81
 
Transaction Hash
Method
Block
From
To
Value
0x41befe850721a198517a79c7830b5ac71c8940b717a742228e526793ab5463b4Transfer(pending)2024-04-30 12:30:259 hrs ago1714480225IN
Xaurum Token
0 ETH(Pending)(Pending)
Transfer196763892024-04-17 16:28:3513 days ago1713371315IN
Xaurum Token
0 ETH0.0021996630
Transfer196023502024-04-07 7:32:3523 days ago1712475155IN
Xaurum Token
0 ETH0.0008798612
Transfer196006342024-04-07 1:45:2323 days ago1712454323IN
Xaurum Token
0 ETH0.0008065411
Transfer194381182024-03-15 4:58:1146 days ago1710478691IN
Xaurum Token
0 ETH0.0030883642.11369149
Transfer194375152024-03-15 2:55:5946 days ago1710471359IN
Xaurum Token
0 ETH0.0046117562.8870585
Transfer194341312024-03-14 15:28:5947 days ago1710430139IN
Xaurum Token
0 ETH0.0044227260.31914195
Transfer193772212024-03-06 16:07:1155 days ago1709741231IN
Xaurum Token
0 ETH0.0068882693.94543974
Transfer193553662024-03-03 14:53:2358 days ago1709477603IN
Xaurum Token
0 ETH0.0035411962.98586661
Transfer190846372024-01-25 15:50:4796 days ago1706197847IN
Xaurum Token
0 ETH0.003485347.53429038
Transfer190421372024-01-19 16:34:47102 days ago1705682087IN
Xaurum Token
0 ETH0.0047580960.91536876
Transfer189005362023-12-30 19:53:23122 days ago1703966003IN
Xaurum Token
0 ETH0.001506420.54499437
Approve188633622023-12-25 14:34:23127 days ago1703514863IN
Xaurum Token
0 ETH0.0013250128.75851481
Transfer188502422023-12-23 18:17:23129 days ago1703355443IN
Xaurum Token
0 ETH0.0017061723.26580565
Transfer186643132023-11-27 16:56:59155 days ago1701104219IN
Xaurum Token
0 ETH0.0028889439.40079551
Transfer185654112023-11-13 20:37:59169 days ago1699907879IN
Xaurum Token
0 ETH0.002356838.62224806
Transfer185628702023-11-13 12:05:47169 days ago1699877147IN
Xaurum Token
0 ETH0.0033116642.39100164
Transfer185628342023-11-13 11:58:23169 days ago1699876703IN
Xaurum Token
0 ETH0.0021498939.08891102
Transfer185238132023-11-08 0:58:47174 days ago1699405127IN
Xaurum Token
0 ETH0.0013845418.88620398
Transfer184501122023-10-28 17:13:23185 days ago1698513203IN
Xaurum Token
0 ETH0.0020179927.52243394
Approve183478862023-10-14 10:00:11199 days ago1697277611IN
Xaurum Token
0 ETH0.00016186.19601764
Transfer180738402023-09-06 0:27:59237 days ago1693960079IN
Xaurum Token
0 ETH0.0021410529.20077623
Transfer180021672023-08-26 23:36:35247 days ago1693092995IN
Xaurum Token
0 ETH0.000627210
Transfer179931572023-08-25 17:20:35249 days ago1692984035IN
Xaurum Token
0 ETH0.0019436124.87924518
Transfer175481102023-06-24 8:10:23311 days ago1687594223IN
Xaurum Token
0 ETH0.0009531813
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
45691772017-11-17 10:40:212356 days ago1510915221
Xaurum Token
0.13216253 ETH
24408352016-10-14 20:57:522755 days ago1476478672
Xaurum Token
0 ETH
24402942016-10-14 18:54:582755 days ago1476471298
Xaurum Token
0 ETH
24402382016-10-14 18:43:192755 days ago1476470599
Xaurum Token
0 ETH
24401592016-10-14 18:23:552755 days ago1476469435
Xaurum Token
0 ETH
24401392016-10-14 18:19:112755 days ago1476469151
Xaurum Token
0 ETH
24397032016-10-14 16:38:162755 days ago1476463096
Xaurum Token
0 ETH
24396972016-10-14 16:37:072755 days ago1476463027
Xaurum Token
0 ETH
24391922016-10-14 14:39:122755 days ago1476455952
Xaurum Token
0 ETH
24390832016-10-14 14:09:372755 days ago1476454177
Xaurum Token
0 ETH
24389482016-10-14 13:30:492755 days ago1476451849
Xaurum Token
0 ETH
24385322016-10-14 11:43:222755 days ago1476445402
Xaurum Token
0 ETH
24385322016-10-14 11:43:222755 days ago1476445402
Xaurum Token
0 ETH
24384382016-10-14 11:18:022755 days ago1476443882
Xaurum Token
0 ETH
24384112016-10-14 11:12:072755 days ago1476443527
Xaurum Token
0 ETH
24383882016-10-14 11:07:592755 days ago1476443279
Xaurum Token
0 ETH
24383832016-10-14 11:06:362755 days ago1476443196
Xaurum Token
0 ETH
24382802016-10-14 10:43:122755 days ago1476441792
Xaurum Token
0 ETH
24382762016-10-14 10:42:092755 days ago1476441729
Xaurum Token
0 ETH
24382762016-10-14 10:42:092755 days ago1476441729
Xaurum Token
0 ETH
24382742016-10-14 10:41:362755 days ago1476441696
Xaurum Token
0 ETH
24382632016-10-14 10:39:102755 days ago1476441550
Xaurum Token
0 ETH
24382562016-10-14 10:37:582755 days ago1476441478
Xaurum Token
0 ETH
24382422016-10-14 10:33:522755 days ago1476441232
Xaurum Token
0 ETH
24382382016-10-14 10:33:222755 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.