ETH Price: $3,030.41 (+1.06%)
Gas: 9 Gwei

Contract

0x0Ce80662769f22FD161e5e92cfC82121c835E097
 

Overview

ETH Balance

2.175467770180902846 ETH

Eth Value

$6,592.57 (@ $3,030.41/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Deposit198874142024-05-17 4:48:476 hrs ago1715921327IN
0x0Ce80662...1c835E097
0.00002 ETH0.000277633.65256897
Deposit190463462024-01-20 6:41:23118 days ago1705732883IN
0x0Ce80662...1c835E097
0.00001 ETH0.00122116.06350511
Deposit177485082023-07-22 11:55:47299 days ago1690026947IN
0x0Ce80662...1c835E097
0.0001 ETH0.0016472321.6710241
Deposit169052202023-03-25 14:58:35418 days ago1679756315IN
0x0Ce80662...1c835E097
0.05 ETH0.0016273521.40944038
Deposit163021352022-12-31 3:43:23503 days ago1672458203IN
0x0Ce80662...1c835E097
0.001 ETH0.0012456416.38762915
Cancel Transfer163021202022-12-31 3:40:23503 days ago1672458023IN
0x0Ce80662...1c835E097
0 ETH0.000567917.26986776
Deposit162996032022-12-30 19:14:47503 days ago1672427687IN
0x0Ce80662...1c835E097
0.001 ETH0.0014870419.56360123
Deposit160625502022-11-27 16:34:35536 days ago1669566875IN
0x0Ce80662...1c835E097
0.0002 ETH0.0008254210.8592457
Deposit158701242022-10-31 19:27:11563 days ago1667244431IN
0x0Ce80662...1c835E097
0.02 ETH0.0014815519.49131384
Deposit149785852022-06-17 10:04:20700 days ago1655460260IN
0x0Ce80662...1c835E097
0.001 ETH0.0016224721.34526241
Cancel Transfer148742412022-05-30 18:51:50717 days ago1653936710IN
0x0Ce80662...1c835E097
0 ETH0.0004944315.03558105
Deposit148741982022-05-30 18:43:54717 days ago1653936234IN
0x0Ce80662...1c835E097
0.00001 ETH0.0014360318.89250386
Deposit145157382022-04-03 22:12:46774 days ago1649023966IN
0x0Ce80662...1c835E097
0.04 ETH0.0056199273.93569398
Deposit143443122022-03-08 5:24:37801 days ago1646717077IN
0x0Ce80662...1c835E097
0.001 ETH0.0018490624.32634639
Deposit142224962022-02-17 8:09:18820 days ago1645085358IN
0x0Ce80662...1c835E097
0.001 ETH0.0046101860.65151917
Deposit136562332021-11-21 5:09:15908 days ago1637471355IN
0x0Ce80662...1c835E097
0.01 ETH0.0069548291.49764548
Cancel Transfer136449242021-11-19 9:51:14910 days ago1637315474IN
0x0Ce80662...1c835E097
0 ETH0.00354133107.69169242
Deposit133237762021-09-30 0:04:47960 days ago1632960287IN
0x0Ce80662...1c835E097
0.005 ETH0.0064381384.7
Cancel Transfer133237592021-09-30 0:01:42960 days ago1632960102IN
0x0Ce80662...1c835E097
0 ETH0.0032555199
Deposit133223612021-09-29 18:44:17960 days ago1632941057IN
0x0Ce80662...1c835E097
0.008 ETH0.01329432174.9
Cancel Transfer133051392021-09-27 2:13:17963 days ago1632708797IN
0x0Ce80662...1c835E097
0 ETH0.0022042667.03168543
Deposit132867532021-09-24 5:58:44966 days ago1632463124IN
0x0Ce80662...1c835E097
0.01458 ETH0.004052553.31472857
Cancel Transfer131224302021-08-29 20:11:18991 days ago1630267878IN
0x0Ce80662...1c835E097
0 ETH0.0031239895
Deposit131155322021-08-28 18:29:16992 days ago1630175356IN
0x0Ce80662...1c835E097
0.05 ETH0.0056248174
Deposit130905502021-08-24 21:34:49996 days ago1629840889IN
0x0Ce80662...1c835E097
0.003 ETH0.00760923100.1070253
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
163021202022-12-31 3:40:23503 days ago1672458023
0x0Ce80662...1c835E097
0.001 ETH
148742412022-05-30 18:51:50717 days ago1653936710
0x0Ce80662...1c835E097
0.00001 ETH
136449242021-11-19 9:51:14910 days ago1637315474
0x0Ce80662...1c835E097
0.02 ETH
133237592021-09-30 0:01:42960 days ago1632960102
0x0Ce80662...1c835E097
0.008 ETH
133051392021-09-27 2:13:17963 days ago1632708797
0x0Ce80662...1c835E097
0.01458 ETH
131224302021-08-29 20:11:18991 days ago1630267878
0x0Ce80662...1c835E097
0.05 ETH
130768752021-08-22 18:57:14998 days ago1629658634
0x0Ce80662...1c835E097
1 ETH
129018632021-07-26 12:39:091025 days ago1627303149
0x0Ce80662...1c835E097
0.005 ETH
126461382021-06-16 14:51:211065 days ago1623855081
0x0Ce80662...1c835E097
0.001 ETH
126243532021-06-13 5:57:031069 days ago1623563823
0x0Ce80662...1c835E097
0.01 ETH
118604912021-02-15 9:14:581187 days ago1613380498
0x0Ce80662...1c835E097
0.01 ETH
115354772020-12-27 11:09:241237 days ago1609067364
0x0Ce80662...1c835E097
0.01 ETH
113451882020-11-28 5:44:291266 days ago1606542269
0x0Ce80662...1c835E097
0.01234 ETH
112845012020-11-18 22:01:561275 days ago1605736916
0x0Ce80662...1c835E097
0.16 ETH
112284802020-11-10 7:21:291284 days ago1604992889
0x0Ce80662...1c835E097
0.001 ETH
112284802020-11-10 7:21:291284 days ago1604992889
0x0Ce80662...1c835E097
0.01 ETH
109026562020-09-21 0:59:181334 days ago1600649958
0x0Ce80662...1c835E097
1 ETH
106575092020-08-14 10:14:021372 days ago1597400042
0x0Ce80662...1c835E097
0.001 ETH
106171782020-08-08 5:07:481378 days ago1596863268
0x0Ce80662...1c835E097
0.0018 ETH
105424332020-07-27 15:45:361389 days ago1595864736
0x0Ce80662...1c835E097
0.05 ETH
105163872020-07-23 15:02:481393 days ago1595516568
0x0Ce80662...1c835E097
0.046 ETH
105163482020-07-23 14:52:501393 days ago1595515970
0x0Ce80662...1c835E097
0.028 ETH
105163362020-07-23 14:49:401393 days ago1595515780
0x0Ce80662...1c835E097
0.045 ETH
104053012020-07-06 10:19:501411 days ago1594030790
0x0Ce80662...1c835E097
0.1 ETH
103819162020-07-02 19:42:151414 days ago1593718935
0x0Ce80662...1c835E097
0.001 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
e2pEscrow

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
No with 200 runs

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

pragma solidity 0.4.23;

/*
 * Ownable
 *
 * Base contract with an owner.
 * Provides onlyOwner modifier, which prevents function from running if it is called by anyone other than the owner.
 */

contract Ownable {
  address public owner;

  constructor() public {
    owner = msg.sender;
  }

  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }
}

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() public onlyOwner whenNotPaused {
    paused = true;
    emit Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() public onlyOwner whenPaused {
    paused = false;
    emit Unpause();
  }
}

