Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 8,827 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Get Reward | 17201544 | 636 days ago | IN | 0 ETH | 0.00710546 | ||||
Exit | 16948640 | 671 days ago | IN | 0 ETH | 0.00295012 | ||||
Exit | 16568028 | 725 days ago | IN | 0 ETH | 0.00160445 | ||||
Exit | 16400797 | 748 days ago | IN | 0 ETH | 0.00174398 | ||||
Exit | 16400794 | 748 days ago | IN | 0 ETH | 0.00233158 | ||||
Exit | 16399019 | 748 days ago | IN | 0 ETH | 0.00362092 | ||||
Exit | 16396918 | 749 days ago | IN | 0 ETH | 0.0011497 | ||||
Exit | 16388805 | 750 days ago | IN | 0 ETH | 0.00119549 | ||||
Exit | 16388782 | 750 days ago | IN | 0 ETH | 0.00114624 | ||||
Exit | 16388148 | 750 days ago | IN | 0 ETH | 0.00140597 | ||||
Exit | 16382863 | 751 days ago | IN | 0 ETH | 0.00249525 | ||||
Exit | 16382786 | 751 days ago | IN | 0 ETH | 0.00120897 | ||||
Exit | 16381168 | 751 days ago | IN | 0 ETH | 0.00124905 | ||||
Exit | 16379822 | 751 days ago | IN | 0 ETH | 0.00205795 | ||||
Exit | 16377902 | 751 days ago | IN | 0 ETH | 0.00214653 | ||||
Exit | 16377314 | 752 days ago | IN | 0 ETH | 0.00224543 | ||||
Exit | 16377241 | 752 days ago | IN | 0 ETH | 0.00203993 | ||||
Exit | 16377052 | 752 days ago | IN | 0 ETH | 0.00313841 | ||||
Exit | 16376929 | 752 days ago | IN | 0 ETH | 0.00196219 | ||||
Exit | 16376005 | 752 days ago | IN | 0 ETH | 0.0012184 | ||||
Exit | 16375783 | 752 days ago | IN | 0 ETH | 0.00125879 | ||||
Exit | 16375517 | 752 days ago | IN | 0 ETH | 0.00127306 | ||||
Exit | 16372393 | 752 days ago | IN | 0 ETH | 0.00195549 | ||||
Exit | 16371458 | 752 days ago | IN | 0 ETH | 0.00212713 | ||||
Exit | 16370544 | 752 days ago | IN | 0 ETH | 0.00336052 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
DOERewards
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-05 */ //SPDX-License-Identifier: MIT // DOERewards based on contracts by Synthetix and Yearn Finance. // Licensed under: MIT // Credit to them. // File: @openzeppelin/contracts/ownership/Ownable.sol pragma solidity ^0.8.7; /** * @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. * * 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. */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner, "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 onlyOwner { emit OwnershipTransferred(owner, address(0)); owner = 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 onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract StakedTokenWrapper { uint256 public totalSupply; mapping(address => uint256) private _balances; IERC20 public stakedToken; event Staked(address indexed user, uint256 amount); event Withdrawn(address indexed user, uint256 amount); function balanceOf(address account) public view returns (uint256) { return _balances[account]; } string constant _transferErrorMessage = "staked token transfer failed"; function stakeFor(address forWhom, uint128 amount) public payable virtual { IERC20 st = stakedToken; if(st == IERC20(address(0))) { //eth unchecked { totalSupply += msg.value; _balances[forWhom] += msg.value; } } else { require(msg.value == 0, "non-zero eth"); require(amount > 0, "Cannot stake 0"); require(st.transferFrom(msg.sender, address(this), amount), _transferErrorMessage); unchecked { totalSupply += amount; _balances[forWhom] += amount; } } emit Staked(forWhom, amount); } function withdraw(uint128 amount) public virtual { require(amount <= _balances[msg.sender], "withdraw: balance is lower"); unchecked { _balances[msg.sender] -= amount; totalSupply = totalSupply-amount; } IERC20 st = stakedToken; if(st == IERC20(address(0))) { //eth (bool success, ) = msg.sender.call{value: amount}(""); require(success, "eth transfer failure"); } else { require(stakedToken.transfer(msg.sender, amount), _transferErrorMessage); } emit Withdrawn(msg.sender, amount); } } contract DOERewards is StakedTokenWrapper, Ownable { IERC20 public rewardToken; uint256 public rewardRate; uint64 public periodFinish; uint64 public lastUpdateTime; uint128 public rewardPerTokenStored; struct UserRewards { uint128 userRewardPerTokenPaid; uint128 rewards; } mapping(address => UserRewards) public userRewards; event RewardAdded(uint256 reward); event RewardPaid(address indexed user, uint256 reward); constructor(IERC20 _rewardToken, IERC20 _stakedToken) { rewardToken = _rewardToken; stakedToken = _stakedToken; } modifier updateReward(address account) { uint128 _rewardPerTokenStored = rewardPerToken(); lastUpdateTime = lastTimeRewardApplicable(); rewardPerTokenStored = _rewardPerTokenStored; userRewards[account].rewards = earned(account); userRewards[account].userRewardPerTokenPaid = _rewardPerTokenStored; _; } function lastTimeRewardApplicable() public view returns (uint64) { uint64 blockTimestamp = uint64(block.timestamp); return blockTimestamp < periodFinish ? blockTimestamp : periodFinish; } function rewardPerToken() public view returns (uint128) { uint256 totalStakedSupply = totalSupply; if (totalStakedSupply == 0) { return rewardPerTokenStored; } unchecked { uint256 rewardDuration = lastTimeRewardApplicable()-lastUpdateTime; return uint128(rewardPerTokenStored + rewardDuration*rewardRate*1e18/totalStakedSupply); } } function earned(address account) public view returns (uint128) { unchecked { return uint128(balanceOf(account)*(rewardPerToken()-userRewards[account].userRewardPerTokenPaid)/1e18 + userRewards[account].rewards); } } function stake(uint128 amount) external payable { stakeFor(msg.sender, amount); } function stakeFor(address forWhom, uint128 amount) public payable override updateReward(forWhom) { super.stakeFor(forWhom, amount); } function withdraw(uint128 amount) public override updateReward(msg.sender) { super.withdraw(amount); } function exit() external { getReward(); withdraw(uint128(balanceOf(msg.sender))); } function getReward() public updateReward(msg.sender) { uint256 reward = earned(msg.sender); if (reward > 0) { userRewards[msg.sender].rewards = 0; require(rewardToken.transfer(msg.sender, reward), "reward transfer failed"); emit RewardPaid(msg.sender, reward); } } function setRewardParams(uint128 reward, uint64 duration) external onlyOwner { unchecked { require(reward > 0); rewardPerTokenStored = rewardPerToken(); uint64 blockTimestamp = uint64(block.timestamp); uint256 maxRewardSupply = rewardToken.balanceOf(address(this)); if(rewardToken == stakedToken) maxRewardSupply -= totalSupply; uint256 leftover = 0; if (blockTimestamp >= periodFinish) { rewardRate = reward/duration; } else { uint256 remaining = periodFinish-blockTimestamp; leftover = remaining*rewardRate; rewardRate = (reward+leftover)/duration; } require(reward+leftover <= maxRewardSupply, "not enough tokens"); lastUpdateTime = blockTimestamp; periodFinish = blockTimestamp+duration; emit RewardAdded(reward); } } function withdrawReward() external onlyOwner { uint256 rewardSupply = rewardToken.balanceOf(address(this)); //ensure funds staked by users can't be transferred out if(rewardToken == stakedToken) rewardSupply -= totalSupply; require(rewardToken.transfer(msg.sender, rewardSupply)); rewardRate = 0; periodFinish = uint64(block.timestamp); } } // Licenses and credits below /* ____ __ __ __ _ / __/__ __ ___ / /_ / / ___ / /_ (_)__ __ _\ \ / // // _ \/ __// _ \/ -_)/ __// / \ \ / /___/ \_, //_//_/\__//_//_/\__/ \__//_/ /_\_\ /___/ * Synthetix: YFIRewards.sol * * Docs: https://docs.synthetix.io/ * * * MIT License * =========== * * Copyright (c) 2020 Synthetix * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE */
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IERC20","name":"_rewardToken","type":"address"},{"internalType":"contract IERC20","name":"_stakedToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint128","name":"reward","type":"uint128"},{"internalType":"uint64","name":"duration","type":"uint64"}],"name":"setRewardParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"amount","type":"uint128"}],"name":"stake","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"forWhom","type":"address"},{"internalType":"uint128","name":"amount","type":"uint128"}],"name":"stakeFor","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"stakedToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","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":"address","name":"","type":"address"}],"name":"userRewards","outputs":[{"internalType":"uint128","name":"userRewardPerTokenPaid","type":"uint128"},{"internalType":"uint128","name":"rewards","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint128","name":"amount","type":"uint128"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawReward","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b5060405162002b1438038062002b14833981810160405281019062000037919062000119565b33600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620001c7565b6000815190506200011381620001ad565b92915050565b60008060408385031215620001335762000132620001a8565b5b6000620001438582860162000102565b9250506020620001568582860162000102565b9150509250929050565b60006200016d8262000188565b9050919050565b6000620001818262000160565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b620001b88162000174565b8114620001c457600080fd5b50565b61293d80620001d76000396000f3fe6080604052600436106101345760003560e01c806389ee4bde116100ab578063cd3daf9d1161006f578063cd3daf9d146103c2578063df136d65146103ed578063e9fad8ee14610418578063ebe2b12b1461042f578063f2fde38b1461045a578063f7c618c11461048357610134565b806389ee4bde146103015780638da5cb5b1461032a578063c885bc5814610355578063c8f33c911461036c578063cc7a262e1461039757610134565b806370458d85116100fd57806370458d851461021f57806370a082311461023b578063715018a6146102785780637b0a47ee1461028f57806380faa57d146102ba57806388fe2be8146102e557610134565b80628cc2621461013957806302387a7b146101765780630660f1e81461019f57806318160ddd146101dd5780633d18b91214610208575b600080fd5b34801561014557600080fd5b50610160600480360381019061015b9190611fd4565b6104ae565b60405161016d91906124cc565b60405180910390f35b34801561018257600080fd5b5061019d6004803603810190610198919061206e565b6105c5565b005b3480156101ab57600080fd5b506101c660048036038101906101c19190611fd4565b610743565b6040516101d4929190612502565b60405180910390f35b3480156101e957600080fd5b506101f261079f565b6040516101ff919061252b565b60405180910390f35b34801561021457600080fd5b5061021d6107a5565b005b61023960048036038101906102349190612001565b610af9565b005b34801561024757600080fd5b50610262600480360381019061025d9190611fd4565b610c79565b60405161026f919061252b565b60405180910390f35b34801561028457600080fd5b5061028d610cc2565b005b34801561029b57600080fd5b506102a4610e13565b6040516102b1919061252b565b60405180910390f35b3480156102c657600080fd5b506102cf610e19565b6040516102dc9190612546565b60405180910390f35b6102ff60048036038101906102fa919061206e565b610e74565b005b34801561030d57600080fd5b506103286004803603810190610323919061209b565b610e81565b005b34801561033657600080fd5b5061033f61126f565b60405161034c91906122eb565b60405180910390f35b34801561036157600080fd5b5061036a611295565b005b34801561037857600080fd5b50610381611549565b60405161038e9190612546565b60405180910390f35b3480156103a357600080fd5b506103ac611563565b6040516103b9919061238f565b60405180910390f35b3480156103ce57600080fd5b506103d7611589565b6040516103e491906124cc565b60405180910390f35b3480156103f957600080fd5b50610402611648565b60405161040f91906124cc565b60405180910390f35b34801561042457600080fd5b5061042d61166a565b005b34801561043b57600080fd5b50610444611685565b6040516104519190612546565b60405180910390f35b34801561046657600080fd5b50610481600480360381019061047c9190611fd4565b61169f565b005b34801561048f57600080fd5b5061049861173b565b6040516104a5919061238f565b60405180910390f35b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16670de0b6b3a7640000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a90046fffffffffffffffffffffffffffffffff16610591611589565b036fffffffffffffffffffffffffffffffff166105ad85610c79565b02816105bc576105bb6126de565b5b04019050919050565b3360006105d0611589565b90506105da610e19565b600660086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600660106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610644826104ae565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555061073e83611761565b505050565b60076020528060005260406000206000915090508060000160009054906101000a90046fffffffffffffffffffffffffffffffff16908060000160109054906101000a90046fffffffffffffffffffffffffffffffff16905082565b60005481565b3360006107b0611589565b90506107ba610e19565b600660086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600660106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610824826104ae565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506000610920336104ae565b6fffffffffffffffffffffffffffffffff1690506000811115610af4576000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610a14929190612366565b602060405180830381600087803b158015610a2e57600080fd5b505af1158015610a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a669190612041565b610aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9c9061242c565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048682604051610aeb919061252b565b60405180910390a25b505050565b816000610b04611589565b9050610b0e610e19565b600660086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600660106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610b78826104ae565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610c738484611b0b565b50505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d49906124ac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60055481565b600080429050600660009054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1610610e6c57600660009054906101000a900467ffffffffffffffff16610e6e565b805b91505090565b610e7e3382610af9565b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f08906124ac565b60405180910390fd5b6000826fffffffffffffffffffffffffffffffff1611610f3057600080fd5b610f38611589565b600660106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060004290506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fd291906122eb565b60206040518083038186803b158015610fea57600080fd5b505afa158015610ffe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102291906120db565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156110a457600054810390505b6000600660009054906101000a900467ffffffffffffffff1667ffffffffffffffff168367ffffffffffffffff1610611121578367ffffffffffffffff16856fffffffffffffffffffffffffffffffff1681611103576111026126de565b5b046fffffffffffffffffffffffffffffffff16600581905550611186565b600083600660009054906101000a900467ffffffffffffffff160367ffffffffffffffff169050600554810291508467ffffffffffffffff1682876fffffffffffffffffffffffffffffffff16018161117d5761117c6126de565b5b04600581905550505b8181866fffffffffffffffffffffffffffffffff160111156111dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d49061248c565b60405180910390fd5b82600660086101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550838301600660006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d8560405161126091906124e7565b60405180910390a15050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131c906124ac565b60405180910390fd5b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161138291906122eb565b60206040518083038186803b15801561139a57600080fd5b505afa1580156113ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d291906120db565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561145d576000548161145a9190612588565b90505b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016114ba929190612366565b602060405180830381600087803b1580156114d457600080fd5b505af11580156114e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150c9190612041565b61151557600080fd5b600060058190555042600660006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b600660089054906101000a900467ffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600054905060008114156115c157600660109054906101000a90046fffffffffffffffffffffffffffffffff16915050611645565b6000600660089054906101000a900467ffffffffffffffff166115e2610e19565b0367ffffffffffffffff16905081670de0b6b3a76400006005548302028161160d5761160c6126de565b5b04600660109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1601925050505b90565b600660109054906101000a90046fffffffffffffffffffffffffffffffff1681565b6116726107a5565b61168361167e33610c79565b6105c5565b565b600660009054906101000a900467ffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461172f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611726906124ac565b60405180910390fd5b61173881611e3b565b50565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054816fffffffffffffffffffffffffffffffff1611156117f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ec9061244c565b60405180910390fd5b806fffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550806fffffffffffffffffffffffffffffffff16600054036000819055506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119915760003373ffffffffffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff16604051611905906122d6565b60006040518083038185875af1925050503d8060008114611942576040519150601f19603f3d011682016040523d82523d6000602084013e611947565b606091505b505090508061198b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119829061246c565b60405180910390fd5b50611ab9565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b81526004016119ee92919061233d565b602060405180830381600087803b158015611a0857600080fd5b505af1158015611a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a409190612041565b6040518060400160405280601c81526020017f7374616b656420746f6b656e207472616e73666572206661696c65640000000081525090611ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aae91906123aa565b60405180910390fd5b505b3373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d583604051611aff91906124e7565b60405180910390a25050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bc85734600080828254019250508190555034600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611de8565b60003414611c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c029061240c565b60405180910390fd5b6000826fffffffffffffffffffffffffffffffff1611611c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c57906123ec565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401611c9d93929190612306565b602060405180830381600087803b158015611cb757600080fd5b505af1158015611ccb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cef9190612041565b6040518060400160405280601c81526020017f7374616b656420746f6b656e207472616e73666572206661696c65640000000081525090611d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5d91906123aa565b60405180910390fd5b50816fffffffffffffffffffffffffffffffff166000808282540192505081905550816fffffffffffffffffffffffffffffffff16600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8273ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d83604051611e2e91906124e7565b60405180910390a2505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611eab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea2906123cc565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081359050611f7a81612894565b92915050565b600081519050611f8f816128ab565b92915050565b600081359050611fa4816128c2565b92915050565b600081519050611fb9816128d9565b92915050565b600081359050611fce816128f0565b92915050565b600060208284031215611fea57611fe961270d565b5b6000611ff884828501611f6b565b91505092915050565b600080604083850312156120185761201761270d565b5b600061202685828601611f6b565b925050602061203785828601611f95565b9150509250929050565b6000602082840312156120575761205661270d565b5b600061206584828501611f80565b91505092915050565b6000602082840312156120845761208361270d565b5b600061209284828501611f95565b91505092915050565b600080604083850312156120b2576120b161270d565b5b60006120c085828601611f95565b92505060206120d185828601611fbf565b9150509250929050565b6000602082840312156120f1576120f061270d565b5b60006120ff84828501611faa565b91505092915050565b612111816125bc565b82525050565b61212081612634565b82525050565b600061213182612561565b61213b8185612577565b935061214b81856020860161267c565b61215481612712565b840191505092915050565b600061216c602683612577565b915061217782612723565b604082019050919050565b600061218f600e83612577565b915061219a82612772565b602082019050919050565b60006121b2600c83612577565b91506121bd8261279b565b602082019050919050565b60006121d5601683612577565b91506121e0826127c4565b602082019050919050565b60006121f8601a83612577565b9150612203826127ed565b602082019050919050565b600061221b601483612577565b915061222682612816565b602082019050919050565b600061223e601183612577565b91506122498261283f565b602082019050919050565b6000612261602083612577565b915061226c82612868565b602082019050919050565b600061228460008361256c565b915061228f82612891565b600082019050919050565b6122a3816125da565b82525050565b6122b281612646565b82525050565b6122c181612616565b82525050565b6122d081612620565b82525050565b60006122e182612277565b9150819050919050565b60006020820190506123006000830184612108565b92915050565b600060608201905061231b6000830186612108565b6123286020830185612108565b61233560408301846122a9565b949350505050565b60006040820190506123526000830185612108565b61235f60208301846122a9565b9392505050565b600060408201905061237b6000830185612108565b61238860208301846122b8565b9392505050565b60006020820190506123a46000830184612117565b92915050565b600060208201905081810360008301526123c48184612126565b905092915050565b600060208201905081810360008301526123e58161215f565b9050919050565b6000602082019050818103600083015261240581612182565b9050919050565b60006020820190508181036000830152612425816121a5565b9050919050565b60006020820190508181036000830152612445816121c8565b9050919050565b60006020820190508181036000830152612465816121eb565b9050919050565b600060208201905081810360008301526124858161220e565b9050919050565b600060208201905081810360008301526124a581612231565b9050919050565b600060208201905081810360008301526124c581612254565b9050919050565b60006020820190506124e1600083018461229a565b92915050565b60006020820190506124fc60008301846122a9565b92915050565b6000604082019050612517600083018561229a565b612524602083018461229a565b9392505050565b600060208201905061254060008301846122b8565b92915050565b600060208201905061255b60008301846122c7565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061259382612616565b915061259e83612616565b9250828210156125b1576125b06126af565b5b828203905092915050565b60006125c7826125f6565b9050919050565b60008115159050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600061263f82612658565b9050919050565b6000612651826125da565b9050919050565b60006126638261266a565b9050919050565b6000612675826125f6565b9050919050565b60005b8381101561269a57808201518184015260208101905061267f565b838111156126a9576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f43616e6e6f74207374616b652030000000000000000000000000000000000000600082015250565b7f6e6f6e2d7a65726f206574680000000000000000000000000000000000000000600082015250565b7f726577617264207472616e73666572206661696c656400000000000000000000600082015250565b7f77697468647261773a2062616c616e6365206973206c6f776572000000000000600082015250565b7f657468207472616e73666572206661696c757265000000000000000000000000600082015250565b7f6e6f7420656e6f75676820746f6b656e73000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b61289d816125bc565b81146128a857600080fd5b50565b6128b4816125ce565b81146128bf57600080fd5b50565b6128cb816125da565b81146128d657600080fd5b50565b6128e281612616565b81146128ed57600080fd5b50565b6128f981612620565b811461290457600080fd5b5056fea264697066735822122097965ae5a79bfc78ba886b7e08a5a13994d80d739c369a77932466cabf436d8b64736f6c63430008070033000000000000000000000000f8e9f10c22840b613cda05a0c5fdb59a4d6cd7ef000000000000000000000000f8e9f10c22840b613cda05a0c5fdb59a4d6cd7ef
Deployed Bytecode
0x6080604052600436106101345760003560e01c806389ee4bde116100ab578063cd3daf9d1161006f578063cd3daf9d146103c2578063df136d65146103ed578063e9fad8ee14610418578063ebe2b12b1461042f578063f2fde38b1461045a578063f7c618c11461048357610134565b806389ee4bde146103015780638da5cb5b1461032a578063c885bc5814610355578063c8f33c911461036c578063cc7a262e1461039757610134565b806370458d85116100fd57806370458d851461021f57806370a082311461023b578063715018a6146102785780637b0a47ee1461028f57806380faa57d146102ba57806388fe2be8146102e557610134565b80628cc2621461013957806302387a7b146101765780630660f1e81461019f57806318160ddd146101dd5780633d18b91214610208575b600080fd5b34801561014557600080fd5b50610160600480360381019061015b9190611fd4565b6104ae565b60405161016d91906124cc565b60405180910390f35b34801561018257600080fd5b5061019d6004803603810190610198919061206e565b6105c5565b005b3480156101ab57600080fd5b506101c660048036038101906101c19190611fd4565b610743565b6040516101d4929190612502565b60405180910390f35b3480156101e957600080fd5b506101f261079f565b6040516101ff919061252b565b60405180910390f35b34801561021457600080fd5b5061021d6107a5565b005b61023960048036038101906102349190612001565b610af9565b005b34801561024757600080fd5b50610262600480360381019061025d9190611fd4565b610c79565b60405161026f919061252b565b60405180910390f35b34801561028457600080fd5b5061028d610cc2565b005b34801561029b57600080fd5b506102a4610e13565b6040516102b1919061252b565b60405180910390f35b3480156102c657600080fd5b506102cf610e19565b6040516102dc9190612546565b60405180910390f35b6102ff60048036038101906102fa919061206e565b610e74565b005b34801561030d57600080fd5b506103286004803603810190610323919061209b565b610e81565b005b34801561033657600080fd5b5061033f61126f565b60405161034c91906122eb565b60405180910390f35b34801561036157600080fd5b5061036a611295565b005b34801561037857600080fd5b50610381611549565b60405161038e9190612546565b60405180910390f35b3480156103a357600080fd5b506103ac611563565b6040516103b9919061238f565b60405180910390f35b3480156103ce57600080fd5b506103d7611589565b6040516103e491906124cc565b60405180910390f35b3480156103f957600080fd5b50610402611648565b60405161040f91906124cc565b60405180910390f35b34801561042457600080fd5b5061042d61166a565b005b34801561043b57600080fd5b50610444611685565b6040516104519190612546565b60405180910390f35b34801561046657600080fd5b50610481600480360381019061047c9190611fd4565b61169f565b005b34801561048f57600080fd5b5061049861173b565b6040516104a5919061238f565b60405180910390f35b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16670de0b6b3a7640000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a90046fffffffffffffffffffffffffffffffff16610591611589565b036fffffffffffffffffffffffffffffffff166105ad85610c79565b02816105bc576105bb6126de565b5b04019050919050565b3360006105d0611589565b90506105da610e19565b600660086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600660106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610644826104ae565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555061073e83611761565b505050565b60076020528060005260406000206000915090508060000160009054906101000a90046fffffffffffffffffffffffffffffffff16908060000160109054906101000a90046fffffffffffffffffffffffffffffffff16905082565b60005481565b3360006107b0611589565b90506107ba610e19565b600660086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600660106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610824826104ae565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506000610920336104ae565b6fffffffffffffffffffffffffffffffff1690506000811115610af4576000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610a14929190612366565b602060405180830381600087803b158015610a2e57600080fd5b505af1158015610a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a669190612041565b610aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9c9061242c565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048682604051610aeb919061252b565b60405180910390a25b505050565b816000610b04611589565b9050610b0e610e19565b600660086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600660106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610b78826104ae565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610c738484611b0b565b50505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d49906124ac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60055481565b600080429050600660009054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1610610e6c57600660009054906101000a900467ffffffffffffffff16610e6e565b805b91505090565b610e7e3382610af9565b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f08906124ac565b60405180910390fd5b6000826fffffffffffffffffffffffffffffffff1611610f3057600080fd5b610f38611589565b600660106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060004290506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fd291906122eb565b60206040518083038186803b158015610fea57600080fd5b505afa158015610ffe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102291906120db565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156110a457600054810390505b6000600660009054906101000a900467ffffffffffffffff1667ffffffffffffffff168367ffffffffffffffff1610611121578367ffffffffffffffff16856fffffffffffffffffffffffffffffffff1681611103576111026126de565b5b046fffffffffffffffffffffffffffffffff16600581905550611186565b600083600660009054906101000a900467ffffffffffffffff160367ffffffffffffffff169050600554810291508467ffffffffffffffff1682876fffffffffffffffffffffffffffffffff16018161117d5761117c6126de565b5b04600581905550505b8181866fffffffffffffffffffffffffffffffff160111156111dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d49061248c565b60405180910390fd5b82600660086101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550838301600660006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d8560405161126091906124e7565b60405180910390a15050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131c906124ac565b60405180910390fd5b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161138291906122eb565b60206040518083038186803b15801561139a57600080fd5b505afa1580156113ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d291906120db565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561145d576000548161145a9190612588565b90505b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016114ba929190612366565b602060405180830381600087803b1580156114d457600080fd5b505af11580156114e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150c9190612041565b61151557600080fd5b600060058190555042600660006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b600660089054906101000a900467ffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600054905060008114156115c157600660109054906101000a90046fffffffffffffffffffffffffffffffff16915050611645565b6000600660089054906101000a900467ffffffffffffffff166115e2610e19565b0367ffffffffffffffff16905081670de0b6b3a76400006005548302028161160d5761160c6126de565b5b04600660109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1601925050505b90565b600660109054906101000a90046fffffffffffffffffffffffffffffffff1681565b6116726107a5565b61168361167e33610c79565b6105c5565b565b600660009054906101000a900467ffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461172f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611726906124ac565b60405180910390fd5b61173881611e3b565b50565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054816fffffffffffffffffffffffffffffffff1611156117f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ec9061244c565b60405180910390fd5b806fffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550806fffffffffffffffffffffffffffffffff16600054036000819055506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119915760003373ffffffffffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff16604051611905906122d6565b60006040518083038185875af1925050503d8060008114611942576040519150601f19603f3d011682016040523d82523d6000602084013e611947565b606091505b505090508061198b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119829061246c565b60405180910390fd5b50611ab9565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b81526004016119ee92919061233d565b602060405180830381600087803b158015611a0857600080fd5b505af1158015611a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a409190612041565b6040518060400160405280601c81526020017f7374616b656420746f6b656e207472616e73666572206661696c65640000000081525090611ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aae91906123aa565b60405180910390fd5b505b3373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d583604051611aff91906124e7565b60405180910390a25050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bc85734600080828254019250508190555034600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611de8565b60003414611c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c029061240c565b60405180910390fd5b6000826fffffffffffffffffffffffffffffffff1611611c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c57906123ec565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401611c9d93929190612306565b602060405180830381600087803b158015611cb757600080fd5b505af1158015611ccb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cef9190612041565b6040518060400160405280601c81526020017f7374616b656420746f6b656e207472616e73666572206661696c65640000000081525090611d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5d91906123aa565b60405180910390fd5b50816fffffffffffffffffffffffffffffffff166000808282540192505081905550816fffffffffffffffffffffffffffffffff16600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8273ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d83604051611e2e91906124e7565b60405180910390a2505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611eab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea2906123cc565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081359050611f7a81612894565b92915050565b600081519050611f8f816128ab565b92915050565b600081359050611fa4816128c2565b92915050565b600081519050611fb9816128d9565b92915050565b600081359050611fce816128f0565b92915050565b600060208284031215611fea57611fe961270d565b5b6000611ff884828501611f6b565b91505092915050565b600080604083850312156120185761201761270d565b5b600061202685828601611f6b565b925050602061203785828601611f95565b9150509250929050565b6000602082840312156120575761205661270d565b5b600061206584828501611f80565b91505092915050565b6000602082840312156120845761208361270d565b5b600061209284828501611f95565b91505092915050565b600080604083850312156120b2576120b161270d565b5b60006120c085828601611f95565b92505060206120d185828601611fbf565b9150509250929050565b6000602082840312156120f1576120f061270d565b5b60006120ff84828501611faa565b91505092915050565b612111816125bc565b82525050565b61212081612634565b82525050565b600061213182612561565b61213b8185612577565b935061214b81856020860161267c565b61215481612712565b840191505092915050565b600061216c602683612577565b915061217782612723565b604082019050919050565b600061218f600e83612577565b915061219a82612772565b602082019050919050565b60006121b2600c83612577565b91506121bd8261279b565b602082019050919050565b60006121d5601683612577565b91506121e0826127c4565b602082019050919050565b60006121f8601a83612577565b9150612203826127ed565b602082019050919050565b600061221b601483612577565b915061222682612816565b602082019050919050565b600061223e601183612577565b91506122498261283f565b602082019050919050565b6000612261602083612577565b915061226c82612868565b602082019050919050565b600061228460008361256c565b915061228f82612891565b600082019050919050565b6122a3816125da565b82525050565b6122b281612646565b82525050565b6122c181612616565b82525050565b6122d081612620565b82525050565b60006122e182612277565b9150819050919050565b60006020820190506123006000830184612108565b92915050565b600060608201905061231b6000830186612108565b6123286020830185612108565b61233560408301846122a9565b949350505050565b60006040820190506123526000830185612108565b61235f60208301846122a9565b9392505050565b600060408201905061237b6000830185612108565b61238860208301846122b8565b9392505050565b60006020820190506123a46000830184612117565b92915050565b600060208201905081810360008301526123c48184612126565b905092915050565b600060208201905081810360008301526123e58161215f565b9050919050565b6000602082019050818103600083015261240581612182565b9050919050565b60006020820190508181036000830152612425816121a5565b9050919050565b60006020820190508181036000830152612445816121c8565b9050919050565b60006020820190508181036000830152612465816121eb565b9050919050565b600060208201905081810360008301526124858161220e565b9050919050565b600060208201905081810360008301526124a581612231565b9050919050565b600060208201905081810360008301526124c581612254565b9050919050565b60006020820190506124e1600083018461229a565b92915050565b60006020820190506124fc60008301846122a9565b92915050565b6000604082019050612517600083018561229a565b612524602083018461229a565b9392505050565b600060208201905061254060008301846122b8565b92915050565b600060208201905061255b60008301846122c7565b92915050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061259382612616565b915061259e83612616565b9250828210156125b1576125b06126af565b5b828203905092915050565b60006125c7826125f6565b9050919050565b60008115159050919050565b60006fffffffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600061263f82612658565b9050919050565b6000612651826125da565b9050919050565b60006126638261266a565b9050919050565b6000612675826125f6565b9050919050565b60005b8381101561269a57808201518184015260208101905061267f565b838111156126a9576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f43616e6e6f74207374616b652030000000000000000000000000000000000000600082015250565b7f6e6f6e2d7a65726f206574680000000000000000000000000000000000000000600082015250565b7f726577617264207472616e73666572206661696c656400000000000000000000600082015250565b7f77697468647261773a2062616c616e6365206973206c6f776572000000000000600082015250565b7f657468207472616e73666572206661696c757265000000000000000000000000600082015250565b7f6e6f7420656e6f75676820746f6b656e73000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b61289d816125bc565b81146128a857600080fd5b50565b6128b4816125ce565b81146128bf57600080fd5b50565b6128cb816125da565b81146128d657600080fd5b50565b6128e281612616565b81146128ed57600080fd5b50565b6128f981612620565b811461290457600080fd5b5056fea264697066735822122097965ae5a79bfc78ba886b7e08a5a13994d80d739c369a77932466cabf436d8b64736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f8e9f10c22840b613cda05a0c5fdb59a4d6cd7ef000000000000000000000000f8e9f10c22840b613cda05a0c5fdb59a4d6cd7ef
-----Decoded View---------------
Arg [0] : _rewardToken (address): 0xf8E9F10c22840b613cdA05A0c5Fdb59A4d6cd7eF
Arg [1] : _stakedToken (address): 0xf8E9F10c22840b613cdA05A0c5Fdb59A4d6cd7eF
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f8e9f10c22840b613cda05a0c5fdb59a4d6cd7ef
Arg [1] : 000000000000000000000000f8e9f10c22840b613cda05a0c5fdb59a4d6cd7ef
Deployed Bytecode Sourcemap
4619:4177:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6274:252;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6792:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4951:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2820:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7030:335;;;;;;;;;;;;;:::i;:::-;;6637:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3064:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1360:138;;;;;;;;;;;;;:::i;:::-;;4709:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5627:210;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6534:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7373:998;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;628:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8379:414;;;;;;;;;;;;;:::i;:::-;;4774:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2907:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5845:421;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4809:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6916:106;;;;;;;;;;;;;:::i;:::-;;4741:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1653:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4677:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6274:252;6328:7;6478:11;:20;6490:7;6478:20;;;;;;;;;;;;;;;:28;;;;;;;;;;;;6389:117;;6471:4;6426:11;:20;6438:7;6426:20;;;;;;;;;;;;;;;:43;;;;;;;;;;;;6409:16;:14;:16::i;:::-;:60;6389:81;;:18;6399:7;6389:9;:18::i;:::-;:81;:86;;;;;:::i;:::-;;;:117;6374:133;;6274:252;;;:::o;6792:116::-;6855:10;5307:29;5339:16;:14;:16::i;:::-;5307:48;;5383:26;:24;:26::i;:::-;5366:14;;:43;;;;;;;;;;;;;;;;;;5443:21;5420:20;;:44;;;;;;;;;;;;;;;;;;5506:15;5513:7;5506:6;:15::i;:::-;5475:11;:20;5487:7;5475:20;;;;;;;;;;;;;;;:28;;;:46;;;;;;;;;;;;;;;;;;5578:21;5532:11;:20;5544:7;5532:20;;;;;;;;;;;;;;;:43;;;:67;;;;;;;;;;;;;;;;;;6878:22:::1;6893:6;6878:14;:22::i;:::-;5296:323:::0;6792:116;;:::o;4951:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2820:26::-;;;;:::o;7030:335::-;7071:10;5307:29;5339:16;:14;:16::i;:::-;5307:48;;5383:26;:24;:26::i;:::-;5366:14;;:43;;;;;;;;;;;;;;;;;;5443:21;5420:20;;:44;;;;;;;;;;;;;;;;;;5506:15;5513:7;5506:6;:15::i;:::-;5475:11;:20;5487:7;5475:20;;;;;;;;;;;;;;;:28;;;:46;;;;;;;;;;;;;;;;;;5578:21;5532:11;:20;5544:7;5532:20;;;;;;;;;;;;;;;:43;;;:67;;;;;;;;;;;;;;;;;;7094:14:::1;7111:18;7118:10;7111:6;:18::i;:::-;7094:35;;;;7153:1;7144:6;:10;7140:218;;;7205:1;7171:11;:23;7183:10;7171:23;;;;;;;;;;;;;;;:31;;;:35;;;;;;;;;;;;;;;;;;7229:11;;;;;;;;;;;:20;;;7250:10;7262:6;7229:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7221:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;7327:10;7316:30;;;7339:6;7316:30;;;;;;:::i;:::-;;;;;;;;7140:218;7083:282;5296:323:::0;7030:335;:::o;6637:147::-;6725:7;5307:29;5339:16;:14;:16::i;:::-;5307:48;;5383:26;:24;:26::i;:::-;5366:14;;:43;;;;;;;;;;;;;;;;;;5443:21;5420:20;;:44;;;;;;;;;;;;;;;;;;5506:15;5513:7;5506:6;:15::i;:::-;5475:11;:20;5487:7;5475:20;;;;;;;;;;;;;;;:28;;;:46;;;;;;;;;;;;;;;;;;5578:21;5532:11;:20;5544:7;5532:20;;;;;;;;;;;;;;;:43;;;:67;;;;;;;;;;;;;;;;;;6745:31:::1;6760:7;6769:6;6745:14;:31::i;:::-;5296:323:::0;6637:147;;;:::o;3064:110::-;3121:7;3148:9;:18;3158:7;3148:18;;;;;;;;;;;;;;;;3141:25;;3064:110;;;:::o;1360:138::-;947:5;;;;;;;;;;;933:19;;:10;:19;;;925:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;1458:1:::1;1422:39;;1443:5;;;;;;;;;;;1422:39;;;;;;;;;;;;1488:1;1472:5;;:18;;;;;;;;;;;;;;;;;;1360:138::o:0;4709:25::-;;;;:::o;5627:210::-;5684:6;5703:21;5734:15;5703:47;;5785:12;;;;;;;;;;;5768:29;;:14;:29;;;:61;;5817:12;;;;;;;;;;;5768:61;;;5800:14;5768:61;5761:68;;;5627:210;:::o;6534:95::-;6593:28;6602:10;6614:6;6593:8;:28::i;:::-;6534:95;:::o;7373:998::-;947:5;;;;;;;;;;;933:19;;:10;:19;;;925:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7503:1:::1;7494:6;:10;;;7486:19;;;::::0;::::1;;7543:16;:14;:16::i;:::-;7520:20;;:39;;;;;;;;;;;;;;;;;;7574:21;7605:15;7574:47;;7636:23;7662:11;;;;;;;;;;;:21;;;7692:4;7662:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7636:62;;7731:11;;;;;;;;;;;7716:26;;:11;;;;;;;;;;;:26;;;7713:78;;;7780:11;;7761:30;;;;7713:78;7806:16;7863:12;;;;;;;;;;;7845:30;;:14;:30;;;7841:295;;7916:8;7909:15;;:6;:15;;;;;;;:::i;:::-;;;7896:28;;:10;:28;;;;7841:295;;;7965:17;7998:14;7985:12;;;;;;;;;;;:27;7965:47;;;;8052:10;;8042:9;:20;8031:31;;8112:8;8094:26;;8102:8;8095:6;:15;;;8094:26;;;;;:::i;:::-;;;8081:10;:39;;;;7946:190;7841:295;8177:15;8165:8;8158:6;:15;;;:34;;8150:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8246:14;8229;;:31;;;;;;;;;;;;;;;;;;8305:8;8290:14;:23;8275:12;;:38;;;;;;;;;;;;;;;;;;8333:19;8345:6;8333:19;;;;;;:::i;:::-;;;;;;;;7461:903;;;7373:998:::0;;:::o;628:20::-;;;;;;;;;;;;;:::o;8379:414::-;947:5;;;;;;;;;;;933:19;;:10;:19;;;925:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8435:20:::1;8458:11;;;;;;;;;;;:21;;;8488:4;8458:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8435:59;;8588:11;;;;;;;;;;;8573:26;;:11;;;;;;;;;;;:26;;;8570:75;;;8634:11;;8618:27;;;;;:::i;:::-;;;8570:75;8664:11;;;;;;;;;;;:20;;;8685:10;8697:12;8664:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8656:55;;;::::0;::::1;;8735:1;8722:10;:14;;;;8769:15;8747:12;;:38;;;;;;;;;;;;;;;;;;8424:369;8379:414::o:0;4774:28::-;;;;;;;;;;;;;:::o;2907:25::-;;;;;;;;;;;;;:::o;5845:421::-;5892:7;5912:25;5940:11;;5912:39;;5987:1;5966:17;:22;5962:82;;;6012:20;;;;;;;;;;;6005:27;;;;;5962:82;6079:22;6131:14;;;;;;;;;;;6104:26;:24;:26::i;:::-;:41;6079:66;;;;6229:17;6224:4;6213:10;;6198:14;:25;:30;:48;;;;;:::i;:::-;;;6175:20;;;;;;;;;;;:71;;;6160:87;;;;5845:421;;:::o;4809:35::-;;;;;;;;;;;;;:::o;6916:106::-;6952:11;:9;:11::i;:::-;6974:40;6991:21;7001:10;6991:9;:21::i;:::-;6974:8;:40::i;:::-;6916:106::o;4741:26::-;;;;;;;;;;;;;:::o;1653:109::-;947:5;;;;;;;;;;;933:19;;:10;:19;;;925:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;1726:28:::1;1745:8;1726:18;:28::i;:::-;1653:109:::0;:::o;4677:25::-;;;;;;;;;;;;;:::o;3976:636::-;4054:9;:21;4064:10;4054:21;;;;;;;;;;;;;;;;4044:6;:31;;;;4036:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4167:6;4142:31;;:9;:21;4152:10;4142:21;;;;;;;;;;;;;;;;:31;;;;;;;;;;;4214:6;4202:18;;:11;;:18;4188:11;:32;;;;4242:9;4254:11;;;;;;;;;;;4242:23;;4300:1;4279:24;;:2;:24;;;4276:284;;;4327:12;4345:10;:15;;4368:6;4345:34;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4326:53;;;4402:7;4394:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;4305:141;4276:284;;;4484:11;;;;;;;;;;;:20;;;4505:10;4517:6;4484:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4526:21;;;;;;;;;;;;;;;;;4476:72;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4276:284;4585:10;4575:29;;;4597:6;4575:29;;;;;;:::i;:::-;;;;;;;;4025:587;3976:636;:::o;3265:703::-;3350:9;3362:11;;;;;;;;;;;3350:23;;3408:1;3387:24;;:2;:24;;;3384:538;;;3478:9;3463:11;;:24;;;;;;;;;;;3528:9;3506;:18;3516:7;3506:18;;;;;;;;;;;;;;;;:31;;;;;;;;;;;3384:538;;;3615:1;3602:9;:14;3594:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;3665:1;3656:6;:10;;;3648:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;3708:2;:15;;;3724:10;3744:4;3751:6;3708:50;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3760:21;;;;;;;;;;;;;;;;;3700:82;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3842:6;3827:21;;:11;;:21;;;;;;;;;;;3889:6;3867:28;;:9;:18;3877:7;3867:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;3384:538;3944:7;3937:23;;;3953:6;3937:23;;;;;;:::i;:::-;;;;;;;;3339:629;3265:703;;:::o;1868:227::-;1962:1;1942:22;;:8;:22;;;;1934:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2051:8;2023:37;;2044:5;;;;;;;;;;;2023:37;;;;;;;;;;;;2079:8;2071:5;;:16;;;;;;;;;;;;;;;;;;1868:227;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:137::-;206:5;237:6;231:13;222:22;;253:30;277:5;253:30;:::i;:::-;152:137;;;;:::o;295:139::-;341:5;379:6;366:20;357:29;;395:33;422:5;395:33;:::i;:::-;295:139;;;;:::o;440:143::-;497:5;528:6;522:13;513:22;;544:33;571:5;544:33;:::i;:::-;440:143;;;;:::o;589:137::-;634:5;672:6;659:20;650:29;;688:32;714:5;688:32;:::i;:::-;589:137;;;;:::o;732:329::-;791:6;840:2;828:9;819:7;815:23;811:32;808:119;;;846:79;;:::i;:::-;808:119;966:1;991:53;1036:7;1027:6;1016:9;1012:22;991:53;:::i;:::-;981:63;;937:117;732:329;;;;:::o;1067:474::-;1135:6;1143;1192:2;1180:9;1171:7;1167:23;1163:32;1160:119;;;1198:79;;:::i;:::-;1160:119;1318:1;1343:53;1388:7;1379:6;1368:9;1364:22;1343:53;:::i;:::-;1333:63;;1289:117;1445:2;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1416:118;1067:474;;;;;:::o;1547:345::-;1614:6;1663:2;1651:9;1642:7;1638:23;1634:32;1631:119;;;1669:79;;:::i;:::-;1631:119;1789:1;1814:61;1867:7;1858:6;1847:9;1843:22;1814:61;:::i;:::-;1804:71;;1760:125;1547:345;;;;:::o;1898:329::-;1957:6;2006:2;1994:9;1985:7;1981:23;1977:32;1974:119;;;2012:79;;:::i;:::-;1974:119;2132:1;2157:53;2202:7;2193:6;2182:9;2178:22;2157:53;:::i;:::-;2147:63;;2103:117;1898:329;;;;:::o;2233:472::-;2300:6;2308;2357:2;2345:9;2336:7;2332:23;2328:32;2325:119;;;2363:79;;:::i;:::-;2325:119;2483:1;2508:53;2553:7;2544:6;2533:9;2529:22;2508:53;:::i;:::-;2498:63;;2454:117;2610:2;2636:52;2680:7;2671:6;2660:9;2656:22;2636:52;:::i;:::-;2626:62;;2581:117;2233:472;;;;;:::o;2711:351::-;2781:6;2830:2;2818:9;2809:7;2805:23;2801:32;2798:119;;;2836:79;;:::i;:::-;2798:119;2956:1;2981:64;3037:7;3028:6;3017:9;3013:22;2981:64;:::i;:::-;2971:74;;2927:128;2711:351;;;;:::o;3068:118::-;3155:24;3173:5;3155:24;:::i;:::-;3150:3;3143:37;3068:118;;:::o;3192:159::-;3293:51;3338:5;3293:51;:::i;:::-;3288:3;3281:64;3192:159;;:::o;3357:364::-;3445:3;3473:39;3506:5;3473:39;:::i;:::-;3528:71;3592:6;3587:3;3528:71;:::i;:::-;3521:78;;3608:52;3653:6;3648:3;3641:4;3634:5;3630:16;3608:52;:::i;:::-;3685:29;3707:6;3685:29;:::i;:::-;3680:3;3676:39;3669:46;;3449:272;3357:364;;;;:::o;3727:366::-;3869:3;3890:67;3954:2;3949:3;3890:67;:::i;:::-;3883:74;;3966:93;4055:3;3966:93;:::i;:::-;4084:2;4079:3;4075:12;4068:19;;3727:366;;;:::o;4099:::-;4241:3;4262:67;4326:2;4321:3;4262:67;:::i;:::-;4255:74;;4338:93;4427:3;4338:93;:::i;:::-;4456:2;4451:3;4447:12;4440:19;;4099:366;;;:::o;4471:::-;4613:3;4634:67;4698:2;4693:3;4634:67;:::i;:::-;4627:74;;4710:93;4799:3;4710:93;:::i;:::-;4828:2;4823:3;4819:12;4812:19;;4471:366;;;:::o;4843:::-;4985:3;5006:67;5070:2;5065:3;5006:67;:::i;:::-;4999:74;;5082:93;5171:3;5082:93;:::i;:::-;5200:2;5195:3;5191:12;5184:19;;4843:366;;;:::o;5215:::-;5357:3;5378:67;5442:2;5437:3;5378:67;:::i;:::-;5371:74;;5454:93;5543:3;5454:93;:::i;:::-;5572:2;5567:3;5563:12;5556:19;;5215:366;;;:::o;5587:::-;5729:3;5750:67;5814:2;5809:3;5750:67;:::i;:::-;5743:74;;5826:93;5915:3;5826:93;:::i;:::-;5944:2;5939:3;5935:12;5928:19;;5587:366;;;:::o;5959:::-;6101:3;6122:67;6186:2;6181:3;6122:67;:::i;:::-;6115:74;;6198:93;6287:3;6198:93;:::i;:::-;6316:2;6311:3;6307:12;6300:19;;5959:366;;;:::o;6331:::-;6473:3;6494:67;6558:2;6553:3;6494:67;:::i;:::-;6487:74;;6570:93;6659:3;6570:93;:::i;:::-;6688:2;6683:3;6679:12;6672:19;;6331:366;;;:::o;6703:398::-;6862:3;6883:83;6964:1;6959:3;6883:83;:::i;:::-;6876:90;;6975:93;7064:3;6975:93;:::i;:::-;7093:1;7088:3;7084:11;7077:18;;6703:398;;;:::o;7107:118::-;7194:24;7212:5;7194:24;:::i;:::-;7189:3;7182:37;7107:118;;:::o;7231:131::-;7318:37;7349:5;7318:37;:::i;:::-;7313:3;7306:50;7231:131;;:::o;7368:118::-;7455:24;7473:5;7455:24;:::i;:::-;7450:3;7443:37;7368:118;;:::o;7492:115::-;7577:23;7594:5;7577:23;:::i;:::-;7572:3;7565:36;7492:115;;:::o;7613:379::-;7797:3;7819:147;7962:3;7819:147;:::i;:::-;7812:154;;7983:3;7976:10;;7613:379;;;:::o;7998:222::-;8091:4;8129:2;8118:9;8114:18;8106:26;;8142:71;8210:1;8199:9;8195:17;8186:6;8142:71;:::i;:::-;7998:222;;;;:::o;8226:442::-;8375:4;8413:2;8402:9;8398:18;8390:26;;8426:71;8494:1;8483:9;8479:17;8470:6;8426:71;:::i;:::-;8507:72;8575:2;8564:9;8560:18;8551:6;8507:72;:::i;:::-;8589;8657:2;8646:9;8642:18;8633:6;8589:72;:::i;:::-;8226:442;;;;;;:::o;8674:332::-;8795:4;8833:2;8822:9;8818:18;8810:26;;8846:71;8914:1;8903:9;8899:17;8890:6;8846:71;:::i;:::-;8927:72;8995:2;8984:9;8980:18;8971:6;8927:72;:::i;:::-;8674:332;;;;;:::o;9012:::-;9133:4;9171:2;9160:9;9156:18;9148:26;;9184:71;9252:1;9241:9;9237:17;9228:6;9184:71;:::i;:::-;9265:72;9333:2;9322:9;9318:18;9309:6;9265:72;:::i;:::-;9012:332;;;;;:::o;9350:250::-;9457:4;9495:2;9484:9;9480:18;9472:26;;9508:85;9590:1;9579:9;9575:17;9566:6;9508:85;:::i;:::-;9350:250;;;;:::o;9606:313::-;9719:4;9757:2;9746:9;9742:18;9734:26;;9806:9;9800:4;9796:20;9792:1;9781:9;9777:17;9770:47;9834:78;9907:4;9898:6;9834:78;:::i;:::-;9826:86;;9606:313;;;;:::o;9925:419::-;10091:4;10129:2;10118:9;10114:18;10106:26;;10178:9;10172:4;10168:20;10164:1;10153:9;10149:17;10142:47;10206:131;10332:4;10206:131;:::i;:::-;10198:139;;9925:419;;;:::o;10350:::-;10516:4;10554:2;10543:9;10539:18;10531:26;;10603:9;10597:4;10593:20;10589:1;10578:9;10574:17;10567:47;10631:131;10757:4;10631:131;:::i;:::-;10623:139;;10350:419;;;:::o;10775:::-;10941:4;10979:2;10968:9;10964:18;10956:26;;11028:9;11022:4;11018:20;11014:1;11003:9;10999:17;10992:47;11056:131;11182:4;11056:131;:::i;:::-;11048:139;;10775:419;;;:::o;11200:::-;11366:4;11404:2;11393:9;11389:18;11381:26;;11453:9;11447:4;11443:20;11439:1;11428:9;11424:17;11417:47;11481:131;11607:4;11481:131;:::i;:::-;11473:139;;11200:419;;;:::o;11625:::-;11791:4;11829:2;11818:9;11814:18;11806:26;;11878:9;11872:4;11868:20;11864:1;11853:9;11849:17;11842:47;11906:131;12032:4;11906:131;:::i;:::-;11898:139;;11625:419;;;:::o;12050:::-;12216:4;12254:2;12243:9;12239:18;12231:26;;12303:9;12297:4;12293:20;12289:1;12278:9;12274:17;12267:47;12331:131;12457:4;12331:131;:::i;:::-;12323:139;;12050:419;;;:::o;12475:::-;12641:4;12679:2;12668:9;12664:18;12656:26;;12728:9;12722:4;12718:20;12714:1;12703:9;12699:17;12692:47;12756:131;12882:4;12756:131;:::i;:::-;12748:139;;12475:419;;;:::o;12900:::-;13066:4;13104:2;13093:9;13089:18;13081:26;;13153:9;13147:4;13143:20;13139:1;13128:9;13124:17;13117:47;13181:131;13307:4;13181:131;:::i;:::-;13173:139;;12900:419;;;:::o;13325:222::-;13418:4;13456:2;13445:9;13441:18;13433:26;;13469:71;13537:1;13526:9;13522:17;13513:6;13469:71;:::i;:::-;13325:222;;;;:::o;13553:::-;13646:4;13684:2;13673:9;13669:18;13661:26;;13697:71;13765:1;13754:9;13750:17;13741:6;13697:71;:::i;:::-;13553:222;;;;:::o;13781:332::-;13902:4;13940:2;13929:9;13925:18;13917:26;;13953:71;14021:1;14010:9;14006:17;13997:6;13953:71;:::i;:::-;14034:72;14102:2;14091:9;14087:18;14078:6;14034:72;:::i;:::-;13781:332;;;;;:::o;14119:222::-;14212:4;14250:2;14239:9;14235:18;14227:26;;14263:71;14331:1;14320:9;14316:17;14307:6;14263:71;:::i;:::-;14119:222;;;;:::o;14347:218::-;14438:4;14476:2;14465:9;14461:18;14453:26;;14489:69;14555:1;14544:9;14540:17;14531:6;14489:69;:::i;:::-;14347:218;;;;:::o;14652:99::-;14704:6;14738:5;14732:12;14722:22;;14652:99;;;:::o;14757:147::-;14858:11;14895:3;14880:18;;14757:147;;;;:::o;14910:169::-;14994:11;15028:6;15023:3;15016:19;15068:4;15063:3;15059:14;15044:29;;14910:169;;;;:::o;15085:191::-;15125:4;15145:20;15163:1;15145:20;:::i;:::-;15140:25;;15179:20;15197:1;15179:20;:::i;:::-;15174:25;;15218:1;15215;15212:8;15209:34;;;15223:18;;:::i;:::-;15209:34;15268:1;15265;15261:9;15253:17;;15085:191;;;;:::o;15282:96::-;15319:7;15348:24;15366:5;15348:24;:::i;:::-;15337:35;;15282:96;;;:::o;15384:90::-;15418:7;15461:5;15454:13;15447:21;15436:32;;15384:90;;;:::o;15480:118::-;15517:7;15557:34;15550:5;15546:46;15535:57;;15480:118;;;:::o;15604:126::-;15641:7;15681:42;15674:5;15670:54;15659:65;;15604:126;;;:::o;15736:77::-;15773:7;15802:5;15791:16;;15736:77;;;:::o;15819:101::-;15855:7;15895:18;15888:5;15884:30;15873:41;;15819:101;;;:::o;15926:140::-;15990:9;16023:37;16054:5;16023:37;:::i;:::-;16010:50;;15926:140;;;:::o;16072:113::-;16122:9;16155:24;16173:5;16155:24;:::i;:::-;16142:37;;16072:113;;;:::o;16191:126::-;16241:9;16274:37;16305:5;16274:37;:::i;:::-;16261:50;;16191:126;;;:::o;16323:113::-;16373:9;16406:24;16424:5;16406:24;:::i;:::-;16393:37;;16323:113;;;:::o;16442:307::-;16510:1;16520:113;16534:6;16531:1;16528:13;16520:113;;;16619:1;16614:3;16610:11;16604:18;16600:1;16595:3;16591:11;16584:39;16556:2;16553:1;16549:10;16544:15;;16520:113;;;16651:6;16648:1;16645:13;16642:101;;;16731:1;16722:6;16717:3;16713:16;16706:27;16642:101;16491:258;16442:307;;;:::o;16755:180::-;16803:77;16800:1;16793:88;16900:4;16897:1;16890:15;16924:4;16921:1;16914:15;16941:180;16989:77;16986:1;16979:88;17086:4;17083:1;17076:15;17110:4;17107:1;17100:15;17250:117;17359:1;17356;17349:12;17373:102;17414:6;17465:2;17461:7;17456:2;17449:5;17445:14;17441:28;17431:38;;17373:102;;;:::o;17481:225::-;17621:34;17617:1;17609:6;17605:14;17598:58;17690:8;17685:2;17677:6;17673:15;17666:33;17481:225;:::o;17712:164::-;17852:16;17848:1;17840:6;17836:14;17829:40;17712:164;:::o;17882:162::-;18022:14;18018:1;18010:6;18006:14;17999:38;17882:162;:::o;18050:172::-;18190:24;18186:1;18178:6;18174:14;18167:48;18050:172;:::o;18228:176::-;18368:28;18364:1;18356:6;18352:14;18345:52;18228:176;:::o;18410:170::-;18550:22;18546:1;18538:6;18534:14;18527:46;18410:170;:::o;18586:167::-;18726:19;18722:1;18714:6;18710:14;18703:43;18586:167;:::o;18759:182::-;18899:34;18895:1;18887:6;18883:14;18876:58;18759:182;:::o;18947:114::-;;:::o;19067:122::-;19140:24;19158:5;19140:24;:::i;:::-;19133:5;19130:35;19120:63;;19179:1;19176;19169:12;19120:63;19067:122;:::o;19195:116::-;19265:21;19280:5;19265:21;:::i;:::-;19258:5;19255:32;19245:60;;19301:1;19298;19291:12;19245:60;19195:116;:::o;19317:122::-;19390:24;19408:5;19390:24;:::i;:::-;19383:5;19380:35;19370:63;;19429:1;19426;19419:12;19370:63;19317:122;:::o;19445:::-;19518:24;19536:5;19518:24;:::i;:::-;19511:5;19508:35;19498:63;;19557:1;19554;19547:12;19498:63;19445:122;:::o;19573:120::-;19645:23;19662:5;19645:23;:::i;:::-;19638:5;19635:34;19625:62;;19683:1;19680;19673:12;19625:62;19573:120;:::o
Swarm Source
ipfs://97965ae5a79bfc78ba886b7e08a5a13994d80d739c369a77932466cabf436d8b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.000038 | 22,712,480.7783 | $860.8 |
Loading...
Loading
[ 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.