Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Latest 12 from a total of 12 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 13537823 | 1509 days ago | IN | 0.22184 ETH | 0.00339067 | ||||
| Transfer | 13500647 | 1515 days ago | IN | 0.0356 ETH | 0.00472125 | ||||
| Release | 13449019 | 1523 days ago | IN | 0 ETH | 0.0033669 | ||||
| Release | 13449019 | 1523 days ago | IN | 0 ETH | 0.00354621 | ||||
| Transfer | 13430263 | 1526 days ago | IN | 0.017 ETH | 0.00149181 | ||||
| Transfer | 13402232 | 1531 days ago | IN | 0.03065 ETH | 0.00144204 | ||||
| Transfer | 13359398 | 1537 days ago | IN | 0.41121499 ETH | 0.00267706 | ||||
| Transfer | 13319715 | 1544 days ago | IN | 0.69090236 ETH | 0.0014041 | ||||
| Transfer | 13281647 | 1550 days ago | IN | 0.13833787 ETH | 0.0009064 | ||||
| Release | 13230911 | 1557 days ago | IN | 0 ETH | 0.00566973 | ||||
| Release | 13230911 | 1557 days ago | IN | 0 ETH | 0.007405 | ||||
| Transfer | 13230026 | 1558 days ago | IN | 5.96446807 ETH | 0.00154271 |
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
SharkRoyalties
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 SharkRoyalties is PaymentSplitter {
// Withdrawal addresses
address t1 = 0x100f2EF1D7Ae71fDD792Fd3F2C18ef96C44d916F;
address t2 = 0xda73C4DFa2F04B189A7f8EafB586501b4D0B73dC;
address[] addressList = [t1, t2];
uint256[] shareList = [65, 35];
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;
// 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;
}
}
}// 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;
/**
* @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);
}
}
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
}
}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
608060405273100f2ef1d7ae71fdd792fd3f2c18ef96c44d916f600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073da73c4dfa2f04b189a7f8eafb586501b4d0b73dc600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250600790600262000171929190620005cc565b506040518060400160405280604160ff168152602001602360ff168152506008906002620001a19291906200065b565b50348015620001af57600080fd5b5060078054806020026020016040519081016040528092919081815260200182805480156200023457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620001e9575b505050505060088054806020026020016040519081016040528092919081815260200182805480156200028757602002820191906000526020600020905b81548152602001906001019080831162000272575b50505050508051825114620002d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002ca9062000805565b60405180910390fd5b60008251116200031a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003119062000849565b60405180910390fd5b60005b8251811015620003895762000373838281518110620003415762000340620009b6565b5b60200260200101518383815181106200035f576200035e620009b6565b5b60200260200101516200039260201b60201c565b8080620003809062000939565b9150506200031d565b50505062000b24565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000405576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003fc90620007e3565b60405180910390fd5b600081116200044b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000442906200086b565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414620004d0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004c79062000827565b60405180910390fd5b6004829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806000546200058791906200089e565b6000819055507f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac8282604051620005c0929190620007b6565b60405180910390a15050565b82805482825590600052602060002090810192821562000648579160200282015b82811115620006475782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190620005ed565b5b509050620006579190620006b2565b5090565b8280548282559060005260206000209081019282156200069f579160200282015b828111156200069e578251829060ff169055916020019190600101906200067c565b5b509050620006ae9190620006b2565b5090565b5b80821115620006cd576000816000905550600101620006b3565b5090565b620006dc81620008fb565b82525050565b6000620006f1602c836200088d565b9150620006fe82620009e5565b604082019050919050565b6000620007186032836200088d565b9150620007258262000a34565b604082019050919050565b60006200073f602b836200088d565b91506200074c8262000a83565b604082019050919050565b600062000766601a836200088d565b9150620007738262000ad2565b602082019050919050565b60006200078d601d836200088d565b91506200079a8262000afb565b602082019050919050565b620007b0816200092f565b82525050565b6000604082019050620007cd6000830185620006d1565b620007dc6020830184620007a5565b9392505050565b60006020820190508181036000830152620007fe81620006e2565b9050919050565b60006020820190508181036000830152620008208162000709565b9050919050565b60006020820190508181036000830152620008428162000730565b9050919050565b60006020820190508181036000830152620008648162000757565b9050919050565b6000602082019050818103600083015262000886816200077e565b9050919050565b600082825260208201905092915050565b6000620008ab826200092f565b9150620008b8836200092f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620008f057620008ef62000987565b5b828201905092915050565b600062000908826200090f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000946826200092f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156200097c576200097b62000987565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f5061796d656e7453706c69747465723a206163636f756e74206973207468652060008201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a2070617965657320616e64207368617260008201527f6573206c656e677468206d69736d617463680000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960008201527f2068617320736861726573000000000000000000000000000000000000000000602082015250565b7f5061796d656e7453706c69747465723a206e6f20706179656573000000000000600082015250565b7f5061796d656e7453706c69747465723a20736861726573206172652030000000600082015250565b610cc68062000b346000396000f3fe6080604052600436106100595760003560e01c806319165587146100a55780633a98ef39146100ce5780638b83209b146100f95780639852595c14610136578063ce7c2ac214610173578063e33b7de3146101b0576100a0565b366100a0577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be7706100876101db565b34604051610096929190610827565b60405180910390a1005b600080fd5b3480156100b157600080fd5b506100cc60048036038101906100c79190610698565b6101e3565b005b3480156100da57600080fd5b506100e361044b565b6040516100f091906108d0565b60405180910390f35b34801561010557600080fd5b50610120600480360381019061011b91906106c5565b610454565b60405161012d91906107e3565b60405180910390f35b34801561014257600080fd5b5061015d6004803603810190610158919061066b565b61049c565b60405161016a91906108d0565b60405180910390f35b34801561017f57600080fd5b5061019a6004803603810190610195919061066b565b6104e5565b6040516101a791906108d0565b60405180910390f35b3480156101bc57600080fd5b506101c561052e565b6040516101d291906108d0565b60405180910390f35b600033905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025c90610850565b60405180910390fd5b6000600154476102759190610907565b90506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600054600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610307919061098e565b610311919061095d565b61031b91906109e8565b90506000811415610361576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610358906108b0565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103ac9190610907565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001546103fd9190610907565b60018190555061040d8382610538565b7fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056838260405161043e9291906107fe565b60405180910390a1505050565b60008054905090565b60006004828154811061046a57610469610afe565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600154905090565b8047101561057b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057290610890565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516105a1906107ce565b60006040518083038185875af1925050503d80600081146105de576040519150601f19603f3d011682016040523d82523d6000602084013e6105e3565b606091505b5050905080610627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061e90610870565b60405180910390fd5b505050565b60008135905061063b81610c4b565b92915050565b60008135905061065081610c62565b92915050565b60008135905061066581610c79565b92915050565b60006020828403121561068157610680610b2d565b5b600061068f8482850161062c565b91505092915050565b6000602082840312156106ae576106ad610b2d565b5b60006106bc84828501610641565b91505092915050565b6000602082840312156106db576106da610b2d565b5b60006106e984828501610656565b91505092915050565b6106fb81610a6a565b82525050565b61070a81610a1c565b82525050565b600061071d6026836108f6565b915061072882610b32565b604082019050919050565b6000610740603a836108f6565b915061074b82610b81565b604082019050919050565b6000610763601d836108f6565b915061076e82610bd0565b602082019050919050565b6000610786602b836108f6565b915061079182610bf9565b604082019050919050565b60006107a96000836108eb565b91506107b482610c48565b600082019050919050565b6107c881610a60565b82525050565b60006107d98261079c565b9150819050919050565b60006020820190506107f86000830184610701565b92915050565b600060408201905061081360008301856106f2565b61082060208301846107bf565b9392505050565b600060408201905061083c6000830185610701565b61084960208301846107bf565b9392505050565b6000602082019050818103600083015261086981610710565b9050919050565b6000602082019050818103600083015261088981610733565b9050919050565b600060208201905081810360008301526108a981610756565b9050919050565b600060208201905081810360008301526108c981610779565b9050919050565b60006020820190506108e560008301846107bf565b92915050565b600081905092915050565b600082825260208201905092915050565b600061091282610a60565b915061091d83610a60565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561095257610951610aa0565b5b828201905092915050565b600061096882610a60565b915061097383610a60565b92508261098357610982610acf565b5b828204905092915050565b600061099982610a60565b91506109a483610a60565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156109dd576109dc610aa0565b5b828202905092915050565b60006109f382610a60565b91506109fe83610a60565b925082821015610a1157610a10610aa0565b5b828203905092915050565b6000610a2782610a40565b9050919050565b6000610a3982610a40565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610a7582610a7c565b9050919050565b6000610a8782610a8e565b9050919050565b6000610a9982610a40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b7f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060008201527f7368617265730000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060008201527f647565207061796d656e74000000000000000000000000000000000000000000602082015250565b50565b610c5481610a1c565b8114610c5f57600080fd5b50565b610c6b81610a2e565b8114610c7657600080fd5b50565b610c8281610a60565b8114610c8d57600080fd5b5056fea26469706673582212205928e3525bf36247f6e51b316e10a833492e0492640a295cb25e35fa16567be464736f6c63430008070033
Deployed Bytecode
0x6080604052600436106100595760003560e01c806319165587146100a55780633a98ef39146100ce5780638b83209b146100f95780639852595c14610136578063ce7c2ac214610173578063e33b7de3146101b0576100a0565b366100a0577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be7706100876101db565b34604051610096929190610827565b60405180910390a1005b600080fd5b3480156100b157600080fd5b506100cc60048036038101906100c79190610698565b6101e3565b005b3480156100da57600080fd5b506100e361044b565b6040516100f091906108d0565b60405180910390f35b34801561010557600080fd5b50610120600480360381019061011b91906106c5565b610454565b60405161012d91906107e3565b60405180910390f35b34801561014257600080fd5b5061015d6004803603810190610158919061066b565b61049c565b60405161016a91906108d0565b60405180910390f35b34801561017f57600080fd5b5061019a6004803603810190610195919061066b565b6104e5565b6040516101a791906108d0565b60405180910390f35b3480156101bc57600080fd5b506101c561052e565b6040516101d291906108d0565b60405180910390f35b600033905090565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025c90610850565b60405180910390fd5b6000600154476102759190610907565b90506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600054600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610307919061098e565b610311919061095d565b61031b91906109e8565b90506000811415610361576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610358906108b0565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103ac9190610907565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001546103fd9190610907565b60018190555061040d8382610538565b7fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056838260405161043e9291906107fe565b60405180910390a1505050565b60008054905090565b60006004828154811061046a57610469610afe565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600154905090565b8047101561057b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057290610890565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516105a1906107ce565b60006040518083038185875af1925050503d80600081146105de576040519150601f19603f3d011682016040523d82523d6000602084013e6105e3565b606091505b5050905080610627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061e90610870565b60405180910390fd5b505050565b60008135905061063b81610c4b565b92915050565b60008135905061065081610c62565b92915050565b60008135905061066581610c79565b92915050565b60006020828403121561068157610680610b2d565b5b600061068f8482850161062c565b91505092915050565b6000602082840312156106ae576106ad610b2d565b5b60006106bc84828501610641565b91505092915050565b6000602082840312156106db576106da610b2d565b5b60006106e984828501610656565b91505092915050565b6106fb81610a6a565b82525050565b61070a81610a1c565b82525050565b600061071d6026836108f6565b915061072882610b32565b604082019050919050565b6000610740603a836108f6565b915061074b82610b81565b604082019050919050565b6000610763601d836108f6565b915061076e82610bd0565b602082019050919050565b6000610786602b836108f6565b915061079182610bf9565b604082019050919050565b60006107a96000836108eb565b91506107b482610c48565b600082019050919050565b6107c881610a60565b82525050565b60006107d98261079c565b9150819050919050565b60006020820190506107f86000830184610701565b92915050565b600060408201905061081360008301856106f2565b61082060208301846107bf565b9392505050565b600060408201905061083c6000830185610701565b61084960208301846107bf565b9392505050565b6000602082019050818103600083015261086981610710565b9050919050565b6000602082019050818103600083015261088981610733565b9050919050565b600060208201905081810360008301526108a981610756565b9050919050565b600060208201905081810360008301526108c981610779565b9050919050565b60006020820190506108e560008301846107bf565b92915050565b600081905092915050565b600082825260208201905092915050565b600061091282610a60565b915061091d83610a60565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561095257610951610aa0565b5b828201905092915050565b600061096882610a60565b915061097383610a60565b92508261098357610982610acf565b5b828204905092915050565b600061099982610a60565b91506109a483610a60565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156109dd576109dc610aa0565b5b828202905092915050565b60006109f382610a60565b91506109fe83610a60565b925082821015610a1157610a10610aa0565b5b828203905092915050565b6000610a2782610a40565b9050919050565b6000610a3982610a40565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610a7582610a7c565b9050919050565b6000610a8782610a8e565b9050919050565b6000610a9982610a40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b7f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060008201527f7368617265730000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060008201527f647565207061796d656e74000000000000000000000000000000000000000000602082015250565b50565b610c5481610a1c565b8114610c5f57600080fd5b50565b610c6b81610a2e565b8114610c7657600080fd5b50565b610c8281610a60565b8114610c8d57600080fd5b5056fea26469706673582212205928e3525bf36247f6e51b316e10a833492e0492640a295cb25e35fa16567be464736f6c63430008070033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $3,001.67 | 0.2574 | $772.75 |
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.