Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 55 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Add Authority | 15047463 | 952 days ago | IN | 0 ETH | 0.0029455 | ||||
Set Lp Rate | 15047454 | 952 days ago | IN | 0 ETH | 0.00098864 | ||||
Set Treasury Rat... | 15047343 | 952 days ago | IN | 0 ETH | 0.00121133 | ||||
Set Apply Lp | 15047340 | 952 days ago | IN | 0 ETH | 0.00095039 | ||||
Set Treasury Rat... | 14971044 | 966 days ago | IN | 0 ETH | 0.00096887 | ||||
Set Lp Rate | 14971043 | 966 days ago | IN | 0 ETH | 0.00086795 | ||||
Set Presale | 14811935 | 993 days ago | IN | 0 ETH | 0.00131581 | ||||
Set Daily Reward... | 14811613 | 993 days ago | IN | 0 ETH | 0.00180594 | ||||
Set Presale | 14811520 | 993 days ago | IN | 0 ETH | 0.00211239 | ||||
Set Presale | 14811517 | 993 days ago | IN | 0 ETH | 0.00112624 | ||||
Set Whitelisted | 14805949 | 994 days ago | IN | 0 ETH | 0.00173126 | ||||
Set Whitelisted | 14805485 | 994 days ago | IN | 0 ETH | 0.00128276 | ||||
Set Whitelisted | 14805293 | 994 days ago | IN | 0 ETH | 0.00213185 | ||||
Set Whitelisted | 14804911 | 994 days ago | IN | 0 ETH | 0.00094766 | ||||
Set Whitelisted | 14801902 | 994 days ago | IN | 0 ETH | 0.00125205 | ||||
Set Whitelisted | 14800767 | 994 days ago | IN | 0 ETH | 0.00213182 | ||||
Set Whitelisted | 14800108 | 995 days ago | IN | 0 ETH | 0.00231817 | ||||
Set Whitelisted | 14800069 | 995 days ago | IN | 0 ETH | 0.00249617 | ||||
Set Whitelisted | 14799734 | 995 days ago | IN | 0 ETH | 0.00223853 | ||||
Set Whitelisted | 14798810 | 995 days ago | IN | 0 ETH | 0.00115963 | ||||
Set Whitelisted | 14796688 | 995 days ago | IN | 0 ETH | 0.00117089 | ||||
Set Whitelisted | 14793577 | 996 days ago | IN | 0 ETH | 0.00142119 | ||||
Set Whitelisted | 14789699 | 996 days ago | IN | 0 ETH | 0.0013236 | ||||
Set Whitelisted | 14787945 | 997 days ago | IN | 0 ETH | 0.00183153 | ||||
Set Whitelisted | 14786786 | 997 days ago | IN | 0 ETH | 0.00373743 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Logic
Compiler Version
v0.8.0+commit.c7dfd78e
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "./IUniswapV2Router.sol"; import "./Authority.sol"; import "./IStaking.sol"; contract Logic is Authority { event CreatedNode(address indexed from, uint count, uint price); event ClaimedNode(address indexed from, uint count, uint claimed, bool staked); address public immutable yeti; address public immutable bigFoot; address public splitter; address public treasury; address public staking; address public immutable router; address public immutable stable; mapping(uint => uint) public lastClaimTime; // token id to last claim time uint public price = 100 * 10**6; // usdc 6 decimals uint public constant PRICE_INCR = 100 * 10**6; // usdc 6 decimals uint public constant REF_PRICE_INCR = 100; uint public dailyRewards; uint public constant DAY = 1 days; uint public constant REF_RATIO = 10000; uint private constant MAX_UINT256 = type(uint256).max; bool public presale = true; mapping(address => bool) public whitelisted; bool public applyLp = true; uint public lpRate; bool public applyTreasury = true; uint public treasuryRate; constructor( address[] memory addresses, uint[] memory rates, uint _dailyRewards ) { bigFoot = addresses[0]; yeti = addresses[1]; splitter = addresses[2]; treasury = addresses[3]; staking = addresses[4]; router = addresses[5]; stable = addresses[6]; lpRate = rates[0]; treasuryRate = rates[1]; dailyRewards = _dailyRewards; } // Modifiers modifier onlyYeti() { require(msg.sender == yeti, "Logic: onlyYeti"); _; } // Init function init() external onlyAuthority { IERC20(stable).approve(router, MAX_UINT256); IERC20(bigFoot).approve(router, MAX_UINT256); } // Core function safeMint(address sender, uint tokenId) external onlyYeti { uint priceStack = price; // gas if ((tokenId + 1) % REF_PRICE_INCR == 0) { unchecked { price += PRICE_INCR; } } IERC20(stable).transferFrom(sender, address(this), priceStack); uint balance = IERC20(stable).balanceOf(address(this)); if (!presale) { lastClaimTime[tokenId] = block.timestamp; if (applyLp) { uint lpAmount = balance * lpRate / REF_RATIO; swapAndAdd(lpAmount); } if (applyTreasury) { uint treasuryAmount = balance * treasuryRate / REF_RATIO; IERC20(stable).transfer(treasury, treasuryAmount); } } else { require(whitelisted[sender], "Logic: Address not whitelisted"); uint treasuryAmount = balance * (lpRate + treasuryRate) / REF_RATIO; IERC20(stable).transfer(treasury, treasuryAmount); } safeTransferSplitter(stable); safeTransferSplitter(bigFoot); emit CreatedNode(sender, 1, priceStack); } function safeClaim(address sender, uint tokenId, bool stake) external onlyYeti { if (lastClaimTime[tokenId] == 0) { // presale require(!presale, "Logic: Presale ongoing"); lastClaimTime[tokenId] = block.timestamp; return; } uint amount = pendingOf(tokenId); lastClaimTime[tokenId] = block.timestamp; if (amount == 0) return; if (stake) IStaking(staking).stake(amount, sender); else IERC20(bigFoot).transferFrom(treasury, sender, amount); emit ClaimedNode(sender, 1, amount, stake); } function safeMintBatch( address sender, uint[] calldata tokenIds ) external onlyYeti { uint finalPrice; uint priceStack = price; // gas bool _presale = presale; // gas for (uint i = 0; i < tokenIds.length; i++) { unchecked { finalPrice += priceStack; } if ((tokenIds[i] + 1) % REF_PRICE_INCR == 0) { unchecked { price += PRICE_INCR; priceStack += PRICE_INCR; } } if (!_presale) lastClaimTime[tokenIds[i]] = block.timestamp; } IERC20(stable).transferFrom(sender, address(this), finalPrice); uint balance = IERC20(stable).balanceOf(address(this)); if (!_presale) { if (applyLp) { uint lpAmount = balance * lpRate / REF_RATIO; swapAndAdd(lpAmount); } if (applyTreasury) { uint treasuryAmount = balance * treasuryRate / REF_RATIO; IERC20(stable).transfer(treasury, treasuryAmount); } } else { require(whitelisted[sender], "Logic: Address not whitelisted"); uint treasuryAmount = balance * (lpRate + treasuryRate) / REF_RATIO; IERC20(stable).transfer(treasury, treasuryAmount); } safeTransferSplitter(stable); safeTransferSplitter(bigFoot); emit CreatedNode(sender, tokenIds.length, finalPrice); } function safeClaimBatch( address sender, uint[] calldata tokenIds, bool stake ) external onlyYeti { uint amount; for (uint i = 0; i < tokenIds.length; i++) { uint tokenId = tokenIds[i]; // gas if (lastClaimTime[tokenId] == 0) { // presale require(!presale, "Logic: Presale ongoing"); lastClaimTime[tokenId] = block.timestamp; } else { unchecked { amount += pendingOf(tokenId); } lastClaimTime[tokenId] = block.timestamp; } } if (amount == 0) return; if (stake) IStaking(staking).stake(amount, sender); else IERC20(bigFoot).transferFrom(treasury, sender, amount); emit ClaimedNode(sender, tokenIds.length, amount, stake); } // Setters function setApplyLp(bool _new) external onlyAuthority { applyLp = _new; } function setLpRate(uint _new) external onlyAuthority { lpRate = _new; } function setApplyTreasury(bool _new) external onlyAuthority { applyTreasury = _new; } function setTreasuryRate(uint _new) external onlyAuthority { treasuryRate = _new; } function setDailyRewards(uint _new) external onlyAuthority { dailyRewards = _new; } function setPresale(bool _new) external onlyAuthority { presale = _new; } function setWhitelisted(address[] calldata _addr, bool _new) external onlyAuthority { for (uint i = 0; i < _addr.length; i++) { whitelisted[_addr[i]] = _new; } } // Web3 function pendingOf(uint tokenId) public view returns (uint) { return dailyRewards * (block.timestamp - lastClaimTime[tokenId]) / DAY; } // Internal function safeTransferSplitter(address token) internal { IERC20 erc20 = IERC20(token); // gas uint balance = erc20.balanceOf(address(this)); if (balance > 0) erc20.transfer(splitter, balance); } function swapAndAdd(uint amount) internal { uint swappedHalf = amount / 2; uint otherHalf = amount - swappedHalf; uint amountOut = swapExactTokensForTokens(swappedHalf); addLiquidity(otherHalf, amountOut); } function swapExactTokensForTokens(uint amount) internal returns (uint){ address[] memory path = new address[](2); path[0] = stable; path[1] = bigFoot; return IUniswapV2Router(router).swapExactTokensForTokens( amount, 0, path, address(this), block.timestamp )[1]; } function addLiquidity(uint _stableAmount, uint _bigFootAmount) internal { IUniswapV2Router(router).addLiquidity( stable, bigFoot, _stableAmount, _bigFootAmount, 0, 0, treasury, block.timestamp ); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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 `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, 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 `sender` to `recipient` 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 sender, address recipient, uint256 amount ) external returns (bool); /** * @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); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IUniswapV2Router { function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint256[] memory amounts); }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; contract Authority { address[] public authorities; mapping(address => bool) public isAuthority; constructor() { authorities.push(msg.sender); isAuthority[msg.sender] = true; } modifier onlySuperAuthority() { require(authorities[0] == msg.sender, "Authority: Only Super Authority"); _; } modifier onlyAuthority() { require(isAuthority[msg.sender], "Authority: Only Authority"); _; } function addAuthority(address _new, bool _change) external onlySuperAuthority { require(!isAuthority[_new], "Authoritys: Already authority"); isAuthority[_new] = true; if (_change) { authorities.push(authorities[0]); authorities[0] = _new; } else { authorities.push(_new); } } function removeAuthority(address _new) external onlySuperAuthority { require(isAuthority[_new], "Authority: Not authority"); require(_new != authorities[0], "Authority: Cannot remove super authority"); for (uint i = 1; i < authorities.length; i++) { if (authorities[i] == _new) { authorities[i] = authorities[authorities.length - 1]; authorities.pop(); break; } } isAuthority[_new] = false; } function getAuthoritiesSize() external view returns(uint) { return authorities.length; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IStaking { function stake(uint256 _amount, address _recipient) external; }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"rates","type":"uint256[]"},{"internalType":"uint256","name":"_dailyRewards","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"count","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"claimed","type":"uint256"},{"indexed":false,"internalType":"bool","name":"staked","type":"bool"}],"name":"ClaimedNode","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"count","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"CreatedNode","type":"event"},{"inputs":[],"name":"DAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PRICE_INCR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REF_PRICE_INCR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REF_RATIO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_new","type":"address"},{"internalType":"bool","name":"_change","type":"bool"}],"name":"addAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"applyLp","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"applyTreasury","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"authorities","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bigFoot","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dailyRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAuthoritiesSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isAuthority","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"lastClaimTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"pendingOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"presale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_new","type":"address"}],"name":"removeAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bool","name":"stake","type":"bool"}],"name":"safeClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"bool","name":"stake","type":"bool"}],"name":"safeClaimBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"safeMintBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_new","type":"bool"}],"name":"setApplyLp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_new","type":"bool"}],"name":"setApplyTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_new","type":"uint256"}],"name":"setDailyRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_new","type":"uint256"}],"name":"setLpRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_new","type":"bool"}],"name":"setPresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_new","type":"uint256"}],"name":"setTreasuryRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addr","type":"address[]"},{"internalType":"bool","name":"_new","type":"bool"}],"name":"setWhitelisted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"splitter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stable","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"staking","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"yeti","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6101006040526305f5e10060065560088054600160ff199182168117909255600a8054821683179055600c805490911690911790553480156200004157600080fd5b5060405162002d9338038062002d938339810160408190526200006491620003a2565b60008054600181810183557f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56390910180546001600160a01b031916339081179091558252602081905260408220805460ff191690911790558351849190620000dc57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031660a0816001600160a01b031660601b81525050826001815181106200012257634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166080816001600160a01b031660601b81525050826002815181106200016857634e487b7160e01b600052603260045260246000fd5b6020026020010151600260006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082600381518110620001b857634e487b7160e01b600052603260045260246000fd5b6020026020010151600360006101000a8154816001600160a01b0302191690836001600160a01b03160217905550826004815181106200020857634e487b7160e01b600052603260045260246000fd5b6020026020010151600460006101000a8154816001600160a01b0302191690836001600160a01b03160217905550826005815181106200025857634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031660c0816001600160a01b031660601b81525050826006815181106200029e57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031660e0816001600160a01b031660601b8152505081600081518110620002e457634e487b7160e01b600052603260045260246000fd5b6020026020010151600b81905550816001815181106200031457634e487b7160e01b600052603260045260246000fd5b6020908102919091010151600d5560075550620004ed9050565b600082601f8301126200033f578081fd5b81516020620003586200035283620004b1565b62000485565b828152818101908583018385028701840188101562000375578586fd5b855b85811015620003955781518452928401929084019060010162000377565b5090979650505050505050565b600080600060608486031215620003b7578283fd5b83516001600160401b0380821115620003ce578485fd5b818601915086601f830112620003e2578485fd5b81516020620003f56200035283620004b1565b82815281810190858301838502870184018c10156200041257898afd5b8996505b848710156200044b5780516001600160a01b038116811462000436578a8bfd5b83526001969096019591830191830162000416565b509189015191975090935050508082111562000465578384fd5b5062000474868287016200032e565b925050604084015190509250925092565b6040518181016001600160401b0381118282101715620004a957620004a9620004d7565b604052919050565b60006001600160401b03821115620004cd57620004cd620004d7565b5060209081020190565b634e487b7160e01b600052604160045260246000fd5b60805160601c60a05160601c60c05160601c60e05160601c61279c620005f760003960008181610591015281816106370152818161073d0152818161084d015281816108df0152818161098101528181610ded01528181610e9301528181610fb0015281816110c0015281816111520152818161157e01528181611d820152611f560152600081816115ab0152818161166e0152818161197401528181611e490152611f2801526000818161090801528181610bad01528181610d3b0152818161117b0152818161164101528181611b3001528181611de40152611f7801526000818161046a015281816109ca01528181610a7301528181610d6e01526119a1015261279c6000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c8063a035b1fe11610130578063d936547e116100b8578063e6b284491161007c578063e6b2844914610416578063f3c4b70414610429578063f887ea401461043c578063f9c8c08914610444578063fdea8e0b1461045757610232565b8063d936547e146103d8578063dcebc5a8146103eb578063e1c7392a146103fe578063e4b7251614610406578063e69eb7941461040e57610232565b8063c54e73e3116100ff578063c54e73e31461038f578063c8bfef77146103a2578063c92c5bf3146103aa578063d0bf9c54146103b2578063d544e010146103c557610232565b8063a035b1fe14610359578063a144819414610361578063a8c10f0d14610374578063b6ef57d31461038757610232565b80634adef718116101be578063790598721161018257806379059872146103105780637e7feaa714610323578063877dab7e146103365780639023dcef1461034957806398fa9e721461035157610232565b80634adef718146102d25780634cf088d9146102e5578063591c2664146102ed57806361d027b3146103005780636a338e941461030857610232565b806327cfe8561161020557806327cfe8561461029f5780632ffbfe80146102a7578063343e613a146102af5780633cd8045e146102b7578063494503d4146102bf57610232565b8063014449a61461023757806314ca599a1461024c57806322be3de11461026a5780632330f2471461027f575b600080fd5b61024a61024536600461208a565b61045f565b005b61025461097a565b60405161026191906125f5565b60405180910390f35b61027261097f565b6040516102619190612376565b61029261028d366004612069565b6109a3565b6040516102619190612410565b6102546109b8565b6102926109bf565b6102726109c8565b6102726109ec565b6102726102cd366004612319565b6109fb565b61024a6102e0366004612319565b610a25565b610272610a59565b61024a6102fb36600461219e565b610a68565b610272610c8b565b610254610c9a565b61024a61031e3660046122e1565b610ca0565b610254610331366004612319565b610ce2565b610254610344366004612319565b610d1f565b610254610d31565b610272610d39565b610254610d5d565b61024a61036f366004612175565b610d63565b61024a6103823660046122e1565b6111db565b61025461121d565b61024a61039d3660046122e1565b611223565b610254611265565b61029261126b565b61024a6103c0366004612319565b611274565b61024a6103d3366004612069565b6112a8565b6102926103e6366004612069565b6114ef565b61024a6103f9366004612319565b611504565b61024a611538565b6102546116ef565b6102546116f5565b61024a61042436600461213f565b6116fb565b61024a6104373660046121dd565b6118be565b610272611972565b61024a6104523660046120db565b611996565b610292611c0f565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104b05760405162461bcd60e51b81526004016104a790612478565b60405180910390fd5b6006546008546000919060ff16825b84811015610579579282019260648686838181106104ed57634e487b7160e01b600052603260045260246000fd5b9050602002013560016105009190612685565b61050a9190612702565b61052357600680546305f5e10090810190915592909201915b8161056757426005600088888581811061054d57634e487b7160e01b600052603260045260246000fd5b905060200201358152602001908152602001600020819055505b80610571816126e7565b9150506104bf565b506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906105ca9089903090889060040161238a565b602060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061c91906122fd565b506040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061066c903090600401612376565b60206040518083038186803b15801561068457600080fd5b505afa158015610698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc9190612331565b9050816107cf57600a5460ff16156106f8576000612710600b54836106e191906126b1565b6106eb919061269d565b90506106f681611c18565b505b600c5460ff16156107ca576000612710600d548361071691906126b1565b610720919061269d565b60035460405163a9059cbb60e01b81529192506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263a9059cbb9261077592169085906004016123f7565b602060405180830381600087803b15801561078f57600080fd5b505af11580156107a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c791906122fd565b50505b6108da565b6001600160a01b03871660009081526009602052604090205460ff166108075760405162461bcd60e51b81526004016104a790612550565b6000612710600d54600b5461081c9190612685565b61082690846126b1565b610830919061269d565b60035460405163a9059cbb60e01b81529192506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263a9059cbb9261088592169085906004016123f7565b602060405180830381600087803b15801561089f57600080fd5b505af11580156108b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d791906122fd565b50505b6109037f0000000000000000000000000000000000000000000000000000000000000000611c4c565b61092c7f0000000000000000000000000000000000000000000000000000000000000000611c4c565b6040516001600160a01b038816907f726a8ee3b6235dd4abf6653570fc895c8039685d6bfff1e7c1545347aa50cc9090610969908890889061241b565b60405180910390a250505050505050565b606481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60016020526000908152604090205460ff1681565b6201518081565b600c5460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6002546001600160a01b031681565b60008181548110610a0b57600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526001602052604090205460ff16610a545760405162461bcd60e51b81526004016104a790612441565b600755565b6004546001600160a01b031681565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ab05760405162461bcd60e51b81526004016104a790612478565b600082815260056020526040902054610afc5760085460ff1615610ae65760405162461bcd60e51b81526004016104a7906124e9565b6000828152600560205260409020429055610c86565b6000610b0783610ce2565b6000848152600560205260409020429055905080610b255750610c86565b8115610b935760048054604051637acb775760e01b81526001600160a01b0390911691637acb775791610b5c9185918991016125fe565b600060405180830381600087803b158015610b7657600080fd5b505af1158015610b8a573d6000803e3d6000fd5b50505050610c3e565b6003546040516323b872dd60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116926323b872dd92610bea9291909116908890869060040161238a565b602060405180830381600087803b158015610c0457600080fd5b505af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c91906122fd565b505b836001600160a01b03167fd23272e584be4ae1a3e6fed6a8b270217e7e95803bc717c81ff3065c5895de1c60018385604051610c7c93929190612429565b60405180910390a2505b505050565b6003546001600160a01b031681565b61271081565b3360009081526001602052604090205460ff16610ccf5760405162461bcd60e51b81526004016104a790612441565b600c805460ff1916911515919091179055565b6000818152600560205260408120546201518090610d0090426126d0565b600754610d0d91906126b1565b610d17919061269d565b90505b919050565b60056020526000908152604090205481565b6305f5e10081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60065481565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dab5760405162461bcd60e51b81526004016104a790612478565b6006546064610dbb836001612685565b610dc59190612702565b610dd657600680546305f5e1000190555b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90610e269086903090869060040161238a565b602060405180830381600087803b158015610e4057600080fd5b505af1158015610e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7891906122fd565b506040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610ec8903090600401612376565b60206040518083038186803b158015610ee057600080fd5b505afa158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190612331565b60085490915060ff16611042576000838152600560205260409020429055600a5460ff1615610f6b576000612710600b5483610f5491906126b1565b610f5e919061269d565b9050610f6981611c18565b505b600c5460ff161561103d576000612710600d5483610f8991906126b1565b610f93919061269d565b60035460405163a9059cbb60e01b81529192506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263a9059cbb92610fe892169085906004016123f7565b602060405180830381600087803b15801561100257600080fd5b505af1158015611016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103a91906122fd565b50505b61114d565b6001600160a01b03841660009081526009602052604090205460ff1661107a5760405162461bcd60e51b81526004016104a790612550565b6000612710600d54600b5461108f9190612685565b61109990846126b1565b6110a3919061269d565b60035460405163a9059cbb60e01b81529192506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263a9059cbb926110f892169085906004016123f7565b602060405180830381600087803b15801561111257600080fd5b505af1158015611126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114a91906122fd565b50505b6111767f0000000000000000000000000000000000000000000000000000000000000000611c4c565b61119f7f0000000000000000000000000000000000000000000000000000000000000000611c4c565b836001600160a01b03167f726a8ee3b6235dd4abf6653570fc895c8039685d6bfff1e7c1545347aa50cc90600184604051610c7c92919061241b565b3360009081526001602052604090205460ff1661120a5760405162461bcd60e51b81526004016104a790612441565b600a805460ff1916911515919091179055565b600b5481565b3360009081526001602052604090205460ff166112525760405162461bcd60e51b81526004016104a790612441565b6008805460ff1916911515919091179055565b60075481565b600a5460ff1681565b3360009081526001602052604090205460ff166112a35760405162461bcd60e51b81526004016104a790612441565b600d55565b336001600160a01b0316600080815481106112d357634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316146113055760405162461bcd60e51b81526004016104a7906125be565b6001600160a01b03811660009081526001602052604090205460ff1661133d5760405162461bcd60e51b81526004016104a790612519565b6000808154811061135e57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03828116911614156113955760405162461bcd60e51b81526004016104a7906124a1565b60015b6000548110156114cd57816001600160a01b0316600082815481106113cd57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031614156114bb57600080546113f8906001906126d0565b8154811061141657634e487b7160e01b600052603260045260246000fd5b600091825260208220015481546001600160a01b0390911691908390811061144e57634e487b7160e01b600052603260045260246000fd5b6000918252602082200180546001600160a01b0319166001600160a01b03939093169290921790915580548061149457634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190556114cd565b806114c5816126e7565b915050611398565b506001600160a01b03166000908152600160205260409020805460ff19169055565b60096020526000908152604090205460ff1681565b3360009081526001602052604090205460ff166115335760405162461bcd60e51b81526004016104a790612441565b600b55565b3360009081526001602052604090205460ff166115675760405162461bcd60e51b81526004016104a790612441565b60405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906115d7907f000000000000000000000000000000000000000000000000000000000000000090600019906004016123f7565b602060405180830381600087803b1580156115f157600080fd5b505af1158015611605573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162991906122fd565b5060405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b39061169a907f000000000000000000000000000000000000000000000000000000000000000090600019906004016123f7565b602060405180830381600087803b1580156116b457600080fd5b505af11580156116c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ec91906122fd565b50565b600d5481565b60005490565b336001600160a01b03166000808154811061172657634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316146117585760405162461bcd60e51b81526004016104a7906125be565b6001600160a01b03821660009081526001602052604090205460ff16156117915760405162461bcd60e51b81526004016104a790612587565b6001600160a01b0382166000908152600160208190526040909120805460ff191690911790558015611871576000806000815481106117e057634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910154835460018101855593835290822090920180546001600160a01b0319166001600160a01b03909316929092179091558054839190819061183e57634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506118ba565b600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0384161790555b5050565b3360009081526001602052604090205460ff166118ed5760405162461bcd60e51b81526004016104a790612441565b60005b8281101561196c57816009600086868581811061191d57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906119329190612069565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580611964816126e7565b9150506118f0565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119de5760405162461bcd60e51b81526004016104a790612478565b6000805b83811015611a9c576000858583818110611a0c57634e487b7160e01b600052603260045260246000fd5b905060200201359050600560008281526020019081526020016000205460001415611a6a5760085460ff1615611a545760405162461bcd60e51b81526004016104a7906124e9565b6000818152600560205260409020429055611a89565b611a7381610ce2565b6000828152600560205260409020429055909201915b5080611a94816126e7565b9150506119e2565b5080611aa8575061196c565b8115611b165760048054604051637acb775760e01b81526001600160a01b0390911691637acb775791611adf9185918a91016125fe565b600060405180830381600087803b158015611af957600080fd5b505af1158015611b0d573d6000803e3d6000fd5b50505050611bc1565b6003546040516323b872dd60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116926323b872dd92611b6d9291909116908990869060040161238a565b602060405180830381600087803b158015611b8757600080fd5b505af1158015611b9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bbf91906122fd565b505b6040516001600160a01b038616907fd23272e584be4ae1a3e6fed6a8b270217e7e95803bc717c81ff3065c5895de1c90611c0090869085908790612429565b60405180910390a25050505050565b60085460ff1681565b6000611c2560028361269d565b90506000611c3382846126d0565b90506000611c4083611d5b565b905061196c8282611f0f565b6040516370a0823160e01b815281906000906001600160a01b038316906370a0823190611c7d903090600401612376565b60206040518083038186803b158015611c9557600080fd5b505afa158015611ca9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccd9190612331565b90508015610c865760025460405163a9059cbb60e01b81526001600160a01b038481169263a9059cbb92611d09929091169085906004016123f7565b602060405180830381600087803b158015611d2357600080fd5b505af1158015611d37573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196c91906122fd565b604080516002808252606082018352600092839291906020830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110611dc257634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110611e2457634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526040516338ed173960e01b81527f0000000000000000000000000000000000000000000000000000000000000000909116906338ed173990611e89908690600090869030904290600401612615565b600060405180830381600087803b158015611ea357600080fd5b505af1158015611eb7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611edf9190810190612227565b600181518110611eff57634e487b7160e01b600052603260045260246000fd5b6020026020010151915050919050565b60035460405162e8e33760e81b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263e8e3370092611fb0927f0000000000000000000000000000000000000000000000000000000000000000927f000000000000000000000000000000000000000000000000000000000000000092899289926000928392919091169042906004016123ae565b606060405180830381600087803b158015611fca57600080fd5b505af1158015611fde573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120029190612349565b5050505050565b80356001600160a01b0381168114610d1a57600080fd5b60008083601f840112612031578081fd5b50813567ffffffffffffffff811115612048578182fd5b602083019150836020808302850101111561206257600080fd5b9250929050565b60006020828403121561207a578081fd5b61208382612009565b9392505050565b60008060006040848603121561209e578182fd5b6120a784612009565b9250602084013567ffffffffffffffff8111156120c2578283fd5b6120ce86828701612020565b9497909650939450505050565b600080600080606085870312156120f0578081fd5b6120f985612009565b9350602085013567ffffffffffffffff811115612114578182fd5b61212087828801612020565b909450925050604085013561213481612758565b939692955090935050565b60008060408385031215612151578182fd5b61215a83612009565b9150602083013561216a81612758565b809150509250929050565b60008060408385031215612187578182fd5b61219083612009565b946020939093013593505050565b6000806000606084860312156121b2578283fd5b6121bb84612009565b92506020840135915060408401356121d281612758565b809150509250925092565b6000806000604084860312156121f1578283fd5b833567ffffffffffffffff811115612207578384fd5b61221386828701612020565b90945092505060208401356121d281612758565b60006020808385031215612239578182fd5b825167ffffffffffffffff80821115612250578384fd5b818501915085601f830112612263578384fd5b81518181111561227557612275612742565b8381026040518582820101818110858211171561229457612294612742565b604052828152858101935084860182860187018a10156122b2578788fd5b8795505b838610156122d45780518552600195909501949386019386016122b6565b5098975050505050505050565b6000602082840312156122f2578081fd5b813561208381612758565b60006020828403121561230e578081fd5b815161208381612758565b60006020828403121561232a578081fd5b5035919050565b600060208284031215612342578081fd5b5051919050565b60008060006060848603121561235d578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039889168152968816602088015260408701959095526060860193909352608085019190915260a084015290921660c082015260e08101919091526101000190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b918252602082015260400190565b92835260208301919091521515604082015260600190565b60208082526019908201527f417574686f726974793a204f6e6c7920417574686f7269747900000000000000604082015260600190565b6020808252600f908201526e4c6f6769633a206f6e6c795965746960881b604082015260600190565b60208082526028908201527f417574686f726974793a2043616e6e6f742072656d6f766520737570657220616040820152677574686f7269747960c01b606082015260800190565b6020808252601690820152754c6f6769633a2050726573616c65206f6e676f696e6760501b604082015260600190565b60208082526018908201527f417574686f726974793a204e6f7420617574686f726974790000000000000000604082015260600190565b6020808252601e908201527f4c6f6769633a2041646472657373206e6f742077686974656c69737465640000604082015260600190565b6020808252601d908201527f417574686f72697479733a20416c726561647920617574686f72697479000000604082015260600190565b6020808252601f908201527f417574686f726974793a204f6e6c7920537570657220417574686f7269747900604082015260600190565b90815260200190565b9182526001600160a01b0316602082015260400190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156126645784516001600160a01b03168352938301939183019160010161263f565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561269857612698612716565b500190565b6000826126ac576126ac61272c565b500490565b60008160001904831182151516156126cb576126cb612716565b500290565b6000828210156126e2576126e2612716565b500390565b60006000198214156126fb576126fb612716565b5060010190565b6000826127115761271161272c565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b80151581146116ec57600080fdfea2646970667358221220f671b4299b4514bb74944b45d373e7d7a5f08d0fcdbb145fabd8e1a533a4700464736f6c634300080000330000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000007000000000000000000000000c4ea977c6c3519a8527f3ff0728caab40c1071520000000000000000000000009e57b50b077a6b477e74bb62901823b2e9620f47000000000000000000000000d4c72bffe7399d7e116850dc391b3b95a43d0a8d000000000000000000000000c29766348744f9d9df715f465f7ebfd7f729ec820000000000000000000000007959c178a639109d863675b855f5b4bc11247f0c000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001b5800000000000000000000000000000000000000000000000000000000000007d0
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106102325760003560e01c8063a035b1fe11610130578063d936547e116100b8578063e6b284491161007c578063e6b2844914610416578063f3c4b70414610429578063f887ea401461043c578063f9c8c08914610444578063fdea8e0b1461045757610232565b8063d936547e146103d8578063dcebc5a8146103eb578063e1c7392a146103fe578063e4b7251614610406578063e69eb7941461040e57610232565b8063c54e73e3116100ff578063c54e73e31461038f578063c8bfef77146103a2578063c92c5bf3146103aa578063d0bf9c54146103b2578063d544e010146103c557610232565b8063a035b1fe14610359578063a144819414610361578063a8c10f0d14610374578063b6ef57d31461038757610232565b80634adef718116101be578063790598721161018257806379059872146103105780637e7feaa714610323578063877dab7e146103365780639023dcef1461034957806398fa9e721461035157610232565b80634adef718146102d25780634cf088d9146102e5578063591c2664146102ed57806361d027b3146103005780636a338e941461030857610232565b806327cfe8561161020557806327cfe8561461029f5780632ffbfe80146102a7578063343e613a146102af5780633cd8045e146102b7578063494503d4146102bf57610232565b8063014449a61461023757806314ca599a1461024c57806322be3de11461026a5780632330f2471461027f575b600080fd5b61024a61024536600461208a565b61045f565b005b61025461097a565b60405161026191906125f5565b60405180910390f35b61027261097f565b6040516102619190612376565b61029261028d366004612069565b6109a3565b6040516102619190612410565b6102546109b8565b6102926109bf565b6102726109c8565b6102726109ec565b6102726102cd366004612319565b6109fb565b61024a6102e0366004612319565b610a25565b610272610a59565b61024a6102fb36600461219e565b610a68565b610272610c8b565b610254610c9a565b61024a61031e3660046122e1565b610ca0565b610254610331366004612319565b610ce2565b610254610344366004612319565b610d1f565b610254610d31565b610272610d39565b610254610d5d565b61024a61036f366004612175565b610d63565b61024a6103823660046122e1565b6111db565b61025461121d565b61024a61039d3660046122e1565b611223565b610254611265565b61029261126b565b61024a6103c0366004612319565b611274565b61024a6103d3366004612069565b6112a8565b6102926103e6366004612069565b6114ef565b61024a6103f9366004612319565b611504565b61024a611538565b6102546116ef565b6102546116f5565b61024a61042436600461213f565b6116fb565b61024a6104373660046121dd565b6118be565b610272611972565b61024a6104523660046120db565b611996565b610292611c0f565b336001600160a01b037f0000000000000000000000009e57b50b077a6b477e74bb62901823b2e9620f4716146104b05760405162461bcd60e51b81526004016104a790612478565b60405180910390fd5b6006546008546000919060ff16825b84811015610579579282019260648686838181106104ed57634e487b7160e01b600052603260045260246000fd5b9050602002013560016105009190612685565b61050a9190612702565b61052357600680546305f5e10090810190915592909201915b8161056757426005600088888581811061054d57634e487b7160e01b600052603260045260246000fd5b905060200201358152602001908152602001600020819055505b80610571816126e7565b9150506104bf565b506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4816906323b872dd906105ca9089903090889060040161238a565b602060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061c91906122fd565b506040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4816906370a082319061066c903090600401612376565b60206040518083038186803b15801561068457600080fd5b505afa158015610698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc9190612331565b9050816107cf57600a5460ff16156106f8576000612710600b54836106e191906126b1565b6106eb919061269d565b90506106f681611c18565b505b600c5460ff16156107ca576000612710600d548361071691906126b1565b610720919061269d565b60035460405163a9059cbb60e01b81529192506001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881169263a9059cbb9261077592169085906004016123f7565b602060405180830381600087803b15801561078f57600080fd5b505af11580156107a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c791906122fd565b50505b6108da565b6001600160a01b03871660009081526009602052604090205460ff166108075760405162461bcd60e51b81526004016104a790612550565b6000612710600d54600b5461081c9190612685565b61082690846126b1565b610830919061269d565b60035460405163a9059cbb60e01b81529192506001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881169263a9059cbb9261088592169085906004016123f7565b602060405180830381600087803b15801561089f57600080fd5b505af11580156108b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d791906122fd565b50505b6109037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48611c4c565b61092c7f000000000000000000000000c4ea977c6c3519a8527f3ff0728caab40c107152611c4c565b6040516001600160a01b038816907f726a8ee3b6235dd4abf6653570fc895c8039685d6bfff1e7c1545347aa50cc9090610969908890889061241b565b60405180910390a250505050505050565b606481565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b60016020526000908152604090205460ff1681565b6201518081565b600c5460ff1681565b7f0000000000000000000000009e57b50b077a6b477e74bb62901823b2e9620f4781565b6002546001600160a01b031681565b60008181548110610a0b57600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526001602052604090205460ff16610a545760405162461bcd60e51b81526004016104a790612441565b600755565b6004546001600160a01b031681565b336001600160a01b037f0000000000000000000000009e57b50b077a6b477e74bb62901823b2e9620f471614610ab05760405162461bcd60e51b81526004016104a790612478565b600082815260056020526040902054610afc5760085460ff1615610ae65760405162461bcd60e51b81526004016104a7906124e9565b6000828152600560205260409020429055610c86565b6000610b0783610ce2565b6000848152600560205260409020429055905080610b255750610c86565b8115610b935760048054604051637acb775760e01b81526001600160a01b0390911691637acb775791610b5c9185918991016125fe565b600060405180830381600087803b158015610b7657600080fd5b505af1158015610b8a573d6000803e3d6000fd5b50505050610c3e565b6003546040516323b872dd60e01b81526001600160a01b037f000000000000000000000000c4ea977c6c3519a8527f3ff0728caab40c1071528116926323b872dd92610bea9291909116908890869060040161238a565b602060405180830381600087803b158015610c0457600080fd5b505af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c91906122fd565b505b836001600160a01b03167fd23272e584be4ae1a3e6fed6a8b270217e7e95803bc717c81ff3065c5895de1c60018385604051610c7c93929190612429565b60405180910390a2505b505050565b6003546001600160a01b031681565b61271081565b3360009081526001602052604090205460ff16610ccf5760405162461bcd60e51b81526004016104a790612441565b600c805460ff1916911515919091179055565b6000818152600560205260408120546201518090610d0090426126d0565b600754610d0d91906126b1565b610d17919061269d565b90505b919050565b60056020526000908152604090205481565b6305f5e10081565b7f000000000000000000000000c4ea977c6c3519a8527f3ff0728caab40c10715281565b60065481565b336001600160a01b037f0000000000000000000000009e57b50b077a6b477e74bb62901823b2e9620f471614610dab5760405162461bcd60e51b81526004016104a790612478565b6006546064610dbb836001612685565b610dc59190612702565b610dd657600680546305f5e1000190555b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4816906323b872dd90610e269086903090869060040161238a565b602060405180830381600087803b158015610e4057600080fd5b505af1158015610e54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7891906122fd565b506040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4816906370a0823190610ec8903090600401612376565b60206040518083038186803b158015610ee057600080fd5b505afa158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190612331565b60085490915060ff16611042576000838152600560205260409020429055600a5460ff1615610f6b576000612710600b5483610f5491906126b1565b610f5e919061269d565b9050610f6981611c18565b505b600c5460ff161561103d576000612710600d5483610f8991906126b1565b610f93919061269d565b60035460405163a9059cbb60e01b81529192506001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881169263a9059cbb92610fe892169085906004016123f7565b602060405180830381600087803b15801561100257600080fd5b505af1158015611016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103a91906122fd565b50505b61114d565b6001600160a01b03841660009081526009602052604090205460ff1661107a5760405162461bcd60e51b81526004016104a790612550565b6000612710600d54600b5461108f9190612685565b61109990846126b1565b6110a3919061269d565b60035460405163a9059cbb60e01b81529192506001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881169263a9059cbb926110f892169085906004016123f7565b602060405180830381600087803b15801561111257600080fd5b505af1158015611126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114a91906122fd565b50505b6111767f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48611c4c565b61119f7f000000000000000000000000c4ea977c6c3519a8527f3ff0728caab40c107152611c4c565b836001600160a01b03167f726a8ee3b6235dd4abf6653570fc895c8039685d6bfff1e7c1545347aa50cc90600184604051610c7c92919061241b565b3360009081526001602052604090205460ff1661120a5760405162461bcd60e51b81526004016104a790612441565b600a805460ff1916911515919091179055565b600b5481565b3360009081526001602052604090205460ff166112525760405162461bcd60e51b81526004016104a790612441565b6008805460ff1916911515919091179055565b60075481565b600a5460ff1681565b3360009081526001602052604090205460ff166112a35760405162461bcd60e51b81526004016104a790612441565b600d55565b336001600160a01b0316600080815481106112d357634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316146113055760405162461bcd60e51b81526004016104a7906125be565b6001600160a01b03811660009081526001602052604090205460ff1661133d5760405162461bcd60e51b81526004016104a790612519565b6000808154811061135e57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03828116911614156113955760405162461bcd60e51b81526004016104a7906124a1565b60015b6000548110156114cd57816001600160a01b0316600082815481106113cd57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031614156114bb57600080546113f8906001906126d0565b8154811061141657634e487b7160e01b600052603260045260246000fd5b600091825260208220015481546001600160a01b0390911691908390811061144e57634e487b7160e01b600052603260045260246000fd5b6000918252602082200180546001600160a01b0319166001600160a01b03939093169290921790915580548061149457634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190556114cd565b806114c5816126e7565b915050611398565b506001600160a01b03166000908152600160205260409020805460ff19169055565b60096020526000908152604090205460ff1681565b3360009081526001602052604090205460ff166115335760405162461bcd60e51b81526004016104a790612441565b600b55565b3360009081526001602052604090205460ff166115675760405162461bcd60e51b81526004016104a790612441565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48169063095ea7b3906115d7907f000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f90600019906004016123f7565b602060405180830381600087803b1580156115f157600080fd5b505af1158015611605573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162991906122fd565b5060405163095ea7b360e01b81526001600160a01b037f000000000000000000000000c4ea977c6c3519a8527f3ff0728caab40c107152169063095ea7b39061169a907f000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f90600019906004016123f7565b602060405180830381600087803b1580156116b457600080fd5b505af11580156116c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ec91906122fd565b50565b600d5481565b60005490565b336001600160a01b03166000808154811061172657634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316146117585760405162461bcd60e51b81526004016104a7906125be565b6001600160a01b03821660009081526001602052604090205460ff16156117915760405162461bcd60e51b81526004016104a790612587565b6001600160a01b0382166000908152600160208190526040909120805460ff191690911790558015611871576000806000815481106117e057634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910154835460018101855593835290822090920180546001600160a01b0319166001600160a01b03909316929092179091558054839190819061183e57634e487b7160e01b600052603260045260246000fd5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506118ba565b600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0384161790555b5050565b3360009081526001602052604090205460ff166118ed5760405162461bcd60e51b81526004016104a790612441565b60005b8281101561196c57816009600086868581811061191d57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906119329190612069565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580611964816126e7565b9150506118f0565b50505050565b7f000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f81565b336001600160a01b037f0000000000000000000000009e57b50b077a6b477e74bb62901823b2e9620f4716146119de5760405162461bcd60e51b81526004016104a790612478565b6000805b83811015611a9c576000858583818110611a0c57634e487b7160e01b600052603260045260246000fd5b905060200201359050600560008281526020019081526020016000205460001415611a6a5760085460ff1615611a545760405162461bcd60e51b81526004016104a7906124e9565b6000818152600560205260409020429055611a89565b611a7381610ce2565b6000828152600560205260409020429055909201915b5080611a94816126e7565b9150506119e2565b5080611aa8575061196c565b8115611b165760048054604051637acb775760e01b81526001600160a01b0390911691637acb775791611adf9185918a91016125fe565b600060405180830381600087803b158015611af957600080fd5b505af1158015611b0d573d6000803e3d6000fd5b50505050611bc1565b6003546040516323b872dd60e01b81526001600160a01b037f000000000000000000000000c4ea977c6c3519a8527f3ff0728caab40c1071528116926323b872dd92611b6d9291909116908990869060040161238a565b602060405180830381600087803b158015611b8757600080fd5b505af1158015611b9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bbf91906122fd565b505b6040516001600160a01b038616907fd23272e584be4ae1a3e6fed6a8b270217e7e95803bc717c81ff3065c5895de1c90611c0090869085908790612429565b60405180910390a25050505050565b60085460ff1681565b6000611c2560028361269d565b90506000611c3382846126d0565b90506000611c4083611d5b565b905061196c8282611f0f565b6040516370a0823160e01b815281906000906001600160a01b038316906370a0823190611c7d903090600401612376565b60206040518083038186803b158015611c9557600080fd5b505afa158015611ca9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccd9190612331565b90508015610c865760025460405163a9059cbb60e01b81526001600160a01b038481169263a9059cbb92611d09929091169085906004016123f7565b602060405180830381600087803b158015611d2357600080fd5b505af1158015611d37573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196c91906122fd565b604080516002808252606082018352600092839291906020830190803683370190505090507f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881600081518110611dc257634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c4ea977c6c3519a8527f3ff0728caab40c10715281600181518110611e2457634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526040516338ed173960e01b81527f000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f909116906338ed173990611e89908690600090869030904290600401612615565b600060405180830381600087803b158015611ea357600080fd5b505af1158015611eb7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611edf9190810190612227565b600181518110611eff57634e487b7160e01b600052603260045260246000fd5b6020026020010151915050919050565b60035460405162e8e33760e81b81526001600160a01b037f000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f81169263e8e3370092611fb0927f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48927f000000000000000000000000c4ea977c6c3519a8527f3ff0728caab40c10715292899289926000928392919091169042906004016123ae565b606060405180830381600087803b158015611fca57600080fd5b505af1158015611fde573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120029190612349565b5050505050565b80356001600160a01b0381168114610d1a57600080fd5b60008083601f840112612031578081fd5b50813567ffffffffffffffff811115612048578182fd5b602083019150836020808302850101111561206257600080fd5b9250929050565b60006020828403121561207a578081fd5b61208382612009565b9392505050565b60008060006040848603121561209e578182fd5b6120a784612009565b9250602084013567ffffffffffffffff8111156120c2578283fd5b6120ce86828701612020565b9497909650939450505050565b600080600080606085870312156120f0578081fd5b6120f985612009565b9350602085013567ffffffffffffffff811115612114578182fd5b61212087828801612020565b909450925050604085013561213481612758565b939692955090935050565b60008060408385031215612151578182fd5b61215a83612009565b9150602083013561216a81612758565b809150509250929050565b60008060408385031215612187578182fd5b61219083612009565b946020939093013593505050565b6000806000606084860312156121b2578283fd5b6121bb84612009565b92506020840135915060408401356121d281612758565b809150509250925092565b6000806000604084860312156121f1578283fd5b833567ffffffffffffffff811115612207578384fd5b61221386828701612020565b90945092505060208401356121d281612758565b60006020808385031215612239578182fd5b825167ffffffffffffffff80821115612250578384fd5b818501915085601f830112612263578384fd5b81518181111561227557612275612742565b8381026040518582820101818110858211171561229457612294612742565b604052828152858101935084860182860187018a10156122b2578788fd5b8795505b838610156122d45780518552600195909501949386019386016122b6565b5098975050505050505050565b6000602082840312156122f2578081fd5b813561208381612758565b60006020828403121561230e578081fd5b815161208381612758565b60006020828403121561232a578081fd5b5035919050565b600060208284031215612342578081fd5b5051919050565b60008060006060848603121561235d578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039889168152968816602088015260408701959095526060860193909352608085019190915260a084015290921660c082015260e08101919091526101000190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b918252602082015260400190565b92835260208301919091521515604082015260600190565b60208082526019908201527f417574686f726974793a204f6e6c7920417574686f7269747900000000000000604082015260600190565b6020808252600f908201526e4c6f6769633a206f6e6c795965746960881b604082015260600190565b60208082526028908201527f417574686f726974793a2043616e6e6f742072656d6f766520737570657220616040820152677574686f7269747960c01b606082015260800190565b6020808252601690820152754c6f6769633a2050726573616c65206f6e676f696e6760501b604082015260600190565b60208082526018908201527f417574686f726974793a204e6f7420617574686f726974790000000000000000604082015260600190565b6020808252601e908201527f4c6f6769633a2041646472657373206e6f742077686974656c69737465640000604082015260600190565b6020808252601d908201527f417574686f72697479733a20416c726561647920617574686f72697479000000604082015260600190565b6020808252601f908201527f417574686f726974793a204f6e6c7920537570657220417574686f7269747900604082015260600190565b90815260200190565b9182526001600160a01b0316602082015260400190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156126645784516001600160a01b03168352938301939183019160010161263f565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561269857612698612716565b500190565b6000826126ac576126ac61272c565b500490565b60008160001904831182151516156126cb576126cb612716565b500290565b6000828210156126e2576126e2612716565b500390565b60006000198214156126fb576126fb612716565b5060010190565b6000826127115761271161272c565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b80151581146116ec57600080fdfea2646970667358221220f671b4299b4514bb74944b45d373e7d7a5f08d0fcdbb145fabd8e1a533a4700464736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000007000000000000000000000000c4ea977c6c3519a8527f3ff0728caab40c1071520000000000000000000000009e57b50b077a6b477e74bb62901823b2e9620f47000000000000000000000000d4c72bffe7399d7e116850dc391b3b95a43d0a8d000000000000000000000000c29766348744f9d9df715f465f7ebfd7f729ec820000000000000000000000007959c178a639109d863675b855f5b4bc11247f0c000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001b5800000000000000000000000000000000000000000000000000000000000007d0
-----Decoded View---------------
Arg [0] : addresses (address[]): 0xc4EA977c6c3519a8527f3Ff0728cAaB40c107152,0x9E57B50b077a6B477e74Bb62901823b2E9620f47,0xD4C72bFfE7399D7E116850DC391b3b95A43D0A8D,0xC29766348744F9d9Df715F465f7EbfD7f729Ec82,0x7959c178A639109d863675B855F5B4BC11247F0C,0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F,0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Arg [1] : rates (uint256[]): 7000,2000
Arg [2] : _dailyRewards (uint256): 500000000000000000
-----Encoded View---------------
14 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [2] : 00000000000000000000000000000000000000000000000006f05b59d3b20000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [4] : 000000000000000000000000c4ea977c6c3519a8527f3ff0728caab40c107152
Arg [5] : 0000000000000000000000009e57b50b077a6b477e74bb62901823b2e9620f47
Arg [6] : 000000000000000000000000d4c72bffe7399d7e116850dc391b3b95a43d0a8d
Arg [7] : 000000000000000000000000c29766348744f9d9df715f465f7ebfd7f729ec82
Arg [8] : 0000000000000000000000007959c178a639109d863675b855f5b4bc11247f0c
Arg [9] : 000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f
Arg [10] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [12] : 0000000000000000000000000000000000000000000000000000000000001b58
Arg [13] : 00000000000000000000000000000000000000000000000000000000000007d0
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.