ETH Price: $3,674.68 (+0.96%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Pay For Myself58674092018-06-28 5:41:372385 days ago1530164497IN
Globitex: Token Sale
1 ETH0.0005699525
Pay For Myself52125402018-03-07 12:20:572497 days ago1520425257IN
Globitex: Token Sale
0.5 ETH0.0013640460
Pay For Myself52125382018-03-07 12:20:252497 days ago1520425225IN
Globitex: Token Sale
0.5 ETH0.0010259145
Pay For Myself51166292018-02-19 4:31:122514 days ago1519014672IN
Globitex: Token Sale
0.1 ETH0.0010259145
Pay For Myself51166222018-02-19 4:30:002514 days ago1519014600IN
Globitex: Token Sale
0.1 ETH0.0010259145
Pay For Myself51153272018-02-18 23:21:522514 days ago1518996112IN
Globitex: Token Sale
0.075 ETH0.0010259145
Pay For Myself50729162018-02-11 20:34:202521 days ago1518381260IN
Globitex: Token Sale
0.15 ETH0.0010259145
Pay For Myself50726632018-02-11 19:31:592521 days ago1518377519IN
Globitex: Token Sale
1.13147826 ETH00.00000004
Pay For Myself50721412018-02-11 17:25:522521 days ago1518369952IN
Globitex: Token Sale
0.2 ETH0.0010259145
Pay For Myself50719462018-02-11 16:36:172521 days ago1518366977IN
Globitex: Token Sale
0.025 ETH0.000002270.1
Pay For Myself50719152018-02-11 16:31:222521 days ago1518366682IN
Globitex: Token Sale
0.2 ETH0.0009347141
Pay For Myself50718882018-02-11 16:26:292521 days ago1518366389IN
Globitex: Token Sale
0.08897343 ETH0.0009347141
Transfer50718522018-02-11 16:17:422521 days ago1518365862IN
Globitex: Token Sale
0.07025159 ETH0.0008628841
Transfer50718382018-02-11 16:14:152521 days ago1518365655IN
Globitex: Token Sale
0.06 ETH0.0006780732.21875
Pay For Myself50718372018-02-11 16:14:052521 days ago1518365645IN
Globitex: Token Sale
3 ETH0.0010259145
Transfer50718322018-02-11 16:13:182521 days ago1518365598IN
Globitex: Token Sale
0.07192218 ETH0.0008628841
Pay For Myself50718322018-02-11 16:13:182521 days ago1518365598IN
Globitex: Token Sale
0.1129518 ETH0.0010259145
Transfer50718042018-02-11 16:04:422521 days ago1518365082IN
Globitex: Token Sale
0.08 ETH0.00086141
Transfer50717982018-02-11 16:02:402521 days ago1518364960IN
Globitex: Token Sale
0.08345548 ETH0.00086141
Transfer50717912018-02-11 16:00:212521 days ago1518364821IN
Globitex: Token Sale
0.05 ETH0.0004419621
Pay For Myself50717842018-02-11 15:59:002521 days ago1518364740IN
Globitex: Token Sale
0.3 ETH0.0009347141
Pay For Myself50717802018-02-11 15:57:592521 days ago1518364679IN
Globitex: Token Sale
2.97608155 ETH0.0010259145
Halt50717752018-02-11 15:57:022521 days ago1518364622IN
Globitex: Token Sale
0 ETH0.0003239512
Pay For Myself50717752018-02-11 15:57:022521 days ago1518364622IN
Globitex: Token Sale
0.5 ETH0.003846145
Pay For Myself50717712018-02-11 15:56:322521 days ago1518364592IN
Globitex: Token Sale
2 ETH0.0022614345
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
50717752018-02-11 15:57:022521 days ago1518364622
Globitex: Token Sale
0.5 ETH
50717712018-02-11 15:56:322521 days ago1518364592
Globitex: Token Sale
2 ETH
50717672018-02-11 15:55:472521 days ago1518364547
Globitex: Token Sale
0.6 ETH
50717602018-02-11 15:54:372521 days ago1518364477
Globitex: Token Sale
2.6 ETH
50717592018-02-11 15:54:332521 days ago1518364473
Globitex: Token Sale
0.5 ETH
50717592018-02-11 15:54:332521 days ago1518364473
Globitex: Token Sale
80 ETH
50717562018-02-11 15:54:022521 days ago1518364442
Globitex: Token Sale
0.17 ETH
50717532018-02-11 15:53:202521 days ago1518364400
Globitex: Token Sale
0.5 ETH
50717522018-02-11 15:53:132521 days ago1518364393
Globitex: Token Sale
7 ETH
50717472018-02-11 15:52:472521 days ago1518364367
Globitex: Token Sale
0.5 ETH
50717442018-02-11 15:51:152521 days ago1518364275
Globitex: Token Sale
0.49 ETH
50717442018-02-11 15:51:152521 days ago1518364275
Globitex: Token Sale
0.5 ETH
50717412018-02-11 15:50:222521 days ago1518364222
Globitex: Token Sale
0.81 ETH
50717412018-02-11 15:50:222521 days ago1518364222
Globitex: Token Sale
0.02 ETH
50717402018-02-11 15:49:372521 days ago1518364177
Globitex: Token Sale
0.198 ETH
50717392018-02-11 15:49:302521 days ago1518364170
Globitex: Token Sale
0.5 ETH
50717382018-02-11 15:49:232521 days ago1518364163
Globitex: Token Sale
2 ETH
50717372018-02-11 15:49:042521 days ago1518364144
Globitex: Token Sale
90 ETH
50717362018-02-11 15:48:582521 days ago1518364138
Globitex: Token Sale
2.5 ETH
50717362018-02-11 15:48:582521 days ago1518364138
Globitex: Token Sale
2 ETH
50717302018-02-11 15:48:282521 days ago1518364108
Globitex: Token Sale
0.12 ETH
50717242018-02-11 15:47:212521 days ago1518364041
Globitex: Token Sale
0.5 ETH
50717242018-02-11 15:47:212521 days ago1518364041
Globitex: Token Sale
0.1 ETH
50717232018-02-11 15:46:532521 days ago1518364013
Globitex: Token Sale
3 ETH
50717202018-02-11 15:45:522521 days ago1518363952
Globitex: Token Sale
0.62 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PaymentForwarder

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 500 runs

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

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

  function payWithoutChecksum(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 an address.
   *
   * @param customerId Identifier in the central database, UUID v4
   *
   */
   function pay(uint128 customerId, address benefactor, bytes1 checksum) public stopInEmergency payable {
    // see customerid.py
     if (bytes1(sha3(customerId, benefactor)) != checksum) throw;
     payWithoutChecksum(customerId, benefactor);
   }

  /**
   * Pay on a behalf of the sender.
   *
   * @param customerId Identifier in the central database, UUID v4
   *
   */
  function payForMyselfWithChecksum(uint128 customerId, bytes1 checksum) public payable {
    // see customerid.py
    if (bytes1(sha3(customerId)) != checksum) throw;
    payWithoutChecksum(customerId, msg.sender);
  }

  /**
   * Legacy API signature.
   */
  function payForMyself(uint128 customerId) public payable {
    payWithoutChecksum(customerId, msg.sender);
  }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"customerId","type":"uint128"}],"name":"payForMyself","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"customerId","type":"uint128"},{"name":"benefactor","type":"address"}],"name":"payWithoutChecksum","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"customerId","type":"uint128"},{"name":"checksum","type":"bytes1"}],"name":"payForMyselfWithChecksum","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"halt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"customerCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalTransferred","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"halted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"customerId","type":"uint128"},{"name":"benefactor","type":"address"},{"name":"checksum","type":"bytes1"}],"name":"pay","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"unhalt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"teamMultisig","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"paymentsByBenefactor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint128"}],"name":"paymentsByCustomer","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_teamMultisig","type":"address"}],"payable":false,"stateMutability":"nonpayable","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"}]

