ETH Price: $2,499.54 (-1.03%)

Contract

0x0b0dd5737eB7432C7C7054Ef156628c6d7b9d2F4
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer55483652018-05-03 9:17:362312 days ago1525339056IN
0x0b0dd573...6d7b9d2F4
0.0001 ETH0.00086141
Transfer52044812018-03-06 3:27:522370 days ago1520306872IN
0x0b0dd573...6d7b9d2F4
0.00001 ETH0.00086141
Transfer50090832018-02-01 2:43:022403 days ago1517452982IN
0x0b0dd573...6d7b9d2F4
0.001 ETH0.00086141
Pay For Myself47839352017-12-23 18:14:332443 days ago1514052873IN
0x0b0dd573...6d7b9d2F4
0.02 ETH00.00000003
Pay For Myself47821752017-12-23 11:00:062443 days ago1514026806IN
0x0b0dd573...6d7b9d2F4
0.28 ETH0.000005020.1
Transfer47821412017-12-23 10:51:232443 days ago1514026283IN
0x0b0dd573...6d7b9d2F4
0.011 ETH0.00000210.1
Pay For Myself47480522017-12-17 10:41:592449 days ago1513507319IN
0x0b0dd573...6d7b9d2F4
0.5 ETH0.000085461
Pay For Myself47116482017-12-11 2:26:022455 days ago1512959162IN
0x0b0dd573...6d7b9d2F4
0.397397 ETH0.0008546710
Pay For Myself47116202017-12-11 2:18:282455 days ago1512958708IN
0x0b0dd573...6d7b9d2F4
0.2 ETH0.0008546710
Pay For Myself47115622017-12-11 2:04:402455 days ago1512957880IN
0x0b0dd573...6d7b9d2F4
75.47023997 ETH0.0005018810
Pay For Myself47114922017-12-11 1:51:092455 days ago1512957069IN
0x0b0dd573...6d7b9d2F4
0.68 ETH0.0008546710
Pay For Myself47113452017-12-11 1:11:162456 days ago1512954676IN
0x0b0dd573...6d7b9d2F4
0.0577 ETH0.0005025210
Pay For Myself47112382017-12-11 0:45:372456 days ago1512953137IN
0x0b0dd573...6d7b9d2F4
0.097 ETH0.0005025210
Transfer*47112122017-12-11 0:39:142456 days ago1512952754IN
0x0b0dd573...6d7b9d2F4
0.99 ETH0.0015358372
Pay For Myself47112112017-12-11 0:39:092456 days ago1512952749IN
0x0b0dd573...6d7b9d2F4
0.62 ETH0.0008546710
Pay For Myself47112052017-12-11 0:37:212456 days ago1512952641IN
0x0b0dd573...6d7b9d2F4
0.3 ETH0.0008546710
Pay For Myself47111632017-12-11 0:25:082456 days ago1512951908IN
0x0b0dd573...6d7b9d2F4
0.507397 ETH0.0008546710
Pay For Myself47111582017-12-11 0:24:052456 days ago1512951845IN
0x0b0dd573...6d7b9d2F4
0.009 ETH0.0008546710
Pay For Myself47110202017-12-10 23:49:072456 days ago1512949747IN
0x0b0dd573...6d7b9d2F4
1.79 ETH0.0008546710
Transfer47098292017-12-10 19:02:182456 days ago1512932538IN
0x0b0dd573...6d7b9d2F4
3.2941789 ETH0.0003745617.8
Pay For Myself47094352017-12-10 17:20:202456 days ago1512926420IN
0x0b0dd573...6d7b9d2F4
0.05 ETH0.0008546710
Pay For Myself47093452017-12-10 17:01:302456 days ago1512925290IN
0x0b0dd573...6d7b9d2F4
6 ETH0.003768975
Pay For Myself47093192017-12-10 16:55:152456 days ago1512924915IN
0x0b0dd573...6d7b9d2F4
17.1 ETH0.003768975
Pay For Myself47090942017-12-10 15:56:392456 days ago1512921399IN
0x0b0dd573...6d7b9d2F4
0.12 ETH0.0016238719
Pay For Myself47082402017-12-10 12:25:162456 days ago1512908716IN
0x0b0dd573...6d7b9d2F4
0.5 ETH0.0008546710
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
47839352017-12-23 18:14:332443 days ago1514052873
0x0b0dd573...6d7b9d2F4
0.02 ETH
47821752017-12-23 11:00:062443 days ago1514026806
0x0b0dd573...6d7b9d2F4
0.28 ETH
47480522017-12-17 10:41:592449 days ago1513507319
0x0b0dd573...6d7b9d2F4
0.5 ETH
47116482017-12-11 2:26:022455 days ago1512959162
0x0b0dd573...6d7b9d2F4
0.397397 ETH
47116202017-12-11 2:18:282455 days ago1512958708
0x0b0dd573...6d7b9d2F4
0.2 ETH
47115622017-12-11 2:04:402455 days ago1512957880
0x0b0dd573...6d7b9d2F4
75.47023997 ETH
47114922017-12-11 1:51:092455 days ago1512957069
0x0b0dd573...6d7b9d2F4
0.68 ETH
47113452017-12-11 1:11:162456 days ago1512954676
0x0b0dd573...6d7b9d2F4
0.0577 ETH
47112382017-12-11 0:45:372456 days ago1512953137
0x0b0dd573...6d7b9d2F4
0.097 ETH
47112112017-12-11 0:39:092456 days ago1512952749
0x0b0dd573...6d7b9d2F4
0.62 ETH
47112052017-12-11 0:37:212456 days ago1512952641
0x0b0dd573...6d7b9d2F4
0.3 ETH
47111632017-12-11 0:25:082456 days ago1512951908
0x0b0dd573...6d7b9d2F4
0.507397 ETH
47111582017-12-11 0:24:052456 days ago1512951845
0x0b0dd573...6d7b9d2F4
0.009 ETH
47110202017-12-10 23:49:072456 days ago1512949747
0x0b0dd573...6d7b9d2F4
1.79 ETH
47094352017-12-10 17:20:202456 days ago1512926420
0x0b0dd573...6d7b9d2F4
0.05 ETH
47093452017-12-10 17:01:302456 days ago1512925290
0x0b0dd573...6d7b9d2F4
6 ETH
47093192017-12-10 16:55:152456 days ago1512924915
0x0b0dd573...6d7b9d2F4
17.1 ETH
47090942017-12-10 15:56:392456 days ago1512921399
0x0b0dd573...6d7b9d2F4
0.12 ETH
47082402017-12-10 12:25:162456 days ago1512908716
0x0b0dd573...6d7b9d2F4
0.5 ETH
47081702017-12-10 12:11:102456 days ago1512907870
0x0b0dd573...6d7b9d2F4
0.045555 ETH
47072322017-12-10 8:20:012456 days ago1512894001
0x0b0dd573...6d7b9d2F4
1.1 ETH
47069362017-12-10 7:03:532456 days ago1512889433
0x0b0dd573...6d7b9d2F4
1 ETH
47068872017-12-10 6:51:382456 days ago1512888698
0x0b0dd573...6d7b9d2F4
0.00492199 ETH
47068022017-12-10 6:27:422456 days ago1512887262
0x0b0dd573...6d7b9d2F4
0.1072 ETH
47067452017-12-10 6:11:452456 days ago1512886305
0x0b0dd573...6d7b9d2F4
0.27 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PaymentForwarder

