ETH Price: $3,252.13 (+4.40%)
Gas: 2 Gwei

Contract

0x20B9aF691b45cede0B720dd1C51B71Bae4244876
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Release133625722021-10-06 1:54:371024 days ago1633485277IN
0x20B9aF69...ae4244876
0 ETH0.00758335115.91091266
Release133625402021-10-06 1:47:211024 days ago1633484841IN
0x20B9aF69...ae4244876
0 ETH0.0043306489.61678115
Release133310852021-10-01 3:41:141029 days ago1633059674IN
0x20B9aF69...ae4244876
0 ETH0.0099505992.54298103
Transfer133294092021-09-30 21:11:431029 days ago1633036303IN
0x20B9aF69...ae4244876
0.0035 ETH0.00335494149.80115707
0x60806040133246402021-09-30 3:22:221030 days ago1632972142IN
 Contract Creation
0 ETH0.0462492378.29325403

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
133625722021-10-06 1:54:371024 days ago1633485277
0x20B9aF69...ae4244876
72.614775 ETH
133625402021-10-06 1:47:211024 days ago1633484841
0x20B9aF69...ae4244876
386.43125 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.25 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.25 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.25 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.05 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.15 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.1 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.25 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.25 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.1 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.1 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.25 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.15 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.1 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.1 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.05 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.1 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.1 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.05 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.2 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.05 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.2 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.05 ETH
133424672021-10-02 22:04:141027 days ago1633212254
0x20B9aF69...ae4244876
0.25 ETH
View All Internal Transactions
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

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *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

Contract ABI

[{"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

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.