6060604052341561000f57600080fd5b6040516040806107bd83398101604052808051919060200180516000805460018054600160a060020a03948516600160a060020a03199182161790915595831633939093169086161790941617909255505061074d806100706000396000f3006060604052600436106100cf5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663274465b481146100d457806331288397146100f357806346f2e8801461011c5780635ed7ca5b1461015e5780638da5cb5b146101715780639757e8a3146101a05780639b087b2d146101c5578063b9b8af0b146101d8578063bbc43d41146101ff578063cb3e64fd1461024d578063dbc0c08514610260578063ef3336f514610273578063f2fde38b14610292578063f9215676146102b1575b600080fd5b6100f16fffffffffffffffffffffffffffffffff600435166102d9565b005b6100f16fffffffffffffffffffffffffffffffff60043516600160a060020a03602435166102e6565b6100f16fffffffffffffffffffffffffffffffff600435167fff000000000000000000000000000000000000000000000000000000000000006024351661042d565b341561016957600080fd5b6100f16104c4565b341561017c57600080fd5b610184610516565b604051600160a060020a03909116815260200160405180910390f35b34156101ab57600080fd5b6101b3610525565b60405190815260200160405180910390f35b34156101d057600080fd5b6101b361052b565b34156101e357600080fd5b6101eb610531565b604051901515815260200160405180910390f35b6100f16fffffffffffffffffffffffffffffffff60043516600160a060020a03602435167fff0000000000000000000000000000000000000000000000000000000000000060443516610552565b341561025857600080fd5b6100f161062b565b341561026b57600080fd5b61018461068f565b341561027e57600080fd5b6101b3600160a060020a036004351661069e565b341561029d57600080fd5b6100f1600160a060020a03600435166106b0565b34156102bc57600080fd5b6101b36fffffffffffffffffffffffffffffffff6004351661070f565b6102e381336102e6565b50565b6000805474010000000000000000000000000000000000000000900460ff161561030f57600080fd5b50347f4e4e2d6da11427f2d85d47e2bced64efa9ccd9694ae97786772a22d465bc80a433828585604051600160a060020a03948516815260208101939093526fffffffffffffffffffffffffffffffff90911660408084019190915292166060820152608001905180910390a160028054820190556fffffffffffffffffffffffffffffffff831660009081526004602052604090205415156103b6576003805460010190555b6fffffffffffffffffffffffffffffffff83166000908152600460209081526040808320805485019055600160a060020a038086168452600590925291829020805484019055600154169082156108fc0290839051600060405180830381858888f19350505050151561042857600080fd5b505050565b7fff000000000000000000000000000000000000000000000000000000000000008116826040516fffffffffffffffffffffffffffffffff919091167001000000000000000000000000000000000281526010016040519081900390207fff0000000000000000000000000000000000000000000000000000000000000016146104b657600080fd5b6104c082336102e6565b5050565b60005433600160a060020a039081169116146104df57600080fd5b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600054600160a060020a031681565b60035481565b60025481565b60005474010000000000000000000000000000000000000000900460ff1681565b60005474010000000000000000000000000000000000000000900460ff161561057a57600080fd5b7fff00000000000000000000000000000000000000000000000000000000000000811683836040516fffffffffffffffffffffffffffffffff92909216700100000000000000000000000000000000028252600160a060020a03166c010000000000000000000000000260108201526024016040519081900390207fff00000000000000000000000000000000000000000000000000000000000000161461062157600080fd5b61042883836102e6565b60005433600160a060020a0390811691161461064657600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561066f57600080fd5b6000805474ff000000000000000000000000000000000000000019169055565b600154600160a060020a031681565b60056020526000908152604090205481565b60005433600160a060020a039081169116146106cb57600080fd5b600160a060020a03811615156106e057600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600460205260009081526040902054815600a165627a7a7230582085782cb25c342be9183a6d0cf459cd45c1f3c99111e7ba969a5e3d2a52888a6900290000000000000000000000007b4a608746296ab1cf55c9c19078ccdc38b18dc000000000000000000000000043fccd4f59956a50f5005ef014308bbbc78ffe65