Compiler Version
v0.4.14+commit.c2215d46

Optimization Enabled:
Yes with 500 runs

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

/**
 * This smart contract code is Copyright 2017 TokenMarket Ltd. For more information see https://tokenmarket.net
 *
 * Licensed under the Apache License, version 2.0: https://github.com/TokenMarketNet/ico/blob/master/LICENSE.txt
 */


/**
 * This smart contract code is Copyright 2017 TokenMarket Ltd. For more information see https://tokenmarket.net
 *
 * Licensed under the Apache License, version 2.0: https://github.com/TokenMarketNet/ico/blob/master/LICENSE.txt
 */




/**
 * @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;


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    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 transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner {
    require(newOwner != address(0));      
    owner = newOwner;
  }

}


/*
 * Haltable
 *
 * Abstract contract that allows children to implement an
 * emergency stop mechanism. Differs from Pausable by causing a throw when in halt mode.
 *
 *
 * Originally envisioned in FirstBlood ICO contract.
 */
contract Haltable is Ownable {
  bool public halted;

  modifier stopInEmergency {
    if (halted) throw;
    _;
  }

  modifier stopNonOwnersInEmergency {
    if (halted && msg.sender != owner) throw;
    _;
  }

  modifier onlyInEmergency {
    if (!halted) throw;
    _;
  }

  // called by the owner on emergency, triggers stopped state
  function halt() external onlyOwner {
    halted = true;
  }

  // called by the owner on end of emergency, returns to normal state
  function unhalt() external onlyOwner onlyInEmergency {
    halted = false;
  }

}


/**
 * Forward Ethereum payments to another wallet and track them with an event.
 *
 * Allows to identify customers who made Ethereum payment for a central token issuance.
 * Furthermore allow making a payment on behalf of another address.
 *
 * Allow pausing to signal the end of the crowdsale.
 */
