Source Code
Latest 11 from a total of 11 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 15279605 | 1307 days ago | IN | 0.0127495 ETH | 0.0003688 | ||||
| Transfer | 14296608 | 1464 days ago | IN | 0.021845 ETH | 0.0016966 | ||||
| Transfer | 13986589 | 1512 days ago | IN | 0.021115 ETH | 0.00426468 | ||||
| Transfer | 13929007 | 1521 days ago | IN | 0.016345 ETH | 0.00180382 | ||||
| Transfer | 13861134 | 1532 days ago | IN | 0.1076155 ETH | 0.00145885 | ||||
| Release | 13841469 | 1535 days ago | IN | 0 ETH | 0.00207771 | ||||
| Release | 13824915 | 1537 days ago | IN | 0 ETH | 0.0056685 | ||||
| Transfer | 13808855 | 1540 days ago | IN | 0.2732275 ETH | 0.00136583 | ||||
| Release | 13802374 | 1541 days ago | IN | 0 ETH | 0.00466165 | ||||
| Transfer | 13778024 | 1545 days ago | IN | 0.41306 ETH | 0.00224473 | ||||
| Transfer | 13749276 | 1549 days ago | IN | 0.98173665 ETH | 0.00265437 |
Latest 7 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 16265669 | 1164 days ago | 0.000005 ETH | ||||
| Transfer | 16132418 | 1183 days ago | 0.00189995 ETH | ||||
| Transfer | 15349563 | 1296 days ago | 0.0005 ETH | ||||
| - | 14038181 | 1504 days ago | 0.45327491 ETH | ||||
| - | 13841469 | 1535 days ago | 0.06830687 ETH | ||||
| - | 13824915 | 1537 days ago | 0.37530543 ETH | ||||
| - | 13802374 | 1541 days ago | 0.34869916 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PaymentSplitter
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
No with 1000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/utils/Address.sol";
import "@openzeppelin/contracts/utils/Context.sol";
import "@openzeppelin/contracts/utils/math/SafeMath.sol";
/**
* @title PaymentSplitter
* @dev This contract allows to split Ether payments among a group of accounts. The sender does not need to be aware
* that the Ether will be split in this way, since it is handled transparently by the contract.
*
* The split can be in equal parts or in any other arbitrary proportion. The way this is specified is by assigning each
* account to a number of shares. Of all the Ether that this contract receives, each account will then be able to claim
* an amount proportional to the percentage of total shares they were assigned.
*
* `PaymentSplitter` follows a _pull payment_ model. This means that payments are not automatically forwarded to the
* accounts but kept in this contract, and the actual transfer is triggered as a separate step by calling the {release}
* function.
*/
contract PaymentSplitter is Context {
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 Creates an instance of `PaymentSplitter` where each account in `payees` is assigned the number of shares at
* the matching position in the `shares` array.
*
* All addresses in `payees` must be non-zero. Both arrays must have the same non-zero length, and there must be no
* duplicates in `payees`.
*/
constructor(address[] memory payees, uint256[] memory shares_) payable {
require(
payees.length == shares_.length,
"PaymentSplitter: payees and shares length mismatch"
);
require(payees.length > 0, "PaymentSplitter: no payees");
for (uint256 i = 0; i < payees.length; i++) {
_addPayee(payees[i], shares_[i]);
}
}
/**
* @dev The Ether received will be logged with {PaymentReceived} events. Note that these events are not fully
* reliable: it's possible for a contract to receive Ether without triggering this function. This only affects the
* reliability of the events, and not the actual splitting of Ether.
*
* To learn more about this see the Solidity documentation for
* https://solidity.readthedocs.io/en/latest/contracts.html#fallback-function[fallback
* functions].
*/
receive() external payable virtual {
emit PaymentReceived(_msgSender(), msg.value);
}
/**
* @dev Getter for the total shares held by payees.
*/
function totalShares() public view returns (uint256) {
return _totalShares;
}
/**
* @dev Getter for the total amount of Ether already released.
*/
function totalReleased() public view returns (uint256) {
return _totalReleased;
}
/**
* @dev Getter for the amount of shares held by an account.
*/
function shares(address account) public view returns (uint256) {
return _shares[account];
}
/**
* @dev Getter for the amount of Ether already released to a payee.
*/
function released(address account) public view returns (uint256) {
return _released[account];
}
/**
* @dev Getter for the address of the payee number `index`.
*/
function payee(uint256 index) public view returns (address) {
return _payees[index];
}
/**
* @dev Triggers a transfer to `account` of the amount of Ether they are owed, according to their percentage of the
* total shares and their previous withdrawals.
*/
function release(address payable account) public virtual {
require(_shares[account] > 0, "PaymentSplitter: account has no shares");
uint256 totalReceived = address(this).balance + _totalReleased;
uint256 payment = (totalReceived * _shares[account]) /
_totalShares -
_released[account];
require(payment != 0, "PaymentSplitter: account is not due payment");
_released[account] = _released[account] + payment;
_totalReleased = _totalReleased + payment;
Address.sendValue(account, 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),
"PaymentSplitter: account is the zero address"
);
require(shares_ > 0, "PaymentSplitter: shares are 0");
require(
_shares[account] == 0,
"PaymentSplitter: account already has shares"
);
_payees.push(account);
_shares[account] = shares_;
_totalShares = _totalShares + shares_;
emit PayeeAdded(account, shares_);
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* [IMPORTANT]
* ====
* It is unsafe to assume that an address for which this function returns
* false is an externally-owned account (EOA) and not a contract.
*
* Among others, `isContract` will return false for the following
* types of addresses:
*
* - an externally-owned account
* - a contract in construction
* - an address where a contract will be created
* - an address where a contract lived, but was destroyed
* ====
*/
function isContract(address account) internal view returns (bool) {
// This method relies on extcodesize, which returns 0 for contracts in
// construction, since the code is only stored at the end of the
// constructor execution.
uint256 size;
assembly {
size := extcodesize(account)
}
return size > 0;
}
/**
* @dev Replacement for Solidity's `transfer`: sends `amount` wei to
* `recipient`, forwarding all available gas and reverting on errors.
*
* https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
* of certain opcodes, possibly making contracts go over the 2300 gas limit
* imposed by `transfer`, making them unable to receive funds via
* `transfer`. {sendValue} removes this limitation.
*
* https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
*
* IMPORTANT: because control is transferred to `recipient`, care must be
* taken to not create reentrancy vulnerabilities. Consider using
* {ReentrancyGuard} or the
* https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
*/
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
(bool success, ) = recipient.call{value: amount}("");
require(success, "Address: unable to send value, recipient may have reverted");
}
/**
* @dev Performs a Solidity function call using a low level `call`. A
* plain `call` is an unsafe replacement for a function call: use this
* function instead.
*
* If `target` reverts with a revert reason, it is bubbled up by this
* function (like regular Solidity function calls).
*
* Returns the raw returned data. To convert to the expected return value,
* use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
*
* Requirements:
*
* - `target` must be a contract.
* - calling `target` with `data` must not revert.
*
* _Available since v3.1._
*/
function functionCall(address target, bytes memory data) internal returns (bytes memory) {
return functionCall(target, data, "Address: low-level call failed");
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
* `errorMessage` as a fallback revert reason when `target` reverts.
*
* _Available since v3.1._
*/
function functionCall(
address target,
bytes memory data,
string memory errorMessage
) internal returns (bytes memory) {
return functionCallWithValue(target, data, 0, errorMessage);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but also transferring `value` wei to `target`.
*
* Requirements:
*
* - the calling contract must have an ETH balance of at least `value`.
* - the called Solidity function must be `payable`.
*
* _Available since v3.1._
*/
function functionCallWithValue(
address target,
bytes memory data,
uint256 value
) internal returns (bytes memory) {
return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
}
/**
* @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
* with `errorMessage` as a fallback revert reason when `target` reverts.
*
* _Available since v3.1._
*/
function functionCallWithValue(
address target,
bytes memory data,
uint256 value,
string memory errorMessage
) internal returns (bytes memory) {
require(address(this).balance >= value, "Address: insufficient balance for call");
require(isContract(target), "Address: call to non-contract");
(bool success, bytes memory returndata) = target.call{value: value}(data);
return verifyCallResult(success, returndata, errorMessage);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but performing a static call.
*
* _Available since v3.3._
*/
function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
return functionStaticCall(target, data, "Address: low-level static call failed");
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
* but performing a static call.
*
* _Available since v3.3._
*/
function functionStaticCall(
address target,
bytes memory data,
string memory errorMessage
) internal view returns (bytes memory) {
require(isContract(target), "Address: static call to non-contract");
(bool success, bytes memory returndata) = target.staticcall(data);
return verifyCallResult(success, returndata, errorMessage);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but performing a delegate call.
*
* _Available since v3.4._
*/
function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
return functionDelegateCall(target, data, "Address: low-level delegate call failed");
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
* but performing a delegate call.
*
* _Available since v3.4._
*/
function functionDelegateCall(
address target,
bytes memory data,
string memory errorMessage
) internal returns (bytes memory) {
require(isContract(target), "Address: delegate call to non-contract");
(bool success, bytes memory returndata) = target.delegatecall(data);
return verifyCallResult(success, returndata, errorMessage);
}
/**
* @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the
* revert reason using the provided one.
*
* _Available since v4.3._
*/
function verifyCallResult(
bool success,
bytes memory returndata,
string memory errorMessage
) internal pure returns (bytes memory) {
if (success) {
return returndata;
} else {
// Look for revert reason and bubble it up if present
if (returndata.length > 0) {
// The easiest way to bubble the revert reason is using memory via assembly
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert(errorMessage);
}
}
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.
/**
* @dev Wrappers over Solidity's arithmetic operations.
*
* NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler
* now has built in overflow checking.
*/
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
uint256 c = a + b;
if (c < a) return (false, 0);
return (true, c);
}
}
/**
* @dev Returns the substraction of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b > a) return (false, 0);
return (true, a - b);
}
}
/**
* @dev Returns the multiplication of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
// 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-contracts/pull/522
if (a == 0) return (true, 0);
uint256 c = a * b;
if (c / a != b) return (false, 0);
return (true, c);
}
}
/**
* @dev Returns the division of two unsigned integers, with a division by zero flag.
*
* _Available since v3.4._
*/
function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a / b);
}
}
/**
* @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
*
* _Available since v3.4._
*/
function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a % b);
}
}
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
*
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return a - b;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
*
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
/**
* @dev Returns the integer division of two unsigned integers, reverting on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator.
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* reverting when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return a % b;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on
* overflow (when the result is negative).
*
* CAUTION: This function is deprecated because it requires allocating memory for the error
* message unnecessarily. For custom revert reasons use {trySub}.
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b <= a, errorMessage);
return a - b;
}
}
/**
* @dev Returns the integer division of two unsigned integers, reverting with custom message on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a / b;
}
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* reverting with custom message when dividing by zero.
*
* CAUTION: This function is deprecated because it requires allocating memory for the error
* message unnecessarily. For custom revert reasons use {tryMod}.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
unchecked {
require(b > 0, errorMessage);
return a % b;
}
}
}{
"optimizer": {
"enabled": false,
"runs": 1000
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address[]","name":"payees","type":"address[]"},{"internalType":"uint256[]","name":"shares_","type":"uint256[]"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"PayeeAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PaymentReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PaymentReleased","type":"event"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"payee","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"account","type":"address"}],"name":"release","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"released","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"shares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReleased","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052604051620017b7380380620017b7833981810160405281019062000029919062000523565b805182511462000070576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200006790620006ca565b60405180910390fd5b6000825111620000b7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000ae906200070e565b60405180910390fd5b60005b82518110156200016e576200015883828151811062000102577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015183838151811062000144577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516200017760201b60201c565b80806200016590620008bb565b915050620000ba565b50505062000aeb565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620001ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001e190620006a8565b60405180910390fd5b6000811162000230576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002279062000730565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414620002b5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002ac90620006ec565b60405180910390fd5b6004829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806000546200036c9190620007ea565b6000819055507f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac8282604051620003a59291906200067b565b60405180910390a15050565b6000620003c8620003c2846200077b565b62000752565b90508083825260208201905082856020860282011115620003e857600080fd5b60005b858110156200041c57816200040188826200049b565b845260208401935060208301925050600181019050620003eb565b5050509392505050565b60006200043d6200043784620007aa565b62000752565b905080838252602082019050828560208602820111156200045d57600080fd5b60005b858110156200049157816200047688826200050c565b84526020840193506020830192505060018101905062000460565b5050509392505050565b600081519050620004ac8162000ab7565b92915050565b600082601f830112620004c457600080fd5b8151620004d6848260208601620003b1565b91505092915050565b600082601f830112620004f157600080fd5b81516200050384826020860162000426565b91505092915050565b6000815190506200051d8162000ad1565b92915050565b600080604083850312156200053757600080fd5b600083015167ffffffffffffffff8111156200055257600080fd5b6200056085828601620004b2565b925050602083015167ffffffffffffffff8111156200057e57600080fd5b6200058c85828601620004df565b9150509250929050565b620005a18162000847565b82525050565b6000620005b6602c83620007d9565b9150620005c38262000978565b604082019050919050565b6000620005dd603283620007d9565b9150620005ea82620009c7565b604082019050919050565b600062000604602b83620007d9565b9150620006118262000a16565b604082019050919050565b60006200062b601a83620007d9565b9150620006388262000a65565b602082019050919050565b600062000652601d83620007d9565b91506200065f8262000a8e565b602082019050919050565b62000675816200087b565b82525050565b600060408201905062000692600083018562000596565b620006a160208301846200066a565b9392505050565b60006020820190508181036000830152620006c381620005a7565b9050919050565b60006020820190508181036000830152620006e581620005ce565b9050919050565b600060208201905081810360008301526200070781620005f5565b9050919050565b6000602082019050818103600083015262000729816200061c565b9050919050565b600060208201905081810360008301526200074b8162000643565b9050919050565b60006200075e62000771565b90506200076c828262000885565b919050565b6000604051905090565b600067ffffffffffffffff82111562000799576200079862000938565b5b602082029050602081019050919050565b600067ffffffffffffffff821115620007c857620007c762000938565b5b602082029050602081019050919050565b600082825260208201905092915050565b6000620007f7826200087b565b915062000804836200087b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200083c576200083b62000909565b5b828201905092915050565b600062000854826200085b565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b620008908262000967565b810181811067ffffffffffffffff82111715620008b257620008b162000938565b5b80604052505050565b6000620008c8826200087b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415620008fe57620008fd62000909565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f5061796d656e7453706c69747465723a206163636f756e74206973207468652060008201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a2070617965657320616e64207368617260008201527f6573206c656e677468206d69736d617463680000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960008201527f2068617320736861726573000000000000000000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a206e6f20706179656573000000000000600082015250565b7f5061796d656e7453706c69747465723a20736861726573206172652030000000600082015250565b62000ac28162000847565b811462000ace57600080fd5b50565b62000adc816200087b565b811462000ae857600080fd5b50565b610cbc8062000afb6000396000f3fe6080604052600436106100695760003560e01c80639852595c116100435780639852595c14610146578063ce7c2ac214610183578063e33b7de3146101c0576100b0565b806319165587146100b55780633a98ef39146100de5780638b83209b14610109576100b0565b366100b0577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be7706100976101eb565b346040516100a6929190610851565b60405180910390a1005b600080fd5b3480156100c157600080fd5b506100dc60048036038101906100d791906106ca565b6101f3565b005b3480156100ea57600080fd5b506100f361045b565b60405161010091906108fa565b60405180910390f35b34801561011557600080fd5b50610130600480360381019061012b91906106f3565b610464565b60405161013d919061080d565b60405180910390f35b34801561015257600080fd5b5061016d600480360381019061016891906106a1565b6104d2565b60405161017a91906108fa565b60405180910390f35b34801561018f57600080fd5b506101aa60048036038101906101a591906106a1565b61051b565b6040516101b791906108fa565b60405180910390f35b3480156101cc57600080fd5b506101d5610564565b6040516101e291906108fa565b60405180910390f35b600033905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026c9061087a565b60405180910390fd5b6000600154476102859190610931565b90506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600054600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461031791906109b8565b6103219190610987565b61032b9190610a12565b90506000811415610371576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610368906108da565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103bc9190610931565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060015461040d9190610931565b60018190555061041d838261056e565b7fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056838260405161044e929190610828565b60405180910390a1505050565b60008054905090565b6000600482815481106104a0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600154905090565b804710156105b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a8906108ba565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516105d7906107f8565b60006040518083038185875af1925050503d8060008114610614576040519150601f19603f3d011682016040523d82523d6000602084013e610619565b606091505b505090508061065d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106549061089a565b60405180910390fd5b505050565b60008135905061067181610c41565b92915050565b60008135905061068681610c58565b92915050565b60008135905061069b81610c6f565b92915050565b6000602082840312156106b357600080fd5b60006106c184828501610662565b91505092915050565b6000602082840312156106dc57600080fd5b60006106ea84828501610677565b91505092915050565b60006020828403121561070557600080fd5b60006107138482850161068c565b91505092915050565b61072581610a94565b82525050565b61073481610a46565b82525050565b6000610747602683610920565b915061075282610b28565b604082019050919050565b600061076a603a83610920565b915061077582610b77565b604082019050919050565b600061078d601d83610920565b915061079882610bc6565b602082019050919050565b60006107b0602b83610920565b91506107bb82610bef565b604082019050919050565b60006107d3600083610915565b91506107de82610c3e565b600082019050919050565b6107f281610a8a565b82525050565b6000610803826107c6565b9150819050919050565b6000602082019050610822600083018461072b565b92915050565b600060408201905061083d600083018561071c565b61084a60208301846107e9565b9392505050565b6000604082019050610866600083018561072b565b61087360208301846107e9565b9392505050565b600060208201905081810360008301526108938161073a565b9050919050565b600060208201905081810360008301526108b38161075d565b9050919050565b600060208201905081810360008301526108d381610780565b9050919050565b600060208201905081810360008301526108f3816107a3565b9050919050565b600060208201905061090f60008301846107e9565b92915050565b600081905092915050565b600082825260208201905092915050565b600061093c82610a8a565b915061094783610a8a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561097c5761097b610aca565b5b828201905092915050565b600061099282610a8a565b915061099d83610a8a565b9250826109ad576109ac610af9565b5b828204905092915050565b60006109c382610a8a565b91506109ce83610a8a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a0757610a06610aca565b5b828202905092915050565b6000610a1d82610a8a565b9150610a2883610a8a565b925082821015610a3b57610a3a610aca565b5b828203905092915050565b6000610a5182610a6a565b9050919050565b6000610a6382610a6a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610a9f82610aa6565b9050919050565b6000610ab182610ab8565b9050919050565b6000610ac382610a6a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060008201527f7368617265730000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060008201527f647565207061796d656e74000000000000000000000000000000000000000000602082015250565b50565b610c4a81610a46565b8114610c5557600080fd5b50565b610c6181610a58565b8114610c6c57600080fd5b50565b610c7881610a8a565b8114610c8357600080fd5b5056fea2646970667358221220b7886b2ac3dad4e606af914507c86d1f86a0611e7b53ca4301f79c6ad9158fe564736f6c6343000804003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000500000000000000000000000008df486d3646f54bd33785b0d88b0b1592a3f6ce0000000000000000000000009762fc1e8fad1af3aecf85a1659f3e0e8e12f0fe000000000000000000000000242b0785ee336d8fb396db1fef4ff012b61fce580000000000000000000000000d04f850574a99f82f80e0c9469250958e94ff20000000000000000000000000acf32962799138c871c7d97492164303dd9afa08000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000e100000000000000000000000000000000000000000000000000000000000000e100000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000032
Deployed Bytecode
0x6080604052600436106100695760003560e01c80639852595c116100435780639852595c14610146578063ce7c2ac214610183578063e33b7de3146101c0576100b0565b806319165587146100b55780633a98ef39146100de5780638b83209b14610109576100b0565b366100b0577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be7706100976101eb565b346040516100a6929190610851565b60405180910390a1005b600080fd5b3480156100c157600080fd5b506100dc60048036038101906100d791906106ca565b6101f3565b005b3480156100ea57600080fd5b506100f361045b565b60405161010091906108fa565b60405180910390f35b34801561011557600080fd5b50610130600480360381019061012b91906106f3565b610464565b60405161013d919061080d565b60405180910390f35b34801561015257600080fd5b5061016d600480360381019061016891906106a1565b6104d2565b60405161017a91906108fa565b60405180910390f35b34801561018f57600080fd5b506101aa60048036038101906101a591906106a1565b61051b565b6040516101b791906108fa565b60405180910390f35b3480156101cc57600080fd5b506101d5610564565b6040516101e291906108fa565b60405180910390f35b600033905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026c9061087a565b60405180910390fd5b6000600154476102859190610931565b90506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600054600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461031791906109b8565b6103219190610987565b61032b9190610a12565b90506000811415610371576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610368906108da565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103bc9190610931565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060015461040d9190610931565b60018190555061041d838261056e565b7fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056838260405161044e929190610828565b60405180910390a1505050565b60008054905090565b6000600482815481106104a0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600154905090565b804710156105b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a8906108ba565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516105d7906107f8565b60006040518083038185875af1925050503d8060008114610614576040519150601f19603f3d011682016040523d82523d6000602084013e610619565b606091505b505090508061065d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106549061089a565b60405180910390fd5b505050565b60008135905061067181610c41565b92915050565b60008135905061068681610c58565b92915050565b60008135905061069b81610c6f565b92915050565b6000602082840312156106b357600080fd5b60006106c184828501610662565b91505092915050565b6000602082840312156106dc57600080fd5b60006106ea84828501610677565b91505092915050565b60006020828403121561070557600080fd5b60006107138482850161068c565b91505092915050565b61072581610a94565b82525050565b61073481610a46565b82525050565b6000610747602683610920565b915061075282610b28565b604082019050919050565b600061076a603a83610920565b915061077582610b77565b604082019050919050565b600061078d601d83610920565b915061079882610bc6565b602082019050919050565b60006107b0602b83610920565b91506107bb82610bef565b604082019050919050565b60006107d3600083610915565b91506107de82610c3e565b600082019050919050565b6107f281610a8a565b82525050565b6000610803826107c6565b9150819050919050565b6000602082019050610822600083018461072b565b92915050565b600060408201905061083d600083018561071c565b61084a60208301846107e9565b9392505050565b6000604082019050610866600083018561072b565b61087360208301846107e9565b9392505050565b600060208201905081810360008301526108938161073a565b9050919050565b600060208201905081810360008301526108b38161075d565b9050919050565b600060208201905081810360008301526108d381610780565b9050919050565b600060208201905081810360008301526108f3816107a3565b9050919050565b600060208201905061090f60008301846107e9565b92915050565b600081905092915050565b600082825260208201905092915050565b600061093c82610a8a565b915061094783610a8a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561097c5761097b610aca565b5b828201905092915050565b600061099282610a8a565b915061099d83610a8a565b9250826109ad576109ac610af9565b5b828204905092915050565b60006109c382610a8a565b91506109ce83610a8a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a0757610a06610aca565b5b828202905092915050565b6000610a1d82610a8a565b9150610a2883610a8a565b925082821015610a3b57610a3a610aca565b5b828203905092915050565b6000610a5182610a6a565b9050919050565b6000610a6382610a6a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610a9f82610aa6565b9050919050565b6000610ab182610ab8565b9050919050565b6000610ac382610a6a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060008201527f7368617265730000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060008201527f647565207061796d656e74000000000000000000000000000000000000000000602082015250565b50565b610c4a81610a46565b8114610c5557600080fd5b50565b610c6181610a58565b8114610c6c57600080fd5b50565b610c7881610a8a565b8114610c8357600080fd5b5056fea2646970667358221220b7886b2ac3dad4e606af914507c86d1f86a0611e7b53ca4301f79c6ad9158fe564736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000500000000000000000000000008df486d3646f54bd33785b0d88b0b1592a3f6ce0000000000000000000000009762fc1e8fad1af3aecf85a1659f3e0e8e12f0fe000000000000000000000000242b0785ee336d8fb396db1fef4ff012b61fce580000000000000000000000000d04f850574a99f82f80e0c9469250958e94ff20000000000000000000000000acf32962799138c871c7d97492164303dd9afa08000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000e100000000000000000000000000000000000000000000000000000000000000e100000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000032
-----Decoded View---------------
Arg [0] : payees (address[]): 0x08df486d3646f54bd33785b0D88b0b1592A3F6CE,0x9762Fc1E8fAd1af3AECf85a1659F3E0e8E12f0fe,0x242B0785ee336d8fB396DB1feF4FF012b61fCE58,0x0d04f850574a99f82f80E0c9469250958E94Ff20,0xaCF32962799138c871c7d97492164303Dd9aFA08
Arg [1] : shares_ (uint256[]): 225,225,250,250,50
-----Encoded View---------------
14 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [3] : 00000000000000000000000008df486d3646f54bd33785b0d88b0b1592a3f6ce
Arg [4] : 0000000000000000000000009762fc1e8fad1af3aecf85a1659f3e0e8e12f0fe
Arg [5] : 000000000000000000000000242b0785ee336d8fb396db1fef4ff012b61fce58
Arg [6] : 0000000000000000000000000d04f850574a99f82f80e0c9469250958e94ff20
Arg [7] : 000000000000000000000000acf32962799138c871c7d97492164303dd9afa08
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [9] : 00000000000000000000000000000000000000000000000000000000000000e1
Arg [10] : 00000000000000000000000000000000000000000000000000000000000000e1
Arg [11] : 00000000000000000000000000000000000000000000000000000000000000fa
Arg [12] : 00000000000000000000000000000000000000000000000000000000000000fa
Arg [13] : 0000000000000000000000000000000000000000000000000000000000000032
Loading...
Loading
Loading...
Loading
Net Worth in USD
$1,272.00
Net Worth in ETH
0.605371
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $2,104.17 | 0.6045 | $1,272 |
Loading...
Loading
Loading...
Loading
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.