ETH Price: $3,609.68 (+1.05%)

Contract

0x65d30dEcA4F8BcA6aD637Df28042137228590630
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer Ownersh...75032332019-04-04 18:13:382298 days ago1554401618IN
0x65d30dEc...228590630
0 ETH0.0003051610
Define Authority75032262019-04-04 18:11:432298 days ago1554401503IN
0x65d30dEc...228590630
0 ETH0.000321210
Define ETHCHF Ra...68847212018-12-14 11:03:202409 days ago1544785400IN
0x65d30dEc...228590630
0 ETH0.000117114
Define ETHCHF Ra...68786412018-12-13 11:11:592410 days ago1544699519IN
0x65d30dEc...228590630
0 ETH0.000146395
Define ETHCHF Ra...68725452018-12-12 11:02:402411 days ago1544612560IN
0x65d30dEc...228590630
0 ETH0.000102473.5
Define ETHCHF Ra...68665952018-12-11 11:19:472412 days ago1544527187IN
0x65d30dEc...228590630
0 ETH0.000146395
Define ETHCHF Ra...68604962018-12-10 11:08:372413 days ago1544440117IN
0x65d30dEc...228590630
0 ETH0.000146395
Define ETHCHF Ra...68551302018-12-09 14:17:062414 days ago1544365026IN
0x65d30dEc...228590630
0 ETH0.000079052.7
Define ETHCHF Ra...68485232018-12-08 12:07:342415 days ago1544270854IN
0x65d30dEc...228590630
0 ETH0.000117114
Define ETHCHF Ra...68422252018-12-07 11:00:082416 days ago1544180408IN
0x65d30dEc...228590630
0 ETH0.000161025.5
Define ETHCHF Ra...68364052018-12-06 11:47:432417 days ago1544096863IN
0x65d30dEc...228590630
0 ETH0.000146395
Define ETHCHF Ra...68303882018-12-05 11:49:442418 days ago1544010584IN
0x65d30dEc...228590630
0 ETH0.00019036.5
Define ETHCHF Ra...68242262018-12-04 11:17:202419 days ago1543922240IN
0x65d30dEc...228590630
0 ETH0.00021087.2
Define ETHCHF Ra...68181162018-12-03 11:08:502420 days ago1543835330IN
0x65d30dEc...228590630
0 ETH0.000196166.7
Define ETHCHF Ra...68127012018-12-02 13:45:292421 days ago1543758329IN
0x65d30dEc...228590630
0 ETH0.000204947
Define ETHCHF Ra...68066302018-12-01 13:20:412422 days ago1543670441IN
0x65d30dEc...228590630
0 ETH0.000204947
Define ETHCHF Ra...68002372018-11-30 12:01:052423 days ago1543579265IN
0x65d30dEc...228590630
0 ETH0.0008783430
Define ETHCHF Ra...67939602018-11-29 11:14:262424 days ago1543490066IN
0x65d30dEc...228590630
0 ETH0.0004098914
Define ETHCHF Ra...67939262018-11-29 11:05:322424 days ago1543489532IN
0x65d30dEc...228590630
0 ETH0.000262939
Define ETHCHF Ra...67938962018-11-29 10:59:072424 days ago1543489147IN
0x65d30dEc...228590630
0 ETH0.000262929
Define ETHCHF Ra...67878332018-11-28 11:09:152425 days ago1543403355IN
0x65d30dEc...228590630
0 ETH0.000152245.2
Define ETHCHF Ra...67821552018-11-27 12:33:552426 days ago1543322035IN
0x65d30dEc...228590630
0 ETH0.000093683.2
Define ETHCHF Ra...67758062018-11-26 11:03:352427 days ago1543230215IN
0x65d30dEc...228590630
0 ETH0.000087833
Define ETHCHF Ra...67696932018-11-25 11:11:032428 days ago1543144263IN
0x65d30dEc...228590630
0 ETH0.000102473.5
Define ETHCHF Ra...67635282018-11-24 10:58:212429 days ago1543057101IN
0x65d30dEc...228590630
0 ETH0.000146395
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RatesProvider

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-11-18
*/

/**
 * RatesProvider.sol
 * Provides rates, conversion methods and tools for ETH and CHF currencies.

 * The unflattened code is available through this github tag:
 * https://github.com/MtPelerin/MtPelerin-protocol/tree/etherscan-verify-batch-1

 * @notice Copyright © 2016 - 2018 Mt Pelerin Group SA - All Rights Reserved

 * @notice All matters regarding the intellectual property of this code 
 * @notice or software are subject to Swiss Law without reference to its 
 * @notice conflicts of law rules.

 * @notice License for each contract is available in the respective file
 * @notice or in the LICENSE.md file.
 * @notice https://github.com/MtPelerin/

 * @notice Code by OpenZeppelin is copyrighted and licensed on their repository:
 * @notice https://github.com/OpenZeppelin/openzeppelin-solidity
 */


