Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 5 from a total of 5 transactions
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
13362572 | 1024 days ago | 72.614775 ETH | ||||
13362540 | 1024 days ago | 386.43125 ETH | ||||
13342467 | 1027 days ago | 0.25 ETH | ||||
13342467 | 1027 days ago | 0.25 ETH | ||||
13342467 | 1027 days ago | 0.25 ETH | ||||
13342467 | 1027 days ago | 0.05 ETH | ||||
13342467 | 1027 days ago | 0.15 ETH | ||||
13342467 | 1027 days ago | 0.1 ETH | ||||
13342467 | 1027 days ago | 0.25 ETH | ||||
13342467 | 1027 days ago | 0.25 ETH | ||||
13342467 | 1027 days ago | 0.1 ETH | ||||
13342467 | 1027 days ago | 0.1 ETH | ||||
13342467 | 1027 days ago | 0.25 ETH | ||||
13342467 | 1027 days ago | 0.15 ETH | ||||
13342467 | 1027 days ago | 0.1 ETH | ||||
13342467 | 1027 days ago | 0.1 ETH | ||||
13342467 | 1027 days ago | 0.05 ETH | ||||
13342467 | 1027 days ago | 0.1 ETH | ||||
13342467 | 1027 days ago | 0.1 ETH | ||||
13342467 | 1027 days ago | 0.05 ETH | ||||
13342467 | 1027 days ago | 0.2 ETH | ||||
13342467 | 1027 days ago | 0.05 ETH | ||||
13342467 | 1027 days ago | 0.2 ETH | ||||
13342467 | 1027 days ago | 0.05 ETH | ||||
13342467 | 1027 days ago | 0.25 ETH |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x5d4aA08d...B676D38EE The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
PaymentSplitter
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-12 */ // File: contracts/paymentSplitterOld/utils/SafeMath.sol pragma solidity ^0.4.24; /** * @title SafeMath * @dev Math operations with safety checks that revert on error */ library SafeMath { /** * @dev Multiplies two numbers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b); return c; } /** * @dev Integer division of two numbers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0); // Solidity only automatically asserts when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } /** * @dev Adds two numbers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } /** * @dev Divides two numbers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0); return a % b; } } // File: contracts/paymentSplitterOld/PaymentSplitter.sol pragma solidity ^0.4.24; /** * @title PaymentSplitter * @dev This contract can be used when payments need to be received by a group * of people and split proportionately to some number of shares they own. */ contract PaymentSplitter { using SafeMath for uint256; event PayeeAdded(address account, uint256 shares); event PaymentReleased(address to, uint256 amount); event PaymentReceived(address from, uint256 amount); uint256 private _totalShares; uint256 private _totalReleased; mapping(address => uint256) private _shares; mapping(address => uint256) private _released; address[] private _payees; /** * @dev Constructor */ constructor(address[] payees, uint256[] shares) public payable { require(payees.length == shares.length); require(payees.length > 0); for (uint256 i = 0; i < payees.length; i++) { _addPayee(payees[i], shares[i]); } } /** * @dev payable fallback */ function () external payable { emit PaymentReceived(msg.sender, msg.value); } /** * @return the total shares of the contract. */ function totalShares() public view returns(uint256) { return _totalShares; } /** * @return the total amount already released. */ function totalReleased() public view returns(uint256) { return _totalReleased; } /** * @return the shares of an account. */ function shares(address account) public view returns(uint256) { return _shares[account]; } /** * @return the amount already released to an account. */ function released(address account) public view returns(uint256) { return _released[account]; } /** * @return the address of a payee. */ function payee(uint256 index) public view returns(address) { return _payees[index]; } /** * @dev Release one of the payee's proportional payment. * @param account Whose payments will be released. */ function release(address account) public { require(_shares[account] > 0); uint256 totalReceived = address(this).balance.add(_totalReleased); uint256 payment = totalReceived.mul( _shares[account]).div( _totalShares).sub( _released[account] ); require(payment != 0); _released[account] = _released[account].add(payment); _totalReleased = _totalReleased.add(payment); account.transfer(payment); emit PaymentReleased(account, payment); } /** * @dev Add a new payee to the contract. * @param account The address of the payee to add. * @param shares_ The number of shares owned by the payee. */ function _addPayee(address account, uint256 shares_) private { require(account != address(0)); require(shares_ > 0); require(_shares[account] == 0); _payees.push(account); _shares[account] = shares_; _totalShares = _totalShares.add(shares_); emit PayeeAdded(account, shares_); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"release","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalShares","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"payee","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"released","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"shares","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalReleased","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"payees","type":"address[]"},{"name":"shares","type":"uint256[]"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"},{"indexed":false,"name":"shares","type":"uint256"}],"name":"PayeeAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"PaymentReleased","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"PaymentReceived","type":"event"}]
Deployed Bytecode
0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806319165587146100e55780633a98ef39146101285780638b83209b146101535780639852595c146101c0578063ce7c2ac214610217578063e33b7de31461026e575b7f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be7703334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1005b3480156100f157600080fd5b50610126600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610299565b005b34801561013457600080fd5b5061013d610548565b6040518082815260200191505060405180910390f35b34801561015f57600080fd5b5061017e60048036038101908080359060200190929190505050610551565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101cc57600080fd5b50610201600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610594565b6040518082815260200191505060405180910390f35b34801561022357600080fd5b50610258600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105dd565b6040518082815260200191505060405180910390f35b34801561027a57600080fd5b50610283610626565b6040518082815260200191505060405180910390f35b6000806000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156102ea57600080fd5b6103166001543073ffffffffffffffffffffffffffffffffffffffff163161063090919063ffffffff16565b91506103cf600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103c16000546103b3600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548761065190919063ffffffff16565b61068f90919063ffffffff16565b6106b990919063ffffffff16565b9050600081141515156103e157600080fd5b61043381600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461063090919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061048b8160015461063090919063ffffffff16565b6001819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156104d7573d6000803e3d6000fd5b507fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b0568382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050565b60008054905090565b600060048281548110151561056257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600154905090565b600080828401905083811015151561064757600080fd5b8091505092915050565b60008060008414156106665760009150610688565b828402905082848281151561067757fe5b0414151561068457600080fd5b8091505b5092915050565b6000806000831115156106a157600080fd5b82848115156106ac57fe5b0490508091505092915050565b6000808383111515156106cb57600080fd5b828403905080915050929150505600a165627a7a723058201e43c12540b099c68623de39788454e39d4369bc03e2afbe91008790d59188f30029
Deployed Bytecode Sourcemap
2057:2795:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2860:38;2876:10;2888:9;2860:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;2057:2795;3835:516;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3835:516:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2972:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2972:84:0;;;;;;;;;;;;;;;;;;;;;;;3608:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3608:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3448:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3448:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3273:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3273:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3125:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3125:88:0;;;;;;;;;;;;;;;;;;;;;;;3835:516;3921:21;3993:15;3910:1;3891:7;:16;3899:7;3891:16;;;;;;;;;;;;;;;;:20;3883:29;;;;;;;;3945:41;3971:14;;3953:4;3945:21;;;:25;;:41;;;;:::i;:::-;3921:65;;4011:113;4099:9;:18;4109:7;4099:18;;;;;;;;;;;;;;;;4011:71;4069:12;;4011:43;4037:7;:16;4045:7;4037:16;;;;;;;;;;;;;;;;4011:13;:17;;:43;;;;:::i;:::-;:47;;:71;;;;:::i;:::-;:75;;:113;;;;:::i;:::-;3993:131;;4152:1;4141:7;:12;;4133:21;;;;;;;;4184:31;4207:7;4184:9;:18;4194:7;4184:18;;;;;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;4163:9;:18;4173:7;4163:18;;;;;;;;;;;;;;;:52;;;;4239:27;4258:7;4239:14;;:18;;:27;;;;:::i;:::-;4222:14;:44;;;;4275:7;:16;;:25;4292:7;4275:25;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4275:25:0;4312:33;4328:7;4337;4312:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;3835:516;;;:::o;2972:84::-;3015:7;3038:12;;3031:19;;2972:84;:::o;3608:93::-;3658:7;3681;3689:5;3681:14;;;;;;;;;;;;;;;;;;;;;;;;;;;3674:21;;3608:93;;;:::o;3448:102::-;3503:7;3526:9;:18;3536:7;3526:18;;;;;;;;;;;;;;;;3519:25;;3448:102;;;:::o;3273:98::-;3326:7;3349;:16;3357:7;3349:16;;;;;;;;;;;;;;;;3342:23;;3273:98;;;:::o;3125:88::-;3170:7;3193:14;;3186:21;;3125:88;:::o;1381:136::-;1439:7;1455:9;1471:1;1467;:5;1455:17;;1492:1;1487;:6;;1479:15;;;;;;;;1510:1;1503:8;;1381:136;;;;;:::o;275:393::-;333:7;602:9;566:1;561;:6;557:37;;;585:1;578:8;;;;557:37;618:1;614;:5;602:17;;643:1;638;634;:5;;;;;;;;:10;626:19;;;;;;;;661:1;654:8;;275:393;;;;;;:::o;783:276::-;841:7;936:9;869:1;865;:5;857:14;;;;;;;;952:1;948;:5;;;;;;;;936:17;;1052:1;1045:8;;783:276;;;;;:::o;1177:136::-;1235:7;1273:9;1264:1;1259;:6;;1251:15;;;;;;;;1289:1;1285;:5;1273:17;;1306:1;1299:8;;1177:136;;;;;:::o
Swarm Source
bzzr://1e43c12540b099c68623de39788454e39d4369bc03e2afbe91008790d59188f3
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.