contract SafeMath {
  function safeMul(uint a, uint b) internal pure returns (uint256) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function safeDiv(uint a, uint b) internal pure returns (uint256) {
    uint c = a / b;
    return c;
  }

  function safeSub(uint a, uint b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function safeAdd(uint a, uint b) internal pure returns (uint256) {
    uint c = a + b;
    assert(c >= a);
    return c;
  }

  function max64(uint64 a, uint64 b) internal pure returns (uint64) {
    return a >= b ? a : b;
  }

  function min64(uint64 a, uint64 b) internal pure returns (uint64) {
    return a < b ? a : b;
  }

  function max256(uint256 a, uint256 b) internal pure returns (uint256) {
    return a >= b ? a : b;
  }

  function min256(uint256 a, uint256 b) internal pure returns (uint256) {
    return a < b ? a : b;
  }
}


/**
 * @title Stoppable
 * @dev Base contract which allows children to implement final irreversible stop mechanism.
 */
contract Stoppable is Pausable {
  event Stop();

  bool public stopped = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not stopped.
   */
  modifier whenNotStopped() {
    require(!stopped);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is stopped.
   */
  modifier whenStopped() {
    require(stopped);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function stop() public onlyOwner whenNotStopped {
    stopped = true;
    emit Stop();
  }
}


/**
 * @title Eth2Phone Escrow Contract
 * @dev Contract allows to send ether through verifier (owner of contract).
 * 
 * Only verifier can initiate withdrawal to recipient's address. 
 * Verifier cannot choose recipient's address without 
 * transit private key generated by sender. 
 * 
 * Sender is responsible to provide transit private key
 * to recipient off-chain.
 * 
 * Recepient signs address to receive with transit private key and 
 * provides signed address to verification server. 
 * (See VerifyTransferSignature method for details.)
 * 
 * Verifier verifies off-chain the recipient in accordance with verification 
 * conditions (e.g., phone ownership via SMS authentication) and initiates
 * withdrawal to the address provided by recipient.
 * (See withdraw method for details.)
 * 
 * Verifier charges commission for it's services.
 * 
 * Sender is able to cancel transfer if it's not yet cancelled or withdrawn
 * by recipient.
 * (See cancelTransfer method for details.)
 */
contract e2pEscrow is Stoppable, SafeMath {

  // fixed amount of wei accrued to verifier with each transfer
  uint public commissionFee;

  // verifier can withdraw this amount from smart-contract
  uint public commissionToWithdraw; // in wei

  // verifier's address
  address public verifier;
    
  /*
   * EVENTS
   */
  event LogDeposit(
		   address indexed sender,
		   address indexed transitAddress,
		   uint amount,
		      uint commission
		   );

  event LogCancel(
		  address indexed sender,
		  address indexed transitAddress
		  );

  event LogWithdraw(
		    address indexed sender,
		    address indexed transitAddress,
		    address indexed recipient,
		    uint amount
		    );

  event LogWithdrawCommission(uint commissionAmount);

  event LogChangeFixedCommissionFee(
				    uint oldCommissionFee,
				    uint newCommissionFee
				    );
  
  event LogChangeVerifier(
			  address oldVerifier,
			  address newVerifier
			  );  
  
  struct Transfer {
    address from;
    uint amount; // in wei
  }

  // Mappings of transitAddress => Transfer Struct
  mapping (address => Transfer) transferDct;


  /**
   * @dev Contructor that sets msg.sender as owner (verifier) in Ownable
   * and sets verifier's fixed commission fee.
   * @param _commissionFee uint Verifier's fixed commission for each transfer
   */
  constructor(uint _commissionFee, address _verifier) public {
    commissionFee = _commissionFee;
    verifier = _verifier;
  }


  modifier onlyVerifier() {
    require(msg.sender == verifier);
    _;
  }
  
  /**
   * @dev Deposit ether to smart-contract and create transfer.
   * Transit address is assigned to transfer by sender. 
   * Recipient should sign withrawal address with the transit private key 
   * 
   * @param _transitAddress transit address assigned to transfer.
   * @return True if success.
   */
  function deposit(address _transitAddress)
                            public
                            whenNotPaused
                            whenNotStopped
                            payable
    returns(bool)
  {
    // can not override existing transfer
    require(transferDct[_transitAddress].amount == 0);

    require(msg.value > commissionFee);

    // saving transfer details
    transferDct[_transitAddress] = Transfer(
					    msg.sender,
					    safeSub(msg.value, commissionFee)//amount = msg.value - comission
					    );

    // accrue verifier's commission
    commissionToWithdraw = safeAdd(commissionToWithdraw, commissionFee);

    // log deposit event
    emit LogDeposit(msg.sender, _transitAddress, msg.value, commissionFee);
    return true;
  }

  /**
   * @dev Change verifier's fixed commission fee.
   * Only owner can change commision fee.
   * 
   * @param _newCommissionFee uint New verifier's fixed commission
   * @return True if success.
   */
  function changeFixedCommissionFee(uint _newCommissionFee)
                          public
                          whenNotPaused
                          whenNotStopped
                          onlyOwner
    returns(bool success)
  {
    uint oldCommissionFee = commissionFee;
    commissionFee = _newCommissionFee;
    emit LogChangeFixedCommissionFee(oldCommissionFee, commissionFee);
    return true;
  }

  
  /**
   * @dev Change verifier's address.
   * Only owner can change verifier's address.
   * 
   * @param _newVerifier address New verifier's address
   * @return True if success.
   */
  function changeVerifier(address _newVerifier)
                          public
                          whenNotPaused
                          whenNotStopped
                          onlyOwner
    returns(bool success)
  {
    address oldVerifier = verifier;
    verifier = _newVerifier;
    emit LogChangeVerifier(oldVerifier, verifier);
    return true;
  }

  
  /**
   * @dev Transfer accrued commission to verifier's address.
   * @return True if success.
   */
  function withdrawCommission()
                        public
                        whenNotPaused
    returns(bool success)
  {
    uint commissionToTransfer = commissionToWithdraw;
    commissionToWithdraw = 0;
    owner.transfer(commissionToTransfer); // owner is verifier

    emit LogWithdrawCommission(commissionToTransfer);
    return true;
  }

  /**
   * @dev Get transfer details.
   * @param _transitAddress transit address assigned to transfer
   * @return Transfer details (id, sender, amount)
   */
  function getTransfer(address _transitAddress)
            public
            constant
    returns (
	     address id,
	     address from, // transfer sender
	     uint amount) // in wei
  {
    Transfer memory transfer = transferDct[_transitAddress];
    return (
	    _transitAddress,
	    transfer.from,
	        transfer.amount
	    );
  }


  /**
   * @dev Cancel transfer and get sent ether back. Only transfer sender can
   * cancel transfer.
   * @param _transitAddress transit address assigned to transfer
   * @return True if success.
   */
  function cancelTransfer(address _transitAddress) public returns (bool success) {
    Transfer memory transferOrder = transferDct[_transitAddress];

    // only sender can cancel transfer;
    require(msg.sender == transferOrder.from);

    delete transferDct[_transitAddress];
    
    // transfer ether to recipient's address
    msg.sender.transfer(transferOrder.amount);

    // log cancel event
    emit LogCancel(msg.sender, _transitAddress);
    
    return true;
  }

  /**
   * @dev Verify that address is signed with correct verification private key.
   * @param _transitAddress transit address assigned to transfer
   * @param _recipient address Signed address.
   * @param _v ECDSA signature parameter v.
   * @param _r ECDSA signature parameters r.
   * @param _s ECDSA signature parameters s.
   * @return True if signature is correct.
   */
  function verifySignature(
			   address _transitAddress,
			   address _recipient,
			   uint8 _v,
			   bytes32 _r,
			   bytes32 _s)
    public pure returns(bool success)
  {
    bytes32 prefixedHash = keccak256("\x19Ethereum Signed Message:\n32", _recipient);
    address retAddr = ecrecover(prefixedHash, _v, _r, _s);
    return retAddr == _transitAddress;
  }

  /**
   * @dev Verify that address is signed with correct private key for
   * verification public key assigned to transfer.
   * @param _transitAddress transit address assigned to transfer
   * @param _recipient address Signed address.
   * @param _v ECDSA signature parameter v.
   * @param _r ECDSA signature parameters r.
   * @param _s ECDSA signature parameters s.
   * @return True if signature is correct.
   */
  function verifyTransferSignature(
				   address _transitAddress,
				   address _recipient,
				   uint8 _v,
				   bytes32 _r,
				   bytes32 _s)
    public pure returns(bool success)
  {
    return (verifySignature(_transitAddress,
			    _recipient, _v, _r, _s));
  }

  /**
   * @dev Withdraw transfer to recipient's address if it is correctly signed
   * with private key for verification public key assigned to transfer.
   * 
   * @param _transitAddress transit address assigned to transfer
   * @param _recipient address Signed address.
   * @param _v ECDSA signature parameter v.
   * @param _r ECDSA signature parameters r.
   * @param _s ECDSA signature parameters s.
   * @return True if success.
   */
  function withdraw(
		    address _transitAddress,
		    address _recipient,
		    uint8 _v,
		    bytes32 _r,
		    bytes32 _s
		    )
    public
    onlyVerifier // only through verifier can withdraw transfer;
    whenNotPaused
    whenNotStopped
    returns (bool success)
  {
    Transfer memory transferOrder = transferDct[_transitAddress];

    // verifying signature
    require(verifySignature(_transitAddress,
		     _recipient, _v, _r, _s ));

    delete transferDct[_transitAddress];

    // transfer ether to recipient's address
    _recipient.transfer(transferOrder.amount);

    // log withdraw event
    emit LogWithdraw(transferOrder.from, _transitAddress, _recipient, transferOrder.amount);

    return true;
  }

  // fallback function - do not receive ether by default
  function() public payable {
    revert();
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"commissionToWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"verifier","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_transitAddress","type":"address"},{"name":"_recipient","type":"address"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"verifySignature","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"withdrawCommission","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_transitAddress","type":"address"},{"name":"_recipient","type":"address"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"verifyTransferSignature","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"commissionFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newCommissionFee","type":"uint256"}],"name":"changeFixedCommissionFee","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_transitAddress","type":"address"},{"name":"_recipient","type":"address"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"withdraw","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_transitAddress","type":"address"}],"name":"cancelTransfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newVerifier","type":"address"}],"name":"changeVerifier","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_transitAddress","type":"address"}],"name":"getTransfer","outputs":[{"name":"id","type":"address"},{"name":"from","type":"address"},{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_transitAddress","type":"address"}],"name":"deposit","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"inputs":[{"name":"_commissionFee","type":"uint256"},{"name":"_verifier","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transitAddress","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"commission","type":"uint256"}],"name":"LogDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transitAddress","type":"address"}],"name":"LogCancel","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transitAddress","type":"address"},{"indexed":true,"name":"recipient","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"LogWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"commissionAmount","type":"uint256"}],"name":"LogWithdrawCommission","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldCommissionFee","type":"uint256"},{"indexed":false,"name":"newCommissionFee","type":"uint256"}],"name":"LogChangeFixedCommissionFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldVerifier","type":"address"},{"indexed":false,"name":"newVerifier","type":"address"}],"name":"LogChangeVerifier","type":"event"},{"anonymous":false,"inputs":[],"name":"Stop","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}]

608060405260008060146101000a81548160ff02191690831515021790555060008060156101000a81548160ff02191690831515021790555034801561004457600080fd5b5060405160408061177d8339810180604052810190808051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160018190555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506116738061010a6000396000f3006080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307da68f5146101015780630ee2b0e6146101185780632b7ac3f3146101435780633dabb0f61461019a5780633e25e8371461023e5780633f4ba83a1461026d5780635ac3835d146102845780635c975abb146103285780636fb1eb0c146103575780637297be7f1461038257806375f12b21146103c75780638456cb59146103f65780638bdc5a5f1461040d5780638da5cb5b146104b1578063a7c1e62914610508578063cf04fb9414610563578063db0d5175146105be578063f340fa011461067b575b600080fd5b34801561010d57600080fd5b506101166106c9565b005b34801561012457600080fd5b5061012d610789565b6040518082815260200191505060405180910390f35b34801561014f57600080fd5b5061015861078f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a657600080fd5b50610224600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291905050506107b5565b604051808215151515815260200191505060405180910390f35b34801561024a57600080fd5b506102536108f4565b604051808215151515815260200191505060405180910390f35b34801561027957600080fd5b506102826109c7565b005b34801561029057600080fd5b5061030e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050610a85565b604051808215151515815260200191505060405180910390f35b34801561033457600080fd5b5061033d610a9f565b604051808215151515815260200191505060405180910390f35b34801561036357600080fd5b5061036c610ab2565b6040518082815260200191505060405180910390f35b34801561038e57600080fd5b506103ad60048036038101908080359060200190929190505050610ab8565b604051808215151515815260200191505060405180910390f35b3480156103d357600080fd5b506103dc610ba5565b604051808215151515815260200191505060405180910390f35b34801561040257600080fd5b5061040b610bb8565b005b34801561041957600080fd5b50610497600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050610c78565b604051808215151515815260200191505060405180910390f35b3480156104bd57600080fd5b506104c6610f28565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561051457600080fd5b50610549600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4d565b604051808215151515815260200191505060405180910390f35b34801561056f57600080fd5b506105a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611161565b604051808215151515815260200191505060405180910390f35b3480156105ca57600080fd5b506105ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061131f565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b6106af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113f1565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561072457600080fd5b600060159054906101000a900460ff1615151561074057600080fd5b6001600060156101000a81548160ff0219169083151502179055507fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b60405160405180910390a1565b60025481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008660405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390209150600182878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11580156108ac573d6000803e3d6000fd5b5050506020604051035190508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16149250505095945050505050565b600080600060149054906101000a900460ff1615151561091357600080fd5b600254905060006002819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610987573d6000803e3d6000fd5b507f3edf228d54016de2c57c145318c98467681be853eb40b70bc72ffd795550aa26816040518082815260200191505060405180910390a1600191505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2257600080fd5b600060149054906101000a900460ff161515610a3d57600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000610a9486868686866107b5565b905095945050505050565b600060149054906101000a900460ff1681565b60015481565b600080600060149054906101000a900460ff16151515610ad757600080fd5b600060159054906101000a900460ff16151515610af357600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b4e57600080fd5b6001549050826001819055507f9f43d788b36e7b67ff4c6a52197dfb4a40cce888efd52a5a7240c1276c85adbf81600154604051808381526020018281526020019250505060405180910390a16001915050919050565b600060159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1357600080fd5b600060149054906101000a900460ff16151515610c2f57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000610c82611617565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde57600080fd5b600060149054906101000a900460ff16151515610cfa57600080fd5b600060159054906101000a900460ff16151515610d1657600080fd5b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250509050610dcf87878787876107b5565b1515610dda57600080fd5b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550508573ffffffffffffffffffffffffffffffffffffffff166108fc82602001519081150290604051600060405180830381858888f19350505050158015610e95573d6000803e3d6000fd5b508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff167faa5b60cdfa493767441e10be5daea291b831cb9faa638ebf160d434588d7ecbd84602001516040518082815260200191505060405180910390a4600191505095945050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f57611617565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250509050806000015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561104157600080fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550503373ffffffffffffffffffffffffffffffffffffffff166108fc82602001519081150290604051600060405180830381858888f193505050501580156110fc573d6000803e3d6000fd5b508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fbadeab042d3a4137cdc34a05ee0e698eb9bb91cea276c79d4c8cafeeee302a3760405160405180910390a36001915050919050565b600080600060149054906101000a900460ff1615151561118057600080fd5b600060159054906101000a900460ff1615151561119c57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111f757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507e23b4b8d3b24bb4e63a4d72a2a8012e5134c4b51c84fa61ae55749793c6418381600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16001915050919050565b600080600061132c611617565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505090508481600001518260200151935093509350509193909250565b60008060149054906101000a900460ff1615151561140e57600080fd5b600060159054906101000a900460ff1615151561142a57600080fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015414151561147b57600080fd5b6001543411151561148b57600080fd5b60408051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016114be346001546115e0565b815250600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506115626002546001546115f9565b6002819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4e3e4894f24a7c50bcb21d1ef785e34688bee05663c55d822eed7cefc253312334600154604051808381526020018281526020019250505060405180910390a360019050919050565b60008282111515156115ee57fe5b818303905092915050565b600080828401905083811015151561160d57fe5b8091505092915050565b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815250905600a165627a7a72305820b09d845a1ccae545a3d2818772a714c6c0412e02e25a6b1003658ab8369970f60029000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307da68f5146101015780630ee2b0e6146101185780632b7ac3f3146101435780633dabb0f61461019a5780633e25e8371461023e5780633f4ba83a1461026d5780635ac3835d146102845780635c975abb146103285780636fb1eb0c146103575780637297be7f1461038257806375f12b21146103c75780638456cb59146103f65780638bdc5a5f1461040d5780638da5cb5b146104b1578063a7c1e62914610508578063cf04fb9414610563578063db0d5175146105be578063f340fa011461067b575b600080fd5b34801561010d57600080fd5b506101166106c9565b005b34801561012457600080fd5b5061012d610789565b6040518082815260200191505060405180910390f35b34801561014f57600080fd5b5061015861078f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a657600080fd5b50610224600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291905050506107b5565b604051808215151515815260200191505060405180910390f35b34801561024a57600080fd5b506102536108f4565b604051808215151515815260200191505060405180910390f35b34801561027957600080fd5b506102826109c7565b005b34801561029057600080fd5b5061030e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050610a85565b604051808215151515815260200191505060405180910390f35b34801561033457600080fd5b5061033d610a9f565b604051808215151515815260200191505060405180910390f35b34801561036357600080fd5b5061036c610ab2565b6040518082815260200191505060405180910390f35b34801561038e57600080fd5b506103ad60048036038101908080359060200190929190505050610ab8565b604051808215151515815260200191505060405180910390f35b3480156103d357600080fd5b506103dc610ba5565b604051808215151515815260200191505060405180910390f35b34801561040257600080fd5b5061040b610bb8565b005b34801561041957600080fd5b50610497600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050610c78565b604051808215151515815260200191505060405180910390f35b3480156104bd57600080fd5b506104c6610f28565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561051457600080fd5b50610549600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4d565b604051808215151515815260200191505060405180910390f35b34801561056f57600080fd5b506105a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611161565b604051808215151515815260200191505060405180910390f35b3480156105ca57600080fd5b506105ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061131f565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b6106af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113f1565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561072457600080fd5b600060159054906101000a900460ff1615151561074057600080fd5b6001600060156101000a81548160ff0219169083151502179055507fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b60405160405180910390a1565b60025481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008660405180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390209150600182878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11580156108ac573d6000803e3d6000fd5b5050506020604051035190508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16149250505095945050505050565b600080600060149054906101000a900460ff1615151561091357600080fd5b600254905060006002819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610987573d6000803e3d6000fd5b507f3edf228d54016de2c57c145318c98467681be853eb40b70bc72ffd795550aa26816040518082815260200191505060405180910390a1600191505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2257600080fd5b600060149054906101000a900460ff161515610a3d57600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000610a9486868686866107b5565b905095945050505050565b600060149054906101000a900460ff1681565b60015481565b600080600060149054906101000a900460ff16151515610ad757600080fd5b600060159054906101000a900460ff16151515610af357600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b4e57600080fd5b6001549050826001819055507f9f43d788b36e7b67ff4c6a52197dfb4a40cce888efd52a5a7240c1276c85adbf81600154604051808381526020018281526020019250505060405180910390a16001915050919050565b600060159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c1357600080fd5b600060149054906101000a900460ff16151515610c2f57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000610c82611617565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cde57600080fd5b600060149054906101000a900460ff16151515610cfa57600080fd5b600060159054906101000a900460ff16151515610d1657600080fd5b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250509050610dcf87878787876107b5565b1515610dda57600080fd5b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550508573ffffffffffffffffffffffffffffffffffffffff166108fc82602001519081150290604051600060405180830381858888f19350505050158015610e95573d6000803e3d6000fd5b508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff167faa5b60cdfa493767441e10be5daea291b831cb9faa638ebf160d434588d7ecbd84602001516040518082815260200191505060405180910390a4600191505095945050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f57611617565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250509050806000015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561104157600080fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550503373ffffffffffffffffffffffffffffffffffffffff166108fc82602001519081150290604051600060405180830381858888f193505050501580156110fc573d6000803e3d6000fd5b508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fbadeab042d3a4137cdc34a05ee0e698eb9bb91cea276c79d4c8cafeeee302a3760405160405180910390a36001915050919050565b600080600060149054906101000a900460ff1615151561118057600080fd5b600060159054906101000a900460ff1615151561119c57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111f757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507e23b4b8d3b24bb4e63a4d72a2a8012e5134c4b51c84fa61ae55749793c6418381600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16001915050919050565b600080600061132c611617565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505090508481600001518260200151935093509350509193909250565b60008060149054906101000a900460ff1615151561140e57600080fd5b600060159054906101000a900460ff1615151561142a57600080fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015414151561147b57600080fd5b6001543411151561148b57600080fd5b60408051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016114be346001546115e0565b815250600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050506115626002546001546115f9565b6002819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4e3e4894f24a7c50bcb21d1ef785e34688bee05663c55d822eed7cefc253312334600154604051808381526020018281526020019250505060405180910390a360019050919050565b60008282111515156115ee57fe5b818303905092915050565b600080828401905083811015151561160d57fe5b8091505092915050565b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815250905600a165627a7a72305820b09d845a1ccae545a3d2818772a714c6c0412e02e25a6b1003658ab8369970f60029

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

000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _commissionFee (uint256): 10000000000000000
Arg [1] : _verifier (address): 0x0000000000000000000000000000000000000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000002386f26fc10000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000


Swarm Source

bzzr://b09d845a1ccae545a3d2818772a714c6c0412e02e25a6b1003658ab8369970f6

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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