contract PaymentForwarder is Haltable {

  /** Who will get all ETH in the end */
  address public teamMultisig;

  /** Total incoming money */
  uint public totalTransferred;

  /** How many distinct customers we have that have made a payment */
  uint public customerCount;

  /** Total incoming money per centrally tracked customer id */
  mapping(uint128 => uint) public paymentsByCustomer;

  /** Total incoming money per benefactor address */
  mapping(address => uint) public paymentsByBenefactor;

  /** A customer has made a payment. Benefactor is the address where the tokens will be ultimately issued.*/
  event PaymentForwarded(address source, uint amount, uint128 customerId, address benefactor);

  function PaymentForwarder(address _owner, address _teamMultisig) {
    teamMultisig = _teamMultisig;
    owner = _owner;
  }

  /**
   * Pay on a behalf of an address.
   *
   * @param customerId Identifier in the central database, UUID v4
   *
   */
  function pay(uint128 customerId, address benefactor) public stopInEmergency payable {

    uint weiAmount = msg.value;

    PaymentForwarded(msg.sender, weiAmount, customerId, benefactor);

    // We trust Ethereum amounts cannot overflow uint256
    totalTransferred += weiAmount;

    if(paymentsByCustomer[customerId] == 0) {
      customerCount++;
    }

    paymentsByCustomer[customerId] += weiAmount;

    // We track benefactor addresses for extra safety;
    // In the case of central ETH issuance tracking has problems we can
    // construct ETH contributions solely based on blockchain data
    paymentsByBenefactor[benefactor] += weiAmount;

    // May run out of gas
    if(!teamMultisig.send(weiAmount)) throw;
  }

  /**
   * Pay on a behalf of the sender.
   *
   * @param customerId Identifier in the central database, UUID v4
   *
   */
  function payForMyself(uint128 customerId) public payable {
    pay(customerId, msg.sender);
  }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"customerId","type":"uint128"}],"name":"payForMyself","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"customerId","type":"uint128"},{"name":"benefactor","type":"address"}],"name":"pay","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[],"name":"halt","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"customerCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalTransferred","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"halted","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unhalt","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"teamMultisig","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"paymentsByBenefactor","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint128"}],"name":"paymentsByCustomer","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_teamMultisig","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"source","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"customerId","type":"uint128"},{"indexed":false,"name":"benefactor","type":"address"}],"name":"PaymentForwarded","type":"event"}]

6060604052341561000f57600080fd5b60405160408061062283398101604052808051919060200180519150505b5b60008054600160a060020a03191633600160a060020a03161790555b60018054600160a060020a03808416600160a060020a03199283161790925560008054928516929091169190911790555b50505b6105958061008d6000396000f300606060405236156100b75763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663274465b481146100bc57806345f4c1ba146100db5780635ed7ca5b146101065780638da5cb5b1461011b5780639757e8a31461014a5780639b087b2d1461016f578063b9b8af0b14610194578063cb3e64fd146101bb578063dbc0c085146101d0578063ef3336f5146101ff578063f2fde38b14610230578063f921567614610251575b600080fd5b6100d96fffffffffffffffffffffffffffffffff6004351661028b565b005b6100d96fffffffffffffffffffffffffffffffff60043516600160a060020a0360243516610299565b005b341561011157600080fd5b6100d96103e2565b005b341561012657600080fd5b61012e610436565b604051600160a060020a03909116815260200160405180910390f35b341561015557600080fd5b61015d610445565b60405190815260200160405180910390f35b341561017a57600080fd5b61015d61044b565b60405190815260200160405180910390f35b341561019f57600080fd5b6101a7610451565b604051901515815260200160405180910390f35b34156101c657600080fd5b6100d9610472565b005b34156101db57600080fd5b61012e6104d9565b604051600160a060020a03909116815260200160405180910390f35b341561020a57600080fd5b61015d600160a060020a03600435166104e8565b60405190815260200160405180910390f35b341561023b57600080fd5b6100d9600160a060020a03600435166104fa565b005b341561025c57600080fd5b61015d6fffffffffffffffffffffffffffffffff60043516610557565b60405190815260200160405180910390f35b6102958133610299565b5b50565b6000805474010000000000000000000000000000000000000000900460ff16156102c257600080fd5b50347f4e4e2d6da11427f2d85d47e2bced64efa9ccd9694ae97786772a22d465bc80a433828585604051600160a060020a03948516815260208101939093526fffffffffffffffffffffffffffffffff90911660408084019190915292166060820152608001905180910390a160028054820190556fffffffffffffffffffffffffffffffff83166000908152600460205260409020541515610369576003805460010190555b6fffffffffffffffffffffffffffffffff83166000908152600460209081526040808320805485019055600160a060020a038086168452600590925291829020805484019055600154169082156108fc0290839051600060405180830381858888f1935050505015156103db57600080fd5b5b5b505050565b60005433600160a060020a039081169116146103fd57600080fd5b6000805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b565b600054600160a060020a031681565b60035481565b60025481565b60005474010000000000000000000000000000000000000000900460ff1681565b60005433600160a060020a0390811691161461048d57600080fd5b60005474010000000000000000000000000000000000000000900460ff1615156104b657600080fd5b6000805474ff0000000000000000000000000000000000000000191690555b5b5b565b600154600160a060020a031681565b60056020526000908152604090205481565b60005433600160a060020a0390811691161461051557600080fd5b600160a060020a038116151561052a57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600460205260009081526040902054815600a165627a7a7230582032ddcb45d5e5c84c8f2929e68d29d942b0224de4930f89e8b0f879b127253bc9002900000000000000000000000083e82cea898b1ed1785bc3beac86034913831e6000000000000000000000000083e82cea898b1ed1785bc3beac86034913831e60

