Sponsored Link:   trade.io - The Future of Crypto Trading - A Better, Faster, Smarter Crypto Exchange - Pre-Register Now!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 3 txns
Token Contract: JPY Risk (JPY_R)
 Latest 3 txns

TxHash Age From To Value [TxFee]
0xb0075b9fb56b4f9388460f2790a6ccb22a6cba9ae1d0d3ffcb93b260f19a40de265 days 19 hrs ago0xdc48c9b99a94ffd60557ed6dc9a4649db0fb2b33  IN   0x22a3d74c363379189b6cc059d8fbd888e98df5ec1 Ether0.000234978
0x673a3196a67d153c2f63882d89b391a2c6911921d9fbd8027785daf534997b58269 days 16 hrs ago0xdc48c9b99a94ffd60557ed6dc9a4649db0fb2b33  IN   0x22a3d74c363379189b6cc059d8fbd888e98df5ec0.1 Ether0.000249978
0xc3d2a6b676a4921c675ae89a83fec42c939bd9e2e3293badea88ae2435c46936272 days 5 hrs ago0xdc48c9b99a94ffd60557ed6dc9a4649db0fb2b33  IN    Contract Creation0 Ether0.001386866
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 2 Internal Transactions

ParentTxHash Block Age From To Value
0xb0075b9fb56b4f9388460f2790a6ccb22a6cba9ae1d0d3ffcb93b260f19a40de4451400265 days 19 hrs ago0x22a3d74c363379189b6cc059d8fbd888e98df5ec0xdc75eb262b08246ae8a1125e119667fb79540ef31 Ether
0x673a3196a67d153c2f63882d89b391a2c6911921d9fbd8027785daf534997b584427196269 days 16 hrs ago0x22a3d74c363379189b6cc059d8fbd888e98df5ec0xdc75eb262b08246ae8a1125e119667fb79540ef30.1 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity) Solidity compiler bugs.

