More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 31 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw ERC20 | 18809485 | 254 days ago | IN | 0 ETH | 0.00239707 | ||||
Un Stake Ruff | 18809479 | 254 days ago | IN | 0 ETH | 0.0029944 | ||||
Withdraw ERC20 | 18809471 | 254 days ago | IN | 0 ETH | 0.00216648 | ||||
Un Stake Ruff | 18809449 | 254 days ago | IN | 0 ETH | 0.00714609 | ||||
Un Stake Ruff | 18802012 | 255 days ago | IN | 0 ETH | 0.00291915 | ||||
Un Stake Ruff | 18761360 | 260 days ago | IN | 0 ETH | 0.00247351 | ||||
Un Stake Ruff | 18689397 | 270 days ago | IN | 0 ETH | 0.00322912 | ||||
Withdraw ERC20 | 18544926 | 291 days ago | IN | 0 ETH | 0.00289435 | ||||
Withdraw ERC20 | 18544926 | 291 days ago | IN | 0 ETH | 0.00181847 | ||||
Un Stake Ruff | 18486919 | 299 days ago | IN | 0 ETH | 0.00188791 | ||||
Stake Ruff | 18485242 | 299 days ago | IN | 0 ETH | 0.00700117 | ||||
Stake Ruff | 18133950 | 348 days ago | IN | 0 ETH | 0.00396167 | ||||
Un Stake Ruff | 18072853 | 357 days ago | IN | 0 ETH | 0.00447618 | ||||
Withdraw ERC20 | 18072750 | 357 days ago | IN | 0 ETH | 0.00334479 | ||||
Stake Ruff | 18072534 | 357 days ago | IN | 0 ETH | 0.00409516 | ||||
Un Stake Ruff | 18072521 | 357 days ago | IN | 0 ETH | 0.00155942 | ||||
Stake Ruff | 18072516 | 357 days ago | IN | 0 ETH | 0.00386551 | ||||
Disable Fees | 18043735 | 361 days ago | IN | 0 ETH | 0.00048294 | ||||
Stake Ruff | 17867492 | 386 days ago | IN | 0 ETH | 0.00321868 | ||||
Stake Ruff | 17802008 | 395 days ago | IN | 0 ETH | 0.00631676 | ||||
Un Stake Ruff | 17801952 | 395 days ago | IN | 0 ETH | 0.00291404 | ||||
Stake Ruff | 17800625 | 395 days ago | IN | 0 ETH | 0.00544516 | ||||
Stake Ruff | 17800522 | 395 days ago | IN | 0 ETH | 0.00617981 | ||||
Stake Ruff | 17800519 | 395 days ago | IN | 0 ETH | 0.00599361 | ||||
Stake Ruff | 17800509 | 395 days ago | IN | 0 ETH | 0.00582381 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
RuffStaking
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-28 */ // SPDX-License-Identifier: GPL-3.0 // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // 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); } // File: @openzeppelin/contracts/utils/Context.sol // 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; } } // File: @openzeppelin/contracts/access/Ownable.sol // 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); } } pragma solidity >=0.7.0 <0.9.0; contract RuffStaking is Ownable { IERC20 public RuffToken; bool public RuffstakingClosed = true; uint256 public decimalsRuff = 1000000000000000000; uint256 public RuffPoolStaked = 0; uint256 public RuffPoolStakers = 0; uint256 public TotalRuffPaid = 0; uint256 public RuffRewardRate30 = 1 wei;//per day uint256 public RuffRewardRate90 = 1 wei;//per day uint256 public unstakePenaltyRuff = 15;//across all pools struct StakerRuff { uint256 stakedRuff; uint256 stakedSince; uint256 stakedTill; uint256 RufflastClaim; uint256 RuffClaimed; uint256 RuffDays; bool isStaked; uint256 ClaimInterval; } mapping(address => StakerRuff) public stakerVaultRuff; constructor(address _RuffAddress) { RuffToken = IERC20(_RuffAddress); } address public ruffWallet = 0xA2B775869ca0CBdaCfe8eA36A043FB221747e91b; //Ruff STAKE function stakeRuff(uint256 _amount, uint256 _days) public { require(stakerVaultRuff[msg.sender].isStaked == false, "STAKED_IN_POOL"); require(!RuffstakingClosed, "STAKING_IS_CLOSED_TO_NEW_STAKERS"); require( _days == 30 || _days == 90, "INVALID_STAKING_DURATION"); RuffToken.transferFrom(msg.sender, address(this), _amount); stakerVaultRuff[msg.sender].stakedRuff += _amount; stakerVaultRuff[msg.sender].stakedSince = block.timestamp; if (_days == 30) { stakerVaultRuff[msg.sender].stakedTill = block.timestamp + 30 days; stakerVaultRuff[msg.sender].RuffDays = 30; stakerVaultRuff[msg.sender].ClaimInterval = block.timestamp + 7 days; } if (_days == 90) { stakerVaultRuff[msg.sender].stakedTill = block.timestamp + 90 days; stakerVaultRuff[msg.sender].RuffDays = 90; stakerVaultRuff[msg.sender].ClaimInterval = block.timestamp + 7 days; } stakerVaultRuff[msg.sender].RufflastClaim = block.timestamp; stakerVaultRuff[msg.sender].isStaked = true; RuffPoolStakers += 1; RuffPoolStaked += _amount; } //UNSTAKE Ruff function unStakeRuff() public { require(stakerVaultRuff[msg.sender].isStaked == true, "NOT_STAKED"); if(stakerVaultRuff[msg.sender].stakedTill >= block.timestamp) { uint256 stakedTokens = stakerVaultRuff[msg.sender].stakedRuff; uint256 penaltyTokens = (stakedTokens * unstakePenaltyRuff) / 100; uint256 AfterTaxTotal = stakedTokens - penaltyTokens; RuffToken.transfer(msg.sender, AfterTaxTotal); RuffToken.transfer(ruffWallet, penaltyTokens); RuffPoolStakers -= 1; RuffPoolStaked -= stakerVaultRuff[msg.sender].stakedRuff; stakerVaultRuff[msg.sender].stakedRuff = 0; stakerVaultRuff[msg.sender].RufflastClaim = 0; stakerVaultRuff[msg.sender].isStaked = false; stakerVaultRuff[msg.sender].RuffDays = 0; stakerVaultRuff[msg.sender].stakedTill = 0; stakerVaultRuff[msg.sender].stakedSince = 0; stakerVaultRuff[msg.sender].ClaimInterval = 0; } else if(stakerVaultRuff[msg.sender].stakedTill <= block.timestamp) { RuffPoolStaked -= stakerVaultRuff[msg.sender].stakedRuff; RuffPoolStakers -= 1; uint256 stakedTokens = stakerVaultRuff[msg.sender].stakedRuff; RuffToken.transfer(msg.sender, stakedTokens); stakerVaultRuff[msg.sender].stakedRuff = 0; stakerVaultRuff[msg.sender].RufflastClaim = 0; stakerVaultRuff[msg.sender].isStaked = false; stakerVaultRuff[msg.sender].RuffDays = 0; stakerVaultRuff[msg.sender].stakedTill = 0; stakerVaultRuff[msg.sender].stakedSince = 0; stakerVaultRuff[msg.sender].ClaimInterval = 0; } } function claimRuffRewards() public { require(stakerVaultRuff[msg.sender].isStaked == true, "NOT_STAKED"); require(stakerVaultRuff[msg.sender].ClaimInterval <= block.timestamp, "Claim Not Reached Weekly Basis"); if(stakerVaultRuff[msg.sender].RuffDays == 30){ uint256 reward = ((block.timestamp - stakerVaultRuff[msg.sender].RufflastClaim) * (RuffRewardRate30 / 86400) * stakerVaultRuff[msg.sender].stakedRuff) /decimalsRuff; TotalRuffPaid += reward; RuffToken.transferFrom(address(this),msg.sender, reward); stakerVaultRuff[msg.sender].RufflastClaim = block.timestamp; stakerVaultRuff[msg.sender].RuffClaimed += reward; stakerVaultRuff[msg.sender].ClaimInterval = block.timestamp + 7 days; } if(stakerVaultRuff[msg.sender].RuffDays == 90){ uint256 reward = ((block.timestamp - stakerVaultRuff[msg.sender].RufflastClaim) * (RuffRewardRate90 / 86400) * stakerVaultRuff[msg.sender].stakedRuff) / decimalsRuff; TotalRuffPaid += reward; RuffToken.transferFrom(address(this), msg.sender, reward); stakerVaultRuff[msg.sender].RufflastClaim = block.timestamp; stakerVaultRuff[msg.sender].RuffClaimed += reward; stakerVaultRuff[msg.sender].ClaimInterval = block.timestamp + 7 days; } } function disableFees() public onlyOwner { unstakePenaltyRuff = 0; } function setFees(uint256 _penaltyRuff) public onlyOwner{ require(_penaltyRuff <= 20, "fee to high try again 20% max"); unstakePenaltyRuff = _penaltyRuff; } function WEIsetRewardRatesPerDayPerTokenStaked(uint256 _RuffRewardRate30, uint256 _RuffRewardRate90) public onlyOwner{ RuffRewardRate30 = _RuffRewardRate30; RuffRewardRate90 = _RuffRewardRate90; } function setRuffToken(address _newToken, uint256 _penaltyRuff) public onlyOwner { require(_penaltyRuff <= 20, "fee to high try again 20% max"); RuffToken = IERC20(_newToken); RuffPoolStaked = 0; RuffPoolStakers = 0; TotalRuffPaid = 0; unstakePenaltyRuff = _penaltyRuff; } function setRuffToken(address _newToken) public onlyOwner { RuffToken = IERC20(_newToken); } function setRuffWallet(address _newAddress) public onlyOwner { ruffWallet = _newAddress; } function withdrawETH() public onlyOwner { payable(owner()).transfer(address(this).balance); } function withdrawERC20(address _tokenAddress, uint256 _tokenAmount) public virtual onlyOwner { IERC20(_tokenAddress).transfer(msg.sender, _tokenAmount); } function CloseRuffStaking(bool _state) public onlyOwner { RuffstakingClosed = _state; } function calculateRuffRewards(address staker) public view returns (uint256 _rewards){ if (stakerVaultRuff[staker].RuffDays == 30) { _rewards = ((block.timestamp - stakerVaultRuff[staker].RufflastClaim) * (RuffRewardRate30 / 86400) * stakerVaultRuff[staker].stakedRuff) / decimalsRuff; return _rewards; } if (stakerVaultRuff[staker].RuffDays == 90) { _rewards = ((block.timestamp - stakerVaultRuff[staker].RufflastClaim) * (RuffRewardRate90 / 86400) * stakerVaultRuff[staker].stakedRuff) / decimalsRuff; return _rewards; } } function estimateRuffRewards(address user, uint256 _days) public view returns (uint256 _rewards){ uint256 tokenAmt; tokenAmt = RuffToken.balanceOf(user); if (_days == 30) { _rewards = ((tokenAmt * RuffRewardRate30) * 30) / decimalsRuff; return _rewards; } if (_days == 90) { _rewards = ((tokenAmt * RuffRewardRate90) * 90) / decimalsRuff; return _rewards; } } function RuffPoolInfo() public view returns (uint256 Stakers, uint256 TokenAmt){ Stakers = RuffPoolStakers; TokenAmt = RuffPoolStaked; } function setDecimalsRuff(uint256 newDecimals) external onlyOwner { decimalsRuff = newDecimals; } receive() external payable { } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_RuffAddress","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"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"}],"name":"CloseRuffStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RuffPoolInfo","outputs":[{"internalType":"uint256","name":"Stakers","type":"uint256"},{"internalType":"uint256","name":"TokenAmt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RuffPoolStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RuffPoolStakers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RuffRewardRate30","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RuffRewardRate90","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RuffToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RuffstakingClosed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TotalRuffPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_RuffRewardRate30","type":"uint256"},{"internalType":"uint256","name":"_RuffRewardRate90","type":"uint256"}],"name":"WEIsetRewardRatesPerDayPerTokenStaked","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"staker","type":"address"}],"name":"calculateRuffRewards","outputs":[{"internalType":"uint256","name":"_rewards","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimRuffRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimalsRuff","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"_days","type":"uint256"}],"name":"estimateRuffRewards","outputs":[{"internalType":"uint256","name":"_rewards","type":"uint256"}],"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":[],"name":"ruffWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDecimals","type":"uint256"}],"name":"setDecimalsRuff","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_penaltyRuff","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newToken","type":"address"},{"internalType":"uint256","name":"_penaltyRuff","type":"uint256"}],"name":"setRuffToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newToken","type":"address"}],"name":"setRuffToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"}],"name":"setRuffWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_days","type":"uint256"}],"name":"stakeRuff","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakerVaultRuff","outputs":[{"internalType":"uint256","name":"stakedRuff","type":"uint256"},{"internalType":"uint256","name":"stakedSince","type":"uint256"},{"internalType":"uint256","name":"stakedTill","type":"uint256"},{"internalType":"uint256","name":"RufflastClaim","type":"uint256"},{"internalType":"uint256","name":"RuffClaimed","type":"uint256"},{"internalType":"uint256","name":"RuffDays","type":"uint256"},{"internalType":"bool","name":"isStaked","type":"bool"},{"internalType":"uint256","name":"ClaimInterval","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unStakeRuff","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unstakePenaltyRuff","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_tokenAmount","type":"uint256"}],"name":"withdrawERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526001805460ff60a01b1916600160a01b178155670de0b6b3a76400006002556000600381905560048190556005556006819055600755600f600855600a80546001600160a01b03191673a2b775869ca0cbdacfe8ea36a043fb221747e91b17905534801561007157600080fd5b5060405161183e38038061183e8339810160408190526100909161010e565b610099336100be565b600180546001600160a01b0319166001600160a01b039290921691909117905561013e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561012057600080fd5b81516001600160a01b038116811461013757600080fd5b9392505050565b6116f18061014d6000396000f3fe6080604052600436106101d15760003560e01c80638da5cb5b116100f7578063ce404b2311610095578063de1fe70011610064578063de1fe700146104eb578063e086e5ec1461050b578063e7a5c10d14610520578063f2fde38b146105c157600080fd5b8063ce404b231461048b578063d12b1229146104a0578063d7440aab146104b6578063dce935a0146104cb57600080fd5b8063aa9dde59116100d1578063aa9dde59146103fa578063aae205441461041a578063c2737e8b1461044b578063c46c3c681461046b57600080fd5b80638da5cb5b14610392578063985cf603146103c4578063a1db9782146103da57600080fd5b80632ea77b301161016f5780635e42f6501161013e5780635e42f65014610331578063715018a61461035157806380d9e31714610366578063856becb91461037c57600080fd5b80632ea77b30146102c557806334328968146102e55780633d18678e146102fb5780634286915f1461031b57600080fd5b8063136dd7aa116101ab578063136dd7aa1461024857806313fd574c146102685780631c45d4091461027d57806328f36f131461029d57600080fd5b806303dfa90e146101dd5780630aa9a475146102065780630c42ea641461022657600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f360045481565b6040519081526020015b60405180910390f35b34801561021257600080fd5b506101f361022136600461154d565b6105e1565b34801561023257600080fd5b50610246610241366004611599565b6106d2565b005b34801561025457600080fd5b5061024661026336600461156f565b6106f8565b34801561027457600080fd5b5061024661078b565b34801561028957600080fd5b506101f361029836600461156f565b610aff565b3480156102a957600080fd5b50600454600354604080519283526020830191909152016101fd565b3480156102d157600080fd5b506102466102e0366004611605565b610be3565b3480156102f157600080fd5b506101f360025481565b34801561030757600080fd5b506102466103163660046115d3565b610eb8565b34801561032757600080fd5b506101f360035481565b34801561033d57600080fd5b5061024661034c3660046115d3565b610f16565b34801561035d57600080fd5b50610246610f23565b34801561037257600080fd5b506101f360075481565b34801561038857600080fd5b506101f360055481565b34801561039e57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101fd565b3480156103d057600080fd5b506101f360065481565b3480156103e657600080fd5b506102466103f536600461156f565b610f35565b34801561040657600080fd5b5061024661041536600461154d565b610fc2565b34801561042657600080fd5b5060015461043b90600160a01b900460ff1681565b60405190151581526020016101fd565b34801561045757600080fd5b5061024661046636600461154d565b610fec565b34801561047757600080fd5b506001546103ac906001600160a01b031681565b34801561049757600080fd5b50610246611016565b3480156104ac57600080fd5b506101f360085481565b3480156104c257600080fd5b50610246611025565b3480156104d757600080fd5b506102466104e6366004611605565b6113be565b3480156104f757600080fd5b50600a546103ac906001600160a01b031681565b34801561051757600080fd5b506102466113d1565b34801561052c57600080fd5b5061058461053b36600461154d565b6009602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460079097015495969495939492939192909160ff9091169088565b604080519889526020890197909752958701949094526060860192909252608085015260a0840152151560c083015260e0820152610100016101fd565b3480156105cd57600080fd5b506102466105dc36600461154d565b611416565b6001600160a01b038116600090815260096020526040812060050154601e141561067c576002546001600160a01b03831660009081526009602052604090205460065461063290620151809061163f565b6001600160a01b0385166000908152600960205260409020600301546106589042611680565b6106629190611661565b61066c9190611661565b610676919061163f565b92915050565b6001600160a01b038216600090815260096020526040902060050154605a14156106cd576002546001600160a01b03831660009081526009602052604090205460075461063290620151809061163f565b919050565b6106da61148c565b60018054911515600160a01b0260ff60a01b19909216919091179055565b61070061148c565b60148111156107565760405162461bcd60e51b815260206004820152601d60248201527f66656520746f20686967682074727920616761696e20323025206d617800000060448201526064015b60405180910390fd5b600180546001600160a01b0319166001600160a01b039390931692909217909155600060038190556004819055600555600855565b3360009081526009602052604090206006015460ff1615156001146107df5760405162461bcd60e51b815260206004820152600a6024820152691393d517d4d51052d15160b21b604482015260640161074d565b3360009081526009602052604090206002015442116109c9573360009081526009602052604081205460085490919060649061081b9084611661565b610825919061163f565b905060006108338284611680565b60015460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb90604401602060405180830381600087803b15801561088057600080fd5b505af1158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b891906115b6565b50600154600a5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810185905291169063a9059cbb90604401602060405180830381600087803b15801561090957600080fd5b505af115801561091d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094191906115b6565b506001600460008282546109559190611680565b909155505033600090815260096020526040812054600380549192909161097d908490611680565b90915550503360009081526009602052604081208181556003810182905560068101805460ff191690556005810182905560028101829055600181018290556007015550610afd915050565b336000908152600960205260409020600201544210610afd57336000908152600960205260408120546003805491929091610a05908490611680565b92505081905550600160046000828254610a1f9190611680565b9091555050336000818152600960205260409081902054600154915163a9059cbb60e01b8152600481019390935260248301819052916001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015610a8457600080fd5b505af1158015610a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abc91906115b6565b50503360009081526009602052604081208181556003810182905560068101805460ff19169055600581018290556002810182905560018101829055600701555b565b6001546040516370a0823160e01b81526001600160a01b03848116600483015260009283929116906370a082319060240160206040518083038186803b158015610b4857600080fd5b505afa158015610b5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8091906115ec565b905082601e1415610bb857600254600654610b9b9083611661565b610ba690601e611661565b610bb0919061163f565b915050610676565b82605a1415610bdc57600254600754610bd19083611661565b610ba690605a611661565b5092915050565b3360009081526009602052604090206006015460ff1615610c375760405162461bcd60e51b815260206004820152600e60248201526d14d51052d15117d25397d413d3d360921b604482015260640161074d565b600154600160a01b900460ff1615610c915760405162461bcd60e51b815260206004820181905260248201527f5354414b494e475f49535f434c4f5345445f544f5f4e45575f5354414b455253604482015260640161074d565b80601e1480610ca0575080605a145b610cec5760405162461bcd60e51b815260206004820152601860248201527f494e56414c49445f5354414b494e475f4455524154494f4e0000000000000000604482015260640161074d565b6001546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd90606401602060405180830381600087803b158015610d3e57600080fd5b505af1158015610d52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7691906115b6565b503360009081526009602052604081208054849290610d96908490611627565b909155505033600090815260096020526040902042600190910155601e811415610e0757610dc74262278d00611627565b3360009081526009602052604090206002810191909155601e600590910155610df34262093a80611627565b336000908152600960205260409020600701555b80605a1415610e5d57610e1d426276a700611627565b3360009081526009602052604090206002810191909155605a600590910155610e494262093a80611627565b336000908152600960205260409020600701555b336000908152600960205260408120426003820155600601805460ff191660019081179091556004805491929091610e96908490611627565b925050819055508160036000828254610eaf9190611627565b90915550505050565b610ec061148c565b6014811115610f115760405162461bcd60e51b815260206004820152601d60248201527f66656520746f20686967682074727920616761696e20323025206d6178000000604482015260640161074d565b600855565b610f1e61148c565b600255565b610f2b61148c565b610afd60006114e6565b610f3d61148c565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b158015610f8557600080fd5b505af1158015610f99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbd91906115b6565b505050565b610fca61148c565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b610ff461148c565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61101e61148c565b6000600855565b3360009081526009602052604090206006015460ff1615156001146110795760405162461bcd60e51b815260206004820152600a6024820152691393d517d4d51052d15160b21b604482015260640161074d565b336000908152600960205260409020600701544210156110db5760405162461bcd60e51b815260206004820152601e60248201527f436c61696d204e6f742052656163686564205765656b6c792042617369730000604482015260640161074d565b33600090815260096020526040902060050154601e141561124c576002543360009081526009602052604081205460065491929161111d90620151809061163f565b3360009081526009602052604090206003015461113a9042611680565b6111449190611661565b61114e9190611661565b611158919061163f565b9050806005600082825461116c9190611627565b90915550506001546040516323b872dd60e01b8152306004820152336024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b1580156111c357600080fd5b505af11580156111d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fb91906115b6565b503360009081526009602052604081204260038201556004018054839290611224908490611627565b9091555061123790504262093a80611627565b33600090815260096020526040902060070155505b33600090815260096020526040902060050154605a1415610afd576002543360009081526009602052604081205460075491929161128e90620151809061163f565b336000908152600960205260409020600301546112ab9042611680565b6112b59190611661565b6112bf9190611661565b6112c9919061163f565b905080600560008282546112dd9190611627565b90915550506001546040516323b872dd60e01b8152306004820152336024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b15801561133457600080fd5b505af1158015611348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136c91906115b6565b503360009081526009602052604081204260038201556004018054839290611395908490611627565b909155506113a890504262093a80611627565b3360009081526009602052604090206007015550565b6113c661148c565b600691909155600755565b6113d961148c565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015611413573d6000803e3d6000fd5b50565b61141e61148c565b6001600160a01b0381166114835760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161074d565b611413816114e6565b6000546001600160a01b03163314610afd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161074d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146106cd57600080fd5b60006020828403121561155f57600080fd5b61156882611536565b9392505050565b6000806040838503121561158257600080fd5b61158b83611536565b946020939093013593505050565b6000602082840312156115ab57600080fd5b8135611568816116ad565b6000602082840312156115c857600080fd5b8151611568816116ad565b6000602082840312156115e557600080fd5b5035919050565b6000602082840312156115fe57600080fd5b5051919050565b6000806040838503121561161857600080fd5b50508035926020909101359150565b6000821982111561163a5761163a611697565b500190565b60008261165c57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561167b5761167b611697565b500290565b60008282101561169257611692611697565b500390565b634e487b7160e01b600052601160045260246000fd5b801515811461141357600080fdfea26469706673582212206451cbd03ed4b1f8dd53380edcb829fb4ec47897180ac4e1654748c3bb81dddb64736f6c634300080700330000000000000000000000008c9e4d0392051e81cea7a746793a836f786ed01a
Deployed Bytecode
0x6080604052600436106101d15760003560e01c80638da5cb5b116100f7578063ce404b2311610095578063de1fe70011610064578063de1fe700146104eb578063e086e5ec1461050b578063e7a5c10d14610520578063f2fde38b146105c157600080fd5b8063ce404b231461048b578063d12b1229146104a0578063d7440aab146104b6578063dce935a0146104cb57600080fd5b8063aa9dde59116100d1578063aa9dde59146103fa578063aae205441461041a578063c2737e8b1461044b578063c46c3c681461046b57600080fd5b80638da5cb5b14610392578063985cf603146103c4578063a1db9782146103da57600080fd5b80632ea77b301161016f5780635e42f6501161013e5780635e42f65014610331578063715018a61461035157806380d9e31714610366578063856becb91461037c57600080fd5b80632ea77b30146102c557806334328968146102e55780633d18678e146102fb5780634286915f1461031b57600080fd5b8063136dd7aa116101ab578063136dd7aa1461024857806313fd574c146102685780631c45d4091461027d57806328f36f131461029d57600080fd5b806303dfa90e146101dd5780630aa9a475146102065780630c42ea641461022657600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f360045481565b6040519081526020015b60405180910390f35b34801561021257600080fd5b506101f361022136600461154d565b6105e1565b34801561023257600080fd5b50610246610241366004611599565b6106d2565b005b34801561025457600080fd5b5061024661026336600461156f565b6106f8565b34801561027457600080fd5b5061024661078b565b34801561028957600080fd5b506101f361029836600461156f565b610aff565b3480156102a957600080fd5b50600454600354604080519283526020830191909152016101fd565b3480156102d157600080fd5b506102466102e0366004611605565b610be3565b3480156102f157600080fd5b506101f360025481565b34801561030757600080fd5b506102466103163660046115d3565b610eb8565b34801561032757600080fd5b506101f360035481565b34801561033d57600080fd5b5061024661034c3660046115d3565b610f16565b34801561035d57600080fd5b50610246610f23565b34801561037257600080fd5b506101f360075481565b34801561038857600080fd5b506101f360055481565b34801561039e57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101fd565b3480156103d057600080fd5b506101f360065481565b3480156103e657600080fd5b506102466103f536600461156f565b610f35565b34801561040657600080fd5b5061024661041536600461154d565b610fc2565b34801561042657600080fd5b5060015461043b90600160a01b900460ff1681565b60405190151581526020016101fd565b34801561045757600080fd5b5061024661046636600461154d565b610fec565b34801561047757600080fd5b506001546103ac906001600160a01b031681565b34801561049757600080fd5b50610246611016565b3480156104ac57600080fd5b506101f360085481565b3480156104c257600080fd5b50610246611025565b3480156104d757600080fd5b506102466104e6366004611605565b6113be565b3480156104f757600080fd5b50600a546103ac906001600160a01b031681565b34801561051757600080fd5b506102466113d1565b34801561052c57600080fd5b5061058461053b36600461154d565b6009602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460079097015495969495939492939192909160ff9091169088565b604080519889526020890197909752958701949094526060860192909252608085015260a0840152151560c083015260e0820152610100016101fd565b3480156105cd57600080fd5b506102466105dc36600461154d565b611416565b6001600160a01b038116600090815260096020526040812060050154601e141561067c576002546001600160a01b03831660009081526009602052604090205460065461063290620151809061163f565b6001600160a01b0385166000908152600960205260409020600301546106589042611680565b6106629190611661565b61066c9190611661565b610676919061163f565b92915050565b6001600160a01b038216600090815260096020526040902060050154605a14156106cd576002546001600160a01b03831660009081526009602052604090205460075461063290620151809061163f565b919050565b6106da61148c565b60018054911515600160a01b0260ff60a01b19909216919091179055565b61070061148c565b60148111156107565760405162461bcd60e51b815260206004820152601d60248201527f66656520746f20686967682074727920616761696e20323025206d617800000060448201526064015b60405180910390fd5b600180546001600160a01b0319166001600160a01b039390931692909217909155600060038190556004819055600555600855565b3360009081526009602052604090206006015460ff1615156001146107df5760405162461bcd60e51b815260206004820152600a6024820152691393d517d4d51052d15160b21b604482015260640161074d565b3360009081526009602052604090206002015442116109c9573360009081526009602052604081205460085490919060649061081b9084611661565b610825919061163f565b905060006108338284611680565b60015460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb90604401602060405180830381600087803b15801561088057600080fd5b505af1158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b891906115b6565b50600154600a5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810185905291169063a9059cbb90604401602060405180830381600087803b15801561090957600080fd5b505af115801561091d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094191906115b6565b506001600460008282546109559190611680565b909155505033600090815260096020526040812054600380549192909161097d908490611680565b90915550503360009081526009602052604081208181556003810182905560068101805460ff191690556005810182905560028101829055600181018290556007015550610afd915050565b336000908152600960205260409020600201544210610afd57336000908152600960205260408120546003805491929091610a05908490611680565b92505081905550600160046000828254610a1f9190611680565b9091555050336000818152600960205260409081902054600154915163a9059cbb60e01b8152600481019390935260248301819052916001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015610a8457600080fd5b505af1158015610a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abc91906115b6565b50503360009081526009602052604081208181556003810182905560068101805460ff19169055600581018290556002810182905560018101829055600701555b565b6001546040516370a0823160e01b81526001600160a01b03848116600483015260009283929116906370a082319060240160206040518083038186803b158015610b4857600080fd5b505afa158015610b5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8091906115ec565b905082601e1415610bb857600254600654610b9b9083611661565b610ba690601e611661565b610bb0919061163f565b915050610676565b82605a1415610bdc57600254600754610bd19083611661565b610ba690605a611661565b5092915050565b3360009081526009602052604090206006015460ff1615610c375760405162461bcd60e51b815260206004820152600e60248201526d14d51052d15117d25397d413d3d360921b604482015260640161074d565b600154600160a01b900460ff1615610c915760405162461bcd60e51b815260206004820181905260248201527f5354414b494e475f49535f434c4f5345445f544f5f4e45575f5354414b455253604482015260640161074d565b80601e1480610ca0575080605a145b610cec5760405162461bcd60e51b815260206004820152601860248201527f494e56414c49445f5354414b494e475f4455524154494f4e0000000000000000604482015260640161074d565b6001546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd90606401602060405180830381600087803b158015610d3e57600080fd5b505af1158015610d52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7691906115b6565b503360009081526009602052604081208054849290610d96908490611627565b909155505033600090815260096020526040902042600190910155601e811415610e0757610dc74262278d00611627565b3360009081526009602052604090206002810191909155601e600590910155610df34262093a80611627565b336000908152600960205260409020600701555b80605a1415610e5d57610e1d426276a700611627565b3360009081526009602052604090206002810191909155605a600590910155610e494262093a80611627565b336000908152600960205260409020600701555b336000908152600960205260408120426003820155600601805460ff191660019081179091556004805491929091610e96908490611627565b925050819055508160036000828254610eaf9190611627565b90915550505050565b610ec061148c565b6014811115610f115760405162461bcd60e51b815260206004820152601d60248201527f66656520746f20686967682074727920616761696e20323025206d6178000000604482015260640161074d565b600855565b610f1e61148c565b600255565b610f2b61148c565b610afd60006114e6565b610f3d61148c565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb90604401602060405180830381600087803b158015610f8557600080fd5b505af1158015610f99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbd91906115b6565b505050565b610fca61148c565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b610ff461148c565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61101e61148c565b6000600855565b3360009081526009602052604090206006015460ff1615156001146110795760405162461bcd60e51b815260206004820152600a6024820152691393d517d4d51052d15160b21b604482015260640161074d565b336000908152600960205260409020600701544210156110db5760405162461bcd60e51b815260206004820152601e60248201527f436c61696d204e6f742052656163686564205765656b6c792042617369730000604482015260640161074d565b33600090815260096020526040902060050154601e141561124c576002543360009081526009602052604081205460065491929161111d90620151809061163f565b3360009081526009602052604090206003015461113a9042611680565b6111449190611661565b61114e9190611661565b611158919061163f565b9050806005600082825461116c9190611627565b90915550506001546040516323b872dd60e01b8152306004820152336024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b1580156111c357600080fd5b505af11580156111d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fb91906115b6565b503360009081526009602052604081204260038201556004018054839290611224908490611627565b9091555061123790504262093a80611627565b33600090815260096020526040902060070155505b33600090815260096020526040902060050154605a1415610afd576002543360009081526009602052604081205460075491929161128e90620151809061163f565b336000908152600960205260409020600301546112ab9042611680565b6112b59190611661565b6112bf9190611661565b6112c9919061163f565b905080600560008282546112dd9190611627565b90915550506001546040516323b872dd60e01b8152306004820152336024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b15801561133457600080fd5b505af1158015611348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136c91906115b6565b503360009081526009602052604081204260038201556004018054839290611395908490611627565b909155506113a890504262093a80611627565b3360009081526009602052604090206007015550565b6113c661148c565b600691909155600755565b6113d961148c565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015611413573d6000803e3d6000fd5b50565b61141e61148c565b6001600160a01b0381166114835760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161074d565b611413816114e6565b6000546001600160a01b03163314610afd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161074d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146106cd57600080fd5b60006020828403121561155f57600080fd5b61156882611536565b9392505050565b6000806040838503121561158257600080fd5b61158b83611536565b946020939093013593505050565b6000602082840312156115ab57600080fd5b8135611568816116ad565b6000602082840312156115c857600080fd5b8151611568816116ad565b6000602082840312156115e557600080fd5b5035919050565b6000602082840312156115fe57600080fd5b5051919050565b6000806040838503121561161857600080fd5b50508035926020909101359150565b6000821982111561163a5761163a611697565b500190565b60008261165c57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561167b5761167b611697565b500290565b60008282101561169257611692611697565b500390565b634e487b7160e01b600052601160045260246000fd5b801515811461141357600080fdfea26469706673582212206451cbd03ed4b1f8dd53380edcb829fb4ec47897180ac4e1654748c3bb81dddb64736f6c63430008070033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000008c9e4d0392051e81cea7a746793a836f786ed01a
-----Decoded View---------------
Arg [0] : _RuffAddress (address): 0x8C9E4D0392051e81Cea7a746793a836F786ED01A
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008c9e4d0392051e81cea7a746793a836f786ed01a
Deployed Bytecode Sourcemap
6556:8623:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6784:34;;;;;;;;;;;;;;;;;;;6072:25:1;;;6060:2;6045:18;6784:34:0;;;;;;;;13632:663;;;;;;;;;;-1:-1:-1;13632:663:0;;;;;:::i;:::-;;:::i;13519:101::-;;;;;;;;;;-1:-1:-1;13519:101:0;;;;;:::i;:::-;;:::i;:::-;;12643:334;;;;;;;;;;-1:-1:-1;12643:334:0;;;;;:::i;:::-;;:::i;8896:1814::-;;;;;;;;;;;;;:::i;14307:509::-;;;;;;;;;;-1:-1:-1;14307:509:0;;;;;:::i;:::-;;:::i;14828:175::-;;;;;;;;;;-1:-1:-1;14931:15:0;;14971:14;;14828:175;;;6282:25:1;;;6338:2;6323:18;;6316:34;;;;6255:18;14828:175:0;6108:248:1;7647:1213:0;;;;;;;;;;-1:-1:-1;7647:1213:0;;;;;:::i;:::-;;:::i;6680:49::-;;;;;;;;;;;;;;;;12189:195;;;;;;;;;;-1:-1:-1;12189:195:0;;;;;:::i;:::-;;:::i;6742:33::-;;;;;;;;;;;;;;;;15014:110;;;;;;;;;;-1:-1:-1;15014:110:0;;;;;:::i;:::-;;:::i;5692:103::-;;;;;;;;;;;;;:::i;6926:39::-;;;;;;;;;;;;;;;;6827:32;;;;;;;;;;;;;;;;5044:87;;;;;;;;;;-1:-1:-1;5090:7:0;5117:6;-1:-1:-1;;;;;5117:6:0;5044:87;;;-1:-1:-1;;;;;1929:32:1;;;1911:51;;1899:2;1884:18;5044:87:0;1765:203:1;6871:39:0;;;;;;;;;;;;;;;;13334:168;;;;;;;;;;-1:-1:-1;13334:168:0;;;;;:::i;:::-;;:::i;13101:104::-;;;;;;;;;;-1:-1:-1;13101:104:0;;;;;:::i;:::-;;:::i;6635:36::-;;;;;;;;;;-1:-1:-1;6635:36:0;;;;-1:-1:-1;;;6635:36:0;;;;;;;;;2797:14:1;;2790:22;2772:41;;2760:2;2745:18;6635:36:0;2632:187:1;12985:106:0;;;;;;;;;;-1:-1:-1;12985:106:0;;;;;:::i;:::-;;:::i;6603:23::-;;;;;;;;;;-1:-1:-1;6603:23:0;;;;-1:-1:-1;;;;;6603:23:0;;;12087:92;;;;;;;;;;;;;:::i;6997:38::-;;;;;;;;;;;;;;;;10722:1357;;;;;;;;;;;;;:::i;12394:239::-;;;;;;;;;;-1:-1:-1;12394:239:0;;;;;:::i;:::-;;:::i;7547:70::-;;;;;;;;;;-1:-1:-1;7547:70:0;;;;-1:-1:-1;;;;;7547:70:0;;;13217:107;;;;;;;;;;;;;:::i;7354:53::-;;;;;;;;;;-1:-1:-1;7354:53:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6698:25:1;;;6754:2;6739:18;;6732:34;;;;6782:18;;;6775:34;;;;6840:2;6825:18;;6818:34;;;;6883:3;6868:19;;6861:35;6927:3;6912:19;;6905:35;6984:14;6977:22;6971:3;6956:19;;6949:51;7031:3;7016:19;;7009:35;6685:3;6670:19;7354:53:0;6361:689:1;5950:201:0;;;;;;;;;;-1:-1:-1;5950:201:0;;;;;:::i;:::-;;:::i;13632:663::-;-1:-1:-1;;;;;13733:23:0;;13699:16;13733:23;;;:15;:23;;;;;:32;;;13769:2;13733:38;13729:252;;;13926:12;;-1:-1:-1;;;;;13888:23:0;;;;;;:15;:23;;;;;:34;13860:16;;:24;;13879:5;;13860:24;:::i;:::-;-1:-1:-1;;;;;13818:23:0;;;;;;:15;:23;;;;;:37;;;13800:55;;:15;:55;:::i;:::-;13799:86;;;;:::i;:::-;:123;;;;:::i;:::-;13798:140;;;;:::i;:::-;13787:151;13632:663;-1:-1:-1;;13632:663:0:o;13729:252::-;-1:-1:-1;;;;;13995:23:0;;;;;;:15;:23;;;;;:32;;;14031:2;13995:38;13991:277;;;14202:12;;-1:-1:-1;;;;;14164:23:0;;;;;;:15;:23;;;;;:34;14136:16;;:24;;14155:5;;14136:24;:::i;13991:277::-;13632:663;;;:::o;13519:101::-;4930:13;:11;:13::i;:::-;13586:17:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;13586:26:0::1;-1:-1:-1::0;;;;13586:26:0;;::::1;::::0;;;::::1;::::0;;13519:101::o;12643:334::-;4930:13;:11;:13::i;:::-;12758:2:::1;12742:12;:18;;12734:60;;;::::0;-1:-1:-1;;;12734:60:0;;3247:2:1;12734:60:0::1;::::0;::::1;3229:21:1::0;3286:2;3266:18;;;3259:30;3325:31;3305:18;;;3298:59;3374:18;;12734:60:0::1;;;;;;;;;12805:9;:29:::0;;-1:-1:-1;;;;;;12805:29:0::1;-1:-1:-1::0;;;;;12805:29:0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;12845:14:0::1;:18:::0;;;12874:15:::1;:19:::0;;;12904:13:::1;:17:::0;12932:18:::1;:33:::0;12643:334::o;8896:1814::-;8963:10;8947:27;;;;:15;:27;;;;;:36;;;;;:44;;:36;:44;8939:67;;;;-1:-1:-1;;;8939:67:0;;5069:2:1;8939:67:0;;;5051:21:1;5108:2;5088:18;;;5081:30;-1:-1:-1;;;5127:18:1;;;5120:40;5177:18;;8939:67:0;4867:334:1;8939:67:0;9038:10;9022:27;;;;:15;:27;;;;;:38;;;9064:15;-1:-1:-1;9019:1674:0;;9135:10;9096:20;9119:27;;;:15;:27;;;;;:38;9212:18;;9119:38;;9096:20;9234:3;;9197:33;;9119:38;9197:33;:::i;:::-;9196:41;;;;:::i;:::-;9172:65;-1:-1:-1;9252:21:0;9276:28;9172:65;9276:12;:28;:::i;:::-;9319:9;;:45;;-1:-1:-1;;;9319:45:0;;9338:10;9319:45;;;2527:51:1;2594:18;;;2587:34;;;9252:52:0;;-1:-1:-1;;;;;;9319:9:0;;:18;;2500::1;;9319:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9379:9:0;;9398:10;;9379:45;;-1:-1:-1;;;9379:45:0;;-1:-1:-1;;;;;9398:10:0;;;9379:45;;;2527:51:1;2594:18;;;2587:34;;;9379:9:0;;;:18;;2500::1;;9379:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9458:1;9439:15;;:20;;;;;;;:::i;:::-;;;;-1:-1:-1;;9509:10:0;9493:27;;;;:15;:27;;;;;:38;9475:14;:56;;9493:38;;9475:14;;:56;;9493:38;;9475:56;:::i;:::-;;;;-1:-1:-1;;9562:10:0;9587:1;9546:27;;;:15;:27;;;;;:42;;;9603:41;;;:45;;;9663:36;;;:44;;-1:-1:-1;;9663:44:0;;;9722:36;;;:40;;;9777:38;;;:42;;;9663:44;9834:39;;:43;;;9892:41;;:45;-1:-1:-1;9019:1674:0;;-1:-1:-1;;9019:1674:0;;9986:10;9970:27;;;;:15;:27;;;;;:38;;;10012:15;-1:-1:-1;9967:726:0;;10078:10;10062:27;;;;:15;:27;;;;;:38;10044:14;:56;;10062:38;;10044:14;;:56;;10062:38;;10044:56;:::i;:::-;;;;;;;;10134:1;10115:15;;:20;;;;;;;:::i;:::-;;;;-1:-1:-1;;10189:10:0;10150:20;10173:27;;;:15;:27;;;;;;;:38;10226:9;;:44;;-1:-1:-1;;;10226:44:0;;;;;2527:51:1;;;;2594:18;;;2587:34;;;10173:38:0;-1:-1:-1;;;;;10226:9:0;;;;:18;;2500::1;;10226:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;10301:10:0;10326:1;10285:27;;;:15;:27;;;;;:42;;;10342:41;;;:45;;;10402:36;;;:44;;-1:-1:-1;;10402:44:0;;;10461:36;;;:40;;;10516:38;;;:42;;;10402:44;10573:39;;:43;;;10631:41;;:45;9967:726;8896:1814::o;14307:509::-;14456:9;;:25;;-1:-1:-1;;;14456:25:0;;-1:-1:-1;;;;;1929:32:1;;;14456:25:0;;;1911:51:1;14386:16:0;;;;14456:9;;;:19;;1884:18:1;;14456:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14445:36;;14498:5;14507:2;14498:11;14494:136;;;14574:12;;14548:16;;14537:27;;:8;:27;:::i;:::-;14536:34;;14568:2;14536:34;:::i;:::-;14535:51;;;;:::i;:::-;14524:62;;14603:15;;;14494:136;14644:5;14653:2;14644:11;14640:161;;;14734:12;;14708:16;;14697:27;;:8;:27;:::i;:::-;14696:34;;14728:2;14696:34;:::i;14640:161::-;14403:413;14307:509;;;;:::o;7647:1213::-;7740:10;7724:27;;;;:15;:27;;;;;:36;;;;;:45;7716:72;;;;-1:-1:-1;;;7716:72:0;;4365:2:1;7716:72:0;;;4347:21:1;4404:2;4384:18;;;4377:30;-1:-1:-1;;;4423:18:1;;;4416:44;4477:18;;7716:72:0;4163:338:1;7716:72:0;7808:17;;-1:-1:-1;;;7808:17:0;;;;7807:18;7799:63;;;;-1:-1:-1;;;7799:63:0;;5767:2:1;7799:63:0;;;5749:21:1;;;5786:18;;;5779:30;5845:34;5825:18;;;5818:62;5897:18;;7799:63:0;5565:356:1;7799:63:0;7882:5;7891:2;7882:11;:26;;;;7897:5;7906:2;7897:11;7882:26;7873:64;;;;-1:-1:-1;;;7873:64:0;;4012:2:1;7873:64:0;;;3994:21:1;4051:2;4031:18;;;4024:30;4090:26;4070:18;;;4063:54;4134:18;;7873:64:0;3810:348:1;7873:64:0;7948:9;;:58;;-1:-1:-1;;;7948:58:0;;7971:10;7948:58;;;2213:34:1;7991:4:0;2263:18:1;;;2256:43;2315:18;;;2308:34;;;-1:-1:-1;;;;;7948:9:0;;;;:22;;2148:18:1;;7948:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8033:10:0;8017:27;;;;:15;:27;;;;;:49;;8059:7;;8017:27;:49;;8059:7;;8017:49;:::i;:::-;;;;-1:-1:-1;;8093:10:0;8077:27;;;;:15;:27;;;;;8119:15;8077:39;;;;:57;8167:2;8158:11;;8154:249;;;8227:25;:15;8245:7;8227:25;:::i;:::-;8202:10;8186:27;;;;:15;:27;;;;;:38;;;:66;;;;8306:2;8267:36;;;;:41;8367:24;:15;8385:6;8367:24;:::i;:::-;8339:10;8323:27;;;;:15;:27;;;;;:41;;:68;8154:249;8417:5;8426:2;8417:11;8413:249;;;8486:25;:15;8504:7;8486:25;:::i;:::-;8461:10;8445:27;;;;:15;:27;;;;;:38;;;:66;;;;8565:2;8526:36;;;;:41;8626:24;:15;8644:6;8626:24;:::i;:::-;8598:10;8582:27;;;;:15;:27;;;;;:41;;:68;8413:249;8688:10;8672:27;;;;:15;:27;;;;;8716:15;8672:41;;;:59;8742:36;;:43;;-1:-1:-1;;8742:43:0;8781:4;8742:43;;;;;;8796:15;:20;;8781:4;;8796:15;;:20;;8781:4;;8796:20;:::i;:::-;;;;;;;;8845:7;8827:14;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;7647:1213:0:o;12189:195::-;4930:13;:11;:13::i;:::-;12281:2:::1;12265:12;:18;;12257:60;;;::::0;-1:-1:-1;;;12257:60:0;;3247:2:1;12257:60:0::1;::::0;::::1;3229:21:1::0;3286:2;3266:18;;;3259:30;3325:31;3305:18;;;3298:59;3374:18;;12257:60:0::1;3045:353:1::0;12257:60:0::1;12334:18;:33:::0;12189:195::o;15014:110::-;4930:13;:11;:13::i;:::-;15090:12:::1;:26:::0;15014:110::o;5692:103::-;4930:13;:11;:13::i;:::-;5757:30:::1;5784:1;5757:18;:30::i;13334:168::-:0;4930:13;:11;:13::i;:::-;13438:56:::1;::::0;-1:-1:-1;;;13438:56:0;;13469:10:::1;13438:56;::::0;::::1;2527:51:1::0;2594:18;;;2587:34;;;-1:-1:-1;;;;;13438:30:0;::::1;::::0;::::1;::::0;2500:18:1;;13438:56:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13334:168:::0;;:::o;13101:104::-;4930:13;:11;:13::i;:::-;13173:10:::1;:24:::0;;-1:-1:-1;;;;;;13173:24:0::1;-1:-1:-1::0;;;;;13173:24:0;;;::::1;::::0;;;::::1;::::0;;13101:104::o;12985:106::-;4930:13;:11;:13::i;:::-;13054:9:::1;:29:::0;;-1:-1:-1;;;;;;13054:29:0::1;-1:-1:-1::0;;;;;13054:29:0;;;::::1;::::0;;;::::1;::::0;;12985:106::o;12087:92::-;4930:13;:11;:13::i;:::-;12161:1:::1;12140:18;:22:::0;12087:92::o;10722:1357::-;10790:10;10774:27;;;;:15;:27;;;;;:36;;;;;:44;;:36;:44;10766:67;;;;-1:-1:-1;;;10766:67:0;;5069:2:1;10766:67:0;;;5051:21:1;5108:2;5088:18;;;5081:30;-1:-1:-1;;;5127:18:1;;;5120:40;5177:18;;10766:67:0;4867:334:1;10766:67:0;10864:10;10848:27;;;;:15;:27;;;;;:41;;;10893:15;-1:-1:-1;10848:60:0;10840:103;;;;-1:-1:-1;;;10840:103:0;;5408:2:1;10840:103:0;;;5390:21:1;5447:2;5427:18;;;5420:30;5486:32;5466:18;;;5459:60;5536:18;;10840:103:0;5206:354:1;10840:103:0;10975:10;10959:27;;;;:15;:27;;;;;:36;;;10999:2;10959:42;10956:558;;;11174:12;;11149:10;11022:14;11133:27;;;:15;:27;;;;;:38;11105:16;;11022:14;;11174:12;11105:24;;11124:5;;11105:24;:::i;:::-;11075:10;11059:27;;;;:15;:27;;;;;:41;;;11041:59;;:15;:59;:::i;:::-;11040:90;;;;:::i;:::-;:131;;;;:::i;:::-;11039:147;;;;:::i;:::-;11022:164;;11214:6;11197:13;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;11231:9:0;;:56;;-1:-1:-1;;;11231:56:0;;11262:4;11231:56;;;2213:34:1;11268:10:0;2263:18:1;;;2256:43;2315:18;;;2308:34;;;-1:-1:-1;;;;;11231:9:0;;;;:22;;2148:18:1;;11231:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11314:10:0;11298:27;;;;:15;:27;;;;;11342:15;11298:41;;;:59;11368:39;;:49;;11411:6;;11298:27;11368:49;;11411:6;;11368:49;:::i;:::-;;;;-1:-1:-1;11472:24:0;;-1:-1:-1;11472:15:0;11490:6;11472:24;:::i;:::-;11444:10;11428:27;;;;:15;:27;;;;;:41;;:68;-1:-1:-1;10956:558:0;11541:10;11525:27;;;;:15;:27;;;;;:36;;;11565:2;11525:42;11522:541;;;11732:12;;11706:10;11579:14;11690:27;;;:15;:27;;;;;:38;11662:16;;11579:14;;11732:12;11662:24;;11681:5;;11662:24;:::i;:::-;11632:10;11616:27;;;;:15;:27;;;;;:41;;;11598:59;;:15;:59;:::i;:::-;11597:90;;;;:::i;:::-;:131;;;;:::i;:::-;11596:148;;;;:::i;:::-;11579:165;;11772:6;11755:13;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;11789:9:0;;:57;;-1:-1:-1;;;11789:57:0;;11820:4;11789:57;;;2213:34:1;11827:10:0;2263:18:1;;;2256:43;2315:18;;;2308:34;;;-1:-1:-1;;;;;11789:9:0;;;;:22;;2148:18:1;;11789:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;11873:10:0;11857:27;;;;:15;:27;;;;;11901:15;11857:41;;;:59;11927:39;;:49;;11970:6;;11857:27;11927:49;;11970:6;;11927:49;:::i;:::-;;;;-1:-1:-1;12031:24:0;;-1:-1:-1;12031:15:0;12049:6;12031:24;:::i;:::-;12003:10;11987:27;;;;:15;:27;;;;;:41;;:68;-1:-1:-1;10722:1357:0:o;12394:239::-;4930:13;:11;:13::i;:::-;12531:16:::1;:36:::0;;;;12578:16:::1;:36:::0;12394:239::o;13217:107::-;4930:13;:11;:13::i;:::-;5090:7;5117:6;;13268:48:::1;::::0;-1:-1:-1;;;;;5117:6:0;;;;13294:21:::1;13268:48:::0;::::1;;;::::0;13294:21;;13268:48;5090:7;13268:48;13294:21;5117:6;13268:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13217:107::o:0;5950:201::-;4930:13;:11;:13::i;:::-;-1:-1:-1;;;;;6039:22:0;::::1;6031:73;;;::::0;-1:-1:-1;;;6031:73:0;;3605:2:1;6031:73:0::1;::::0;::::1;3587:21:1::0;3644:2;3624:18;;;3617:30;3683:34;3663:18;;;3656:62;-1:-1:-1;;;3734:18:1;;;3727:36;3780:19;;6031:73:0::1;3403:402:1::0;6031:73:0::1;6115:28;6134:8;6115:18;:28::i;5209:132::-:0;5090:7;5117:6;-1:-1:-1;;;;;5117:6:0;3675:10;5273:23;5265:68;;;;-1:-1:-1;;;5265:68:0;;4708:2:1;5265:68:0;;;4690:21:1;;;4727:18;;;4720:30;4786:34;4766:18;;;4759:62;4838:18;;5265:68:0;4506:356:1;6311:191:0;6385:16;6404:6;;-1:-1:-1;;;;;6421:17:0;;;-1:-1:-1;;;;;;6421:17:0;;;;;;6454:40;;6404:6;;;;;;;6454:40;;6385:16;6454:40;6374:128;6311:191;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;192:186;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:1:o;383:254::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:52;;;528:1;525;518:12;480:52;551:29;570:9;551:29;:::i;:::-;541:39;627:2;612:18;;;;599:32;;-1:-1:-1;;;383:254:1:o;642:241::-;698:6;751:2;739:9;730:7;726:23;722:32;719:52;;;767:1;764;757:12;719:52;806:9;793:23;825:28;847:5;825:28;:::i;888:245::-;955:6;1008:2;996:9;987:7;983:23;979:32;976:52;;;1024:1;1021;1014:12;976:52;1056:9;1050:16;1075:28;1097:5;1075:28;:::i;1138:180::-;1197:6;1250:2;1238:9;1229:7;1225:23;1221:32;1218:52;;;1266:1;1263;1256:12;1218:52;-1:-1:-1;1289:23:1;;1138:180;-1:-1:-1;1138:180:1:o;1323:184::-;1393:6;1446:2;1434:9;1425:7;1421:23;1417:32;1414:52;;;1462:1;1459;1452:12;1414:52;-1:-1:-1;1485:16:1;;1323:184;-1:-1:-1;1323:184:1:o;1512:248::-;1580:6;1588;1641:2;1629:9;1620:7;1616:23;1612:32;1609:52;;;1657:1;1654;1647:12;1609:52;-1:-1:-1;;1680:23:1;;;1750:2;1735:18;;;1722:32;;-1:-1:-1;1512:248:1:o;7055:128::-;7095:3;7126:1;7122:6;7119:1;7116:13;7113:39;;;7132:18;;:::i;:::-;-1:-1:-1;7168:9:1;;7055:128::o;7188:217::-;7228:1;7254;7244:132;;7298:10;7293:3;7289:20;7286:1;7279:31;7333:4;7330:1;7323:15;7361:4;7358:1;7351:15;7244:132;-1:-1:-1;7390:9:1;;7188:217::o;7410:168::-;7450:7;7516:1;7512;7508:6;7504:14;7501:1;7498:21;7493:1;7486:9;7479:17;7475:45;7472:71;;;7523:18;;:::i;:::-;-1:-1:-1;7563:9:1;;7410:168::o;7583:125::-;7623:4;7651:1;7648;7645:8;7642:34;;;7656:18;;:::i;:::-;-1:-1:-1;7693:9:1;;7583:125::o;7713:127::-;7774:10;7769:3;7765:20;7762:1;7755:31;7805:4;7802:1;7795:15;7829:4;7826:1;7819:15;7845:118;7931:5;7924:13;7917:21;7910:5;7907:32;7897:60;;7953:1;7950;7943:12
Swarm Source
ipfs://6451cbd03ed4b1f8dd53380edcb829fb4ec47897180ac4e1654748c3bb81dddb
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.