Contract Overview
Balance: 0 Ether
Transactions: 2 txns
Token Tracker: USD Risk (USD_R)
 Latest 2 txns

TxHash Age From To Value [TxFee]
0x839405b0ded6f236f87b695a5ee4e0d395b318c505e42b92ed28e569cee66dd2360 days 12 hrs ago0xd3069c9e486a8b77add55ae3ceb3a4b138fb76c7  IN   0x4ab29def529b1678e2c5e966e0d67d733829103b0.01 Ether0.000208588
0xd6dbd0fbd54a97a8b2b7dad9c77ae3d97b3fe90c63730a7431fdbe16d6e9d0da392 days 22 hrs ago0x4ef4c85dc5b358b9690338b44962c4d69829fa81  IN    Contract Creation0 Ether0.0277258


[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 1 Internal Transaction

ParentTxHash Block Age From To Value
0x839405b0ded6f236f87b695a5ee4e0d395b318c505e42b92ed28e569cee66dd24801424360 days 12 hrs ago0x4ab29def529b1678e2c5e966e0d67d733829103b0x95cbea5790224bfef1b934f05bd4b29a1482933c0.01 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Similar Match)
Note: Displaying Similar Match Verified Source Code At Contract 0x6c01df8b41f37c3810c5886692f0c2d3a25d8ea4(Excluding Constructor Arguments if_any)
Contract Name: RiskCoin
Compiler Text: v0.4.16+commit.d7661dd9
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.16;
//https://github.com/genkifs/staticoin

contract owned  {
  address owner;
  function owned() {
    owner = msg.sender;
  }
  function changeOwner(address newOwner) onlyOwner {
    owner = newOwner;
  }
  modifier onlyOwner() {
    if (msg.sender==owner) 
    _;
  }
}

contract mortal is owned() {
  function kill() onlyOwner {
    if (msg.sender == owner) selfdestruct(owner);
  }
}