pragma solidity ^0.4.24;

// File: contracts/zeppelin/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    // Gas optimization: this is cheaper than asserting 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (a == 0) {
      return 0;
    }

    c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    // uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return a / b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    assert(c >= a);
    return c;
  }
}

// File: contracts/interface/IRatesProvider.sol

/**
 * @title IRatesProvider
 * @dev IRatesProvider interface
 *
 * @author Cyril Lapinte - <[email protected]>
 *
 * @notice Copyright © 2016 - 2018 Mt Pelerin Group SA - All Rights Reserved
 * @notice Please refer to the top of this file for the license.
 */
contract IRatesProvider {
  function rateWEIPerCHFCent() public view returns (uint256);
  function convertWEIToCHFCent(uint256 _amountWEI)
    public view returns (uint256);

  function convertCHFCentToWEI(uint256 _amountCHFCent)
    public view returns (uint256);
}

// File: contracts/zeppelin/ownership/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  event OwnershipRenounced(address indexed previousOwner);
  event OwnershipTransferred(
    address indexed previousOwner,
    address indexed newOwner
  );


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to relinquish control of the contract.
   */
  function renounceOwnership() public onlyOwner {
    emit OwnershipRenounced(owner);
    owner = address(0);
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function transferOwnership(address _newOwner) public onlyOwner {
    _transferOwnership(_newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }
}

// File: contracts/Authority.sol

/**
 * @title Authority
 * @dev The Authority contract has an authority address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 * Authority means to represent a legal entity that is entitled to specific rights
 *
 * @author Cyril Lapinte - <[email protected]>
 *
 * @notice Copyright © 2016 - 2018 Mt Pelerin Group SA - All Rights Reserved
 * @notice Please refer to the top of this file for the license.
 *
 * Error messages
 * AU01: Message sender must be an authority
 */
contract Authority is Ownable {

  address authority;

  /**
   * @dev Throws if called by any account other than the authority.
   */
  modifier onlyAuthority {
    require(msg.sender == authority, "AU01");
    _;
  }

  /**
   * @dev return the address associated to the authority
   */
  function authorityAddress() public view returns (address) {
    return authority;
  }

  /**
   * @dev rdefines an authority
   * @param _name the authority name
   * @param _address the authority address.
   */
  function defineAuthority(string _name, address _address) public onlyOwner {
    emit AuthorityDefined(_name, _address);
    authority = _address;
  }

  event AuthorityDefined(
    string name,
    address _address
  );
}

// File: contracts/RatesProvider.sol

/**
 * @title RatesProvider
 * @dev RatesProvider interface
 *
 * @author Cyril Lapinte - <[email protected]>
 *
 * @notice Copyright © 2016 - 2018 Mt Pelerin Group SA - All Rights Reserved
 * @notice Please refer to the top of this file for the license.
 *
 * Error messages
 */
contract RatesProvider is IRatesProvider, Authority {
  using SafeMath for uint256;

  // WEICHF rate is in ETH_wei/CHF_cents with no fractional parts
  uint256 public rateWEIPerCHFCent;

  /**
   * @dev constructor
   */
  constructor() public {
  }

  /**
   * @dev convert rate from ETHCHF to WEICents
   */
  function convertRateFromETHCHF(
    uint256 _rateETHCHF,
    uint256 _rateETHCHFDecimal)
    public pure returns (uint256)
  {
    if (_rateETHCHF == 0) {
      return 0;
    }

    return uint256(
      10**(_rateETHCHFDecimal.add(18 - 2))
    ).div(_rateETHCHF);
  }

  /**
   * @dev convert rate from WEICents to ETHCHF
   */
  function convertRateToETHCHF(
    uint256 _rateWEIPerCHFCent,
    uint256 _rateETHCHFDecimal)
    public pure returns (uint256)
  {
    if (_rateWEIPerCHFCent == 0) {
      return 0;
    }

    return uint256(
      10**(_rateETHCHFDecimal.add(18 - 2))
    ).div(_rateWEIPerCHFCent);
  }

  /**
   * @dev convert CHF to ETH
   */
  function convertCHFCentToWEI(uint256 _amountCHFCent)
    public view returns (uint256)
  {
    return _amountCHFCent.mul(rateWEIPerCHFCent);
  }

  /**
   * @dev convert ETH to CHF
   */
  function convertWEIToCHFCent(uint256 _amountETH)
    public view returns (uint256)
  {
    if (rateWEIPerCHFCent == 0) {
      return 0;
    }

    return _amountETH.div(rateWEIPerCHFCent);
  }

  /* Current ETHCHF rates */
  function rateWEIPerCHFCent() public view returns (uint256) {
    return rateWEIPerCHFCent;
  }
  
  /**
   * @dev rate ETHCHF
   */
  function rateETHCHF(uint256 _rateETHCHFDecimal)
    public view returns (uint256)
  {
    return convertRateToETHCHF(rateWEIPerCHFCent, _rateETHCHFDecimal);
  }

  /**
   * @dev define rate
   */
  function defineRate(uint256 _rateWEIPerCHFCent)
    public onlyAuthority
  {
    rateWEIPerCHFCent = _rateWEIPerCHFCent;
    emit Rate(currentTime(), _rateWEIPerCHFCent);
  }

  /**
   * @dev define rate with decimals
   */
  function defineETHCHFRate(uint256 _rateETHCHF, uint256 _rateETHCHFDecimal)
    public onlyAuthority
  {
    // The rate is inverted to maximize the decimals stored
    defineRate(convertRateFromETHCHF(_rateETHCHF, _rateETHCHFDecimal));
  }

  /**
   * @dev current time
   */
  function currentTime() private view returns (uint256) {
    // solium-disable-next-line security/no-block-members
    return now;
  }

  event Rate(uint256 at, uint256 rateWEIPerCHFCent);
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"rateWEIPerCHFCent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_rateETHCHF","type":"uint256"},{"name":"_rateETHCHFDecimal","type":"uint256"}],"name":"defineETHCHFRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authorityAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_rateETHCHF","type":"uint256"},{"name":"_rateETHCHFDecimal","type":"uint256"}],"name":"convertRateFromETHCHF","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_amountETH","type":"uint256"}],"name":"convertWEIToCHFCent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_rateWEIPerCHFCent","type":"uint256"},{"name":"_rateETHCHFDecimal","type":"uint256"}],"name":"convertRateToETHCHF","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_rateETHCHFDecimal","type":"uint256"}],"name":"rateETHCHF","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_rateWEIPerCHFCent","type":"uint256"}],"name":"defineRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_amountCHFCent","type":"uint256"}],"name":"convertCHFCentToWEI","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_address","type":"address"}],"name":"defineAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"at","type":"uint256"},{"indexed":false,"name":"rateWEIPerCHFCent","type":"uint256"}],"name":"Rate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"_address","type":"address"}],"name":"AuthorityDefined","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bec806100606000396000f3006080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630ac37bd6146100ca5780631752b686146100f55780633c695d4e1461012c578063715018a6146101835780638b3f92de1461019a5780638da5cb5b146101e5578063a3b1f60f1461023c578063b1fce1d41461027d578063c709b4e7146102c8578063d75c4abf14610309578063dc7b0ae614610336578063f2fde38b14610377578063fc21e167146103ba575b600080fd5b3480156100d657600080fd5b506100df610443565b6040518082815260200191505060405180910390f35b34801561010157600080fd5b5061012a600480360381019080803590602001909291908035906020019092919050505061044d565b005b34801561013857600080fd5b50610141610528565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561018f57600080fd5b50610198610552565b005b3480156101a657600080fd5b506101cf6004803603810190808035906020019092919080359060200190929190505050610654565b6040518082815260200191505060405180910390f35b3480156101f157600080fd5b506101fa610699565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024857600080fd5b50610267600480360381019080803590602001909291905050506106be565b6040518082815260200191505060405180910390f35b34801561028957600080fd5b506102b260048036038101908080359060200190929190803590602001909291905050506106f0565b6040518082815260200191505060405180910390f35b3480156102d457600080fd5b506102f360048036038101908080359060200190929190505050610735565b6040518082815260200191505060405180910390f35b34801561031557600080fd5b506103346004803603810190808035906020019092919050505061074a565b005b34801561034257600080fd5b506103616004803603810190808035906020019092919050505061085f565b6040518082815260200191505060405180910390f35b34801561038357600080fd5b506103b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061087d565b005b3480156103c657600080fd5b50610441600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108e4565b005b6000600254905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610512576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f415530310000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61052461051f8383610654565b61074a565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105ad57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000808314156106675760009050610693565b6106908361067f601085610a5490919063ffffffff16565b600a0a610a7090919063ffffffff16565b90505b92915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060025414156106d357600090506106eb565b6106e860025483610a7090919063ffffffff16565b90505b919050565b600080831415610703576000905061072f565b61072c8361071b601085610a5490919063ffffffff16565b600a0a610a7090919063ffffffff16565b90505b92915050565b6000610743600254836106f0565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f415530310000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806002819055507f9de614b5c45179d41912c87ca7f7af67525f50c10b6b9cea79dc2c12b8d693a361083f610a86565b82604051808381526020018281526020019250505060405180910390a150565b600061087660025483610a8e90919063ffffffff16565b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108d857600080fd5b6108e181610ac6565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093f57600080fd5b7fc8c81ac5a1b95ead7b5f71eafa51c9a1436e443c27ba33460885b9debe345abf828260405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156109d45780820151818401526020810190506109b9565b50505050905090810190601f168015610a015780820380516001836020036101000a031916815260200191505b50935050505060405180910390a180600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008183019050828110151515610a6757fe5b80905092915050565b60008183811515610a7d57fe5b04905092915050565b600042905090565b600080831415610aa15760009050610ac0565b8183029050818382811515610ab257fe5b04141515610abc57fe5b8090505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610b0257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058202c645df1f05a0e18423a145179b6a6b805195f867047265b38560ae6083d228a0029

