ETH Price: $1,917.53 (-3.17%)
 

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
Withdraw70904952019-01-19 3:00:592592 days ago1547866859IN
0x992447bb...d0CEd728E
0 ETH0.0002099910
Payment Settle70904902019-01-19 3:00:112592 days ago1547866811IN
0x992447bb...d0CEd728E
0 ETH0.000151912.2
Withdraw70901992019-01-19 1:42:312592 days ago1547862151IN
0x992447bb...d0CEd728E
0 ETH0.000058592
Deposit70824552019-01-17 16:33:222593 days ago1547742802IN
0x992447bb...d0CEd728E
0.4 ETH0.001592810
Withdraw70823542019-01-17 16:08:432593 days ago1547741323IN
0x992447bb...d0CEd728E
0 ETH0.000111295.3
Withdraw70823472019-01-17 16:06:522593 days ago1547741212IN
0x992447bb...d0CEd728E
0 ETH0.000083994
Withdraw70823262019-01-17 16:02:022593 days ago1547740922IN
0x992447bb...d0CEd728E
0 ETH0.000090823.1
Payment Settle70788142019-01-17 0:43:392594 days ago1547685819IN
0x992447bb...d0CEd728E
0 ETH0.00013812
Payment Settle70788122019-01-17 0:43:152594 days ago1547685795IN
0x992447bb...d0CEd728E
0 ETH0.00013812
Payment Fork70499442019-01-11 20:53:422599 days ago1547240022IN
0x992447bb...d0CEd728E
0 ETH0.001004223
Deposit70499292019-01-11 20:50:532599 days ago1547239853IN
0x992447bb...d0CEd728E
1 ETH0.000522843

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-70904952019-01-19 3:00:592592 days ago1547866859
0x992447bb...d0CEd728E
0.4 ETH
-70823542019-01-17 16:08:432593 days ago1547741323
0x992447bb...d0CEd728E
0.3 ETH
-70823472019-01-17 16:06:522593 days ago1547741212
0x992447bb...d0CEd728E
0.7 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

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:
Syndicate

Compiler Version
v0.5.0+commit.1d4f565a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-01-12
*/

pragma solidity ^0.5.0;

/**
 * Syndicate
 *
 * A way to distribute ownership of ether in time
 **/

