Source Code
Overview
ETH Balance
0.418404687677317439 ETH
Eth Value
$793.65 (@ $1,896.86/ETH)Latest 18 from a total of 18 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Release | 14186278 | 1472 days ago | IN | 0 ETH | 0.00347937 | ||||
| Release | 14186160 | 1472 days ago | IN | 0 ETH | 0.00626207 | ||||
| Release | 14172464 | 1475 days ago | IN | 0 ETH | 0.00359329 | ||||
| Transfer | 14131602 | 1481 days ago | IN | 0.036045 ETH | 0.0015961 | ||||
| Release | 14128957 | 1481 days ago | IN | 0 ETH | 0.00975959 | ||||
| Transfer | 14103539 | 1485 days ago | IN | 0.0466 ETH | 0.0026272 | ||||
| Transfer | 14030881 | 1496 days ago | IN | 0.12117 ETH | 0.00282167 | ||||
| Transfer | 13980494 | 1504 days ago | IN | 0.075855 ETH | 0.00360338 | ||||
| Transfer | 13929158 | 1512 days ago | IN | 0.018975 ETH | 0.00206972 | ||||
| Transfer | 13899765 | 1517 days ago | IN | 0.032845 ETH | 0.00242035 | ||||
| Release | 13896207 | 1517 days ago | IN | 0 ETH | 0.00755326 | ||||
| Transfer | 13868780 | 1522 days ago | IN | 0.03874463 ETH | 0.00124483 | ||||
| Transfer | 13822927 | 1529 days ago | IN | 0.0407495 ETH | 0.00158143 | ||||
| Transfer | 13796127 | 1533 days ago | IN | 0.0257725 ETH | 0.00099256 | ||||
| Transfer | 13740813 | 1541 days ago | IN | 0.02724919 ETH | 0.00274057 | ||||
| Transfer | 13710377 | 1546 days ago | IN | 0.015445 ETH | 0.00315725 | ||||
| Transfer | 13685223 | 1550 days ago | IN | 0.1131225 ETH | 0.00266738 | ||||
| Transfer | 13630326 | 1559 days ago | IN | 0.79058266 ETH | 0.00294931 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
SharkCoveRoyalties
Compiler Version
v0.8.7+commit.e28d00a7
Optimization Enabled:
No with 200 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/finance/PaymentSplitter.sol";
contract SharkCoveRoyalties is PaymentSplitter {
// Withdrawal addresses
address t1 = 0x5a6F0489f0bfcD21889D26189C218a455612148F;
address t2 = 0xA6C045A14127F1D5Dfd3b1aF17823ee54Ef2437d;
address t3 = 0x100f2EF1D7Ae71fDD792Fd3F2C18ef96C44d916F;
address t4 = 0xB7edf3Cbb58ecb74BdE6298294c7AAb339F3cE4a;
address t5 = 0x87a8C74DFA32e09700369584F5dFAD1b5b653E2C;
address[] addressList = [t1, t2, t3, t4, t5];
uint256[] shareList = [4500, 2750, 935, 1540, 275];
constructor()
PaymentSplitter(addressList, shareList) {}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "../utils/Address.sol";
import "../utils/Context.sol";
import "../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": 200
},
"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":[],"stateMutability":"nonpayable","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
6080604052735a6f0489f0bfcd21889d26189c218a455612148f600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a6c045a14127f1d5dfd3b1af17823ee54ef2437d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073100f2ef1d7ae71fdd792fd3f2c18ef96c44d916f600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b7edf3cbb58ecb74bde6298294c7aab339f3ce4a600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507387a8c74dfa32e09700369584f5dfad1b5b653e2c600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060a00160405280600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250600a9060056200036c929190620007ef565b506040518060a0016040528061119461ffff168152602001610abe61ffff1681526020016103a761ffff16815260200161060461ffff16815260200161011361ffff16815250600b906005620003c49291906200087e565b50348015620003d257600080fd5b50600a8054806020026020016040519081016040528092919081815260200182805480156200045757602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116200040c575b5050505050600b805480602002602001604051908101604052809291908181526020018280548015620004aa57602002820191906000526020600020905b81548152602001906001019080831162000495575b50505050508051825114620004f6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004ed9062000a29565b60405180910390fd5b60008251116200053d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005349062000a6d565b60405180910390fd5b60005b8251811015620005ac576200059683828151811062000564576200056362000bda565b5b602002602001015183838151811062000582576200058162000bda565b5b6020026020010151620005b560201b60201c565b8080620005a39062000b5d565b91505062000540565b50505062000d48565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000628576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200061f9062000a07565b60405180910390fd5b600081116200066e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006659062000a8f565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414620006f3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006ea9062000a4b565b60405180910390fd5b6004829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600054620007aa919062000ac2565b6000819055507f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac8282604051620007e3929190620009da565b60405180910390a15050565b8280548282559060005260206000209081019282156200086b579160200282015b828111156200086a5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000810565b5b5090506200087a9190620008d6565b5090565b828054828255906000526020600020908101928215620008c3579160200282015b82811115620008c2578251829061ffff169055916020019190600101906200089f565b5b509050620008d29190620008d6565b5090565b5b80821115620008f1576000816000905550600101620008d7565b5090565b620009008162000b1f565b82525050565b600062000915602c8362000ab1565b9150620009228262000c09565b604082019050919050565b60006200093c60328362000ab1565b9150620009498262000c58565b604082019050919050565b600062000963602b8362000ab1565b9150620009708262000ca7565b604082019050919050565b60006200098a601a8362000ab1565b9150620009978262000cf6565b602082019050919050565b6000620009b1601d8362000ab1565b9150620009be8262000d1f565b602082019050919050565b620009d48162000b53565b82525050565b6000604082019050620009f16000830185620008f5565b62000a006020830184620009c9565b9392505050565b6000602082019050818103600083015262000a228162000906565b9050919050565b6000602082019050818103600083015262000a44816200092d565b9050919050565b6000602082019050818103600083015262000a668162000954565b9050919050565b6000602082019050818103600083015262000a88816200097b565b9050919050565b6000602082019050818103600083015262000aaa81620009a2565b9050919050565b600082825260208201905092915050565b600062000acf8262000b53565b915062000adc8362000b53565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000b145762000b1362000bab565b5b828201905092915050565b600062000b2c8262000b33565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000b6a8262000b53565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000ba05762000b9f62000bab565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f5061796d656e7453706c69747465723a206163636f756e74206973207468652060008201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a2070617965657320616e64207368617260008201527f6573206c656e677468206d69736d617463680000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960008201527f2068617320736861726573000000000000000000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a206e6f20706179656573000000000000600082015250565b7f5061796d656e7453706c69747465723a20736861726573206172652030000000600082015250565b610cc68062000d586000396000f3fe6080604052600436106100595760003560e01c806319165587146100a55780633a98ef39146100ce5780638b83209b146100f95780639852595c14610136578063ce7c2ac214610173578063e33b7de3146101b0576100a0565b366100a0577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be7706100876101db565b34604051610096929190610827565b60405180910390a1005b600080fd5b3480156100b157600080fd5b506100cc60048036038101906100c79190610698565b6101e3565b005b3480156100da57600080fd5b506100e361044b565b6040516100f091906108d0565b60405180910390f35b34801561010557600080fd5b50610120600480360381019061011b91906106c5565b610454565b60405161012d91906107e3565b60405180910390f35b34801561014257600080fd5b5061015d6004803603810190610158919061066b565b61049c565b60405161016a91906108d0565b60405180910390f35b34801561017f57600080fd5b5061019a6004803603810190610195919061066b565b6104e5565b6040516101a791906108d0565b60405180910390f35b3480156101bc57600080fd5b506101c561052e565b6040516101d291906108d0565b60405180910390f35b600033905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025c90610850565b60405180910390fd5b6000600154476102759190610907565b90506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600054600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610307919061098e565b610311919061095d565b61031b91906109e8565b90506000811415610361576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610358906108b0565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103ac9190610907565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001546103fd9190610907565b60018190555061040d8382610538565b7fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056838260405161043e9291906107fe565b60405180910390a1505050565b60008054905090565b60006004828154811061046a57610469610afe565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600154905090565b8047101561057b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057290610890565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516105a1906107ce565b60006040518083038185875af1925050503d80600081146105de576040519150601f19603f3d011682016040523d82523d6000602084013e6105e3565b606091505b5050905080610627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061e90610870565b60405180910390fd5b505050565b60008135905061063b81610c4b565b92915050565b60008135905061065081610c62565b92915050565b60008135905061066581610c79565b92915050565b60006020828403121561068157610680610b2d565b5b600061068f8482850161062c565b91505092915050565b6000602082840312156106ae576106ad610b2d565b5b60006106bc84828501610641565b91505092915050565b6000602082840312156106db576106da610b2d565b5b60006106e984828501610656565b91505092915050565b6106fb81610a6a565b82525050565b61070a81610a1c565b82525050565b600061071d6026836108f6565b915061072882610b32565b604082019050919050565b6000610740603a836108f6565b915061074b82610b81565b604082019050919050565b6000610763601d836108f6565b915061076e82610bd0565b602082019050919050565b6000610786602b836108f6565b915061079182610bf9565b604082019050919050565b60006107a96000836108eb565b91506107b482610c48565b600082019050919050565b6107c881610a60565b82525050565b60006107d98261079c565b9150819050919050565b60006020820190506107f86000830184610701565b92915050565b600060408201905061081360008301856106f2565b61082060208301846107bf565b9392505050565b600060408201905061083c6000830185610701565b61084960208301846107bf565b9392505050565b6000602082019050818103600083015261086981610710565b9050919050565b6000602082019050818103600083015261088981610733565b9050919050565b600060208201905081810360008301526108a981610756565b9050919050565b600060208201905081810360008301526108c981610779565b9050919050565b60006020820190506108e560008301846107bf565b92915050565b600081905092915050565b600082825260208201905092915050565b600061091282610a60565b915061091d83610a60565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561095257610951610aa0565b5b828201905092915050565b600061096882610a60565b915061097383610a60565b92508261098357610982610acf565b5b828204905092915050565b600061099982610a60565b91506109a483610a60565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156109dd576109dc610aa0565b5b828202905092915050565b60006109f382610a60565b91506109fe83610a60565b925082821015610a1157610a10610aa0565b5b828203905092915050565b6000610a2782610a40565b9050919050565b6000610a3982610a40565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610a7582610a7c565b9050919050565b6000610a8782610a8e565b9050919050565b6000610a9982610a40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b7f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060008201527f7368617265730000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060008201527f647565207061796d656e74000000000000000000000000000000000000000000602082015250565b50565b610c5481610a1c565b8114610c5f57600080fd5b50565b610c6b81610a2e565b8114610c7657600080fd5b50565b610c8281610a60565b8114610c8d57600080fd5b5056fea264697066735822122075708a36c48ce4ff718997db808337532157b26759ec024361b57b163a13d8a764736f6c63430008070033
Deployed Bytecode
0x6080604052600436106100595760003560e01c806319165587146100a55780633a98ef39146100ce5780638b83209b146100f95780639852595c14610136578063ce7c2ac214610173578063e33b7de3146101b0576100a0565b366100a0577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be7706100876101db565b34604051610096929190610827565b60405180910390a1005b600080fd5b3480156100b157600080fd5b506100cc60048036038101906100c79190610698565b6101e3565b005b3480156100da57600080fd5b506100e361044b565b6040516100f091906108d0565b60405180910390f35b34801561010557600080fd5b50610120600480360381019061011b91906106c5565b610454565b60405161012d91906107e3565b60405180910390f35b34801561014257600080fd5b5061015d6004803603810190610158919061066b565b61049c565b60405161016a91906108d0565b60405180910390f35b34801561017f57600080fd5b5061019a6004803603810190610195919061066b565b6104e5565b6040516101a791906108d0565b60405180910390f35b3480156101bc57600080fd5b506101c561052e565b6040516101d291906108d0565b60405180910390f35b600033905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025c90610850565b60405180910390fd5b6000600154476102759190610907565b90506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600054600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610307919061098e565b610311919061095d565b61031b91906109e8565b90506000811415610361576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610358906108b0565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103ac9190610907565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001546103fd9190610907565b60018190555061040d8382610538565b7fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056838260405161043e9291906107fe565b60405180910390a1505050565b60008054905090565b60006004828154811061046a57610469610afe565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600154905090565b8047101561057b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057290610890565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516105a1906107ce565b60006040518083038185875af1925050503d80600081146105de576040519150601f19603f3d011682016040523d82523d6000602084013e6105e3565b606091505b5050905080610627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061e90610870565b60405180910390fd5b505050565b60008135905061063b81610c4b565b92915050565b60008135905061065081610c62565b92915050565b60008135905061066581610c79565b92915050565b60006020828403121561068157610680610b2d565b5b600061068f8482850161062c565b91505092915050565b6000602082840312156106ae576106ad610b2d565b5b60006106bc84828501610641565b91505092915050565b6000602082840312156106db576106da610b2d565b5b60006106e984828501610656565b91505092915050565b6106fb81610a6a565b82525050565b61070a81610a1c565b82525050565b600061071d6026836108f6565b915061072882610b32565b604082019050919050565b6000610740603a836108f6565b915061074b82610b81565b604082019050919050565b6000610763601d836108f6565b915061076e82610bd0565b602082019050919050565b6000610786602b836108f6565b915061079182610bf9565b604082019050919050565b60006107a96000836108eb565b91506107b482610c48565b600082019050919050565b6107c881610a60565b82525050565b60006107d98261079c565b9150819050919050565b60006020820190506107f86000830184610701565b92915050565b600060408201905061081360008301856106f2565b61082060208301846107bf565b9392505050565b600060408201905061083c6000830185610701565b61084960208301846107bf565b9392505050565b6000602082019050818103600083015261086981610710565b9050919050565b6000602082019050818103600083015261088981610733565b9050919050565b600060208201905081810360008301526108a981610756565b9050919050565b600060208201905081810360008301526108c981610779565b9050919050565b60006020820190506108e560008301846107bf565b92915050565b600081905092915050565b600082825260208201905092915050565b600061091282610a60565b915061091d83610a60565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561095257610951610aa0565b5b828201905092915050565b600061096882610a60565b915061097383610a60565b92508261098357610982610acf565b5b828204905092915050565b600061099982610a60565b91506109a483610a60565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156109dd576109dc610aa0565b5b828202905092915050565b60006109f382610a60565b91506109fe83610a60565b925082821015610a1157610a10610aa0565b5b828203905092915050565b6000610a2782610a40565b9050919050565b6000610a3982610a40565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610a7582610a7c565b9050919050565b6000610a8782610a8e565b9050919050565b6000610a9982610a40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b7f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060008201527f7368617265730000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060008201527f647565207061796d656e74000000000000000000000000000000000000000000602082015250565b50565b610c5481610a1c565b8114610c5f57600080fd5b50565b610c6b81610a2e565b8114610c7657600080fd5b50565b610c8281610a60565b8114610c8d57600080fd5b5056fea264697066735822122075708a36c48ce4ff718997db808337532157b26759ec024361b57b163a13d8a764736f6c63430008070033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$793.65
Net Worth in ETH
0.418405
Token Allocations
ETH
100.00%
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $1,896.86 | 0.4184 | $793.65 |
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.