Deployed Bytecode

0x6060604052600436106100cf5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663274465b481146100d457806331288397146100f357806346f2e8801461011c5780635ed7ca5b1461015e5780638da5cb5b146101715780639757e8a3146101a05780639b087b2d146101c5578063b9b8af0b146101d8578063bbc43d41146101ff578063cb3e64fd1461024d578063dbc0c08514610260578063ef3336f514610273578063f2fde38b14610292578063f9215676146102b1575b600080fd5b6100f16fffffffffffffffffffffffffffffffff600435166102d9565b005b6100f16fffffffffffffffffffffffffffffffff60043516600160a060020a03602435166102e6565b6100f16fffffffffffffffffffffffffffffffff600435167fff000000000000000000000000000000000000000000000000000000000000006024351661042d565b341561016957600080fd5b6100f16104c4565b341561017c57600080fd5b610184610516565b604051600160a060020a03909116815260200160405180910390f35b34156101ab57600080fd5b6101b3610525565b60405190815260200160405180910390f35b34156101d057600080fd5b6101b361052b565b34156101e357600080fd5b6101eb610531565b604051901515815260200160405180910390f35b6100f16fffffffffffffffffffffffffffffffff60043516600160a060020a03602435167fff0000000000000000000000000000000000000000000000000000000000000060443516610552565b341561025857600080fd5b6100f161062b565b341561026b57600080fd5b61018461068f565b341561027e57600080fd5b6101b3600160a060020a036004351661069e565b341561029d57600080fd5b6100f1600160a060020a03600435166106b0565b34156102bc57600080fd5b6101b36fffffffffffffffffffffffffffffffff6004351661070f565b6102e381336102e6565b50565b6000805474010000000000000000000000000000000000000000900460ff161561030f57600080fd5b50347f4e4e2d6da11427f2d85d47e2bced64efa9ccd9694ae97786772a22d465bc80a433828585604051600160a060020a03948516815260208101939093526fffffffffffffffffffffffffffffffff90911660408084019190915292166060820152608001905180910390a160028054820190556fffffffffffffffffffffffffffffffff831660009081526004602052604090205415156103b6576003805460010190555b6fffffffffffffffffffffffffffffffff83166000908152600460209081526040808320805485019055600160a060020a038086168452600590925291829020805484019055600154169082156108fc0290839051600060405180830381858888f19350505050151561042857600080fd5b505050565b7fff000000000000000000000000000000000000000000000000000000000000008116826040516fffffffffffffffffffffffffffffffff919091167001000000000000000000000000000000000281526010016040519081900390207fff0000000000000000000000000000000000000000000000000000000000000016146104b657600080fd5b6104c082336102e6565b5050565b60005433600160a060020a039081169116146104df57600080fd5b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600054600160a060020a031681565b60035481565b60025481565b60005474010000000000000000000000000000000000000000900460ff1681565b60005474010000000000000000000000000000000000000000900460ff161561057a57600080fd5b7fff00000000000000000000000000000000000000000000000000000000000000811683836040516fffffffffffffffffffffffffffffffff92909216700100000000000000000000000000000000028252600160a060020a03166c010000000000000000000000000260108201526024016040519081900390207fff00000000000000000000000000000000000000000000000000000000000000161461062157600080fd5b61042883836102e6565b60005433600160a060020a0390811691161461064657600080fd5b60005474010000000000000000000000000000000000000000900460ff16151561066f57600080fd5b6000805474ff000000000000000000000000000000000000000019169055565b600154600160a060020a031681565b60056020526000908152604090205481565b60005433600160a060020a039081169116146106cb57600080fd5b600160a060020a03811615156106e057600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600460205260009081526040902054815600a165627a7a7230582085782cb25c342be9183a6d0cf459cd45c1f3c99111e7ba969a5e3d2a52888a690029

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

0000000000000000000000007b4a608746296ab1cf55c9c19078ccdc38b18dc000000000000000000000000043fccd4f59956a50f5005ef014308bbbc78ffe65

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

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007b4a608746296ab1cf55c9c19078ccdc38b18dc0
Arg [1] : 00000000000000000000000043fccd4f59956a50f5005ef014308bbbc78ffe65


Swarm Source

bzzr://85782cb25c342be9183a6d0cf459cd45c1f3c99111e7ba969a5e3d2a52888a69

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.