Contract Source Code Verified (Similar match)
Note: Displaying similar matching verified source code at contract 0xd0800859d6f4bc0210b7807e770bc44a9ece7372(excluding Constructor Arguments if any)
Contract Name: RiskCoin
Compiler Version: 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
606060409081526005805460ff191660121790558051908101604052600481527f48302e3100000000000000000000000000000000000000000000000000000000602082015260079080516200005a929160200190620001ed565b50600060085534156200006c57600080fd5b6040516200136e3803806200136e833981016040528080518201919060200180518201919060200180519150505b8282825b5b5b60008054600160a060020a03191633600160a060020a03161790555b6001730649e8dde6b0b1bbf718151105839c29abdd7d7a6343505a7590916008546040517c010000000000000000000000000000000000000000000000000000000063ffffffff85160281526004810192909252602482015260440160006040518083038186803b15156200013057600080fd5b6102c65a03f415156200014257600080fd5b5050505b60048380516200015b929160200190620001ed565b50600682805162000171929160200190620001ed565b506200018b8164010000000062000b43620001b482021704565b60098054600160a060020a031916600160a060020a0383161790555b5050505b50505062000297565b60005433600160a060020a0390811691161415620001e85760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023057805160ff191683800117855562000260565b8280016001018555821562000260579182015b828111156200026057825182559160200191906001019062000243565b5b506200026f92915062000273565b5090565b6200029491905b808211156200026f57600081556001016200027a565b5090565b90565b6110c780620002a76000396000f300606060405236156100f65763ffffffff60e060020a60003504166306fdde03811461016f578063095ea7b3146101fa5780631249c58b1461023057806318160ddd1461025f57806323b872dd146102845780632ff2e9dc146102c0578063313ce567146102e55780633188da5f1461030e57806341c0e1b51461034457806354fd4d501461035957806366188463146103e457806370a082311461041a57806395d89b411461044b578063a6f9dae1146104d6578063a9059cbb146104f7578063cae9ca511461052d578063d73dd623146105a6578063dd62ed3e146105dc578063ec1553d114610613578063fc0c546a14610649575b5b600954600160a060020a0316637e7388b1343360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390911660048201526024016020604051808303818588803b151561015057600080fd5b6125ee5a03f1151561016157600080fd5b50505050604051805150505b005b341561017a57600080fd5b61018261066e565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101bf5780820151818401525b6020016101a6565b50505050905090810190601f1680156101ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020557600080fd5b61021c600160a060020a036004351660243561070c565b604051901515815260200160405180910390f35b341561023b57600080fd5b6102436107a0565b604051600160a060020a03909116815260200160405180910390f35b341561026a57600080fd5b6102726107af565b60405190815260200160405180910390f35b341561028f57600080fd5b61021c600160a060020a03600435811690602435166044356107b6565b604051901515815260200160405180910390f35b34156102cb57600080fd5b610272610853565b60405190815260200160405180910390f35b34156102f057600080fd5b6102f8610859565b60405160ff909116815260200160405180910390f35b341561031957600080fd5b61021c600160a060020a0360043516602435610862565b604051901515815260200160405180910390f35b341561034f57600080fd5b61016d6108a7565b005b341561036457600080fd5b6101826108e8565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101bf5780820151818401525b6020016101a6565b50505050905090810190601f1680156101ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103ef57600080fd5b61021c600160a060020a0360043516602435610986565b604051901515815260200160405180910390f35b341561042557600080fd5b610272600160a060020a0360043516610a1a565b60405190815260200160405180910390f35b341561045657600080fd5b610182610aa5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101bf5780820151818401525b6020016101a6565b50505050905090810190601f1680156101ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104e157600080fd5b61016d600160a060020a0360043516610b43565b005b341561050257600080fd5b61021c600160a060020a0360043516602435610b88565b604051901515815260200160405180910390f35b341561053857600080fd5b61021c60048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610c1c95505050505050565b604051901515815260200160405180910390f35b34156105b157600080fd5b61021c600160a060020a0360043516602435610d29565b604051901515815260200160405180910390f35b34156105e757600080fd5b610272600160a060020a0360043581169060243516610dbd565b60405190815260200160405180910390f35b341561061e57600080fd5b61021c600160a060020a0360043516602435610e52565b604051901515815260200160405180910390f35b341561065457600080fd5b610272610e97565b60405190815260200160405180910390f35b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107045780601f106106d957610100808354040283529160200191610704565b820191906000526020600020905b8154815290600101906020018083116106e757829003601f168201915b505050505081565b6000730649e8dde6b0b1bbf718151105839c29abdd7d7a635bada33860018585856040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039091166024830152604482015260640160206040518083038186803b151561077d57600080fd5b6102c65a03f4151561078e57600080fd5b50505060405180519150505b92915050565b600954600160a060020a031681565b6003545b90565b6000730649e8dde6b0b1bbf718151105839c29abdd7d7a63450087976001868686866040516020015260405160e060020a63ffffffff87160281526004810194909452600160a060020a03928316602485015291166044830152606482015260840160206040518083038186803b151561082f57600080fd5b6102c65a03f4151561084057600080fd5b50505060405180519150505b9392505050565b60085481565b60055460ff1681565b6000805433600160a060020a039081169116141561079a5760005461089c9060019085908590600160a060020a031663ffffffff610e9d16565b90505b5b5b92915050565b60005433600160a060020a03908116911614156108e35760005433600160a060020a03908116911614156108e357600054600160a060020a0316ff5b5b5b5b565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107045780601f106106d957610100808354040283529160200191610704565b820191906000526020600020905b8154815290600101906020018083116106e757829003601f168201915b505050505081565b6000730649e8dde6b0b1bbf718151105839c29abdd7d7a63b2aa4acd60018585856040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039091166024830152604482015260640160206040518083038186803b151561077d57600080fd5b6102c65a03f4151561078e57600080fd5b50505060405180519150505b92915050565b6000730649e8dde6b0b1bbf718151105839c29abdd7d7a63d1717fd4600184846040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a0316602482015260440160206040518083038186803b1515610a8357600080fd5b6102c65a03f41515610a9457600080fd5b50505060405180519150505b919050565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107045780601f106106d957610100808354040283529160200191610704565b820191906000526020600020905b8154815290600101906020018083116106e757829003601f168201915b505050505081565b60005433600160a060020a0390811691161415610b83576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b6000730649e8dde6b0b1bbf718151105839c29abdd7d7a632d0277b960018585856040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039091166024830152604482015260640160206040518083038186803b151561077d57600080fd5b6102c65a03f4151561078e57600080fd5b50505060405180519150505b92915050565b6000730649e8dde6b0b1bbf718151105839c29abdd7d7a636704d86c600186868686604051602001526040518563ffffffff1660e060020a0281526004018085815260200184600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610cb95780820151818401525b602001610ca0565b50505050905090810190601f168015610ce65780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038186803b151561082f57600080fd5b6102c65a03f4151561084057600080fd5b50505060405180519150505b9392505050565b6000730649e8dde6b0b1bbf718151105839c29abdd7d7a63d0f1154e60018585856040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039091166024830152604482015260640160206040518083038186803b151561077d57600080fd5b6102c65a03f4151561078e57600080fd5b50505060405180519150505b92915050565b6000730649e8dde6b0b1bbf718151105839c29abdd7d7a6388fd651060018585856040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a03918216602484015216604482015260640160206040518083038186803b151561077d57600080fd5b6102c65a03f4151561078e57600080fd5b50505060405180519150505b92915050565b6000805433600160a060020a039081169116141561079a5760005461089c9060019085908590600160a060020a031663ffffffff610f7e16565b90505b5b5b92915050565b60035481565b600160a060020a03831660009081526020859052604081205483901015610ec657506000610f76565b600160a060020a038416600090815260208690526040902054610ee9908461103c565b600160a060020a0385166000908152602087905260409020556002850154610f11908461103c565b6002860155600160a060020a0380831690851660008051602061107c8339815191528560405190815260200160405180910390a3600082600160a060020a031660008051602061107c8339815191528560405190815260200160405180910390a35060015b949350505050565b600160a060020a038316600090815260208590526040812054610fa19084611053565b600160a060020a0385166000908152602087905260409020556002850154610fc99084611053565b6002860155600160a060020a038216600060008051602061107c8339815191528560405190815260200160405180910390a383600160a060020a031682600160a060020a031660008051602061107c8339815191528560405190815260200160405180910390a35060015b949350505050565b60008282111561104857fe5b508082035b92915050565b60008282018381108015906110685750828110155b151561107057fe5b8091505b50929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058200b8532553ac07ea327eca0a528ae400bc238002a874a0e1e7698310e32f4e6250029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000adb797366e36697dc9742a8c820d3dda931668d20000000000000000000000000000000000000000000000000000000000000008555344205269736b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055553445f52000000000000000000000000000000000000000000000000000000

   Library Used
ERC20Lib : 0x0649e8dde6b0b1bbf718151105839c29abdd7d7a

   Swarm Source:
bzzr://0b8532553ac07ea327eca0a528ae400bc238002a874a0e1e7698310e32f4e625

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.