More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 5,394 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 5548365 | 2312 days ago | IN | 0.0001 ETH | 0.000861 | ||||
Transfer | 5204481 | 2370 days ago | IN | 0.00001 ETH | 0.000861 | ||||
Transfer | 5009083 | 2403 days ago | IN | 0.001 ETH | 0.000861 | ||||
Pay For Myself | 4783935 | 2443 days ago | IN | 0.02 ETH | 0 | ||||
Pay For Myself | 4782175 | 2443 days ago | IN | 0.28 ETH | 0.00000502 | ||||
Transfer | 4782141 | 2443 days ago | IN | 0.011 ETH | 0.0000021 | ||||
Pay For Myself | 4748052 | 2449 days ago | IN | 0.5 ETH | 0.00008546 | ||||
Pay For Myself | 4711648 | 2455 days ago | IN | 0.397397 ETH | 0.00085467 | ||||
Pay For Myself | 4711620 | 2455 days ago | IN | 0.2 ETH | 0.00085467 | ||||
Pay For Myself | 4711562 | 2455 days ago | IN | 75.47023997 ETH | 0.00050188 | ||||
Pay For Myself | 4711492 | 2455 days ago | IN | 0.68 ETH | 0.00085467 | ||||
Pay For Myself | 4711345 | 2456 days ago | IN | 0.0577 ETH | 0.00050252 | ||||
Pay For Myself | 4711238 | 2456 days ago | IN | 0.097 ETH | 0.00050252 | ||||
Transfer* | 4711212 | 2456 days ago | IN | 0.99 ETH | 0.00153583 | ||||
Pay For Myself | 4711211 | 2456 days ago | IN | 0.62 ETH | 0.00085467 | ||||
Pay For Myself | 4711205 | 2456 days ago | IN | 0.3 ETH | 0.00085467 | ||||
Pay For Myself | 4711163 | 2456 days ago | IN | 0.507397 ETH | 0.00085467 | ||||
Pay For Myself | 4711158 | 2456 days ago | IN | 0.009 ETH | 0.00085467 | ||||
Pay For Myself | 4711020 | 2456 days ago | IN | 1.79 ETH | 0.00085467 | ||||
Transfer | 4709829 | 2456 days ago | IN | 3.2941789 ETH | 0.00037456 | ||||
Pay For Myself | 4709435 | 2456 days ago | IN | 0.05 ETH | 0.00085467 | ||||
Pay For Myself | 4709345 | 2456 days ago | IN | 6 ETH | 0.0037689 | ||||
Pay For Myself | 4709319 | 2456 days ago | IN | 17.1 ETH | 0.0037689 | ||||
Pay For Myself | 4709094 | 2456 days ago | IN | 0.12 ETH | 0.00162387 | ||||
Pay For Myself | 4708240 | 2456 days ago | IN | 0.5 ETH | 0.00085467 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
4783935 | 2443 days ago | 0.02 ETH | ||||
4782175 | 2443 days ago | 0.28 ETH | ||||
4748052 | 2449 days ago | 0.5 ETH | ||||
4711648 | 2455 days ago | 0.397397 ETH | ||||
4711620 | 2455 days ago | 0.2 ETH | ||||
4711562 | 2455 days ago | 75.47023997 ETH | ||||
4711492 | 2455 days ago | 0.68 ETH | ||||
4711345 | 2456 days ago | 0.0577 ETH | ||||
4711238 | 2456 days ago | 0.097 ETH | ||||
4711211 | 2456 days ago | 0.62 ETH | ||||
4711205 | 2456 days ago | 0.3 ETH | ||||
4711163 | 2456 days ago | 0.507397 ETH | ||||
4711158 | 2456 days ago | 0.009 ETH | ||||
4711020 | 2456 days ago | 1.79 ETH | ||||
4709435 | 2456 days ago | 0.05 ETH | ||||
4709345 | 2456 days ago | 6 ETH | ||||
4709319 | 2456 days ago | 17.1 ETH | ||||
4709094 | 2456 days ago | 0.12 ETH | ||||
4708240 | 2456 days ago | 0.5 ETH | ||||
4708170 | 2456 days ago | 0.045555 ETH | ||||
4707232 | 2456 days ago | 1.1 ETH | ||||
4706936 | 2456 days ago | 1 ETH | ||||
4706887 | 2456 days ago | 0.00492199 ETH | ||||
4706802 | 2456 days ago | 0.1072 ETH | ||||
4706745 | 2456 days ago | 0.27 ETH |
Loading...
Loading
Contract Name:
PaymentForwarder
Compiler Version
v0.4.14+commit.c2215d46
Optimization Enabled:
Yes with 500 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.