More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 2,130 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Deposit | 20535691 | 100 days ago | IN | 0 ETH | 0.00072262 | ||||
Deposit | 20515505 | 103 days ago | IN | 0 ETH | 0.00015732 | ||||
Deposit | 20514436 | 103 days ago | IN | 0 ETH | 0.0003838 | ||||
Deposit | 20514321 | 103 days ago | IN | 0 ETH | 0.00054274 | ||||
Deposit | 20507902 | 104 days ago | IN | 0 ETH | 0.00016626 | ||||
Deposit | 20506512 | 104 days ago | IN | 0 ETH | 0.00014721 | ||||
Deposit | 20479050 | 108 days ago | IN | 0 ETH | 0.00032362 | ||||
Deposit | 20479046 | 108 days ago | IN | 0 ETH | 0.00029922 | ||||
Deposit | 20078229 | 164 days ago | IN | 0 ETH | 0.000963 | ||||
Deposit | 19960628 | 180 days ago | IN | 0 ETH | 0.00077048 | ||||
Deposit | 19960626 | 180 days ago | IN | 0 ETH | 0.00070802 | ||||
Deposit | 19877967 | 192 days ago | IN | 0 ETH | 0.00043393 | ||||
Deposit | 19827445 | 199 days ago | IN | 0 ETH | 0.00029487 | ||||
Deposit | 19740776 | 211 days ago | IN | 0 ETH | 0.00034474 | ||||
Withdraw | 19606355 | 230 days ago | IN | 0 ETH | 0.00155209 | ||||
Deposit | 19485786 | 247 days ago | IN | 0 ETH | 0.00161194 | ||||
Deposit | 19485587 | 247 days ago | IN | 0 ETH | 0.00171085 | ||||
Deposit | 19485553 | 247 days ago | IN | 0 ETH | 0.00221231 | ||||
Deposit | 19485540 | 247 days ago | IN | 0 ETH | 0.00203036 | ||||
Deposit | 19485535 | 247 days ago | IN | 0 ETH | 0.00121556 | ||||
Deposit | 19485534 | 247 days ago | IN | 0 ETH | 0.00124358 | ||||
Deposit | 19485533 | 247 days ago | IN | 0 ETH | 0.00215325 | ||||
Deposit | 19485532 | 247 days ago | IN | 0 ETH | 0.00215178 | ||||
Deposit | 19484501 | 247 days ago | IN | 0 ETH | 0.00156282 | ||||
Deposit | 19366087 | 263 days ago | IN | 0 ETH | 0.0042204 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
AeolusV2dot1
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-04-14 */ // File: contracts/math/SafeMath.sol pragma solidity <0.6 >=0.4.21; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ /*@CTK SafeMath_mul @tag spec @post __reverted == __has_assertion_failure @post __has_assertion_failure == __has_overflow @post __reverted == false -> c == a * b @post msg == msg__post */ /* CertiK Smart Labelling, for more details visit: https://certik.org */ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ /*@CTK SafeMath_div @tag spec @pre b != 0 @post __reverted == __has_assertion_failure @post __has_overflow == true -> __has_assertion_failure == true @post __reverted == false -> __return == a / b @post msg == msg__post */ /* CertiK Smart Labelling, for more details visit: https://certik.org */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ /*@CTK SafeMath_sub @tag spec @post __reverted == __has_assertion_failure @post __has_overflow == true -> __has_assertion_failure == true @post __reverted == false -> __return == a - b @post msg == msg__post */ /* CertiK Smart Labelling, for more details visit: https://certik.org */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ /*@CTK SafeMath_add @tag spec @post __reverted == __has_assertion_failure @post __has_assertion_failure == __has_overflow @post __reverted == false -> c == a + b @post msg == msg__post */ /* CertiK Smart Labelling, for more details visit: https://certik.org */ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } // File: contracts/ownership/Ownable.sol pragma solidity <6.0 >=0.4.0; /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } // File: contracts/token/IERC20Basic.sol pragma solidity <0.6 >=0.4.21; /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract IERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } // File: contracts/token/IERC20.sol pragma solidity <0.6 >=0.4.21; /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract IERC20 is IERC20Basic { function name() external view returns (string memory); function symbol() external view returns (string memory); function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } // File: contracts/token/IMintableToken.sol pragma solidity <0.6 >=0.4.24; contract IMintableToken is IERC20 { function mint(address, uint) external returns (bool); function burn(uint) external returns (bool); event Minted(address indexed to, uint256 amount); event Burned(address indexed from, uint256 amount); event MinterAdded(address indexed minter); event MinterRemoved(address indexed minter); } // File: contracts/utils/Address.sol pragma solidity ^0.5.0; /** * @dev Collection of functions related to the address type, */ library Address { /** * @dev Returns true if `account` is a contract. * * This test is non-exhaustive, and there may be false-negatives: during the * execution of a contract's constructor, its address will be reported as * not containing a contract. * * > It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. */ function isContract(address account) internal view returns (bool) { // This method relies in extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } } // File: contracts/token/SafeERC20.sol pragma solidity ^0.5.0; /** * @title SafeERC20 * @dev Wrappers around ERC20 operations that throw on failure (when the token * contract returns false). Tokens that return no value (and instead revert or * throw on failure) are also supported, non-reverting calls are assumed to be * successful. * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer(IERC20 token, address to, uint256 value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } function safeApprove(IERC20 token, address spender, uint256 value) internal { // safeApprove should only be called when setting an initial allowance, // or when resetting it to zero. To increase and decrease it, use // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' // solhint-disable-next-line max-line-length require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).add(value); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal { uint256 newAllowance = token.allowance(address(this), spender).sub(value); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } /** * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement * on the return value: the return value is optional (but if data is returned, it must not be false). * @param token The token targeted by the call. * @param data The call data (encoded using abi.encode or one of its variants). */ function callOptionalReturn(IERC20 token, bytes memory data) private { // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since // we're implementing it ourselves. // A Solidity high level call has three parts: // 1. The target address is checked to verify it contains contract code // 2. The call itself is made, and success asserted // 3. The return value is decoded, which in turn checks the size of the returned data. // solhint-disable-next-line max-line-length require(address(token).isContract(), "SafeERC20: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = address(token).call(data); require(success, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } // File: contracts/uniswapv2/IRouter.sol pragma solidity >=0.5.0 <0.8.0; interface IRouter { function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function swapETHForExactTokens( uint amountOut, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } // File: contracts/AeolusV2dot1.sol pragma solidity <0.6 >=0.4.24; // Aeolus is the master of Cyclone tokens. He can distribute CYC and he is a fair guy. // // Note that it's ownable and the owner wields tremendous power. The ownership // will be transferred to a governance smart contract once CYC is sufficiently // distributed and the community can show to govern itself. // // Have fun reading it. Hopefully it's bug-free. God bless. contract AeolusV2dot1 is Ownable { using SafeMath for uint256; using SafeERC20 for IERC20; // Info of each user. struct UserInfo { uint256 amount; // How many LP tokens the user has provided. uint256 rewardDebt; // Reward debt. See explanation below. // // We do some fancy math here. Basically, any point in time, the amount of CYCs // entitled to a user but is pending to be distributed is: // // pending reward = (user.amount * accCYCPerShare) - user.rewardDebt // // Whenever a user deposits or withdraws LP tokens to a pool. Here's what happens: // 1. Update accCYCPerShare and lastRewardBlock // 2. User receives the pending reward sent to his/her address. // 3. User's `amount` gets updated. // 4. User's `rewardDebt` gets updated. } // Address of LP token contract. IERC20 public lpToken; // Accumulated CYCs per share, times 1e12. See below. uint256 public accCYCPerShare; // Last block reward block height uint256 public lastRewardBlock; // Reward per block uint256 public rewardPerBlock; // Reward to distribute uint256 public rewardToDistribute; // Entrance Fee Rate uint256 public entranceFeeRate; IERC20 public wrappedCoin; IRouter public router; // The Cyclone TOKEN IMintableToken public cycToken; // Info of each user that stakes LP tokens. mapping (address => UserInfo) public userInfo; event RewardAdded(uint256 amount, bool isBlockReward); event Deposit(address indexed user, uint256 amount, uint256 fee); event Withdraw(address indexed user, uint256 amount); event EmergencyWithdraw(address indexed user, uint256 amount); constructor(IMintableToken _cycToken, IERC20 _lpToken, address _router, IERC20 _wrappedCoin) public { cycToken = _cycToken; lastRewardBlock = block.number; lpToken = _lpToken; router = IRouter(_router); wrappedCoin = _wrappedCoin; require(_lpToken.approve(_router, uint256(-1)), "failed to approve router"); require(_wrappedCoin.approve(_router, uint256(-1)), "failed to approve router"); } function setEntranceFeeRate(uint256 _entranceFeeRate) public onlyOwner { require(_entranceFeeRate < 10000, "invalid entrance fee rate"); entranceFeeRate = _entranceFeeRate; } function setRewardPerBlock(uint256 _rewardPerBlock) public onlyOwner { updateBlockReward(); rewardPerBlock = _rewardPerBlock; } function rewardPending() internal view returns (uint256) { uint256 reward = block.number.sub(lastRewardBlock).mul(rewardPerBlock); uint256 cycBalance = cycToken.balanceOf(address(this)).sub(rewardToDistribute); if (cycBalance < reward) { return cycBalance; } return reward; } // View function to see pending reward on frontend. function pendingReward(address _user) external view returns (uint256) { UserInfo storage user = userInfo[_user]; uint256 acps = accCYCPerShare; if (rewardPerBlock > 0) { uint256 lpSupply = lpToken.balanceOf(address(this)); if (block.number > lastRewardBlock && lpSupply > 0) { acps = acps.add(rewardPending().mul(1e12).div(lpSupply)); } } return user.amount.mul(acps).div(1e12).sub(user.rewardDebt); } // Update reward variables to be up-to-date. function updateBlockReward() public { if (block.number <= lastRewardBlock || rewardPerBlock == 0) { return; } uint256 lpSupply = lpToken.balanceOf(address(this)); uint256 reward = rewardPending(); if (lpSupply == 0 || reward == 0) { lastRewardBlock = block.number; return; } rewardToDistribute = rewardToDistribute.add(reward); emit RewardAdded(reward, true); lastRewardBlock = block.number; accCYCPerShare = accCYCPerShare.add(reward.mul(1e12).div(lpSupply)); } // Deposit LP tokens to Aeolus for CYC allocation. function deposit(uint256 _amount) public { updateBlockReward(); UserInfo storage user = userInfo[msg.sender]; uint256 originAmount = user.amount; uint256 acps = accCYCPerShare; if (originAmount > 0) { uint256 pending = originAmount.mul(acps).div(1e12).sub(user.rewardDebt); if (pending > 0) { safeCYCTransfer(msg.sender, pending); } } uint256 feeInCYC = 0; if (_amount > 0) { lpToken.safeTransferFrom(address(msg.sender), address(this), _amount); uint256 entranceFee = _amount.mul(entranceFeeRate).div(10000); if (entranceFee > 0) { IERC20 wct = wrappedCoin; (uint256 wcAmount, uint256 cycAmount) = router.removeLiquidity(address(wct), address(cycToken), entranceFee, 0, 0, address(this), block.timestamp.mul(2)); if (wcAmount > 0) { address[] memory path = new address[](2); path[0] = address(wct); path[1] = address(cycToken); uint256[] memory amounts = router.swapExactTokensForTokens(wcAmount, 0, path, address(this), block.timestamp.mul(2)); feeInCYC = cycAmount.add(amounts[1]); } else { feeInCYC = cycAmount; } if (feeInCYC > 0) { require(cycToken.burn(feeInCYC), "failed to burn cyc token"); } _amount = _amount.sub(entranceFee); } user.amount = originAmount.add(_amount); } user.rewardDebt = user.amount.mul(acps).div(1e12); emit Deposit(msg.sender, _amount, feeInCYC); } // Withdraw LP tokens from Aeolus. function withdraw(uint256 _amount) public { UserInfo storage user = userInfo[msg.sender]; uint256 originAmount = user.amount; require(originAmount >= _amount, "withdraw: not good"); updateBlockReward(); uint256 acps = accCYCPerShare; uint256 pending = originAmount.mul(acps).div(1e12).sub(user.rewardDebt); if (pending > 0) { safeCYCTransfer(msg.sender, pending); } if (_amount > 0) { user.amount = originAmount.sub(_amount); lpToken.safeTransfer(address(msg.sender), _amount); } user.rewardDebt = user.amount.mul(acps).div(1e12); emit Withdraw(msg.sender, _amount); } // Withdraw without caring about rewards. EMERGENCY ONLY. function emergencyWithdraw() public { UserInfo storage user = userInfo[msg.sender]; uint256 amount = user.amount; user.amount = 0; user.rewardDebt = 0; lpToken.safeTransfer(address(msg.sender), amount); emit EmergencyWithdraw(msg.sender, amount); } // Safe CYC transfer function, just in case if rounding error causes pool to not have enough CYCs. function safeCYCTransfer(address _to, uint256 _amount) internal { IMintableToken token = cycToken; uint256 cycBalance = token.balanceOf(address(this)); if (_amount > cycBalance) { _amount = cycBalance; } rewardToDistribute = rewardToDistribute.sub(_amount); require(token.transfer(_to, _amount), "failed to transfer cyc token"); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IMintableToken","name":"_cycToken","type":"address"},{"internalType":"contract IERC20","name":"_lpToken","type":"address"},{"internalType":"address","name":"_router","type":"address"},{"internalType":"contract IERC20","name":"_wrappedCoin","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EmergencyWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isBlockReward","type":"bool"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"constant":true,"inputs":[],"name":"accCYCPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cycToken","outputs":[{"internalType":"contract IMintableToken","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"emergencyWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"entranceFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastRewardBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lpToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"pendingReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardToDistribute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_entranceFeeRate","type":"uint256"}],"name":"setEntranceFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rewardPerBlock","type":"uint256"}],"name":"setRewardPerBlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"updateBlockReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"rewardDebt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wrappedCoin","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516115483803806115488339818101604052608081101561003357600080fd5b50805160208083015160408085015160609095015160008054336001600160a01b03199182161782556009805482166001600160a01b03808a169190911790915543600355600180548316828816908117909155600880548416838c169081179091556007805490941692861692909217909255845163095ea7b360e01b81526004810191909152600019602482015293519697949694959294909363095ea7b3936044808301949193928390030190829087803b1580156100f457600080fd5b505af1158015610108573d6000803e3d6000fd5b505050506040513d602081101561011e57600080fd5b5051610171576040805162461bcd60e51b815260206004820152601860248201527f6661696c656420746f20617070726f766520726f757465720000000000000000604482015290519081900360640190fd5b6040805163095ea7b360e01b81526001600160a01b038481166004830152600019602483015291519183169163095ea7b3916044808201926020929091908290030181600087803b1580156101c557600080fd5b505af11580156101d9573d6000803e3d6000fd5b505050506040513d60208110156101ef57600080fd5b5051610242576040805162461bcd60e51b815260206004820152601860248201527f6661696c656420746f20617070726f766520726f757465720000000000000000604482015290519081900360640190fd5b505050506112f3806102556000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638da5cb5b116100ad578063db2e21bc11610071578063db2e21bc1461023c578063f2fde38b14610244578063f40f0f521461026a578063f48cde7f14610290578063f887ea40146102ad57610121565b80638da5cb5b146101ea578063a9f8d181146101f2578063b6b55f25146101fa578063bb872b4a14610217578063c0dfd25c1461023457610121565b806345c2eeda116100f457806345c2eeda146101c2578063527ba9af146101ca5780635fcbd285146101d25780638ae39cac146101da5780638d949d4b146101e257610121565b806318006104146101265780631959a0021461014a5780632e1a7d4d146101895780633d6b3f84146101a8575b600080fd5b61012e6102b5565b604080516001600160a01b039092168252519081900360200190f35b6101706004803603602081101561016057600080fd5b50356001600160a01b03166102c4565b6040805192835260208301919091528051918290030190f35b6101a66004803603602081101561019f57600080fd5b50356102dd565b005b6101b0610426565b60408051918252519081900360200190f35b6101b061042c565b61012e610432565b61012e610441565b6101b0610450565b6101a6610456565b61012e610599565b6101b06105a8565b6101a66004803603602081101561021057600080fd5b50356105ae565b6101a66004803603602081101561022d57600080fd5b5035610ad2565b6101b0610af6565b6101a6610afc565b6101a66004803603602081101561025a57600080fd5b50356001600160a01b0316610b71565b6101b06004803603602081101561028057600080fd5b50356001600160a01b0316610bf6565b6101a6600480360360208110156102a657600080fd5b5035610d0f565b61012e610d81565b6009546001600160a01b031681565b600a602052600090815260409020805460019091015482565b336000908152600a60205260409020805482811015610338576040805162461bcd60e51b81526020600482015260126024820152711dda5d1a191c985dce881b9bdd0819dbdbd960721b604482015290519081900360640190fd5b610340610456565b60025460018301546000906103809061037464e8d4a51000610368878763ffffffff610d9016565b9063ffffffff610dbb16565b9063ffffffff610dce16565b90508015610392576103923382610de0565b84156103c7576103a8838663ffffffff610dce16565b84556001546103c7906001600160a01b0316338763ffffffff610f5616565b83546103e49064e8d4a5100090610368908563ffffffff610d9016565b600185015560408051868152905133917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364919081900360200190a25050505050565b60025481565b60065481565b6007546001600160a01b031681565b6001546001600160a01b031681565b60045481565b600354431115806104675750600454155b1561047157610597565b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156104bc57600080fd5b505afa1580156104d0573d6000803e3d6000fd5b505050506040513d60208110156104e657600080fd5b5051905060006104f4610fad565b9050811580610501575080155b1561051157505043600355610597565b600554610524908263ffffffff61107316565b600555604080518281526001602082015281517f46296264cd106b25aaa6bd852f4cf76bbd7d70550bbe6352bc3a47e35c6f1b2f929181900390910190a143600355610591610582836103688464e8d4a5100063ffffffff610d9016565b6002549063ffffffff61107316565b60025550505b565b6000546001600160a01b031681565b60035481565b6105b6610456565b336000908152600a60205260409020805460025481156106095760018301546000906105f59061037464e8d4a51000610368878763ffffffff610d9016565b90508015610607576106073382610de0565b505b60008415610a6f5760015461062f906001600160a01b031633308863ffffffff61108016565b600061064c61271061036860065489610d9090919063ffffffff16565b90508015610a5b576007546008546009546001600160a01b039283169260009283929082169163baa2abde918691168785803061069042600263ffffffff610d9016565b604080516001600160e01b031960e08b901b1681526001600160a01b039889166004820152968816602488015260448701959095526064860193909352608485019190915290931660a483015260c4820192909252815160e480830193928290030181600087803b15801561070457600080fd5b505af1158015610718573d6000803e3d6000fd5b505050506040513d604081101561072e57600080fd5b50805160209091015190925090508115610970576040805160028082526060808301845292602083019080388339019050509050838160008151811061077057fe5b6001600160a01b03928316602091820292909201015260095482519116908290600190811061079b57fe5b6001600160a01b039283166020918202929092010152600854606091166338ed173985600085306107d342600263ffffffff610d9016565b6040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561084c578181015183820152602001610834565b505050509050019650505050505050600060405180830381600087803b15801561087557600080fd5b505af1158015610889573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156108b257600080fd5b81019080805160405193929190846401000000008211156108d257600080fd5b9083019060208201858111156108e757600080fd5b825186602082028301116401000000008211171561090457600080fd5b82525081516020918201928201910280838360005b83811015610931578181015183820152602001610919565b5050505090500160405250505090506109678160018151811061095057fe5b60200260200101518461107390919063ffffffff16565b96505050610974565b8094505b8415610a455760095460408051630852cd8d60e31b81526004810188905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b1580156109c857600080fd5b505af11580156109dc573d6000803e3d6000fd5b505050506040513d60208110156109f257600080fd5b5051610a45576040805162461bcd60e51b815260206004820152601860248201527f6661696c656420746f206275726e2063796320746f6b656e0000000000000000604482015290519081900360640190fd5b610a55898563ffffffff610dce16565b98505050505b610a6b848763ffffffff61107316565b8555505b8354610a8c9064e8d4a5100090610368908563ffffffff610d9016565b60018501556040805186815260208101839052815133927f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15928290030190a25050505050565b6000546001600160a01b03163314610ae957600080fd5b610af1610456565b600455565b60055481565b336000818152600a60205260408120805482825560018083019390935591549092610b37916001600160a01b0316908363ffffffff610f5616565b60408051828152905133917f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd9695919081900360200190a25050565b6000546001600160a01b03163314610b8857600080fd5b6001600160a01b038116610b9b57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600a6020526040812060025460045415610cdf57600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610c6457600080fd5b505afa158015610c78573d6000803e3d6000fd5b505050506040513d6020811015610c8e57600080fd5b505160035490915043118015610ca45750600081115b15610cdd57610cda610ccd8261036864e8d4a51000610cc1610fad565b9063ffffffff610d9016565b839063ffffffff61107316565b91505b505b610d07826001015461037464e8d4a51000610368858760000154610d9090919063ffffffff16565b949350505050565b6000546001600160a01b03163314610d2657600080fd5b6127108110610d7c576040805162461bcd60e51b815260206004820152601960248201527f696e76616c696420656e7472616e636520666565207261746500000000000000604482015290519081900360640190fd5b600655565b6008546001600160a01b031681565b600082610d9f57506000610db5565b5081810281838281610dad57fe5b0414610db557fe5b92915050565b6000818381610dc657fe5b049392505050565b600082821115610dda57fe5b50900390565b600954604080516370a0823160e01b815230600482015290516001600160a01b039092169160009183916370a0823191602480820192602092909190829003018186803b158015610e3057600080fd5b505afa158015610e44573d6000803e3d6000fd5b505050506040513d6020811015610e5a57600080fd5b5051905080831115610e6a578092505b600554610e7d908463ffffffff610dce16565b6005556040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820186905291519184169163a9059cbb916044808201926020929091908290030181600087803b158015610ed357600080fd5b505af1158015610ee7573d6000803e3d6000fd5b505050506040513d6020811015610efd57600080fd5b5051610f50576040805162461bcd60e51b815260206004820152601c60248201527f6661696c656420746f207472616e736665722063796320746f6b656e00000000604482015290519081900360640190fd5b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610fa89084906110d6565b505050565b600080610fcb600454610cc160035443610dce90919063ffffffff16565b600554600954604080516370a0823160e01b8152306004820152905193945060009361105993926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561102157600080fd5b505afa158015611035573d6000803e3d6000fd5b505050506040513d602081101561104b57600080fd5b50519063ffffffff610dce16565b90508181101561106c5791506110709050565b5090505b90565b81810182811015610db557fe5b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610f509085905b6110e8826001600160a01b031661128e565b611139576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106111775780518252601f199092019160209182019101611158565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146111d9576040519150601f19603f3d011682016040523d82523d6000602084013e6111de565b606091505b509150915081611235576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610f505780806020019051602081101561125157600080fd5b5051610f505760405162461bcd60e51b815260040180806020018281038252602a815260200180611295602a913960400191505060405180910390fd5b3b15159056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820ab6c4638ed2de10be40f70dfa5ec3205ba6c6ad4b476b2aecbee6c40e422579864736f6c634300051100320000000000000000000000008861cff2366c1128fd699b68304ad99a0764ef9a00000000000000000000000037d9c7f451e5c619a7d4ca01e06761eb7dae6f890000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101215760003560e01c80638da5cb5b116100ad578063db2e21bc11610071578063db2e21bc1461023c578063f2fde38b14610244578063f40f0f521461026a578063f48cde7f14610290578063f887ea40146102ad57610121565b80638da5cb5b146101ea578063a9f8d181146101f2578063b6b55f25146101fa578063bb872b4a14610217578063c0dfd25c1461023457610121565b806345c2eeda116100f457806345c2eeda146101c2578063527ba9af146101ca5780635fcbd285146101d25780638ae39cac146101da5780638d949d4b146101e257610121565b806318006104146101265780631959a0021461014a5780632e1a7d4d146101895780633d6b3f84146101a8575b600080fd5b61012e6102b5565b604080516001600160a01b039092168252519081900360200190f35b6101706004803603602081101561016057600080fd5b50356001600160a01b03166102c4565b6040805192835260208301919091528051918290030190f35b6101a66004803603602081101561019f57600080fd5b50356102dd565b005b6101b0610426565b60408051918252519081900360200190f35b6101b061042c565b61012e610432565b61012e610441565b6101b0610450565b6101a6610456565b61012e610599565b6101b06105a8565b6101a66004803603602081101561021057600080fd5b50356105ae565b6101a66004803603602081101561022d57600080fd5b5035610ad2565b6101b0610af6565b6101a6610afc565b6101a66004803603602081101561025a57600080fd5b50356001600160a01b0316610b71565b6101b06004803603602081101561028057600080fd5b50356001600160a01b0316610bf6565b6101a6600480360360208110156102a657600080fd5b5035610d0f565b61012e610d81565b6009546001600160a01b031681565b600a602052600090815260409020805460019091015482565b336000908152600a60205260409020805482811015610338576040805162461bcd60e51b81526020600482015260126024820152711dda5d1a191c985dce881b9bdd0819dbdbd960721b604482015290519081900360640190fd5b610340610456565b60025460018301546000906103809061037464e8d4a51000610368878763ffffffff610d9016565b9063ffffffff610dbb16565b9063ffffffff610dce16565b90508015610392576103923382610de0565b84156103c7576103a8838663ffffffff610dce16565b84556001546103c7906001600160a01b0316338763ffffffff610f5616565b83546103e49064e8d4a5100090610368908563ffffffff610d9016565b600185015560408051868152905133917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364919081900360200190a25050505050565b60025481565b60065481565b6007546001600160a01b031681565b6001546001600160a01b031681565b60045481565b600354431115806104675750600454155b1561047157610597565b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156104bc57600080fd5b505afa1580156104d0573d6000803e3d6000fd5b505050506040513d60208110156104e657600080fd5b5051905060006104f4610fad565b9050811580610501575080155b1561051157505043600355610597565b600554610524908263ffffffff61107316565b600555604080518281526001602082015281517f46296264cd106b25aaa6bd852f4cf76bbd7d70550bbe6352bc3a47e35c6f1b2f929181900390910190a143600355610591610582836103688464e8d4a5100063ffffffff610d9016565b6002549063ffffffff61107316565b60025550505b565b6000546001600160a01b031681565b60035481565b6105b6610456565b336000908152600a60205260409020805460025481156106095760018301546000906105f59061037464e8d4a51000610368878763ffffffff610d9016565b90508015610607576106073382610de0565b505b60008415610a6f5760015461062f906001600160a01b031633308863ffffffff61108016565b600061064c61271061036860065489610d9090919063ffffffff16565b90508015610a5b576007546008546009546001600160a01b039283169260009283929082169163baa2abde918691168785803061069042600263ffffffff610d9016565b604080516001600160e01b031960e08b901b1681526001600160a01b039889166004820152968816602488015260448701959095526064860193909352608485019190915290931660a483015260c4820192909252815160e480830193928290030181600087803b15801561070457600080fd5b505af1158015610718573d6000803e3d6000fd5b505050506040513d604081101561072e57600080fd5b50805160209091015190925090508115610970576040805160028082526060808301845292602083019080388339019050509050838160008151811061077057fe5b6001600160a01b03928316602091820292909201015260095482519116908290600190811061079b57fe5b6001600160a01b039283166020918202929092010152600854606091166338ed173985600085306107d342600263ffffffff610d9016565b6040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561084c578181015183820152602001610834565b505050509050019650505050505050600060405180830381600087803b15801561087557600080fd5b505af1158015610889573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156108b257600080fd5b81019080805160405193929190846401000000008211156108d257600080fd5b9083019060208201858111156108e757600080fd5b825186602082028301116401000000008211171561090457600080fd5b82525081516020918201928201910280838360005b83811015610931578181015183820152602001610919565b5050505090500160405250505090506109678160018151811061095057fe5b60200260200101518461107390919063ffffffff16565b96505050610974565b8094505b8415610a455760095460408051630852cd8d60e31b81526004810188905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b1580156109c857600080fd5b505af11580156109dc573d6000803e3d6000fd5b505050506040513d60208110156109f257600080fd5b5051610a45576040805162461bcd60e51b815260206004820152601860248201527f6661696c656420746f206275726e2063796320746f6b656e0000000000000000604482015290519081900360640190fd5b610a55898563ffffffff610dce16565b98505050505b610a6b848763ffffffff61107316565b8555505b8354610a8c9064e8d4a5100090610368908563ffffffff610d9016565b60018501556040805186815260208101839052815133927f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15928290030190a25050505050565b6000546001600160a01b03163314610ae957600080fd5b610af1610456565b600455565b60055481565b336000818152600a60205260408120805482825560018083019390935591549092610b37916001600160a01b0316908363ffffffff610f5616565b60408051828152905133917f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd9695919081900360200190a25050565b6000546001600160a01b03163314610b8857600080fd5b6001600160a01b038116610b9b57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600a6020526040812060025460045415610cdf57600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610c6457600080fd5b505afa158015610c78573d6000803e3d6000fd5b505050506040513d6020811015610c8e57600080fd5b505160035490915043118015610ca45750600081115b15610cdd57610cda610ccd8261036864e8d4a51000610cc1610fad565b9063ffffffff610d9016565b839063ffffffff61107316565b91505b505b610d07826001015461037464e8d4a51000610368858760000154610d9090919063ffffffff16565b949350505050565b6000546001600160a01b03163314610d2657600080fd5b6127108110610d7c576040805162461bcd60e51b815260206004820152601960248201527f696e76616c696420656e7472616e636520666565207261746500000000000000604482015290519081900360640190fd5b600655565b6008546001600160a01b031681565b600082610d9f57506000610db5565b5081810281838281610dad57fe5b0414610db557fe5b92915050565b6000818381610dc657fe5b049392505050565b600082821115610dda57fe5b50900390565b600954604080516370a0823160e01b815230600482015290516001600160a01b039092169160009183916370a0823191602480820192602092909190829003018186803b158015610e3057600080fd5b505afa158015610e44573d6000803e3d6000fd5b505050506040513d6020811015610e5a57600080fd5b5051905080831115610e6a578092505b600554610e7d908463ffffffff610dce16565b6005556040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820186905291519184169163a9059cbb916044808201926020929091908290030181600087803b158015610ed357600080fd5b505af1158015610ee7573d6000803e3d6000fd5b505050506040513d6020811015610efd57600080fd5b5051610f50576040805162461bcd60e51b815260206004820152601c60248201527f6661696c656420746f207472616e736665722063796320746f6b656e00000000604482015290519081900360640190fd5b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610fa89084906110d6565b505050565b600080610fcb600454610cc160035443610dce90919063ffffffff16565b600554600954604080516370a0823160e01b8152306004820152905193945060009361105993926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561102157600080fd5b505afa158015611035573d6000803e3d6000fd5b505050506040513d602081101561104b57600080fd5b50519063ffffffff610dce16565b90508181101561106c5791506110709050565b5090505b90565b81810182811015610db557fe5b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610f509085905b6110e8826001600160a01b031661128e565b611139576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106111775780518252601f199092019160209182019101611158565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146111d9576040519150601f19603f3d011682016040523d82523d6000602084013e6111de565b606091505b509150915081611235576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610f505780806020019051602081101561125157600080fd5b5051610f505760405162461bcd60e51b815260040180806020018281038252602a815260200180611295602a913960400191505060405180910390fd5b3b15159056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820ab6c4638ed2de10be40f70dfa5ec3205ba6c6ad4b476b2aecbee6c40e422579864736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000008861cff2366c1128fd699b68304ad99a0764ef9a00000000000000000000000037d9c7f451e5c619a7d4ca01e06761eb7dae6f890000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
-----Decoded View---------------
Arg [0] : _cycToken (address): 0x8861cfF2366C1128fd699B68304aD99a0764Ef9a
Arg [1] : _lpToken (address): 0x37D9c7F451E5C619A7d4cA01E06761Eb7dAE6f89
Arg [2] : _router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [3] : _wrappedCoin (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000008861cff2366c1128fd699b68304ad99a0764ef9a
Arg [1] : 00000000000000000000000037d9c7f451e5c619a7d4ca01e06761eb7dae6f89
Arg [2] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [3] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode Sourcemap
11329:7738:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11329:7738:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12755:30;;;:::i;:::-;;;;-1:-1:-1;;;;;12755:30:0;;;;;;;;;;;;;;12843:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12843:45:0;-1:-1:-1;;;;;12843:45:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17452:720;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17452:720:0;;:::i;:::-;;12362:29;;;:::i;:::-;;;;;;;;;;;;;;;;12630:30;;;:::i;12669:25::-;;;:::i;12275:21::-;;;:::i;12499:29::-;;;:::i;14956:596::-;;;:::i;2775:20::-;;;:::i;12437:30::-;;;:::i;15616:1788::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15616:1788:0;;:::i;13828:150::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13828:150:0;;:::i;12564:33::-;;;:::i;18243:307::-;;;:::i;3390:178::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3390:178:0;-1:-1:-1;;;;;3390:178:0;;:::i;14389:509::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14389:509:0;-1:-1:-1;;;;;14389:509:0;;:::i;13623:197::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13623:197:0;;:::i;12701:21::-;;;:::i;12755:30::-;;;-1:-1:-1;;;;;12755:30:0;;:::o;12843:45::-;;;;;;;;;;;;;;;;;;;:::o;17452:720::-;17538:10;17505:21;17529:20;;;:8;:20;;;;;17583:11;;17613:23;;;;17605:54;;;;;-1:-1:-1;;;17605:54:0;;;;;;;;;;;;-1:-1:-1;;;17605:54:0;;;;;;;;;;;;;;;17670:19;:17;:19::i;:::-;17715:14;;17795:15;;;;17700:12;;17758:53;;:32;17785:4;17758:22;:12;17715:14;17758:22;:16;:22;:::i;:::-;:26;:32;:26;:32;:::i;:::-;:36;:53;:36;:53;:::i;:::-;17740:71;-1:-1:-1;17826:11:0;;17822:80;;17854:36;17870:10;17882:7;17854:15;:36::i;:::-;17916:11;;17912:148;;17958:25;:12;17975:7;17958:25;:16;:25;:::i;:::-;17944:39;;17998:7;;:50;;-1:-1:-1;;;;;17998:7:0;18027:10;18040:7;17998:50;:20;:50;:::i;:::-;18088:11;;:31;;18114:4;;18088:21;;18104:4;18088:21;:15;:21;:::i;:31::-;18070:15;;;:49;18135:29;;;;;;;;18144:10;;18135:29;;;;;;;;;;17452:720;;;;;:::o;12362:29::-;;;;:::o;12630:30::-;;;;:::o;12669:25::-;;;-1:-1:-1;;;;;12669:25:0;;:::o;12275:21::-;;;-1:-1:-1;;;;;12275:21:0;;:::o;12499:29::-;;;;:::o;14956:596::-;15023:15;;15007:12;:31;;:54;;;-1:-1:-1;15042:14:0;;:19;15007:54;15003:93;;;15078:7;;15003:93;15125:7;;:32;;;-1:-1:-1;;;15125:32:0;;15151:4;15125:32;;;;;;15106:16;;-1:-1:-1;;;;;15125:7:0;;:17;;:32;;;;;;;;;;;;;;:7;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;15125:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15125:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15125:32:0;;-1:-1:-1;15168:14:0;15185:15;:13;:15::i;:::-;15168:32;-1:-1:-1;15215:13:0;;;:28;;-1:-1:-1;15232:11:0;;15215:28;15211:112;;;-1:-1:-1;;15278:12:0;15260:15;:30;15305:7;;15211:112;15354:18;;:30;;15377:6;15354:30;:22;:30;:::i;:::-;15333:18;:51;15400:25;;;;;;15420:4;15400:25;;;;;;;;;;;;;;;;;15454:12;15436:15;:30;15494:50;15513:30;15534:8;15513:16;:6;15524:4;15513:16;:10;:16;:::i;:30::-;15494:14;;;:50;:18;:50;:::i;:::-;15477:14;:67;-1:-1:-1;;14956:596:0;:::o;2775:20::-;;;-1:-1:-1;;;;;2775:20:0;;:::o;12437:30::-;;;;:::o;15616:1788::-;15668:19;:17;:19::i;:::-;15731:10;15698:21;15722:20;;;:8;:20;;;;;15776:11;;15813:14;;15842:16;;15838:222;;15930:15;;;;15875;;15893:53;;:32;15920:4;15893:22;:12;15910:4;15893:22;:16;:22;:::i;:53::-;15875:71;-1:-1:-1;15965:11:0;;15961:88;;15997:36;16013:10;16025:7;15997:15;:36::i;:::-;15838:222;;16070:16;16105:11;;16101:1182;;16133:7;;:69;;-1:-1:-1;;;;;16133:7:0;16166:10;16187:4;16194:7;16133:69;:24;:69;:::i;:::-;16217:19;16239:39;16272:5;16239:28;16251:15;;16239:7;:11;;:28;;;;:::i;:39::-;16217:61;-1:-1:-1;16297:15:0;;16293:925;;16346:11;;16416:6;;16461:8;;-1:-1:-1;;;;;16346:11:0;;;;16333:10;;;;16416:6;;;;:22;;16346:11;;16461:8;16472:11;16333:10;;16499:4;16506:22;:15;16526:1;16506:22;:19;:22;:::i;:::-;16416:113;;;-1:-1:-1;;;;;;16416:113:0;;;;;;;-1:-1:-1;;;;;16416:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16416:113:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;16416:113:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16416:113:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16416:113:0;;;;;;;;;-1:-1:-1;16416:113:0;-1:-1:-1;16552:12:0;;16548:463;;16613:16;;;16627:1;16613:16;;;16589:21;16613:16;;;;;16589:21;16613:16;;;;;105:10:-1;16613:16:0;88:34:-1;136:17;;-1:-1;16613:16:0;16589:40;;16670:3;16652:4;16657:1;16652:7;;;;;;;;-1:-1:-1;;;;;16652:22:0;;;:7;;;;;;;;;:22;16715:8;;16697:7;;16715:8;;;16697:4;;16715:8;;16697:7;;;;;;-1:-1:-1;;;;;16697:27:0;;;:7;;;;;;;;;:27;16774:6;;16747:24;;16774:6;:31;16806:8;16774:6;16819:4;16833;16840:22;:15;16860:1;16840:22;:19;:22;:::i;:::-;16774:89;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16774:89:0;-1:-1:-1;;;;;16774:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16774:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16774:89:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16774:89:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;16774:89:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;16774:89:0;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;373:25;;-1:-1;16774:89:0;;421:4:-1;412:14;;;;16774:89:0;;;;;412:14:-1;16774:89:0;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16774:89:0;;;;;;;;;;;16747:116;;16897:25;16911:7;16919:1;16911:10;;;;;;;;;;;;;;16897:9;:13;;:25;;;;:::i;:::-;16886:36;;16548:463;;;;;16982:9;16971:20;;16548:463;17033:12;;17029:121;;17078:8;;:23;;;-1:-1:-1;;;17078:23:0;;;;;;;;;;-1:-1:-1;;;;;17078:8:0;;;;:13;;:23;;;;;;;;;;;;;;;:8;;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;17078:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17078:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17078:23:0;17070:60;;;;;-1:-1:-1;;;17070:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17178:24;:7;17190:11;17178:24;:11;:24;:::i;:::-;17168:34;;16293:925;;;;17246:25;:12;17263:7;17246:25;:16;:25;:::i;:::-;17232:39;;-1:-1:-1;16101:1182:0;17311:11;;:31;;17337:4;;17311:21;;17327:4;17311:21;:15;:21;:::i;:31::-;17293:15;;;:49;17358:38;;;;;;;;;;;;;;17366:10;;17358:38;;;;;;;;15616:1788;;;;;:::o;13828:150::-;3203:5;;-1:-1:-1;;;;;3203:5:0;3189:10;:19;3181:28;;;;;;13908:19;:17;:19::i;:::-;13938:14;:32;13828:150::o;12564:33::-;;;;:::o;18243:307::-;18323:10;18290:21;18314:20;;;:8;:20;;;;;18362:11;;18384:15;;;-1:-1:-1;18410:15:0;;;:19;;;;18440:7;;18314:20;;18440:49;;-1:-1:-1;;;;;18440:7:0;;18362:11;18440:49;:20;:49;:::i;:::-;18505:37;;;;;;;;18523:10;;18505:37;;;;;;;;;;18243:307;;:::o;3390:178::-;3203:5;;-1:-1:-1;;;;;3203:5:0;3189:10;:19;3181:28;;;;;;-1:-1:-1;;;;;3467:22:0;;3459:31;;;;;;3523:5;;;3502:37;;-1:-1:-1;;;;;3502:37:0;;;;3523:5;;;3502:37;;;3546:5;:16;;-1:-1:-1;;;;;;3546:16:0;-1:-1:-1;;;;;3546:16:0;;;;;;;;;;3390:178::o;14389:509::-;-1:-1:-1;;;;;14494:15:0;;14450:7;14494:15;;;:8;:15;;;;;14535:14;;14564;;:18;14560:259;;14618:7;;:32;;;-1:-1:-1;;;14618:32:0;;14644:4;14618:32;;;;;;14599:16;;-1:-1:-1;;;;;14618:7:0;;:17;;:32;;;;;;;;;;;;;;:7;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;14618:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14618:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14618:32:0;14684:15;;14618:32;;-1:-1:-1;14669:12:0;:30;:46;;;;;14714:1;14703:8;:12;14669:46;14665:143;;;14743:49;14752:39;14782:8;14752:25;14772:4;14752:15;:13;:15::i;:::-;:19;:25;:19;:25;:::i;:39::-;14743:4;;:49;:8;:49;:::i;:::-;14736:56;;14665:143;14560:259;;14838:52;14874:4;:15;;;14838:31;14864:4;14838:21;14854:4;14838;:11;;;:15;;:21;;;;:::i;:52::-;14831:59;14389:509;-1:-1:-1;;;;14389:509:0:o;13623:197::-;3203:5;;-1:-1:-1;;;;;3203:5:0;3189:10;:19;3181:28;;;;;;13732:5;13713:16;:24;13705:62;;;;;-1:-1:-1;;;13705:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13778:15;:34;13623:197::o;12701:21::-;;;-1:-1:-1;;;;;12701:21:0;;:::o;559:174::-;617:9;639:6;635:37;;-1:-1:-1;663:1:0;656:8;;635:37;-1:-1:-1;682:5:0;;;686:1;682;:5;:1;701:5;;;;;:10;694:18;;;;559:174;;;;:::o;1156:277::-;1214:7;1426:1;1422;:5;;;;;;;1156:277;-1:-1:-1;;;1156:277:0:o;1869:113::-;1927:7;1955:1;1950;:6;;1943:14;;;;-1:-1:-1;1971:5:0;;;1869:113::o;18662:402::-;18760:8;;18800:30;;;-1:-1:-1;;;18800:30:0;;18824:4;18800:30;;;;;;-1:-1:-1;;;;;18760:8:0;;;;18737:20;;18760:8;;18800:15;;:30;;;;;;;;;;;;;;;18760:8;18800:30;;;5:2:-1;;;;30:1;27;20:12;5:2;18800:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18800:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18800:30:0;;-1:-1:-1;18845:20:0;;;18841:73;;;18892:10;18882:20;;18841:73;18945:18;;:31;;18968:7;18945:31;:22;:31;:::i;:::-;18924:18;:52;18995:28;;;-1:-1:-1;;;18995:28:0;;-1:-1:-1;;;;;18995:28:0;;;;;;;;;;;;;;;:14;;;;;;:28;;;;;;;;;;;;;;;-1:-1:-1;18995:14:0;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;18995:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18995:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18995:28:0;18987:69;;;;;-1:-1:-1;;;18987:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18662:402;;;;:::o;6853:176::-;6962:58;;;-1:-1:-1;;;;;6962:58:0;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;6962:58:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;6936:85:0;;6955:5;;6936:18;:85::i;:::-;6853:176;;;:::o;13986:338::-;14034:7;14054:14;14071:53;14109:14;;14071:33;14088:15;;14071:12;:16;;:33;;;;:::i;:53::-;14194:18;;14156:8;;:33;;;-1:-1:-1;;;14156:33:0;;14183:4;14156:33;;;;;;14054:70;;-1:-1:-1;14135:18:0;;14156:57;;14194:18;-1:-1:-1;;;;;14156:8:0;;:18;;:33;;;;;;;;;;;;;;:8;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;14156:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14156:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14156:33:0;;:57;:37;:57;:::i;:::-;14135:78;;14241:6;14228:10;:19;14224:69;;;14271:10;-1:-1:-1;14264:17:0;;-1:-1:-1;14264:17:0;14224:69;-1:-1:-1;14310:6:0;-1:-1:-1;13986:338:0;;:::o;2345:127::-;2425:5;;;2444:6;;;;2437:14;;;7037:204;7164:68;;;-1:-1:-1;;;;;7164:68:0;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;7164:68:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;7138:95:0;;7157:5;;8847:1114;9451:27;9459:5;-1:-1:-1;;;;;9451:25:0;;:27::i;:::-;9443:71;;;;;-1:-1:-1;;;9443:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9588:12;9602:23;9637:5;-1:-1:-1;;;;;9629:19:0;9649:4;9629:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;9629:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;9587:67:0;;;;9673:7;9665:52;;;;;-1:-1:-1;;;9665:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9734:17;;:21;9730:224;;9876:10;9865:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9865:30:0;9857:85;;;;-1:-1:-1;;;9857:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5791:422;6158:20;6197:8;;;5791:422::o
Swarm Source
bzzr://ab6c4638ed2de10be40f70dfa5ec3205ba6c6ad4b476b2aecbee6c40e4225798
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $17.22 | 1,325.7481 | $22,829.38 |
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.