library ERC20Lib {
//Inspired by https://blog.aragon.one/library-driven-development-in-solidity-2bebcaf88736
  struct TokenStorage {
    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;
    uint256 totalSupply;
  }
  
	event Transfer(address indexed _from, address indexed _to, uint256 _value);
	event Approval(address indexed _owner, address indexed _spender, uint256 _value);

	modifier onlyPayloadSize(uint numwords) {
		/**
		* @dev  Checks for short addresses  
		* @param numwords number of parameters passed 
		*/
        assert(msg.data.length >= numwords * 32 + 4);
        _;
	}
  
	modifier validAddress(address _address) { 
		/**
		* @dev  validates an address.  
		* @param _address checks that it isn't null or this contract address
		*/		
        require(_address != 0x0); 
        require(_address != address(msg.sender)); 
        _; 
    } 
	
	modifier IsWallet(address _address) {
		/**
		* @dev Transfer tokens from msg.sender to another address.  
		* Cannot Allows execution if the transfer to address code size is 0
		* @param _address address to check that its not a contract
		*/		
		uint codeLength;
		assembly {
            // Retrieve the size of the code on target address, this needs assembly .
            codeLength := extcodesize(_address)
        }
		assert(codeLength==0);		
        _; 
    } 

   function safeMul(uint a, uint b) returns (uint) { 
     uint c = a * b; 
     assert(a == 0 || c / a == b); 
     return c; 
   } 
 
   function safeSub(uint a, uint b) returns (uint) { 
     assert(b <= a); 
     return a - b; 
   }  
 
   function safeAdd(uint a, uint b) returns (uint) { 
     uint c = a + b; 
     assert(c>=a && c>=b); 
     return c; 
   } 
	
	function init(TokenStorage storage self, uint _initial_supply) {
		self.totalSupply = _initial_supply;
		self.balances[msg.sender] = _initial_supply;
	}
  
	function transfer(TokenStorage storage self, address _to, uint256 _value) 
		onlyPayloadSize(3)
		IsWallet(_to)		
		returns (bool success) {				
		/**
		* @dev Transfer tokens from msg.sender to another address.  
		* Cannot be used to send tokens to a contract, this means contracts cannot mint coins to themselves
		* Contracts have to use the approve and transfer method
		* this is based on https://github.com/Dexaran/ERC223-token-standard
		* @param _to address The address where the coin is to be transfered
		* @param _value uint256 the amount of tokens to be transferred
		*/
       if (self.balances[msg.sender] >= _value && self.balances[_to] + _value > self.balances[_to]) {
            self.balances[msg.sender] = safeSub(self.balances[msg.sender], _value);
            self.balances[_to] = safeAdd(self.balances[_to], _value);
            Transfer(msg.sender, _to, _value);
            return true;
        } else { return false; }
    }
  
	function transferFrom(TokenStorage storage self, address _from, address _to, uint256 _value) 
		onlyPayloadSize(4) 
		validAddress(_from)
		validAddress(_to)
		returns (bool success) {
		/**
		* @dev Transfer tokens from one address to another.  Requires allowance to be set.
		* @param _from address The address which you want to send tokens from
		* @param _to address The address which you want to transfer to
		* @param _value uint256 the amount of tokens to be transferred
		*/
        if (self.balances[_from] >= _value && self.allowed[_from][msg.sender] >= _value && self.balances[_to] + _value > self.balances[_to]) {
			var _allowance = self.allowed[_from][msg.sender];
            self.balances[_to] = safeAdd(self.balances[_to], _value);
            self.balances[_from] = safeSub(self.balances[_from], _value);
            self.allowed[_from][msg.sender] = safeSub(_allowance, _value);
            Transfer(_from, _to, _value);
            return true;
        } else { return false; }
    }
     
    function balanceOf(TokenStorage storage self, address _owner) constant 
		onlyPayloadSize(2) 
		validAddress(_owner)
		returns (uint256 balance) {
		/**
		* @dev returns the amount given to an account
		* @param _owner The address to be queried
		* @return Balance of _owner.
		*/
        return self.balances[_owner];
    }
	 
    function approve(TokenStorage storage self, address _spender, uint256 _value) 
		onlyPayloadSize(3) 
		validAddress(_spender)	
		returns (bool success) {
	/**
    * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
    * @param _spender The address which will spend the funds.
    * @param _value The amount of tokens to be spent.
    */
		//require user to set to zero before resetting to nonzero
		if ((_value != 0) && (self.allowed[msg.sender][_spender] != 0)) { 
           return false; 
        } else {
			self.allowed[msg.sender][_spender] = _value;
			Approval(msg.sender, _spender, _value);
			return true;
		}
    }
		
	function allowance(TokenStorage storage self, address _owner, address _spender) constant 
		onlyPayloadSize(3) 
		validAddress(_owner)	
		validAddress(_spender)	
		returns (uint256 remaining) {
			/**
			* @dev allows queries of how much a given address is allowed to spend on behalf of another account
			* @param _owner address The address which owns the funds.
			* @param _spender address The address which will spend the funds.
			* @return remaining uint256 specifying the amount of tokens still available for the spender.
			*/
        return self.allowed[_owner][_spender];
    }
	
	function increaseApproval(TokenStorage storage self, address _spender, uint256 _addedValue)  
		onlyPayloadSize(3) 
		validAddress(_spender)	
		returns (bool success) { 
		/**
		* @dev Allows to increment allowed value
		* better to use this function to avoid 2 calls
		* @param _spender address The address which will spend the funds.
		* @param _addedValue amount to increase alowance by.
		* @return True if allowance increased
		*/
        uint256 oldValue = self.allowed[msg.sender][_spender]; 
        self.allowed[msg.sender][_spender] = safeAdd(oldValue, _addedValue); 
        return true; 
    } 
	
	function decreaseApproval(TokenStorage storage self,address _spender, uint256 _subtractedValue)  
		onlyPayloadSize(3) 
		validAddress(_spender)	
		returns (bool success) { 
		/**
		* @dev Allows to decrement allowed value
		* better to use this function to avoid 2 calls
		* @param _spender address The address which will spend the funds.
		* @param _subtractedValue amount to decrease allowance by.
		* @return True if allowance decreased
		*/
		uint256 oldValue = self.allowed[msg.sender][_spender]; 
		if (_subtractedValue > oldValue) { 
			self.allowed[msg.sender][_spender] = 0; 
		} else { 
			self.allowed[msg.sender][_spender] = safeSub(oldValue, _subtractedValue); 
		} 
		return true; 
	} 

    /* Approves and then calls the receiving contract with any additional paramteres*/
    function approveAndCall(TokenStorage storage self, address _spender, uint256 _value, bytes _extraData)
		onlyPayloadSize(4) 
		validAddress(_spender)   
		returns (bool success) {
	//require user to set to zero before resetting to nonzero
			/**
			* @dev Approves and then calls the receiving contract with any additional paramteres
			* @param _owner address The address which owns the funds.
			* @param _spender address The address which will spend the funds.
			* @param _value address The address which will spend the funds.
			* @param _extraData is the additional paramters passed
			* @return True if successful.
			*/
		if ((_value != 0) && (self.allowed[msg.sender][_spender] != 0)) { 
				return false; 
			} else {
			self.allowed[msg.sender][_spender] = _value;
			Approval(msg.sender, _spender, _value);
			//call the receiveApproval function on the contract you want to be notified. 
			//This crafts the function signature manually so one doesn't have to include a contract in here just for this.
			//it is assumed that when does this that the call *should* succeed, otherwise one would use vanilla approve instead.
			if(!_spender.call(bytes4(bytes32(sha3("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData)) { revert(); }
			return true;
		}
    }	
	
	function mintCoin(TokenStorage storage self, address target, uint256 mintedAmount, address owner) 
		internal
		returns (bool success) {
			/**
			* @dev Approves and then calls the receiving contract with any additional paramteres
			* @param target address the address which will receive the funds.
			* @param mintedAmount the amount of funds to be sent.
			* @param owner the contract responsable for controling the amount of funds.
			* @return True if successful.
			*/
        self.balances[target] = safeAdd(self.balances[target], mintedAmount);//balances[target] += mintedAmount;
        self.totalSupply = safeAdd(self.totalSupply, mintedAmount);//totalSupply += mintedAmount;
        Transfer(0, owner, mintedAmount); // Deliver coin to the mint
        Transfer(owner, target, mintedAmount); // mint delivers to address
		return true;
    }

    function meltCoin(TokenStorage storage self, address target, uint256 meltedAmount, address owner) 
		internal
		returns (bool success) {
			/**
			* @dev Approves and then calls the receiving contract with any additional paramteres
			* @param target address the address which will return the funds.
			* @param meltedAmount the amount of funds to be returned.
			* @param owner the contract responsable for controling the amount of funds.
			* @return True if successful.
			*/
        if(self.balances[target]<meltedAmount){
            return false;
        }
		self.balances[target] = safeSub(self.balances[target], meltedAmount); //balances[target] -= meltedAmount;
		self.totalSupply = safeSub(self.totalSupply, meltedAmount); //totalSupply -= meltedAmount;
		Transfer(target, owner, meltedAmount); // address delivers to minter
		Transfer(owner, 0, meltedAmount); // minter delivers coin to the burn address
		return true;
    }
}

/** @title StandardToken. */
contract StandardToken is owned{
    using ERC20Lib for ERC20Lib.TokenStorage;
    ERC20Lib.TokenStorage public token;

	string public name;                   //Long token name
    uint8 public decimals=18;                //How many decimals to show. ie. There could 1000 base units with 3 decimals. Meaning 0.980 SBX = 980 base units. It's like comparing 1 wei to 1 ether.
    string public symbol;                 //An identifier: eg SBX
    string public version = 'H0.1';       //human 0.1 standard. Just an arbitrary versioning scheme.
    uint public INITIAL_SUPPLY = 0;		// mintable coin has zero inital supply (and can fall back to zero)

    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);   
   
    function StandardToken() {
		token.init(INITIAL_SUPPLY);
    }

    function totalSupply() constant returns (uint) {
		return token.totalSupply;
    }

    function balanceOf(address who) constant returns (uint) {
		return token.balanceOf(who);
    }

    function allowance(address owner, address _spender) constant returns (uint) {
		return token.allowance(owner, _spender);
    }

	function transfer(address to, uint value) returns (bool ok) {
		return token.transfer(to, value);
	}

	function transferFrom(address _from, address _to, uint _value) returns (bool ok) {
		return token.transferFrom(_from, _to, _value);
	}

	function approve(address _spender, uint value) returns (bool ok) {
		return token.approve(_spender, value);
	}
   
	function increaseApproval(address _spender, uint256 _addedValue) returns (bool ok) {  
		return token.increaseApproval(_spender, _addedValue);
	}    
 
	function decreaseApproval(address _spender, uint256 _subtractedValue) returns (bool ok) {  
		return token.decreaseApproval(_spender, _subtractedValue);
	}

	function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool ok){
		return token.approveAndCall(_spender,_value,_extraData);
    }
	
	function mintCoin(address target, uint256 mintedAmount) onlyOwner returns (bool ok) {
		return token.mintCoin(target,mintedAmount,owner);
    }

    function meltCoin(address target, uint256 meltedAmount) onlyOwner returns (bool ok) {
		return token.meltCoin(target,meltedAmount,owner);
    }
}

/** @title Coin. */
contract Coin is StandardToken, mortal{
    I_minter public mint;				  //Minter interface  
    event EventClear();

    function Coin(string _tokenName, string _tokenSymbol, address _minter) { 
        name = _tokenName;                                   // Set the name for display purposes
        symbol = _tokenSymbol;                               // Set the symbol for display purposes
        changeOwner(_minter);
        mint=I_minter(_minter); 
	}
}

/** @title RiskCoin. */
contract RiskCoin is Coin{
    function RiskCoin(string _tokenName, string _tokenSymbol, address _minter) 
	Coin(_tokenName,_tokenSymbol,_minter) {} 
	
    function() payable {
		/** @dev direct any ETH sent to this RiskCoin address to the minter.NewRisk function
		*/
        mint.NewRiskAdr.value(msg.value)(msg.sender);
    }  
}

/** @title StatiCoin. */
contract StatiCoin is Coin{
    function StatiCoin(string _tokenName, string _tokenSymbol, address _minter) 
	Coin(_tokenName,_tokenSymbol,_minter) {} 

    function() payable {        
		/** @dev direct any ETH sent to this StatiCoin address to the minter.NewStatic function
        */
        mint.NewStaticAdr.value(msg.value)(msg.sender);
    }  
}

/** @title I_coin. */
contract I_coin is mortal {

    event EventClear();

	I_minter public mint;
    string public name;                   //fancy name: eg Simon Bucks
    uint8 public decimals=18;                //How many decimals to show. ie. There could 1000 base units with 3 decimals. Meaning 0.980 SBX = 980 base units. It's like comparing 1 wei to 1 ether.
    string public symbol;                 //An identifier: eg SBX
    string public version = '';       //human 0.1 standard. Just an arbitrary versioning scheme.
	
    function mintCoin(address target, uint256 mintedAmount) returns (bool success) {}
    function meltCoin(address target, uint256 meltedAmount) returns (bool success) {}
    function approveAndCall(address _spender, uint256 _value, bytes _extraData){}

    function setMinter(address _minter) {}   
	function increaseApproval (address _spender, uint256 _addedValue) returns (bool success) {}    
	function decreaseApproval (address _spender, uint256 _subtractedValue) 	returns (bool success) {} 

    // @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) {}

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
	
	// @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) {}
	
	mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;

	// @return total amount of tokens
    uint256 public totalSupply;
}

/** @title I_minter. */
contract I_minter { 
    event EventCreateStatic(address indexed _from, uint128 _value, uint _transactionID, uint _Price); 
    event EventRedeemStatic(address indexed _from, uint128 _value, uint _transactionID, uint _Price); 
    event EventCreateRisk(address indexed _from, uint128 _value, uint _transactionID, uint _Price); 
    event EventRedeemRisk(address indexed _from, uint128 _value, uint _transactionID, uint _Price); 
    event EventBankrupt();
	
    function Leverage() constant returns (uint128)  {}
    function RiskPrice(uint128 _currentPrice,uint128 _StaticTotal,uint128 _RiskTotal, uint128 _ETHTotal) constant returns (uint128 price)  {}
    function RiskPrice(uint128 _currentPrice) constant returns (uint128 price)  {}     
    function PriceReturn(uint _TransID,uint128 _Price) {}
    function NewStatic() external payable returns (uint _TransID)  {}
    function NewStaticAdr(address _Risk) external payable returns (uint _TransID)  {}
    function NewRisk() external payable returns (uint _TransID)  {}
    function NewRiskAdr(address _Risk) external payable returns (uint _TransID)  {}
    function RetRisk(uint128 _Quantity) external payable returns (uint _TransID)  {}
    function RetStatic(uint128 _Quantity) external payable returns (uint _TransID)  {}
    function Strike() constant returns (uint128)  {}
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mint","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"meltedAmount","type":"uint256"}],"name":"meltCoin","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"mintCoin","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenName","type":"string"},{"name":"_tokenSymbol","type":"string"},{"name":"_minter","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[],"name":"EventClear","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060409081526005805460ff191660121790558051908101604052600481527f48302e3100000000000000000000000000000000000000000000000000000000602082015260079080516200005a929160200190620001ed565b50600060085534156200006c57600080fd5b6040516200136e3803806200136e833981016040528080518201919060200180518201919060200180519150505b8282825b5b5b60008054600160a060020a03191633600160a060020a03161790555b600173271c81ea0fc1030a861052d9559eca1ae76c23006343505a7590916008546040517c010000000000000000000000000000000000000000000000000000000063ffffffff85160281526004810192909252602482015260440160006040518083038186803b15156200013057600080fd5b6102c65a03f415156200014257600080fd5b5050505b60048380516200015b929160200190620001ed565b50600682805162000171929160200190620001ed565b506200018b8164010000000062000b43620001b482021704565b60098054600160a060020a031916600160a060020a0383161790555b5050505b50505062000297565b60005433600160a060020a0390811691161415620001e85760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023057805160ff191683800117855562000260565b8280016001018555821562000260579182015b828111156200026057825182559160200191906001019062000243565b5b506200026f92915062000273565b5090565b6200029491905b808211156200026f57600081556001016200027a565b5090565b90565b6110c780620002a76000396000f300606060405236156100f65763ffffffff60e060020a60003504166306fdde03811461016f578063095ea7b3146101fa5780631249c58b1461023057806318160ddd1461025f57806323b872dd146102845780632ff2e9dc146102c0578063313ce567146102e55780633188da5f1461030e57806341c0e1b51461034457806354fd4d501461035957806366188463146103e457806370a082311461041a57806395d89b411461044b578063a6f9dae1146104d6578063a9059cbb146104f7578063cae9ca511461052d578063d73dd623146105a6578063dd62ed3e146105dc578063ec1553d114610613578063fc0c546a14610649575b5b600954600160a060020a0316637e7388b1343360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390911660048201526024016020604051808303818588803b151561015057600080fd5b6125ee5a03f1151561016157600080fd5b50505050604051805150505b005b341561017a57600080fd5b61018261066e565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101bf5780820151818401525b6020016101a6565b50505050905090810190601f1680156101ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020557600080fd5b61021c600160a060020a036004351660243561070c565b604051901515815260200160405180910390f35b341561023b57600080fd5b6102436107a0565b604051600160a060020a03909116815260200160405180910390f35b341561026a57600080fd5b6102726107af565b60405190815260200160405180910390f35b341561028f57600080fd5b61021c600160a060020a03600435811690602435166044356107b6565b604051901515815260200160405180910390f35b34156102cb57600080fd5b610272610853565b60405190815260200160405180910390f35b34156102f057600080fd5b6102f8610859565b60405160ff909116815260200160405180910390f35b341561031957600080fd5b61021c600160a060020a0360043516602435610862565b604051901515815260200160405180910390f35b341561034f57600080fd5b61016d6108a7565b005b341561036457600080fd5b6101826108e8565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101bf5780820151818401525b6020016101a6565b50505050905090810190601f1680156101ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103ef57600080fd5b61021c600160a060020a0360043516602435610986565b604051901515815260200160405180910390f35b341561042557600080fd5b610272600160a060020a0360043516610a1a565b60405190815260200160405180910390f35b341561045657600080fd5b610182610aa5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101bf5780820151818401525b6020016101a6565b50505050905090810190601f1680156101ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104e157600080fd5b61016d600160a060020a0360043516610b43565b005b341561050257600080fd5b61021c600160a060020a0360043516602435610b88565b604051901515815260200160405180910390f35b341561053857600080fd5b61021c60048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610c1c95505050505050565b604051901515815260200160405180910390f35b34156105b157600080fd5b61021c600160a060020a0360043516602435610d29565b604051901515815260200160405180910390f35b34156105e757600080fd5b610272600160a060020a0360043581169060243516610dbd565b60405190815260200160405180910390f35b341561061e57600080fd5b61021c600160a060020a0360043516602435610e52565b604051901515815260200160405180910390f35b341561065457600080fd5b610272610e97565b60405190815260200160405180910390f35b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107045780601f106106d957610100808354040283529160200191610704565b820191906000526020600020905b8154815290600101906020018083116106e757829003601f168201915b505050505081565b600073271c81ea0fc1030a861052d9559eca1ae76c2300635bada33860018585856040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039091166024830152604482015260640160206040518083038186803b151561077d57600080fd5b6102c65a03f4151561078e57600080fd5b50505060405180519150505b92915050565b600954600160a060020a031681565b6003545b90565b600073271c81ea0fc1030a861052d9559eca1ae76c230063450087976001868686866040516020015260405160e060020a63ffffffff87160281526004810194909452600160a060020a03928316602485015291166044830152606482015260840160206040518083038186803b151561082f57600080fd5b6102c65a03f4151561084057600080fd5b50505060405180519150505b9392505050565b60085481565b60055460ff1681565b6000805433600160a060020a039081169116141561079a5760005461089c9060019085908590600160a060020a031663ffffffff610e9d16565b90505b5b5b92915050565b60005433600160a060020a03908116911614156108e35760005433600160a060020a03908116911614156108e357600054600160a060020a0316ff5b5b5b5b565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107045780601f106106d957610100808354040283529160200191610704565b820191906000526020600020905b8154815290600101906020018083116106e757829003601f168201915b505050505081565b600073271c81ea0fc1030a861052d9559eca1ae76c230063b2aa4acd60018585856040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039091166024830152604482015260640160206040518083038186803b151561077d57600080fd5b6102c65a03f4151561078e57600080fd5b50505060405180519150505b92915050565b600073271c81ea0fc1030a861052d9559eca1ae76c230063d1717fd4600184846040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a0316602482015260440160206040518083038186803b1515610a8357600080fd5b6102c65a03f41515610a9457600080fd5b50505060405180519150505b919050565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107045780601f106106d957610100808354040283529160200191610704565b820191906000526020600020905b8154815290600101906020018083116106e757829003601f168201915b505050505081565b60005433600160a060020a0390811691161415610b83576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b600073271c81ea0fc1030a861052d9559eca1ae76c2300632d0277b960018585856040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039091166024830152604482015260640160206040518083038186803b151561077d57600080fd5b6102c65a03f4151561078e57600080fd5b50505060405180519150505b92915050565b600073271c81ea0fc1030a861052d9559eca1ae76c2300636704d86c600186868686604051602001526040518563ffffffff1660e060020a0281526004018085815260200184600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610cb95780820151818401525b602001610ca0565b50505050905090810190601f168015610ce65780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038186803b151561082f57600080fd5b6102c65a03f4151561084057600080fd5b50505060405180519150505b9392505050565b600073271c81ea0fc1030a861052d9559eca1ae76c230063d0f1154e60018585856040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039091166024830152604482015260640160206040518083038186803b151561077d57600080fd5b6102c65a03f4151561078e57600080fd5b50505060405180519150505b92915050565b600073271c81ea0fc1030a861052d9559eca1ae76c23006388fd651060018585856040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a03918216602484015216604482015260640160206040518083038186803b151561077d57600080fd5b6102c65a03f4151561078e57600080fd5b50505060405180519150505b92915050565b6000805433600160a060020a039081169116141561079a5760005461089c9060019085908590600160a060020a031663ffffffff610f7e16565b90505b5b5b92915050565b60035481565b600160a060020a03831660009081526020859052604081205483901015610ec657506000610f76565b600160a060020a038416600090815260208690526040902054610ee9908461103c565b600160a060020a0385166000908152602087905260409020556002850154610f11908461103c565b6002860155600160a060020a0380831690851660008051602061107c8339815191528560405190815260200160405180910390a3600082600160a060020a031660008051602061107c8339815191528560405190815260200160405180910390a35060015b949350505050565b600160a060020a038316600090815260208590526040812054610fa19084611053565b600160a060020a0385166000908152602087905260409020556002850154610fc99084611053565b6002860155600160a060020a038216600060008051602061107c8339815191528560405190815260200160405180910390a383600160a060020a031682600160a060020a031660008051602061107c8339815191528560405190815260200160405180910390a35060015b949350505050565b60008282111561104857fe5b508082035b92915050565b60008282018381108015906110685750828110155b151561107057fe5b8091505b50929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058200b8532553ac07ea327eca0a528ae400bc238002a874a0e1e7698310e32f4e6250029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007e48ba5e3828d9d1966a185ed4ffd92902bbfc5500000000000000000000000000000000000000000000000000000000000000084a5059205269736b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054a50595f52000000000000000000000000000000000000000000000000000000

   Library Used
ERC20Lib : 0x271c81ea0fc1030a861052d9559eca1ae76c2300

   Swarm Source:
bzzr://0b8532553ac07ea327eca0a528ae400bc238002a874a0e1e7698310e32f4e625

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward