Overview
ETH Balance
1.898411737761471247 ETH
Eth Value
$7,483.34 (@ $3,941.89/ETH)Token Holdings
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 460 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unlock | 17136921 | 595 days ago | IN | 0 ETH | 0.0041368 | ||||
Unlock | 17061940 | 605 days ago | IN | 0 ETH | 0.00879862 | ||||
Claim Reward | 16664586 | 661 days ago | IN | 0 ETH | 0.00280184 | ||||
Unlock | 16600448 | 670 days ago | IN | 0 ETH | 0.0028343 | ||||
Unlock | 16598564 | 671 days ago | IN | 0 ETH | 0.00274314 | ||||
Unlock | 16566704 | 675 days ago | IN | 0 ETH | 0.00214321 | ||||
Claim Reward | 16562166 | 676 days ago | IN | 0 ETH | 0.00096962 | ||||
Claim Reward | 16548426 | 678 days ago | IN | 0 ETH | 0.00135276 | ||||
Unlock | 16541117 | 679 days ago | IN | 0 ETH | 0.00249109 | ||||
Unlock | 16541113 | 679 days ago | IN | 0 ETH | 0.00293404 | ||||
Unlock | 16541104 | 679 days ago | IN | 0 ETH | 0.00209256 | ||||
Set Time Lock | 16541102 | 679 days ago | IN | 0 ETH | 0.00041328 | ||||
Unlock | 16540438 | 679 days ago | IN | 0 ETH | 0.00247093 | ||||
Unlock | 16538102 | 679 days ago | IN | 0 ETH | 0.00286302 | ||||
Unlock | 16538055 | 679 days ago | IN | 0 ETH | 0.00241999 | ||||
Unlock | 16535434 | 679 days ago | IN | 0 ETH | 0.00286883 | ||||
Claim Reward | 16535124 | 679 days ago | IN | 0 ETH | 0.00079159 | ||||
Unlock | 16534487 | 679 days ago | IN | 0 ETH | 0.00058553 | ||||
Unlock | 16534486 | 679 days ago | IN | 0 ETH | 0.00245789 | ||||
Claim Reward | 16533946 | 680 days ago | IN | 0 ETH | 0.00091735 | ||||
Claim Reward | 16533930 | 680 days ago | IN | 0 ETH | 0.00093261 | ||||
Unlock | 16532794 | 680 days ago | IN | 0 ETH | 0.00225099 | ||||
Unlock | 16530330 | 680 days ago | IN | 0 ETH | 0.0025991 | ||||
Unlock | 16530325 | 680 days ago | IN | 0 ETH | 0.00262231 | ||||
Set Min Day Of M... | 16530230 | 680 days ago | IN | 0 ETH | 0.00069445 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
16664586 | 661 days ago | 0.04633256 ETH | ||||
16600448 | 670 days ago | 0.01533373 ETH | ||||
16562166 | 676 days ago | 0.14798468 ETH | ||||
16548426 | 678 days ago | 0.01839524 ETH | ||||
16541117 | 679 days ago | 0.14895438 ETH | ||||
16541113 | 679 days ago | 0.03916896 ETH | ||||
16538102 | 679 days ago | 0.00730357 ETH | ||||
16533946 | 680 days ago | 0.04462767 ETH | ||||
16533930 | 680 days ago | 0.04421392 ETH | ||||
16525128 | 681 days ago | 0.00124199 ETH | ||||
16514462 | 682 days ago | 0.0360716 ETH | ||||
16495016 | 685 days ago | 0.00784413 ETH | ||||
16490318 | 686 days ago | 0.05046591 ETH | ||||
16487985 | 686 days ago | 0.00735998 ETH | ||||
16485703 | 686 days ago | 0.21946176 ETH | ||||
16485663 | 686 days ago | 0.97089271 ETH | ||||
16482430 | 687 days ago | 0.07380968 ETH | ||||
16478825 | 687 days ago | 0.08125843 ETH | ||||
16477377 | 687 days ago | 0.00116209 ETH | ||||
16474282 | 688 days ago | 0.12516671 ETH | ||||
16470486 | 688 days ago | 0.02941211 ETH | ||||
16469972 | 688 days ago | 0.05920382 ETH | ||||
16469204 | 689 days ago | 0.02286186 ETH | ||||
16468975 | 689 days ago | 0.02284842 ETH | ||||
16468974 | 689 days ago | 0.00317556 ETH |
Loading...
Loading
Contract Name:
ParrotRewards
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-05 */ /** *Submitted for verification at Etherscan.io on 2022-08-05 */ /** *Submitted for verification at Etherscan.io on 2022-08-05 */ // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) 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; } } // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); } pragma solidity ^0.8.15; interface IParrotRewards { function claimReward() external; function depositRewards() external payable; function getLockedShares(address wallet) external view returns (uint256); function lock(uint256 amount) external; function unlock(uint256 amount) external; } contract ParrotRewards is IParrotRewards, Ownable { address public shareholderToken; uint256 private constant ONE_DAY = 60 * 60 * 24; uint256 public timeLock = 30 days; uint256 public totalLockedUsers; uint256 public totalSharesDeposited; uint256 public totalRewards; uint256 public totalDistributed; uint256 public rewardsPerShare; uint256 private constant ACC_FACTOR = 10**36; int256 private constant OFFSET19700101 = 2440588; uint8 public minDayOfMonthCanLock = 1; uint8 public maxDayOfMonthCanLock = 5; struct Reward { uint256 totalExcluded; uint256 totalRealised; uint256 lastClaim; } struct Share { uint256 amount; uint256 lockedTime; } // amount of shares a user has mapping(address => Share) public shares; // reward information per user mapping(address => Reward) public rewards; event ClaimReward(address wallet); event DistributeReward(address indexed wallet, address payable receiver); event DepositRewards(address indexed wallet, uint256 amountETH); constructor(address _shareholderToken) { shareholderToken = _shareholderToken; } function lock(uint256 _amount) external { uint256 _currentDayOfMonth = _dayOfMonth(block.timestamp); require( _currentDayOfMonth >= minDayOfMonthCanLock && _currentDayOfMonth <= maxDayOfMonthCanLock, "outside of allowed lock window" ); address shareholder = msg.sender; IERC20 tokenContract = IERC20(shareholderToken); _amount = _amount == 0 ? tokenContract.balanceOf(shareholder) : _amount; tokenContract.transferFrom(shareholder, address(this), _amount); _addShares(shareholder, _amount); } function unlock(uint256 _amount) external { address shareholder = msg.sender; require( block.timestamp >= shares[shareholder].lockedTime + timeLock, "must wait the time lock before unstaking" ); _amount = _amount == 0 ? shares[shareholder].amount : _amount; require(_amount > 0, "need tokens to unlock"); require( _amount <= shares[shareholder].amount, "cannot unlock more than you have locked" ); IERC20(shareholderToken).transfer(shareholder, _amount); _removeShares(shareholder, _amount); } function _addShares(address shareholder, uint256 amount) internal { _distributeReward(shareholder); uint256 sharesBefore = shares[shareholder].amount; totalSharesDeposited += amount; shares[shareholder].amount += amount; shares[shareholder].lockedTime = block.timestamp; if (sharesBefore == 0 && shares[shareholder].amount > 0) { totalLockedUsers++; } rewards[shareholder].totalExcluded = getCumulativeRewards( shares[shareholder].amount ); } function _removeShares(address shareholder, uint256 amount) internal { amount = amount == 0 ? shares[shareholder].amount : amount; require( shares[shareholder].amount > 0 && amount <= shares[shareholder].amount, "you can only unlock if you have some lockd" ); _distributeReward(shareholder); totalSharesDeposited -= amount; shares[shareholder].amount -= amount; if (shares[shareholder].amount == 0) { totalLockedUsers--; } rewards[shareholder].totalExcluded = getCumulativeRewards( shares[shareholder].amount ); } function depositRewards() public payable override { _depositRewards(msg.value); } function _depositRewards(uint256 _amount) internal { require(_amount > 0, "must provide ETH to deposit"); require(totalSharesDeposited > 0, "must be shares deposited"); totalRewards += _amount; rewardsPerShare += (ACC_FACTOR * _amount) / totalSharesDeposited; emit DepositRewards(msg.sender, _amount); } function _distributeReward(address shareholder) internal { if (shares[shareholder].amount == 0) { return; } uint256 amount = getUnpaid(shareholder); rewards[shareholder].totalRealised += amount; rewards[shareholder].totalExcluded = getCumulativeRewards( shares[shareholder].amount ); rewards[shareholder].lastClaim = block.timestamp; if (amount > 0) { bool success; address payable receiver = payable(shareholder); totalDistributed += amount; uint256 balanceBefore = address(this).balance; (success,) = receiver.call{ value: amount }(''); require(address(this).balance >= balanceBefore - amount); emit DistributeReward(shareholder, receiver); } } function _dayOfMonth(uint256 _timestamp) internal pure returns (uint256) { (, , uint256 day) = _daysToDate(_timestamp / ONE_DAY); return day; } // date conversion algorithm from http://aa.usno.navy.mil/faq/docs/JD_Formula.php function _daysToDate(uint256 _days) internal pure returns (uint256, uint256, uint256) { int256 __days = int256(_days); int256 L = __days + 68569 + OFFSET19700101; int256 N = (4 * L) / 146097; L = L - (146097 * N + 3) / 4; int256 _year = (4000 * (L + 1)) / 1461001; L = L - (1461 * _year) / 4 + 31; int256 _month = (80 * L) / 2447; int256 _day = L - (2447 * _month) / 80; L = _month / 11; _month = _month + 2 - 12 * L; _year = 100 * (N - 49) + _year + L; return (uint256(_year), uint256(_month), uint256(_day)); } function claimReward() external override { _distributeReward(msg.sender); emit ClaimReward(msg.sender); } // returns the unpaid rewards function getUnpaid(address shareholder) public view returns (uint256) { if (shares[shareholder].amount == 0) { return 0; } uint256 earnedRewards = getCumulativeRewards(shares[shareholder].amount); uint256 rewardsExcluded = rewards[shareholder].totalExcluded; if (earnedRewards <= rewardsExcluded) { return 0; } return earnedRewards - rewardsExcluded; } function getCumulativeRewards(uint256 share) internal view returns (uint256) { return (share * rewardsPerShare) / ACC_FACTOR; } function getLockedShares(address user) external view override returns (uint256) { return shares[user].amount; } function setMinDayOfMonthCanLock(uint8 _day) external onlyOwner { require(_day <= maxDayOfMonthCanLock, "can set min day above max day"); minDayOfMonthCanLock = _day; } function setMaxDayOfMonthCanLock(uint8 _day) external onlyOwner { require(_day >= minDayOfMonthCanLock, "can set max day below min day"); maxDayOfMonthCanLock = _day; } function setTimeLock(uint256 numSec) external onlyOwner { require(numSec <= 365 days, "must be less than a year"); timeLock = numSec; } function withdrawStuckETH() external onlyOwner { bool success; (success,) = address(msg.sender).call{value: address(this).balance}(""); } receive() external payable { _depositRewards(msg.value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_shareholderToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wallet","type":"address"}],"name":"ClaimReward","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"wallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"}],"name":"DepositRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"wallet","type":"address"},{"indexed":false,"internalType":"address payable","name":"receiver","type":"address"}],"name":"DistributeReward","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"depositRewards","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getLockedShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getUnpaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxDayOfMonthCanLock","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minDayOfMonthCanLock","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"totalExcluded","type":"uint256"},{"internalType":"uint256","name":"totalRealised","type":"uint256"},{"internalType":"uint256","name":"lastClaim","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_day","type":"uint8"}],"name":"setMaxDayOfMonthCanLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_day","type":"uint8"}],"name":"setMinDayOfMonthCanLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numSec","type":"uint256"}],"name":"setTimeLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"shareholderToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"shares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lockedTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timeLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalLockedUsers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSharesDeposited","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405262278d006002556008805461ffff191661050117905534801561002657600080fd5b50604051611690380380611690833981016040819052610045916100c3565b61004e33610073565b600180546001600160a01b0319166001600160a01b03929092169190911790556100f3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d557600080fd5b81516001600160a01b03811681146100ec57600080fd5b9392505050565b61158e806101026000396000f3fe60806040526004361061014f5760003560e01c80638f0000fd116100b6578063dc69c3631161006f578063dc69c363146103f5578063dd46706414610414578063e0395c1e14610434578063efca2eed1461044a578063f2fde38b14610460578063f5648a4f1461048057600080fd5b80638f0000fd1461032b578063b88a802f1461034b578063beb68d0514610360578063c7e1d0b114610380578063ce7c2ac214610396578063d085835a146103df57600080fd5b80635bcb318a116101085780635bcb318a146102645780635dfa41dd146102845780636198e339146102a4578063715018a6146102c457806389d96917146102d95780638da5cb5b146102f957600080fd5b80630700037d146101645780630e15561a146101c0578063152111f7146101e45780633c6e6789146101ec5780633d28a280146102025780633f4b3b7e1461023857600080fd5b3661015f5761015d34610495565b005b600080fd5b34801561017057600080fd5b506101a061017f3660046112c0565b600a6020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060015b60405180910390f35b3480156101cc57600080fd5b506101d660055481565b6040519081526020016101b7565b61015d6105c7565b3480156101f857600080fd5b506101d660045481565b34801561020e57600080fd5b506101d661021d3660046112c0565b6001600160a01b031660009081526009602052604090205490565b34801561024457600080fd5b506008546102529060ff1681565b60405160ff90911681526020016101b7565b34801561027057600080fd5b5061015d61027f3660046112f0565b6105d2565b34801561029057600080fd5b5061015d61029f366004611309565b610633565b3480156102b057600080fd5b5061015d6102bf3660046112f0565b6106b0565b3480156102d057600080fd5b5061015d61089f565b3480156102e557600080fd5b506101d66102f43660046112c0565b6108b1565b34801561030557600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101b7565b34801561033757600080fd5b5061015d610346366004611309565b610939565b34801561035757600080fd5b5061015d6109b5565b34801561036c57600080fd5b50600154610313906001600160a01b031681565b34801561038c57600080fd5b506101d660075481565b3480156103a257600080fd5b506103ca6103b13660046112c0565b6009602052600090815260409020805460019091015482565b604080519283526020830191909152016101b7565b3480156103eb57600080fd5b506101d660025481565b34801561040157600080fd5b5060085461025290610100900460ff1681565b34801561042057600080fd5b5061015d61042f3660046112f0565b6109f3565b34801561044057600080fd5b506101d660035481565b34801561045657600080fd5b506101d660065481565b34801561046c57600080fd5b5061015d61047b3660046112c0565b610b7e565b34801561048c57600080fd5b5061015d610bf7565b600081116104ea5760405162461bcd60e51b815260206004820152601b60248201527f6d7573742070726f766964652045544820746f206465706f736974000000000060448201526064015b60405180910390fd5b60006004541161053c5760405162461bcd60e51b815260206004820152601860248201527f6d75737420626520736861726573206465706f7369746564000000000000000060448201526064016104e1565b806005600082825461054e9190611342565b909155505060045461056f826ec097ce7bc90715b34b9f100000000061135a565b610579919061138f565b6007600082825461058a9190611342565b909155505060405181815233907fb9ad861b752f80117b35bea6dec99933d8a5ae360f2839ee8784b750d56134099060200160405180910390a250565b6105d034610495565b565b6105da610c41565b6301e1338081111561062e5760405162461bcd60e51b815260206004820152601860248201527f6d757374206265206c657373207468616e20612079656172000000000000000060448201526064016104e1565b600255565b61063b610c41565b60085460ff90811690821610156106945760405162461bcd60e51b815260206004820152601d60248201527f63616e20736574206d6178206461792062656c6f77206d696e2064617900000060448201526064016104e1565b6008805460ff9092166101000261ff0019909216919091179055565b6002543360008181526009602052604090206001015490916106d191611342565b4210156107315760405162461bcd60e51b815260206004820152602860248201527f6d7573742077616974207468652074696d65206c6f636b206265666f726520756044820152676e7374616b696e6760c01b60648201526084016104e1565b811561073d5781610757565b6001600160a01b0381166000908152600960205260409020545b9150600082116107a15760405162461bcd60e51b81526020600482015260156024820152746e65656420746f6b656e7320746f20756e6c6f636b60581b60448201526064016104e1565b6001600160a01b0381166000908152600960205260409020548211156108195760405162461bcd60e51b815260206004820152602760248201527f63616e6e6f7420756e6c6f636b206d6f7265207468616e20796f752068617665604482015266081b1bd8dad95960ca1b60648201526084016104e1565b60015460405163a9059cbb60e01b81526001600160a01b038381166004830152602482018590529091169063a9059cbb906044016020604051808303816000875af115801561086c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089091906113a3565b5061089b8183610c9b565b5050565b6108a7610c41565b6105d06000610e26565b6001600160a01b03811660009081526009602052604081205481036108d857506000919050565b6001600160a01b0382166000908152600960205260408120546108fa90610e76565b6001600160a01b0384166000908152600a6020526040902054909150808211610927575060009392505050565b61093181836113c5565b949350505050565b610941610c41565b60085460ff6101009091048116908216111561099f5760405162461bcd60e51b815260206004820152601d60248201527f63616e20736574206d696e206461792061626f7665206d61782064617900000060448201526064016104e1565b6008805460ff191660ff92909216919091179055565b6109be33610ea6565b6040513381527f63e32091e4445d16e29c33a6b264577c2d86694021aa4e6f4dd590048f5792e89060200160405180910390a1565b60006109fe42611022565b60085490915060ff168110801590610a205750600854610100900460ff168111155b610a6c5760405162461bcd60e51b815260206004820152601e60248201527f6f757473696465206f6620616c6c6f776564206c6f636b2077696e646f77000060448201526064016104e1565b60015433906001600160a01b03168315610a865783610af0565b6040516370a0823160e01b81526001600160a01b0383811660048301528216906370a0823190602401602060405180830381865afa158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af091906113dc565b6040516323b872dd60e01b81526001600160a01b03848116600483015230602483015260448201839052919550908216906323b872dd906064016020604051808303816000875af1158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d91906113a3565b50610b788285611043565b50505050565b610b86610c41565b6001600160a01b038116610beb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104e1565b610bf481610e26565b50565b610bff610c41565b604051600090339047908381818185875af1925050503d8060008114610b78576040519150601f19603f3d011682016040523d82523d6000602084013e610b78565b6000546001600160a01b031633146105d05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e1565b8015610ca75780610cc1565b6001600160a01b0382166000908152600960205260409020545b6001600160a01b03831660009081526009602052604090205490915015801590610d0357506001600160a01b0382166000908152600960205260409020548111155b610d625760405162461bcd60e51b815260206004820152602a60248201527f796f752063616e206f6e6c7920756e6c6f636b20696620796f752068617665206044820152691cdbdb59481b1bd8dad960b21b60648201526084016104e1565b610d6b82610ea6565b8060046000828254610d7d91906113c5565b90915550506001600160a01b03821660009081526009602052604081208054839290610daa9084906113c5565b90915550506001600160a01b0382166000908152600960205260408120549003610de45760038054906000610dde836113f5565b91905055505b6001600160a01b038216600090815260096020526040902054610e0690610e76565b6001600160a01b039092166000908152600a602052604090209190915550565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006ec097ce7bc90715b34b9f100000000060075483610e96919061135a565b610ea0919061138f565b92915050565b6001600160a01b0381166000908152600960205260408120549003610ec85750565b6000610ed3826108b1565b6001600160a01b0383166000908152600a6020526040812060010180549293508392909190610f03908490611342565b90915550506001600160a01b038216600090815260096020526040902054610f2a90610e76565b6001600160a01b0383166000908152600a6020526040902090815542600290910155801561089b576000808390508260066000828254610f6a9190611342565b909155505060405147906001600160a01b038316908590600081818185875af1925050503d8060008114610fba576040519150601f19603f3d011682016040523d82523d6000602084013e610fbf565b606091505b50909350610fcf905084826113c5565b471015610fdb57600080fd5b6040516001600160a01b0383811682528616907f762e3e2d1a38b40402072407d6eed487e6836ef3ced426a733334e8b304c779b9060200160405180910390a25050505050565b60008061103a611035620151808561138f565b61114c565b95945050505050565b61104c82610ea6565b6001600160a01b0382166000908152600960205260408120546004805491928492611078908490611342565b90915550506001600160a01b038316600090815260096020526040812080548492906110a5908490611342565b90915550506001600160a01b038316600090815260096020526040902042600190910155801580156110ee57506001600160a01b03831660009081526009602052604090205415155b1561110957600380549060006111038361140c565b91905055505b6001600160a01b03831660009081526009602052604090205461112b90610e76565b6001600160a01b039093166000908152600a60205260409020929092555050565b60008080838162253d8c6111638362010bd9611425565b61116d9190611425565b9050600062023ab1611180836004611466565b61118a91906114eb565b9050600461119b8262023ab1611466565b6111a6906003611425565b6111b091906114eb565b6111ba9083611519565b9150600062164b096111cd846001611425565b6111d990610fa0611466565b6111e391906114eb565b905060046111f3826105b5611466565b6111fd91906114eb565b6112079084611519565b61121290601f611425565b9250600061098f611224856050611466565b61122e91906114eb565b9050600060506112408361098f611466565b61124a91906114eb565b6112549086611519565b9050611261600b836114eb565b945061126e85600c611466565b611279836002611425565b6112839190611519565b91508483611292603187611519565b61129d906064611466565b6112a79190611425565b6112b19190611425565b9a919950975095505050505050565b6000602082840312156112d257600080fd5b81356001600160a01b03811681146112e957600080fd5b9392505050565b60006020828403121561130257600080fd5b5035919050565b60006020828403121561131b57600080fd5b813560ff811681146112e957600080fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156113555761135561132c565b500190565b60008160001904831182151516156113745761137461132c565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261139e5761139e611379565b500490565b6000602082840312156113b557600080fd5b815180151581146112e957600080fd5b6000828210156113d7576113d761132c565b500390565b6000602082840312156113ee57600080fd5b5051919050565b6000816114045761140461132c565b506000190190565b60006001820161141e5761141e61132c565b5060010190565b600080821280156001600160ff1b03849003851316156114475761144761132c565b600160ff1b83900384128116156114605761146061132c565b50500190565b60006001600160ff1b038184138284138082168684048611161561148c5761148c61132c565b600160ff1b60008712828116878305891216156114ab576114ab61132c565b600087129250878205871284841616156114c7576114c761132c565b878505871281841616156114dd576114dd61132c565b505050929093029392505050565b6000826114fa576114fa611379565b600160ff1b8214600019841416156115145761151461132c565b500590565b60008083128015600160ff1b8501841216156115375761153761132c565b6001600160ff1b03840183138116156115525761155261132c565b5050039056fea26469706673582212201e6d33b25985ecc867121eed2d16c1e3dd00614dde355dbe479c56c90cfde9e964736f6c634300080f00330000000000000000000000007369d128a7e1a0dad37b7057bb37d700a58b3ff5
Deployed Bytecode
0x60806040526004361061014f5760003560e01c80638f0000fd116100b6578063dc69c3631161006f578063dc69c363146103f5578063dd46706414610414578063e0395c1e14610434578063efca2eed1461044a578063f2fde38b14610460578063f5648a4f1461048057600080fd5b80638f0000fd1461032b578063b88a802f1461034b578063beb68d0514610360578063c7e1d0b114610380578063ce7c2ac214610396578063d085835a146103df57600080fd5b80635bcb318a116101085780635bcb318a146102645780635dfa41dd146102845780636198e339146102a4578063715018a6146102c457806389d96917146102d95780638da5cb5b146102f957600080fd5b80630700037d146101645780630e15561a146101c0578063152111f7146101e45780633c6e6789146101ec5780633d28a280146102025780633f4b3b7e1461023857600080fd5b3661015f5761015d34610495565b005b600080fd5b34801561017057600080fd5b506101a061017f3660046112c0565b600a6020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060015b60405180910390f35b3480156101cc57600080fd5b506101d660055481565b6040519081526020016101b7565b61015d6105c7565b3480156101f857600080fd5b506101d660045481565b34801561020e57600080fd5b506101d661021d3660046112c0565b6001600160a01b031660009081526009602052604090205490565b34801561024457600080fd5b506008546102529060ff1681565b60405160ff90911681526020016101b7565b34801561027057600080fd5b5061015d61027f3660046112f0565b6105d2565b34801561029057600080fd5b5061015d61029f366004611309565b610633565b3480156102b057600080fd5b5061015d6102bf3660046112f0565b6106b0565b3480156102d057600080fd5b5061015d61089f565b3480156102e557600080fd5b506101d66102f43660046112c0565b6108b1565b34801561030557600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101b7565b34801561033757600080fd5b5061015d610346366004611309565b610939565b34801561035757600080fd5b5061015d6109b5565b34801561036c57600080fd5b50600154610313906001600160a01b031681565b34801561038c57600080fd5b506101d660075481565b3480156103a257600080fd5b506103ca6103b13660046112c0565b6009602052600090815260409020805460019091015482565b604080519283526020830191909152016101b7565b3480156103eb57600080fd5b506101d660025481565b34801561040157600080fd5b5060085461025290610100900460ff1681565b34801561042057600080fd5b5061015d61042f3660046112f0565b6109f3565b34801561044057600080fd5b506101d660035481565b34801561045657600080fd5b506101d660065481565b34801561046c57600080fd5b5061015d61047b3660046112c0565b610b7e565b34801561048c57600080fd5b5061015d610bf7565b600081116104ea5760405162461bcd60e51b815260206004820152601b60248201527f6d7573742070726f766964652045544820746f206465706f736974000000000060448201526064015b60405180910390fd5b60006004541161053c5760405162461bcd60e51b815260206004820152601860248201527f6d75737420626520736861726573206465706f7369746564000000000000000060448201526064016104e1565b806005600082825461054e9190611342565b909155505060045461056f826ec097ce7bc90715b34b9f100000000061135a565b610579919061138f565b6007600082825461058a9190611342565b909155505060405181815233907fb9ad861b752f80117b35bea6dec99933d8a5ae360f2839ee8784b750d56134099060200160405180910390a250565b6105d034610495565b565b6105da610c41565b6301e1338081111561062e5760405162461bcd60e51b815260206004820152601860248201527f6d757374206265206c657373207468616e20612079656172000000000000000060448201526064016104e1565b600255565b61063b610c41565b60085460ff90811690821610156106945760405162461bcd60e51b815260206004820152601d60248201527f63616e20736574206d6178206461792062656c6f77206d696e2064617900000060448201526064016104e1565b6008805460ff9092166101000261ff0019909216919091179055565b6002543360008181526009602052604090206001015490916106d191611342565b4210156107315760405162461bcd60e51b815260206004820152602860248201527f6d7573742077616974207468652074696d65206c6f636b206265666f726520756044820152676e7374616b696e6760c01b60648201526084016104e1565b811561073d5781610757565b6001600160a01b0381166000908152600960205260409020545b9150600082116107a15760405162461bcd60e51b81526020600482015260156024820152746e65656420746f6b656e7320746f20756e6c6f636b60581b60448201526064016104e1565b6001600160a01b0381166000908152600960205260409020548211156108195760405162461bcd60e51b815260206004820152602760248201527f63616e6e6f7420756e6c6f636b206d6f7265207468616e20796f752068617665604482015266081b1bd8dad95960ca1b60648201526084016104e1565b60015460405163a9059cbb60e01b81526001600160a01b038381166004830152602482018590529091169063a9059cbb906044016020604051808303816000875af115801561086c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089091906113a3565b5061089b8183610c9b565b5050565b6108a7610c41565b6105d06000610e26565b6001600160a01b03811660009081526009602052604081205481036108d857506000919050565b6001600160a01b0382166000908152600960205260408120546108fa90610e76565b6001600160a01b0384166000908152600a6020526040902054909150808211610927575060009392505050565b61093181836113c5565b949350505050565b610941610c41565b60085460ff6101009091048116908216111561099f5760405162461bcd60e51b815260206004820152601d60248201527f63616e20736574206d696e206461792061626f7665206d61782064617900000060448201526064016104e1565b6008805460ff191660ff92909216919091179055565b6109be33610ea6565b6040513381527f63e32091e4445d16e29c33a6b264577c2d86694021aa4e6f4dd590048f5792e89060200160405180910390a1565b60006109fe42611022565b60085490915060ff168110801590610a205750600854610100900460ff168111155b610a6c5760405162461bcd60e51b815260206004820152601e60248201527f6f757473696465206f6620616c6c6f776564206c6f636b2077696e646f77000060448201526064016104e1565b60015433906001600160a01b03168315610a865783610af0565b6040516370a0823160e01b81526001600160a01b0383811660048301528216906370a0823190602401602060405180830381865afa158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af091906113dc565b6040516323b872dd60e01b81526001600160a01b03848116600483015230602483015260448201839052919550908216906323b872dd906064016020604051808303816000875af1158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d91906113a3565b50610b788285611043565b50505050565b610b86610c41565b6001600160a01b038116610beb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104e1565b610bf481610e26565b50565b610bff610c41565b604051600090339047908381818185875af1925050503d8060008114610b78576040519150601f19603f3d011682016040523d82523d6000602084013e610b78565b6000546001600160a01b031633146105d05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e1565b8015610ca75780610cc1565b6001600160a01b0382166000908152600960205260409020545b6001600160a01b03831660009081526009602052604090205490915015801590610d0357506001600160a01b0382166000908152600960205260409020548111155b610d625760405162461bcd60e51b815260206004820152602a60248201527f796f752063616e206f6e6c7920756e6c6f636b20696620796f752068617665206044820152691cdbdb59481b1bd8dad960b21b60648201526084016104e1565b610d6b82610ea6565b8060046000828254610d7d91906113c5565b90915550506001600160a01b03821660009081526009602052604081208054839290610daa9084906113c5565b90915550506001600160a01b0382166000908152600960205260408120549003610de45760038054906000610dde836113f5565b91905055505b6001600160a01b038216600090815260096020526040902054610e0690610e76565b6001600160a01b039092166000908152600a602052604090209190915550565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006ec097ce7bc90715b34b9f100000000060075483610e96919061135a565b610ea0919061138f565b92915050565b6001600160a01b0381166000908152600960205260408120549003610ec85750565b6000610ed3826108b1565b6001600160a01b0383166000908152600a6020526040812060010180549293508392909190610f03908490611342565b90915550506001600160a01b038216600090815260096020526040902054610f2a90610e76565b6001600160a01b0383166000908152600a6020526040902090815542600290910155801561089b576000808390508260066000828254610f6a9190611342565b909155505060405147906001600160a01b038316908590600081818185875af1925050503d8060008114610fba576040519150601f19603f3d011682016040523d82523d6000602084013e610fbf565b606091505b50909350610fcf905084826113c5565b471015610fdb57600080fd5b6040516001600160a01b0383811682528616907f762e3e2d1a38b40402072407d6eed487e6836ef3ced426a733334e8b304c779b9060200160405180910390a25050505050565b60008061103a611035620151808561138f565b61114c565b95945050505050565b61104c82610ea6565b6001600160a01b0382166000908152600960205260408120546004805491928492611078908490611342565b90915550506001600160a01b038316600090815260096020526040812080548492906110a5908490611342565b90915550506001600160a01b038316600090815260096020526040902042600190910155801580156110ee57506001600160a01b03831660009081526009602052604090205415155b1561110957600380549060006111038361140c565b91905055505b6001600160a01b03831660009081526009602052604090205461112b90610e76565b6001600160a01b039093166000908152600a60205260409020929092555050565b60008080838162253d8c6111638362010bd9611425565b61116d9190611425565b9050600062023ab1611180836004611466565b61118a91906114eb565b9050600461119b8262023ab1611466565b6111a6906003611425565b6111b091906114eb565b6111ba9083611519565b9150600062164b096111cd846001611425565b6111d990610fa0611466565b6111e391906114eb565b905060046111f3826105b5611466565b6111fd91906114eb565b6112079084611519565b61121290601f611425565b9250600061098f611224856050611466565b61122e91906114eb565b9050600060506112408361098f611466565b61124a91906114eb565b6112549086611519565b9050611261600b836114eb565b945061126e85600c611466565b611279836002611425565b6112839190611519565b91508483611292603187611519565b61129d906064611466565b6112a79190611425565b6112b19190611425565b9a919950975095505050505050565b6000602082840312156112d257600080fd5b81356001600160a01b03811681146112e957600080fd5b9392505050565b60006020828403121561130257600080fd5b5035919050565b60006020828403121561131b57600080fd5b813560ff811681146112e957600080fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156113555761135561132c565b500190565b60008160001904831182151516156113745761137461132c565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261139e5761139e611379565b500490565b6000602082840312156113b557600080fd5b815180151581146112e957600080fd5b6000828210156113d7576113d761132c565b500390565b6000602082840312156113ee57600080fd5b5051919050565b6000816114045761140461132c565b506000190190565b60006001820161141e5761141e61132c565b5060010190565b600080821280156001600160ff1b03849003851316156114475761144761132c565b600160ff1b83900384128116156114605761146061132c565b50500190565b60006001600160ff1b038184138284138082168684048611161561148c5761148c61132c565b600160ff1b60008712828116878305891216156114ab576114ab61132c565b600087129250878205871284841616156114c7576114c761132c565b878505871281841616156114dd576114dd61132c565b505050929093029392505050565b6000826114fa576114fa611379565b600160ff1b8214600019841416156115145761151461132c565b500590565b60008083128015600160ff1b8501841216156115375761153761132c565b6001600160ff1b03840183138116156115525761155261132c565b5050039056fea26469706673582212201e6d33b25985ecc867121eed2d16c1e3dd00614dde355dbe479c56c90cfde9e964736f6c634300080f0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007369d128a7e1a0dad37b7057bb37d700a58b3ff5
-----Decoded View---------------
Arg [0] : _shareholderToken (address): 0x7369D128A7e1a0dad37B7057Bb37D700A58b3ff5
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007369d128a7e1a0dad37b7057bb37d700a58b3ff5
Deployed Bytecode Sourcemap
6757:7678:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14398:26;14414:9;14398:15;:26::i;:::-;6757:7678;;;;;7660:41;;;;;;;;;;-1:-1:-1;7660:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;507:25:1;;;563:2;548:18;;541:34;;;;591:18;;;584:34;495:2;480:18;7660:41:0;;;;;;;;7028:27;;;;;;;;;;;;;;;;;;;775:25:1;;;763:2;748:18;7028:27:0;629:177:1;10490:95:0;;;:::i;6986:35::-;;;;;;;;;;;;;;;;13495:125;;;;;;;;;;-1:-1:-1;13495:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;13593:12:0;13566:7;13593:12;;;:6;:12;;;;;:19;;13495:125;7247:37;;;;;;;;;;-1:-1:-1;7247:37:0;;;;;;;;;;;983:4:1;971:17;;;953:36;;941:2;926:18;7247:37:0;811:184:1;14026:158:0;;;;;;;;;;-1:-1:-1;14026:158:0;;;;;:::i;:::-;;:::i;13827:191::-;;;;;;;;;;-1:-1:-1;13827:191:0;;;;;:::i;:::-;;:::i;8619:631::-;;;;;;;;;;-1:-1:-1;8619:631:0;;;;;:::i;:::-;;:::i;2803:103::-;;;;;;;;;;;;;:::i;12888:450::-;;;;;;;;;;-1:-1:-1;12888:450:0;;;;;:::i;:::-;;:::i;2155:87::-;;;;;;;;;;-1:-1:-1;2201:7:0;2228:6;-1:-1:-1;;;;;2228:6:0;2155:87;;;-1:-1:-1;;;;;1623:32:1;;;1605:51;;1593:2;1578:18;2155:87:0;1459:203:1;13628:191:0;;;;;;;;;;-1:-1:-1;13628:191:0;;;;;:::i;:::-;;:::i;12717:128::-;;;;;;;;;;;;;:::i;6814:31::-;;;;;;;;;;-1:-1:-1;6814:31:0;;;;-1:-1:-1;;;;;6814:31:0;;;7100:30;;;;;;;;;;;;;;;;7578:39;;;;;;;;;;-1:-1:-1;7578:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1841:25:1;;;1897:2;1882:18;;1875:34;;;;1814:18;7578:39:0;1667:248:1;6908:33:0;;;;;;;;;;;;;;;;7291:37;;;;;;;;;;-1:-1:-1;7291:37:0;;;;;;;;;;;8003:608;;;;;;;;;;-1:-1:-1;8003:608:0;;;;;:::i;:::-;;:::i;6948:31::-;;;;;;;;;;;;;;;;7062;;;;;;;;;;;;;;;;3061:201;;;;;;;;;;-1:-1:-1;3061:201:0;;;;;:::i;:::-;;:::i;14192:160::-;;;;;;;;;;;;;:::i;10593:355::-;10673:1;10663:7;:11;10655:51;;;;-1:-1:-1;;;10655:51:0;;2122:2:1;10655:51:0;;;2104:21:1;2161:2;2141:18;;;2134:30;2200:29;2180:18;;;2173:57;2247:18;;10655:51:0;;;;;;;;;10748:1;10725:20;;:24;10717:61;;;;-1:-1:-1;;;10717:61:0;;2478:2:1;10717:61:0;;;2460:21:1;2517:2;2497:18;;;2490:30;2556:26;2536:18;;;2529:54;2600:18;;10717:61:0;2276:348:1;10717:61:0;10807:7;10791:12;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;10869:20:0;;10845;10858:7;7175:6;10845:20;:::i;:::-;10844:45;;;;:::i;:::-;10825:15;;:64;;;;;;;:::i;:::-;;;;-1:-1:-1;;10905:35:0;;775:25:1;;;10920:10:0;;10905:35;;763:2:1;748:18;10905:35:0;;;;;;;10593:355;:::o;10490:95::-;10551:26;10567:9;10551:15;:26::i;:::-;10490:95::o;14026:158::-;2041:13;:11;:13::i;:::-;14111:8:::1;14101:6;:18;;14093:55;;;::::0;-1:-1:-1;;;14093:55:0;;3526:2:1;14093:55:0::1;::::0;::::1;3508:21:1::0;3565:2;3545:18;;;3538:30;3604:26;3584:18;;;3577:54;3648:18;;14093:55:0::1;3324:348:1::0;14093:55:0::1;14159:8;:17:::0;14026:158::o;13827:191::-;2041:13;:11;:13::i;:::-;13918:20:::1;::::0;::::1;::::0;;::::1;13910:28:::0;;::::1;;;13902:70;;;::::0;-1:-1:-1;;;13902:70:0;;3879:2:1;13902:70:0::1;::::0;::::1;3861:21:1::0;3918:2;3898:18;;;3891:30;3957:31;3937:18;;;3930:59;4006:18;;13902:70:0::1;3677:353:1::0;13902:70:0::1;13983:20;:27:::0;;::::1;::::0;;::::1;;;-1:-1:-1::0;;13983:27:0;;::::1;::::0;;;::::1;::::0;;13827:191::o;8619:631::-;8789:8;;8694:10;8672:19;8756;;;:6;:19;;;;;:30;;;8694:10;;8756:41;;;:::i;:::-;8737:15;:60;;8715:150;;;;-1:-1:-1;;;8715:150:0;;4237:2:1;8715:150:0;;;4219:21:1;4276:2;4256:18;;;4249:30;4315:34;4295:18;;;4288:62;-1:-1:-1;;;4366:18:1;;;4359:38;4414:19;;8715:150:0;4035:404:1;8715:150:0;8886:12;;:51;;8930:7;8886:51;;;-1:-1:-1;;;;;8901:19:0;;;;;;:6;:19;;;;;:26;8886:51;8876:61;;8966:1;8956:7;:11;8948:45;;;;-1:-1:-1;;;8948:45:0;;4646:2:1;8948:45:0;;;4628:21:1;4685:2;4665:18;;;4658:30;-1:-1:-1;;;4704:18:1;;;4697:51;4765:18;;8948:45:0;4444:345:1;8948:45:0;-1:-1:-1;;;;;9037:19:0;;;;;;:6;:19;;;;;:26;9026:37;;;9004:126;;;;-1:-1:-1;;;9004:126:0;;4996:2:1;9004:126:0;;;4978:21:1;5035:2;5015:18;;;5008:30;5074:34;5054:18;;;5047:62;-1:-1:-1;;;5125:18:1;;;5118:37;5172:19;;9004:126:0;4794:403:1;9004:126:0;9148:16;;9141:55;;-1:-1:-1;;;9141:55:0;;-1:-1:-1;;;;;5394:32:1;;;9141:55:0;;;5376:51:1;5443:18;;;5436:34;;;9148:16:0;;;;9141:33;;5349:18:1;;9141:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9207:35;9221:11;9234:7;9207:13;:35::i;:::-;8661:589;8619:631;:::o;2803:103::-;2041:13;:11;:13::i;:::-;2868:30:::1;2895:1;2868:18;:30::i;12888:450::-:0;-1:-1:-1;;;;;12973:19:0;;12949:7;12973:19;;;:6;:19;;;;;:26;:31;;12969:72;;-1:-1:-1;13028:1:0;;12888:450;-1:-1:-1;12888:450:0:o;12969:72::-;-1:-1:-1;;;;;13098:19:0;;13053:21;13098:19;;;:6;:19;;;;;:26;13077:48;;:20;:48::i;:::-;-1:-1:-1;;;;;13162:20:0;;13136:23;13162:20;;;:7;:20;;;;;:34;13053:72;;-1:-1:-1;13211:32:0;;;13207:73;;-1:-1:-1;13267:1:0;;12888:450;-1:-1:-1;;;12888:450:0:o;13207:73::-;13299:31;13315:15;13299:13;:31;:::i;:::-;13292:38;12888:450;-1:-1:-1;;;;12888:450:0:o;13628:191::-;2041:13;:11;:13::i;:::-;13719:20:::1;::::0;::::1;;::::0;;::::1;::::0;::::1;13711:28:::0;;::::1;;;13703:70;;;::::0;-1:-1:-1;;;13703:70:0;;6095:2:1;13703:70:0::1;::::0;::::1;6077:21:1::0;6134:2;6114:18;;;6107:30;6173:31;6153:18;;;6146:59;6222:18;;13703:70:0::1;5893:353:1::0;13703:70:0::1;13784:20;:27:::0;;-1:-1:-1;;13784:27:0::1;;::::0;;;::::1;::::0;;;::::1;::::0;;13628:191::o;12717:128::-;12769:29;12787:10;12769:17;:29::i;:::-;12814:23;;12826:10;1605:51:1;;12814:23:0;;1593:2:1;1578:18;12814:23:0;;;;;;;12717:128::o;8003:608::-;8054:26;8083:28;8095:15;8083:11;:28::i;:::-;8166:20;;8054:57;;-1:-1:-1;8166:20:0;;8144:42;;;;;:101;;-1:-1:-1;8225:20:0;;;;;;;8203:42;;;8144:101;8122:181;;;;-1:-1:-1;;;8122:181:0;;6453:2:1;8122:181:0;;;6435:21:1;6492:2;6472:18;;;6465:30;6531:32;6511:18;;;6504:60;6581:18;;8122:181:0;6251:354:1;8122:181:0;8387:16;;8336:10;;-1:-1:-1;;;;;8387:16:0;8425:12;;:61;;8479:7;8425:61;;;8440:36;;-1:-1:-1;;;8440:36:0;;-1:-1:-1;;;;;1623:32:1;;;8440:36:0;;;1605:51:1;8440:23:0;;;;;1578:18:1;;8440:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8497:63;;-1:-1:-1;;;8497:63:0;;-1:-1:-1;;;;;7057:15:1;;;8497:63:0;;;7039:34:1;8545:4:0;7089:18:1;;;7082:43;7141:18;;;7134:34;;;8415:71:0;;-1:-1:-1;8497:26:0;;;;;;6974:18:1;;8497:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8571:32;8582:11;8595:7;8571:10;:32::i;:::-;8043:568;;;8003:608;:::o;3061:201::-;2041:13;:11;:13::i;:::-;-1:-1:-1;;;;;3150:22:0;::::1;3142:73;;;::::0;-1:-1:-1;;;3142:73:0;;7381:2:1;3142:73:0::1;::::0;::::1;7363:21:1::0;7420:2;7400:18;;;7393:30;7459:34;7439:18;;;7432:62;-1:-1:-1;;;7510:18:1;;;7503:36;7556:19;;3142:73:0::1;7179:402:1::0;3142:73:0::1;3226:28;3245:8;3226:18;:28::i;:::-;3061:201:::0;:::o;14192:160::-;2041:13;:11;:13::i;:::-;14286:58:::1;::::0;14250:12:::1;::::0;14294:10:::1;::::0;14318:21:::1;::::0;14250:12;14286:58;14250:12;14286:58;14318:21;14294:10;14286:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2320:132:::0;2201:7;2228:6;-1:-1:-1;;;;;2228:6:0;845:10;2384:23;2376:68;;;;-1:-1:-1;;;2376:68:0;;7998:2:1;2376:68:0;;;7980:21:1;;;8017:18;;;8010:30;8076:34;8056:18;;;8049:62;8128:18;;2376:68:0;7796:356:1;9822:660:0;9911:11;;:49;;9954:6;9911:49;;;-1:-1:-1;;;;;9925:19:0;;;;;;:6;:19;;;;;:26;9911:49;-1:-1:-1;;;;;9993:19:0;;10022:1;9993:19;;;:6;:19;;;;;:26;9902:58;;-1:-1:-1;9993:30:0;;;;:70;;-1:-1:-1;;;;;;10037:19:0;;;;;;:6;:19;;;;;:26;10027:36;;;9993:70;9971:162;;;;-1:-1:-1;;;9971:162:0;;8359:2:1;9971:162:0;;;8341:21:1;8398:2;8378:18;;;8371:30;8437:34;8417:18;;;8410:62;-1:-1:-1;;;8488:18:1;;;8481:40;8538:19;;9971:162:0;8157:406:1;9971:162:0;10144:30;10162:11;10144:17;:30::i;:::-;10211:6;10187:20;;:30;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;10228:19:0;;;;;;:6;:19;;;;;:36;;10258:6;;10228:19;:36;;10258:6;;10228:36;:::i;:::-;;;;-1:-1:-1;;;;;;;10279:19:0;;;;;;:6;:19;;;;;:26;:31;;10275:82;;10327:16;:18;;;:16;:18;;;:::i;:::-;;;;;;10275:82;-1:-1:-1;;;;;10439:19:0;;;;;;:6;:19;;;;;:26;10404:72;;:20;:72::i;:::-;-1:-1:-1;;;;;10367:20:0;;;;;;;:7;:20;;;;;:109;;;;-1:-1:-1;9822:660:0:o;3422:191::-;3496:16;3515:6;;-1:-1:-1;;;;;3532:17:0;;;-1:-1:-1;;;;;;3532:17:0;;;;;;3565:40;;3515:6;;;;;;;3565:40;;3496:16;3565:40;3485:128;3422:191;:::o;13346:141::-;13414:7;7175:6;13450:15;;13442:5;:23;;;;:::i;:::-;13441:38;;;;:::i;:::-;13434:45;13346:141;-1:-1:-1;;13346:141:0:o;10956:855::-;-1:-1:-1;;;;;11028:19:0;;;;;;:6;:19;;;;;:26;:31;;11024:70;;10956:855;:::o;11024:70::-;11106:14;11123:22;11133:11;11123:9;:22::i;:::-;-1:-1:-1;;;;;11158:20:0;;;;;;:7;:20;;;;;:34;;:44;;11106:39;;-1:-1:-1;11106:39:0;;11158:34;;:20;:44;;11106:39;;11158:44;:::i;:::-;;;;-1:-1:-1;;;;;;;11285:19:0;;;;;;:6;:19;;;;;:26;11250:72;;:20;:72::i;:::-;-1:-1:-1;;;;;11213:20:0;;;;;;:7;:20;;;;;:109;;;11366:15;11333:30;;;;:48;11398:10;;11394:410;;11425:12;11452:24;11487:11;11452:47;;11534:6;11514:16;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;;11628:34:0;;11579:21;;-1:-1:-1;;;;;11628:13:0;;;11650:6;;11628:34;;;;11650:6;11628:13;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11615:47:0;;-1:-1:-1;11710:22:0;;-1:-1:-1;11726:6:0;11710:13;:22;:::i;:::-;11685:21;:47;;11677:56;;;;;;11753:39;;-1:-1:-1;;;;;1623:32:1;;;1605:51;;11753:39:0;;;;;1593:2:1;1578:18;11753:39:0;;;;;;;11410:394;;;11013:798;10956:855;:::o;11819:166::-;11883:7;;11923:33;11935:20;6889:12;11935:10;:20;:::i;:::-;11923:11;:33::i;:::-;11903:53;11819:166;-1:-1:-1;;;;;11819:166:0:o;9258:556::-;9335:30;9353:11;9335:17;:30::i;:::-;-1:-1:-1;;;;;9401:19:0;;9378:20;9401:19;;;:6;:19;;;;;:26;9438:20;:30;;9401:26;;9462:6;;9438:30;;9462:6;;9438:30;:::i;:::-;;;;-1:-1:-1;;;;;;;9479:19:0;;;;;;:6;:19;;;;;:36;;9509:6;;9479:19;:36;;9509:6;;9479:36;:::i;:::-;;;;-1:-1:-1;;;;;;;9526:19:0;;;;;;:6;:19;;;;;9559:15;9526:30;;;;:48;9589:17;;:51;;;;-1:-1:-1;;;;;;9610:19:0;;9639:1;9610:19;;;:6;:19;;;;;:26;:30;;9589:51;9585:102;;;9657:16;:18;;;:16;:18;;;:::i;:::-;;;;;;9585:102;-1:-1:-1;;;;;9769:19:0;;;;;;:6;:19;;;;;:26;9734:72;;:20;:72::i;:::-;-1:-1:-1;;;;;9697:20:0;;;;;;;:7;:20;;;;;:109;;;;-1:-1:-1;;9258:556:0:o;12080:629::-;12139:7;;;12200:5;12139:7;7231;12230:14;12200:5;12239;12230:14;:::i;:::-;:31;;;;:::i;:::-;12219:42;-1:-1:-1;12272:8:0;12293:6;12284:5;12219:42;12284:1;:5;:::i;:::-;12283:16;;;;:::i;:::-;12272:27;-1:-1:-1;12337:1:0;12319:10;12272:27;12319:6;:10;:::i;:::-;:14;;12332:1;12319:14;:::i;:::-;12318:20;;;;:::i;:::-;12314:24;;:1;:24;:::i;:::-;12310:28;-1:-1:-1;12349:12:0;12383:7;12373:5;12310:28;12377:1;12373:5;:::i;:::-;12365:14;;:4;:14;:::i;:::-;12364:26;;;;:::i;:::-;12349:41;-1:-1:-1;12426:1:0;12410:12;12349:41;12410:4;:12;:::i;:::-;12409:18;;;;:::i;:::-;12405:22;;:1;:22;:::i;:::-;:27;;12430:2;12405:27;:::i;:::-;12401:31;-1:-1:-1;12443:13:0;12470:4;12460:6;12401:31;12460:2;:6;:::i;:::-;12459:15;;;;:::i;:::-;12443:31;-1:-1:-1;12485:11:0;12521:2;12504:13;12443:31;12504:4;:13;:::i;:::-;12503:20;;;;:::i;:::-;12499:24;;:1;:24;:::i;:::-;12485:38;-1:-1:-1;12538:11:0;12547:2;12538:6;:11;:::i;:::-;12534:15;-1:-1:-1;12582:6:0;12534:15;12582:2;:6;:::i;:::-;12569:10;:6;12578:1;12569:10;:::i;:::-;:19;;;;:::i;:::-;12560:28;-1:-1:-1;12632:1:0;12624:5;12614:6;12618:2;12614:1;:6;:::i;:::-;12607:14;;:3;:14;:::i;:::-;:22;;;;:::i;:::-;:26;;;;:::i;:::-;12599:34;12678:6;;-1:-1:-1;12678:6:0;-1:-1:-1;12080:629:0;-1:-1:-1;;;;;;12080:629:0:o;14:286:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:1;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:1:o;1000:180::-;1059:6;1112:2;1100:9;1091:7;1087:23;1083:32;1080:52;;;1128:1;1125;1118:12;1080:52;-1:-1:-1;1151:23:1;;1000:180;-1:-1:-1;1000:180:1:o;1185:269::-;1242:6;1295:2;1283:9;1274:7;1270:23;1266:32;1263:52;;;1311:1;1308;1301:12;1263:52;1350:9;1337:23;1400:4;1393:5;1389:16;1382:5;1379:27;1369:55;;1420:1;1417;1410:12;2629:127;2690:10;2685:3;2681:20;2678:1;2671:31;2721:4;2718:1;2711:15;2745:4;2742:1;2735:15;2761:128;2801:3;2832:1;2828:6;2825:1;2822:13;2819:39;;;2838:18;;:::i;:::-;-1:-1:-1;2874:9:1;;2761:128::o;2894:168::-;2934:7;3000:1;2996;2992:6;2988:14;2985:1;2982:21;2977:1;2970:9;2963:17;2959:45;2956:71;;;3007:18;;:::i;:::-;-1:-1:-1;3047:9:1;;2894:168::o;3067:127::-;3128:10;3123:3;3119:20;3116:1;3109:31;3159:4;3156:1;3149:15;3183:4;3180:1;3173:15;3199:120;3239:1;3265;3255:35;;3270:18;;:::i;:::-;-1:-1:-1;3304:9:1;;3199:120::o;5481:277::-;5548:6;5601:2;5589:9;5580:7;5576:23;5572:32;5569:52;;;5617:1;5614;5607:12;5569:52;5649:9;5643:16;5702:5;5695:13;5688:21;5681:5;5678:32;5668:60;;5724:1;5721;5714:12;5763:125;5803:4;5831:1;5828;5825:8;5822:34;;;5836:18;;:::i;:::-;-1:-1:-1;5873:9:1;;5763:125::o;6610:184::-;6680:6;6733:2;6721:9;6712:7;6708:23;6704:32;6701:52;;;6749:1;6746;6739:12;6701:52;-1:-1:-1;6772:16:1;;6610:184;-1:-1:-1;6610:184:1:o;8568:136::-;8607:3;8635:5;8625:39;;8644:18;;:::i;:::-;-1:-1:-1;;;8680:18:1;;8568:136::o;8933:135::-;8972:3;8993:17;;;8990:43;;9013:18;;:::i;:::-;-1:-1:-1;9060:1:1;9049:13;;8933:135::o;9073:265::-;9112:3;9140:9;;;9165:10;;-1:-1:-1;;;;;9184:27:1;;;9177:35;;9161:52;9158:78;;;9216:18;;:::i;:::-;-1:-1:-1;;;9263:19:1;;;9256:27;;9248:36;;9245:62;;;9287:18;;:::i;:::-;-1:-1:-1;;9323:9:1;;9073:265::o;9343:553::-;9382:7;-1:-1:-1;;;;;9452:9:1;;;9480;;;9505:11;;;9524:10;;;9518:17;;9501:35;9498:61;;;9539:18;;:::i;:::-;-1:-1:-1;;;9615:1:1;9608:9;;9633:11;;;9653;;;9646:19;;9629:37;9626:63;;;9669:18;;:::i;:::-;9715:1;9712;9708:9;9698:19;;9762:1;9758:2;9753:11;9750:1;9746:19;9741:2;9737;9733:11;9729:37;9726:63;;;9769:18;;:::i;:::-;9834:1;9830:2;9825:11;9822:1;9818:19;9813:2;9809;9805:11;9801:37;9798:63;;;9841:18;;:::i;:::-;-1:-1:-1;;;9881:9:1;;;;;9343:553;-1:-1:-1;;;9343:553:1:o;9901:193::-;9940:1;9966;9956:35;;9971:18;;:::i;:::-;-1:-1:-1;;;10007:18:1;;-1:-1:-1;;10027:13:1;;10003:38;10000:64;;;10044:18;;:::i;:::-;-1:-1:-1;10078:10:1;;9901:193::o;10099:267::-;10138:4;10167:9;;;10192:10;;-1:-1:-1;;;10211:19:1;;10204:27;;10188:44;10185:70;;;10235:18;;:::i;:::-;-1:-1:-1;;;;;10282:27:1;;10275:35;;10267:44;;10264:70;;;10314:18;;:::i;:::-;-1:-1:-1;;10351:9:1;;10099:267::o
Swarm Source
ipfs://1e6d33b25985ecc867121eed2d16c1e3dd00614dde355dbe479c56c90cfde9e9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,941.89 | 1.8984 | $7,483.34 |
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.