Deployed Bytecode

0x6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630ac37bd6146100ca5780631752b686146100f55780633c695d4e1461012c578063715018a6146101835780638b3f92de1461019a5780638da5cb5b146101e5578063a3b1f60f1461023c578063b1fce1d41461027d578063c709b4e7146102c8578063d75c4abf14610309578063dc7b0ae614610336578063f2fde38b14610377578063fc21e167146103ba575b600080fd5b3480156100d657600080fd5b506100df610443565b6040518082815260200191505060405180910390f35b34801561010157600080fd5b5061012a600480360381019080803590602001909291908035906020019092919050505061044d565b005b34801561013857600080fd5b50610141610528565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561018f57600080fd5b50610198610552565b005b3480156101a657600080fd5b506101cf6004803603810190808035906020019092919080359060200190929190505050610654565b6040518082815260200191505060405180910390f35b3480156101f157600080fd5b506101fa610699565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024857600080fd5b50610267600480360381019080803590602001909291905050506106be565b6040518082815260200191505060405180910390f35b34801561028957600080fd5b506102b260048036038101908080359060200190929190803590602001909291905050506106f0565b6040518082815260200191505060405180910390f35b3480156102d457600080fd5b506102f360048036038101908080359060200190929190505050610735565b6040518082815260200191505060405180910390f35b34801561031557600080fd5b506103346004803603810190808035906020019092919050505061074a565b005b34801561034257600080fd5b506103616004803603810190808035906020019092919050505061085f565b6040518082815260200191505060405180910390f35b34801561038357600080fd5b506103b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061087d565b005b3480156103c657600080fd5b50610441600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108e4565b005b6000600254905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610512576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f415530310000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61052461051f8383610654565b61074a565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105ad57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000808314156106675760009050610693565b6106908361067f601085610a5490919063ffffffff16565b600a0a610a7090919063ffffffff16565b90505b92915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060025414156106d357600090506106eb565b6106e860025483610a7090919063ffffffff16565b90505b919050565b600080831415610703576000905061072f565b61072c8361071b601085610a5490919063ffffffff16565b600a0a610a7090919063ffffffff16565b90505b92915050565b6000610743600254836106f0565b9050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561080f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f415530310000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806002819055507f9de614b5c45179d41912c87ca7f7af67525f50c10b6b9cea79dc2c12b8d693a361083f610a86565b82604051808381526020018281526020019250505060405180910390a150565b600061087660025483610a8e90919063ffffffff16565b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108d857600080fd5b6108e181610ac6565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093f57600080fd5b7fc8c81ac5a1b95ead7b5f71eafa51c9a1436e443c27ba33460885b9debe345abf828260405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156109d45780820151818401526020810190506109b9565b50505050905090810190601f168015610a015780820380516001836020036101000a031916815260200191505b50935050505060405180910390a180600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008183019050828110151515610a6757fe5b80905092915050565b60008183811515610a7d57fe5b04905092915050565b600042905090565b600080831415610aa15760009050610ac0565b8183029050818382811515610ab257fe5b04141515610abc57fe5b8090505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610b0257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058202c645df1f05a0e18423a145179b6a6b805195f867047265b38560ae6083d228a0029

Swarm Source

bzzr://2c645df1f05a0e18423a145179b6a6b805195f867047265b38560ae6083d228a

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.