Deployed Bytecode

0x606060405236156100b75763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663274465b481146100bc57806345f4c1ba146100db5780635ed7ca5b146101065780638da5cb5b1461011b5780639757e8a31461014a5780639b087b2d1461016f578063b9b8af0b14610194578063cb3e64fd146101bb578063dbc0c085146101d0578063ef3336f5146101ff578063f2fde38b14610230578063f921567614610251575b600080fd5b6100d96fffffffffffffffffffffffffffffffff6004351661028b565b005b6100d96fffffffffffffffffffffffffffffffff60043516600160a060020a0360243516610299565b005b341561011157600080fd5b6100d96103e2565b005b341561012657600080fd5b61012e610436565b604051600160a060020a03909116815260200160405180910390f35b341561015557600080fd5b61015d610445565b60405190815260200160405180910390f35b341561017a57600080fd5b61015d61044b565b60405190815260200160405180910390f35b341561019f57600080fd5b6101a7610451565b604051901515815260200160405180910390f35b34156101c657600080fd5b6100d9610472565b005b34156101db57600080fd5b61012e6104d9565b604051600160a060020a03909116815260200160405180910390f35b341561020a57600080fd5b61015d600160a060020a03600435166104e8565b60405190815260200160405180910390f35b341561023b57600080fd5b6100d9600160a060020a03600435166104fa565b005b341561025c57600080fd5b61015d6fffffffffffffffffffffffffffffffff60043516610557565b60405190815260200160405180910390f35b6102958133610299565b5b50565b6000805474010000000000000000000000000000000000000000900460ff16156102c257600080fd5b50347f4e4e2d6da11427f2d85d47e2bced64efa9ccd9694ae97786772a22d465bc80a433828585604051600160a060020a03948516815260208101939093526fffffffffffffffffffffffffffffffff90911660408084019190915292166060820152608001905180910390a160028054820190556fffffffffffffffffffffffffffffffff83166000908152600460205260409020541515610369576003805460010190555b6fffffffffffffffffffffffffffffffff83166000908152600460209081526040808320805485019055600160a060020a038086168452600590925291829020805484019055600154169082156108fc0290839051600060405180830381858888f1935050505015156103db57600080fd5b5b5b505050565b60005433600160a060020a039081169116146103fd57600080fd5b6000805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b565b600054600160a060020a031681565b60035481565b60025481565b60005474010000000000000000000000000000000000000000900460ff1681565b60005433600160a060020a0390811691161461048d57600080fd5b60005474010000000000000000000000000000000000000000900460ff1615156104b657600080fd5b6000805474ff0000000000000000000000000000000000000000191690555b5b5b565b600154600160a060020a031681565b60056020526000908152604090205481565b60005433600160a060020a0390811691161461051557600080fd5b600160a060020a038116151561052a57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600460205260009081526040902054815600a165627a7a7230582032ddcb45d5e5c84c8f2929e68d29d942b0224de4930f89e8b0f879b127253bc90029

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

00000000000000000000000083e82cea898b1ed1785bc3beac86034913831e6000000000000000000000000083e82cea898b1ed1785bc3beac86034913831e60

-----Decoded View---------------
Arg [0] : _owner (address): 0x83E82ceA898b1Ed1785Bc3beAc86034913831E60
Arg [1] : _teamMultisig (address): 0x83E82ceA898b1Ed1785Bc3beAc86034913831E60

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000083e82cea898b1ed1785bc3beac86034913831e60
Arg [1] : 00000000000000000000000083e82cea898b1ed1785bc3beac86034913831e60


Swarm Source

bzzr://32ddcb45d5e5c84c8f2929e68d29d942b0224de4930f89e8b0f879b127253bc9

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.