contract Syndicate {

  mapping (address => uint256) public balances;

  struct Payment {
    address sender;
    address payable receiver;
    uint256 timestamp;
    uint256 time;
    uint256 weiValue;
    uint256 weiPaid;
    bool isFork;
    uint256 parentIndex;
  }

  Payment[] public payments;

  // A mapping of Payment index to forked payments that have been created
  mapping (uint256 => uint256[2]) public forkIndexes;

  event PaymentUpdated(uint256 index);
  event PaymentCreated(uint256 index);
  event BalanceUpdated(address payable target);

  /**
   * Deposit to a given address over a certain amount of time.
   **/
  function deposit(address payable _receiver, uint256 _time) external payable {
    balances[msg.sender] += msg.value;
    emit BalanceUpdated(msg.sender);
    pay(_receiver, msg.value, _time);
  }

  /**
   * Pay from sender to receiver a certain amount over a certain amount of time.
   **/
  function pay(address payable _receiver, uint256 _weiValue, uint256 _time) public {
    // Verify that the balance is there and value is non-zero
    require(_weiValue <= balances[msg.sender] && _weiValue > 0);
    // Verify the time is non-zero
    require(_time > 0);
    payments.push(Payment({
      sender: msg.sender,
      receiver: _receiver,
      timestamp: block.timestamp,
      time: _time,
      weiValue: _weiValue,
      weiPaid: 0,
      isFork: false,
      parentIndex: 0
    }));
    // Update the balance value of the sender to effectively lock the funds in place
    balances[msg.sender] -= _weiValue;
    emit BalanceUpdated(msg.sender);
    emit PaymentCreated(payments.length - 1);
  }

  /**
   * Settle an individual payment at the current point in time.
   *
   * Can be called idempotently.
   **/
  function paymentSettle(uint256 index) public {
    uint256 owedWei = paymentWeiOwed(index);
    balances[payments[index].receiver] += owedWei;
    emit BalanceUpdated(payments[index].receiver);
    payments[index].weiPaid += owedWei;
    emit PaymentUpdated(index);
  }

  /**
   * Return the wei owed on a payment at the current block timestamp.
   **/
  function paymentWeiOwed(uint256 index) public view returns (uint256) {
    assertPaymentIndexInRange(index);
    Payment memory payment = payments[index];
    // Calculate owed wei based on current time and total wei owed/paid
    return max(payment.weiPaid, payment.weiValue * min(block.timestamp - payment.timestamp, payment.time) / payment.time) - payment.weiPaid;
  }

  /**
   * Forks a payment to another address for the duration of a payment. Allows
   * responsibility of funds to be delegated to other addresses by payment
   * recipient.
   *
   * Payment completion time is unaffected by forking, the only thing that
   * changes is recipient.
   *
   * Payments can be forked until weiValue is 0, at which point the Payment is
   * settled. Child payments can also be forked.
   **/
  function paymentFork(uint256 index, address payable _receiver, uint256 _weiValue) public {
    Payment memory payment = payments[index];
    // Make sure the payment owner is operating
    require(msg.sender == payment.receiver);

    uint256 remainingWei = payment.weiValue - payment.weiPaid;
    uint256 remainingTime = max(0, payment.time - (block.timestamp - payment.timestamp));

    // Ensure there is enough unsettled wei in the payment
    require(remainingWei >= _weiValue);
    require(_weiValue > 0);

    // Create a new Payment of _weiValue to _receiver over the remaining time of
    // Payment at index
    payments[index].weiValue = payments[index].weiPaid;
    emit PaymentUpdated(index);

    payments.push(Payment({
      sender: msg.sender,
      receiver: _receiver,
      timestamp: block.timestamp,
      time: remainingTime,
      weiValue: _weiValue,
      weiPaid: 0,
      isFork: true,
      parentIndex: index
    }));
    forkIndexes[index][0] = payments.length - 1;
    emit PaymentCreated(payments.length - 1);

    payments.push(Payment({
      sender: payment.receiver,
      receiver: payment.receiver,
      timestamp: block.timestamp,
      time: remainingTime,
      weiValue: remainingWei - _weiValue,
      weiPaid: 0,
      isFork: true,
      parentIndex: index
    }));
    forkIndexes[index][1] = payments.length - 1;
    emit PaymentCreated(payments.length - 1);
  }

  function paymentForkIndexes(uint256 index) public view returns (uint256[2] memory) {
    assertPaymentIndexInRange(index);
    return forkIndexes[index];
  }

  function isPaymentForked(uint256 index) public view returns (bool) {
    assertPaymentIndexInRange(index);
    return forkIndexes[index][0] != 0 && forkIndexes[index][1] != 0;
  }

  /**
   * Accessor for determining if a given payment is fully settled.
   **/
  function isPaymentSettled(uint256 index) public view returns (bool) {
    assertPaymentIndexInRange(index);
    Payment memory payment = payments[index];
    return payment.weiValue == payment.weiPaid;
  }

  /**
   * Reverts if the supplied payment index is out of range
   **/
  function assertPaymentIndexInRange(uint256 index) public view {
    require(index < payments.length);
  }

  /**
   * Withdraw target address balance from Syndicate to ether.
   **/
  function withdraw(address payable target, uint256 weiValue) public {
    require(balances[target] >= weiValue);
    balances[target] -= weiValue;
    emit BalanceUpdated(target);
    target.transfer(weiValue);
  }

  /**
   * One argument, target address.
   **/
  function withdraw(address payable target) public {
    withdraw(target, balances[target]);
  }

  /**
   * No arguments, withdraws full balance to sender from sender balance.
   **/
  function withdraw() public {
    withdraw(msg.sender, balances[msg.sender]);
  }

  /**
   * Accessor for array length
   **/
  function paymentCount() public view returns (uint) {
    return payments.length;
  }

  /**
   * Return the smaller of two values.
   **/
  function min(uint a, uint b) private pure returns (uint) {
    return a < b ? a : b;
  }

  /**
   * Return the larger of two values.
   **/
  function max(uint a, uint b) private pure returns (uint) {
    return a > b ? a : b;
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"paymentCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"isPaymentForked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_time","type":"uint256"}],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"paymentWeiOwed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_weiValue","type":"uint256"},{"name":"_time","type":"uint256"}],"name":"pay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"forkIndexes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"isPaymentSettled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"}],"name":"paymentSettle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"payments","outputs":[{"name":"sender","type":"address"},{"name":"receiver","type":"address"},{"name":"timestamp","type":"uint256"},{"name":"time","type":"uint256"},{"name":"weiValue","type":"uint256"},{"name":"weiPaid","type":"uint256"},{"name":"isFork","type":"bool"},{"name":"parentIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"paymentForkIndexes","outputs":[{"name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"},{"name":"_receiver","type":"address"},{"name":"_weiValue","type":"uint256"}],"name":"paymentFork","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"assertPaymentIndexInRange","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"weiValue","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"index","type":"uint256"}],"name":"PaymentUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"index","type":"uint256"}],"name":"PaymentCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"}],"name":"BalanceUpdated","type":"event"}]

608060405234801561001057600080fd5b50611921806100206000396000f3fe6080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630937e68a146100eb57806327e235e3146101165780633ccfd60b1461017b578063421d72e21461019257806347e7ef24146101e557806351cff8d91461023357806356daf2c1146102845780635f065346146102d357806360c140d9146103385780637841b7801461039157806379ff69d9146103e457806387d817891461041f5780639042aa27146104fb57806396b1bbbe14610572578063e48a1d60146105d7578063f3fef3a314610612575b600080fd5b3480156100f757600080fd5b5061010061066d565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b506101656004803603602081101561013957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061067a565b6040518082815260200191505060405180910390f35b34801561018757600080fd5b50610190610692565b005b34801561019e57600080fd5b506101cb600480360360208110156101b557600080fd5b81019080803590602001909291905050506106dc565b604051808215151515815260200191505060405180910390f35b610231600480360360408110156101fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610744565b005b34801561023f57600080fd5b506102826004803603602081101561025657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610802565b005b34801561029057600080fd5b506102bd600480360360208110156102a757600080fd5b810190808035906020019092919050505061084d565b6040518082815260200191505060405180910390f35b3480156102df57600080fd5b50610336600480360360608110156102f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506109c9565b005b34801561034457600080fd5b5061037b6004803603604081101561035b57600080fd5b810190808035906020019092919080359060200190929190505050610c9f565b6040518082815260200191505060405180910390f35b34801561039d57600080fd5b506103ca600480360360208110156103b457600080fd5b8101908080359060200190929190505050610cc6565b604051808215151515815260200191505060405180910390f35b3480156103f057600080fd5b5061041d6004803603602081101561040757600080fd5b8101908080359060200190929190505050610e11565b005b34801561042b57600080fd5b506104586004803603602081101561044257600080fd5b8101908080359060200190929190505050610fb6565b604051808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001878152602001868152602001858152602001848152602001831515151581526020018281526020019850505050505050505060405180910390f35b34801561050757600080fd5b506105346004803603602081101561051e57600080fd5b810190808035906020019092919050505061105a565b6040518082600260200280838360005b8381101561055f578082015181840152602081019050610544565b5050505090500191505060405180910390f35b34801561057e57600080fd5b506105d56004803603606081101561059557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110c1565b005b3480156105e357600080fd5b50610610600480360360208110156105fa57600080fd5b81019080803590602001909291905050506116d0565b005b34801561061e57600080fd5b5061066b6004803603604081101561063557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116e6565b005b6000600180549050905090565b60006020528060005260406000206000915090505481565b6106da336000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e6565b565b60006106e7826116d0565b600060026000848152602001908152602001600020600060028110151561070a57fe5b01541415801561073d5750600060026000848152602001908152602001600020600160028110151561073857fe5b015414155b9050919050565b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa0762433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16107fe8234836109c9565b5050565b61084a816000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e6565b50565b6000610858826116d0565b61086061185f565b60018381548110151561086f57fe5b906000526020600020906008020161010060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff1615151515815260200160078201548152505090508060a001516109c08260a0015183606001516109ab85604001514203866060015161182d565b8560800151028115156109ba57fe5b04611846565b03915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211158015610a175750600082115b1515610a2257600080fd5b600081111515610a3157600080fd5b6001610100604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020014281526020018381526020018481526020016000815260200160001515815260200160008152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e08201518160070155505050816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa0762433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f52abc2220e71c35c28bb3b3423a7403d5ce4f808dd7ac2c12d1c8e16ae01a19f60018080549050036040518082815260200191505060405180910390a1505050565b600260205281600052604060002081600281101515610cba57fe5b01600091509150505481565b6000610cd1826116d0565b610cd961185f565b600183815481101515610ce857fe5b906000526020600020906008020161010060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff1615151515815260200160078201548152505090508060a00151816080015114915050919050565b6000610e1c8261084d565b905080600080600185815481101515610e3157fe5b906000526020600020906008020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa07624600183815481101515610eda57fe5b906000526020600020906008020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a180600183815481101515610f5d57fe5b9060005260206000209060080201600501600082825401925050819055507f4eed8cfa0602bd25527039457fcd1ed279611aac9f849fbc0502823cf06c5074826040518082815260200191505060405180910390a15050565b600181815481101515610fc557fe5b90600052602060002090600802016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154908060050154908060060160009054906101000a900460ff16908060070154905088565b6110626118d3565b61106b826116d0565b600260008381526020019081526020016000206002806020026040519081016040528092919082600280156110b5576020028201915b8154815260200190600101908083116110a1575b50505050509050919050565b6110c961185f565b6001848154811015156110d857fe5b906000526020600020906008020161010060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff161515151581526020016007820154815250509050806020015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122c57600080fd5b60008160a0015182608001510390506000611254600084604001514203856060015103611846565b905083821015151561126557600080fd5b60008411151561127457600080fd5b60018681548110151561128357fe5b9060005260206000209060080201600501546001878154811015156112a457fe5b9060005260206000209060080201600401819055507f4eed8cfa0602bd25527039457fcd1ed279611aac9f849fbc0502823cf06c5074866040518082815260200191505060405180910390a16001610100604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff16815260200142815260200183815260200186815260200160008152602001600115158152602001888152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e08201518160070155505050600180805490500360026000888152602001908152602001600020600060028110151561149457fe5b01819055507f52abc2220e71c35c28bb3b3423a7403d5ce4f808dd7ac2c12d1c8e16ae01a19f60018080549050036040518082815260200191505060405180910390a1600161010060405190810160405280856020015173ffffffffffffffffffffffffffffffffffffffff168152602001856020015173ffffffffffffffffffffffffffffffffffffffff168152602001428152602001838152602001868503815260200160008152602001600115158152602001888152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e08201518160070155505050600180805490500360026000888152602001908152602001600020600160028110151561168557fe5b01819055507f52abc2220e71c35c28bb3b3423a7403d5ce4f808dd7ac2c12d1c8e16ae01a19f60018080549050036040518082815260200191505060405180910390a1505050505050565b600180549050811015156116e357600080fd5b50565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561173357600080fd5b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa0762482604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611828573d6000803e3d6000fd5b505050565b600081831061183c578161183e565b825b905092915050565b60008183116118555781611857565b825b905092915050565b61010060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600015158152602001600081525090565b604080519081016040528060029060208202803883398082019150509050509056fea165627a7a7230582052b27c8800c8f93463f40676cbb5c1dcf2e1184266fcfda948142b53def943e00029

Deployed Bytecode

0x6080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630937e68a146100eb57806327e235e3146101165780633ccfd60b1461017b578063421d72e21461019257806347e7ef24146101e557806351cff8d91461023357806356daf2c1146102845780635f065346146102d357806360c140d9146103385780637841b7801461039157806379ff69d9146103e457806387d817891461041f5780639042aa27146104fb57806396b1bbbe14610572578063e48a1d60146105d7578063f3fef3a314610612575b600080fd5b3480156100f757600080fd5b5061010061066d565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b506101656004803603602081101561013957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061067a565b6040518082815260200191505060405180910390f35b34801561018757600080fd5b50610190610692565b005b34801561019e57600080fd5b506101cb600480360360208110156101b557600080fd5b81019080803590602001909291905050506106dc565b604051808215151515815260200191505060405180910390f35b610231600480360360408110156101fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610744565b005b34801561023f57600080fd5b506102826004803603602081101561025657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610802565b005b34801561029057600080fd5b506102bd600480360360208110156102a757600080fd5b810190808035906020019092919050505061084d565b6040518082815260200191505060405180910390f35b3480156102df57600080fd5b50610336600480360360608110156102f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506109c9565b005b34801561034457600080fd5b5061037b6004803603604081101561035b57600080fd5b810190808035906020019092919080359060200190929190505050610c9f565b6040518082815260200191505060405180910390f35b34801561039d57600080fd5b506103ca600480360360208110156103b457600080fd5b8101908080359060200190929190505050610cc6565b604051808215151515815260200191505060405180910390f35b3480156103f057600080fd5b5061041d6004803603602081101561040757600080fd5b8101908080359060200190929190505050610e11565b005b34801561042b57600080fd5b506104586004803603602081101561044257600080fd5b8101908080359060200190929190505050610fb6565b604051808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001878152602001868152602001858152602001848152602001831515151581526020018281526020019850505050505050505060405180910390f35b34801561050757600080fd5b506105346004803603602081101561051e57600080fd5b810190808035906020019092919050505061105a565b6040518082600260200280838360005b8381101561055f578082015181840152602081019050610544565b5050505090500191505060405180910390f35b34801561057e57600080fd5b506105d56004803603606081101561059557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110c1565b005b3480156105e357600080fd5b50610610600480360360208110156105fa57600080fd5b81019080803590602001909291905050506116d0565b005b34801561061e57600080fd5b5061066b6004803603604081101561063557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116e6565b005b6000600180549050905090565b60006020528060005260406000206000915090505481565b6106da336000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e6565b565b60006106e7826116d0565b600060026000848152602001908152602001600020600060028110151561070a57fe5b01541415801561073d5750600060026000848152602001908152602001600020600160028110151561073857fe5b015414155b9050919050565b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa0762433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16107fe8234836109c9565b5050565b61084a816000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e6565b50565b6000610858826116d0565b61086061185f565b60018381548110151561086f57fe5b906000526020600020906008020161010060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff1615151515815260200160078201548152505090508060a001516109c08260a0015183606001516109ab85604001514203866060015161182d565b8560800151028115156109ba57fe5b04611846565b03915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211158015610a175750600082115b1515610a2257600080fd5b600081111515610a3157600080fd5b6001610100604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020014281526020018381526020018481526020016000815260200160001515815260200160008152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e08201518160070155505050816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa0762433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f52abc2220e71c35c28bb3b3423a7403d5ce4f808dd7ac2c12d1c8e16ae01a19f60018080549050036040518082815260200191505060405180910390a1505050565b600260205281600052604060002081600281101515610cba57fe5b01600091509150505481565b6000610cd1826116d0565b610cd961185f565b600183815481101515610ce857fe5b906000526020600020906008020161010060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff1615151515815260200160078201548152505090508060a00151816080015114915050919050565b6000610e1c8261084d565b905080600080600185815481101515610e3157fe5b906000526020600020906008020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa07624600183815481101515610eda57fe5b906000526020600020906008020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a180600183815481101515610f5d57fe5b9060005260206000209060080201600501600082825401925050819055507f4eed8cfa0602bd25527039457fcd1ed279611aac9f849fbc0502823cf06c5074826040518082815260200191505060405180910390a15050565b600181815481101515610fc557fe5b90600052602060002090600802016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154908060050154908060060160009054906101000a900460ff16908060070154905088565b6110626118d3565b61106b826116d0565b600260008381526020019081526020016000206002806020026040519081016040528092919082600280156110b5576020028201915b8154815260200190600101908083116110a1575b50505050509050919050565b6110c961185f565b6001848154811015156110d857fe5b906000526020600020906008020161010060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff161515151581526020016007820154815250509050806020015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122c57600080fd5b60008160a0015182608001510390506000611254600084604001514203856060015103611846565b905083821015151561126557600080fd5b60008411151561127457600080fd5b60018681548110151561128357fe5b9060005260206000209060080201600501546001878154811015156112a457fe5b9060005260206000209060080201600401819055507f4eed8cfa0602bd25527039457fcd1ed279611aac9f849fbc0502823cf06c5074866040518082815260200191505060405180910390a16001610100604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff16815260200142815260200183815260200186815260200160008152602001600115158152602001888152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e08201518160070155505050600180805490500360026000888152602001908152602001600020600060028110151561149457fe5b01819055507f52abc2220e71c35c28bb3b3423a7403d5ce4f808dd7ac2c12d1c8e16ae01a19f60018080549050036040518082815260200191505060405180910390a1600161010060405190810160405280856020015173ffffffffffffffffffffffffffffffffffffffff168152602001856020015173ffffffffffffffffffffffffffffffffffffffff168152602001428152602001838152602001868503815260200160008152602001600115158152602001888152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e08201518160070155505050600180805490500360026000888152602001908152602001600020600160028110151561168557fe5b01819055507f52abc2220e71c35c28bb3b3423a7403d5ce4f808dd7ac2c12d1c8e16ae01a19f60018080549050036040518082815260200191505060405180910390a1505050505050565b600180549050811015156116e357600080fd5b50565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561173357600080fd5b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa0762482604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611828573d6000803e3d6000fd5b505050565b600081831061183c578161183e565b825b905092915050565b60008183116118555781611857565b825b905092915050565b61010060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600015158152602001600081525090565b604080519081016040528060029060208202803883398082019150509050509056fea165627a7a7230582052b27c8800c8f93463f40676cbb5c1dcf2e1184266fcfda948142b53def943e00029

Swarm Source

bzzr://52b27c8800c8f93463f40676cbb5c1dcf2e1184266fcfda948142b53def943e0

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.