Overview
ETH Balance
2 wei
Eth Value
Less Than $0.01 (@ $3,314.55/ETH)More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 11240911 | 1356 days ago | IN | 0 ETH | 0.01440302 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
12066955 | 1229 days ago | 2 wei | ||||
12066955 | 1229 days ago | 1.15666842 ETH | ||||
12066955 | 1229 days ago | 1.15997635 ETH | ||||
12066955 | 1229 days ago | 2.31664477 ETH | ||||
12053820 | 1231 days ago | 2 wei | ||||
12053820 | 1231 days ago | 1.28200669 ETH | ||||
12053820 | 1231 days ago | 1.28565101 ETH | ||||
12053820 | 1231 days ago | 2.56765771 ETH | ||||
12051765 | 1231 days ago | 7 wei | ||||
12051765 | 1231 days ago | 1.47765141 ETH | ||||
12051765 | 1231 days ago | 1.48205706 ETH | ||||
12051765 | 1231 days ago | 2.95970847 ETH | ||||
12050019 | 1232 days ago | 2 wei | ||||
12050019 | 1232 days ago | 1.45944602 ETH | ||||
12050019 | 1232 days ago | 1.46379985 ETH | ||||
12050019 | 1232 days ago | 2.92324587 ETH | ||||
12049895 | 1232 days ago | 0 ETH | ||||
12049895 | 1232 days ago | 1.55112913 ETH | ||||
12049895 | 1232 days ago | 1.5557767 ETH | ||||
12049895 | 1232 days ago | 3.10690582 ETH | ||||
12049895 | 1232 days ago | 0.00000001 ETH | ||||
12049895 | 1232 days ago | 1.51129329 ETH | ||||
12049895 | 1232 days ago | 1.51583462 ETH | ||||
12049895 | 1232 days ago | 3.02712792 ETH | ||||
12049354 | 1232 days ago | 1 wei |
Loading...
Loading
Contract Name:
StrategyAllETHOnly
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-12 */ /** *Submitted for verification at Etherscan.io on 2020-10-07 */ // File: openzeppelin-solidity-2.3.0/contracts/ownership/Ownable.sol pragma solidity ^0.5.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be aplied to your functions to restrict their use to * the owner. */ contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return msg.sender == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * > Note: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } // File: openzeppelin-solidity-2.3.0/contracts/math/SafeMath.sol pragma solidity ^0.5.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "SafeMath: modulo by zero"); return a % b; } } // File: openzeppelin-solidity-2.3.0/contracts/utils/ReentrancyGuard.sol pragma solidity ^0.5.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the `nonReentrant` modifier * available, which can be aplied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. */ contract ReentrancyGuard { /// @dev counter to allow mutex lock with only one SSTORE operation uint256 private _guardCounter; constructor () internal { // The counter starts at one to prevent changing it from zero to a non-zero // value, which is a more expensive operation. _guardCounter = 1; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and make it call a * `private` function that does the actual work. */ modifier nonReentrant() { _guardCounter += 1; uint256 localCounter = _guardCounter; _; require(localCounter == _guardCounter, "ReentrancyGuard: reentrant call"); } } // File: @uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol pragma solidity >=0.5.0; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } // File: @uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol pragma solidity >=0.5.0; interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } // File: @uniswap/v2-core/contracts/libraries/Math.sol pragma solidity =0.5.16; // a library for performing various math operations library Math { function min(uint x, uint y) internal pure returns (uint z) { z = x < y ? x : y; } // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method) function sqrt(uint y) internal pure returns (uint z) { if (y > 3) { z = y; uint x = y / 2 + 1; while (x < z) { z = x; x = (y / x + x) / 2; } } else if (y != 0) { z = 1; } } } // File: contracts/uniswap/IUniswapV2Router02.sol pragma solidity >=0.5.0; interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } // File: contracts/SafeToken.sol pragma solidity 0.5.16; interface ERC20Interface { function balanceOf(address user) external view returns (uint256); } library SafeToken { function myBalance(address token) internal view returns (uint256) { return ERC20Interface(token).balanceOf(address(this)); } function balanceOf(address token, address user) internal view returns (uint256) { return ERC20Interface(token).balanceOf(user); } function safeApprove(address token, address to, uint256 value) internal { // bytes4(keccak256(bytes('approve(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), "!safeApprove"); } function safeTransfer(address token, address to, uint256 value) internal { // bytes4(keccak256(bytes('transfer(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), "!safeTransfer"); } function safeTransferFrom(address token, address from, address to, uint256 value) internal { // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value)); require(success && (data.length == 0 || abi.decode(data, (bool))), "!safeTransferFrom"); } function safeTransferETH(address to, uint256 value) internal { (bool success, ) = to.call.value(value)(new bytes(0)); require(success, "!safeTransferETH"); } } // File: contracts/Strategy.sol pragma solidity 0.5.16; interface Strategy { /// @dev Execute worker strategy. Take LP tokens + ETH. Return LP tokens + ETH. /// @param user The original user that is interacting with the operator. /// @param debt The user's total debt, for better decision making context. /// @param data Extra calldata information passed along to this strategy. function execute(address user, uint256 debt, bytes calldata data) external payable; } // File: contracts/StrategyAddETHOnly.sol pragma solidity 0.5.16; contract StrategyAllETHOnly is Ownable, ReentrancyGuard, Strategy { using SafeToken for address; using SafeMath for uint256; IUniswapV2Factory public factory; IUniswapV2Router02 public router; address public weth; /// @dev Create a new add ETH only strategy instance. /// @param _router The Uniswap router smart contract. constructor(IUniswapV2Router02 _router) public { factory = IUniswapV2Factory(_router.factory()); router = _router; weth = _router.WETH(); } /// @dev Execute worker strategy. Take LP tokens + ETH. Return LP tokens + ETH. /// @param data Extra calldata information passed along to this strategy. function execute(address /* user */, uint256 /* debt */, bytes calldata data) external payable nonReentrant { // 1. Find out what farming token we are dealing with and min additional LP tokens. (address fToken, uint256 minLPAmount) = abi.decode(data, (address, uint256)); IUniswapV2Pair lpToken = IUniswapV2Pair(factory.getPair(fToken, weth)); // 2. Compute the optimal amount of ETH to be converted to farming tokens. uint256 balance = address(this).balance; (uint256 r0, uint256 r1, ) = lpToken.getReserves(); uint256 rIn = lpToken.token0() == weth ? r0 : r1; uint256 aIn = Math.sqrt(rIn.mul(balance.mul(3988000).add(rIn.mul(3988009)))).sub(rIn.mul(1997)) / 1994; // 3. Convert that portion of ETH to farming tokens. address[] memory path = new address[](2); path[0] = weth; path[1] = fToken; router.swapExactETHForTokens.value(aIn)(0, path, address(this), now); // 4. Mint more LP tokens and return all LP tokens to the sender. fToken.safeApprove(address(router), 0); fToken.safeApprove(address(router), uint(-1)); (,, uint256 moreLPAmount) = router.addLiquidityETH.value(address(this).balance)( fToken, fToken.myBalance(), 0, 0, address(this), now ); require(moreLPAmount >= minLPAmount, "insufficient LP tokens received"); lpToken.transfer(msg.sender, lpToken.balanceOf(address(this))); } /// @dev Recover ERC20 tokens that were accidentally sent to this smart contract. /// @param token The token contract. Can be anything. This contract should not hold ERC20 tokens. /// @param to The address to send the tokens to. /// @param value The number of tokens to transfer to `to`. function recover(address token, address to, uint256 value) external onlyOwner nonReentrant { token.safeTransfer(to, value); } function() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IUniswapV2Router02","name":"_router","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"execute","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"factory","outputs":[{"internalType":"contract IUniswapV2Factory","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"recover","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516112a93803806112a98339818101604052602081101561003357600080fd5b5051600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360018081905550806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156100be57600080fd5b505afa1580156100d2573d6000803e3d6000fd5b505050506040513d60208110156100e857600080fd5b5051600280546001600160a01b039283166001600160a01b031991821617909155600380549284169290911682179055604080516315ab88c960e31b8152905163ad5c464891600480820192602092909190829003018186803b15801561014e57600080fd5b505afa158015610162573d6000803e3d6000fd5b505050506040513d602081101561017857600080fd5b5051600480546001600160a01b0319166001600160a01b0390921691909117905550611100806101a96000396000f3fe6080604052600436106100865760003560e01c80638f32d59b116100595780638f32d59b14610126578063b61d27f61461014f578063c45a0155146101d4578063f2fde38b146101e9578063f887ea401461021c57610086565b80631ec82cb8146100885780633fc8cef3146100cb578063715018a6146100fc5780638da5cb5b14610111575b005b34801561009457600080fd5b50610086600480360360608110156100ab57600080fd5b506001600160a01b03813581169160208101359091169060400135610231565b3480156100d757600080fd5b506100e061030a565b604080516001600160a01b039092168252519081900360200190f35b34801561010857600080fd5b50610086610319565b34801561011d57600080fd5b506100e06103bc565b34801561013257600080fd5b5061013b6103cb565b604080519115158252519081900360200190f35b6100866004803603606081101561016557600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561019557600080fd5b8201836020820111156101a757600080fd5b803590602001918460018302840111640100000000831117156101c957600080fd5b5090925090506103dc565b3480156101e057600080fd5b506100e0610ad5565b3480156101f557600080fd5b506100866004803603602081101561020c57600080fd5b50356001600160a01b0316610ae4565b34801561022857600080fd5b506100e0610b49565b6102396103cb565b61028a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600180548101908190556102ae6001600160a01b038516848463ffffffff610b5816565b6001548114610304576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b50505050565b6004546001600160a01b031681565b6103216103cb565b610372576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b60018054810190819055600080848460408110156103f957600080fd5b50600254600480546040805163e6a4390560e01b81526001600160a01b0386358116948201859052928316602482015290519296506020948501359550600094939091169263e6a4390592604480840193829003018186803b15801561045e57600080fd5b505afa158015610472573d6000803e3d6000fd5b505050506040513d602081101561048857600080fd5b505160408051630240bc6b60e21b81529051919250479160009182916001600160a01b03861691630902f1ac916004808301926060929190829003018186803b1580156104d457600080fd5b505afa1580156104e8573d6000803e3d6000fd5b505050506040513d60608110156104fe57600080fd5b5080516020918201516004805460408051630dfe168160e01b815290516dffffffffffffffffffffffffffff95861698509490931695506000946001600160a01b0391821694918a1693630dfe1681938181019391829003018186803b15801561056757600080fd5b505afa15801561057b573d6000803e3d6000fd5b505050506040513d602081101561059157600080fd5b50516001600160a01b0316146105a757816105a9565b825b905060006107ca61061e6105c5846107cd63ffffffff610cab16565b61061261060d6106006105e188623cda2963ffffffff610cab16565b6105f48c623cda2063ffffffff610cab16565b9063ffffffff610d0d16565b879063ffffffff610cab16565b610d67565b9063ffffffff610db916565b8161062557fe5b604080516002808252606080830184529490930494509190602083019080388339505060045482519293506001600160a01b03169183915060009061066657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050888160018151811061069457fe5b6001600160a01b03928316602091820292909201810191909152600354604051637ff36ab560e01b8152600060048201818152306044840181905242606485018190526080602486019081528951608487015289519690981697637ff36ab5978b9795968b969495939460a49091019187810191028083838b5b8381101561072657818101518382015260200161070e565b50505050905001955050505050506000604051808303818588803b15801561074d57600080fd5b505af1158015610761573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052602081101561078b57600080fd5b81019080805160405193929190846401000000008211156107ab57600080fd5b9083019060208201858111156107c057600080fd5b82518660208202830111640100000000821117156107dd57600080fd5b82525081516020918201928201910280838360005b8381101561080a5781810151838201526020016107f2565b5050505091909101604052505060035461083c93506001600160a01b038d81169350169050600063ffffffff610e1616565b60035461085e906001600160a01b038b8116911660001963ffffffff610e1616565b6003546000906001600160a01b039081169063f305d7199047908d90610885908216610f68565b604080516001600160e01b031960e087901b1681526001600160a01b039093166004840152602483019190915260006044830181905260648301523060848301524260a48301525160c480830192606092919082900301818588803b1580156108ed57600080fd5b505af1158015610901573d6000803e3d6000fd5b50505050506040513d606081101561091857600080fd5b5060400151905088811015610974576040805162461bcd60e51b815260206004820152601f60248201527f696e73756666696369656e74204c5020746f6b656e7320726563656976656400604482015290519081900360640190fd5b604080516370a0823160e01b815230600482015290516001600160a01b038a169163a9059cbb91339184916370a0823191602480820192602092909190829003018186803b1580156109c557600080fd5b505afa1580156109d9573d6000803e3d6000fd5b505050506040513d60208110156109ef57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b158015610a4057600080fd5b505af1158015610a54573d6000803e3d6000fd5b505050506040513d6020811015610a6a57600080fd5b50506001548b149950610ace98505050505050505050576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050505050565b6002546001600160a01b031681565b610aec6103cb565b610b3d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610b4681610fe4565b50565b6003546001600160a01b031681565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b60208310610bd55780518252601f199092019160209182019101610bb6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610c37576040519150601f19603f3d011682016040523d82523d6000602084013e610c3c565b606091505b5091509150818015610c6a575080511580610c6a5750808060200190516020811015610c6757600080fd5b50515b610ace576040805162461bcd60e51b815260206004820152600d60248201526c10b9b0b332aa3930b739b332b960991b604482015290519081900360640190fd5b600082610cba57506000610d07565b82820282848281610cc757fe5b0414610d045760405162461bcd60e51b81526004018080602001828103825260218152602001806110ab6021913960400191505060405180910390fd5b90505b92915050565b600082820183811015610d04576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006003821115610daa575080600160028204015b81811015610da457809150600281828581610d9357fe5b040181610d9c57fe5b049050610d7c565b50610db4565b8115610db4575060015b919050565b600082821115610e10576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b178152925182516000946060949389169392918291908083835b60208310610e935780518252601f199092019160209182019101610e74565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ef5576040519150601f19603f3d011682016040523d82523d6000602084013e610efa565b606091505b5091509150818015610f28575080511580610f285750808060200190516020811015610f2557600080fd5b50515b610ace576040805162461bcd60e51b815260206004820152600c60248201526b2173616665417070726f766560a01b604482015290519081900360640190fd5b604080516370a0823160e01b815230600482015290516000916001600160a01b038416916370a0823191602480820192602092909190829003018186803b158015610fb257600080fd5b505afa158015610fc6573d6000803e3d6000fd5b505050506040513d6020811015610fdc57600080fd5b505192915050565b6001600160a01b0381166110295760405162461bcd60e51b81526004018080602001828103825260268152602001806110856026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a7231582035bbbcdde487f8e56a6d6950f766160e51eb26ca6e6888d048c725c4aaa620db64736f6c63430005100032000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f
Deployed Bytecode
0x6080604052600436106100865760003560e01c80638f32d59b116100595780638f32d59b14610126578063b61d27f61461014f578063c45a0155146101d4578063f2fde38b146101e9578063f887ea401461021c57610086565b80631ec82cb8146100885780633fc8cef3146100cb578063715018a6146100fc5780638da5cb5b14610111575b005b34801561009457600080fd5b50610086600480360360608110156100ab57600080fd5b506001600160a01b03813581169160208101359091169060400135610231565b3480156100d757600080fd5b506100e061030a565b604080516001600160a01b039092168252519081900360200190f35b34801561010857600080fd5b50610086610319565b34801561011d57600080fd5b506100e06103bc565b34801561013257600080fd5b5061013b6103cb565b604080519115158252519081900360200190f35b6100866004803603606081101561016557600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561019557600080fd5b8201836020820111156101a757600080fd5b803590602001918460018302840111640100000000831117156101c957600080fd5b5090925090506103dc565b3480156101e057600080fd5b506100e0610ad5565b3480156101f557600080fd5b506100866004803603602081101561020c57600080fd5b50356001600160a01b0316610ae4565b34801561022857600080fd5b506100e0610b49565b6102396103cb565b61028a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600180548101908190556102ae6001600160a01b038516848463ffffffff610b5816565b6001548114610304576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b50505050565b6004546001600160a01b031681565b6103216103cb565b610372576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b60018054810190819055600080848460408110156103f957600080fd5b50600254600480546040805163e6a4390560e01b81526001600160a01b0386358116948201859052928316602482015290519296506020948501359550600094939091169263e6a4390592604480840193829003018186803b15801561045e57600080fd5b505afa158015610472573d6000803e3d6000fd5b505050506040513d602081101561048857600080fd5b505160408051630240bc6b60e21b81529051919250479160009182916001600160a01b03861691630902f1ac916004808301926060929190829003018186803b1580156104d457600080fd5b505afa1580156104e8573d6000803e3d6000fd5b505050506040513d60608110156104fe57600080fd5b5080516020918201516004805460408051630dfe168160e01b815290516dffffffffffffffffffffffffffff95861698509490931695506000946001600160a01b0391821694918a1693630dfe1681938181019391829003018186803b15801561056757600080fd5b505afa15801561057b573d6000803e3d6000fd5b505050506040513d602081101561059157600080fd5b50516001600160a01b0316146105a757816105a9565b825b905060006107ca61061e6105c5846107cd63ffffffff610cab16565b61061261060d6106006105e188623cda2963ffffffff610cab16565b6105f48c623cda2063ffffffff610cab16565b9063ffffffff610d0d16565b879063ffffffff610cab16565b610d67565b9063ffffffff610db916565b8161062557fe5b604080516002808252606080830184529490930494509190602083019080388339505060045482519293506001600160a01b03169183915060009061066657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050888160018151811061069457fe5b6001600160a01b03928316602091820292909201810191909152600354604051637ff36ab560e01b8152600060048201818152306044840181905242606485018190526080602486019081528951608487015289519690981697637ff36ab5978b9795968b969495939460a49091019187810191028083838b5b8381101561072657818101518382015260200161070e565b50505050905001955050505050506000604051808303818588803b15801561074d57600080fd5b505af1158015610761573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052602081101561078b57600080fd5b81019080805160405193929190846401000000008211156107ab57600080fd5b9083019060208201858111156107c057600080fd5b82518660208202830111640100000000821117156107dd57600080fd5b82525081516020918201928201910280838360005b8381101561080a5781810151838201526020016107f2565b5050505091909101604052505060035461083c93506001600160a01b038d81169350169050600063ffffffff610e1616565b60035461085e906001600160a01b038b8116911660001963ffffffff610e1616565b6003546000906001600160a01b039081169063f305d7199047908d90610885908216610f68565b604080516001600160e01b031960e087901b1681526001600160a01b039093166004840152602483019190915260006044830181905260648301523060848301524260a48301525160c480830192606092919082900301818588803b1580156108ed57600080fd5b505af1158015610901573d6000803e3d6000fd5b50505050506040513d606081101561091857600080fd5b5060400151905088811015610974576040805162461bcd60e51b815260206004820152601f60248201527f696e73756666696369656e74204c5020746f6b656e7320726563656976656400604482015290519081900360640190fd5b604080516370a0823160e01b815230600482015290516001600160a01b038a169163a9059cbb91339184916370a0823191602480820192602092909190829003018186803b1580156109c557600080fd5b505afa1580156109d9573d6000803e3d6000fd5b505050506040513d60208110156109ef57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b158015610a4057600080fd5b505af1158015610a54573d6000803e3d6000fd5b505050506040513d6020811015610a6a57600080fd5b50506001548b149950610ace98505050505050505050576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050505050565b6002546001600160a01b031681565b610aec6103cb565b610b3d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610b4681610fe4565b50565b6003546001600160a01b031681565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b60208310610bd55780518252601f199092019160209182019101610bb6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610c37576040519150601f19603f3d011682016040523d82523d6000602084013e610c3c565b606091505b5091509150818015610c6a575080511580610c6a5750808060200190516020811015610c6757600080fd5b50515b610ace576040805162461bcd60e51b815260206004820152600d60248201526c10b9b0b332aa3930b739b332b960991b604482015290519081900360640190fd5b600082610cba57506000610d07565b82820282848281610cc757fe5b0414610d045760405162461bcd60e51b81526004018080602001828103825260218152602001806110ab6021913960400191505060405180910390fd5b90505b92915050565b600082820183811015610d04576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006003821115610daa575080600160028204015b81811015610da457809150600281828581610d9357fe5b040181610d9c57fe5b049050610d7c565b50610db4565b8115610db4575060015b919050565b600082821115610e10576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b178152925182516000946060949389169392918291908083835b60208310610e935780518252601f199092019160209182019101610e74565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ef5576040519150601f19603f3d011682016040523d82523d6000602084013e610efa565b606091505b5091509150818015610f28575080511580610f285750808060200190516020811015610f2557600080fd5b50515b610ace576040805162461bcd60e51b815260206004820152600c60248201526b2173616665417070726f766560a01b604482015290519081900360640190fd5b604080516370a0823160e01b815230600482015290516000916001600160a01b038416916370a0823191602480820192602092909190829003018186803b158015610fb257600080fd5b505afa158015610fc6573d6000803e3d6000fd5b505050506040513d6020811015610fdc57600080fd5b505192915050565b6001600160a01b0381166110295760405162461bcd60e51b81526004018080602001828103825260268152602001806110856026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a7231582035bbbcdde487f8e56a6d6950f766160e51eb26ca6e6888d048c725c4aaa620db64736f6c63430005100032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f
-----Decoded View---------------
Arg [0] : _router (address): 0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f
Deployed Bytecode Sourcemap
19872:2728:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22420:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22420:139:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;22420:139:0;;;;;;;;;;;;;;;;;:::i;20092:19::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20092:19:0;;;:::i;:::-;;;;-1:-1:-1;;;;;20092:19:0;;;;;;;;;;;;;;1795:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1795:140:0;;;:::i;984:79::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;984:79:0;;;:::i;1350:92::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1350:92:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;20581:1523;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;20581:1523:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;20581:1523:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;20581:1523:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;20581:1523:0;;-1:-1:-1;20581:1523:0;-1:-1:-1;20581:1523:0;:::i;20014:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20014:32:0;;;:::i;2090:109::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2090:109:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2090:109:0;-1:-1:-1;;;;;2090:109:0;;:::i;20053:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20053:32:0;;;:::i;22420:139::-;1196:9;:7;:9::i;:::-;1188:54;;;;;-1:-1:-1;;;1188:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7672:1;7655:18;;;;;;;;22522:29;-1:-1:-1;;;;;22522:18:0;;22541:2;22545:5;22522:29;:18;:29;:::i;:::-;7767:13;;7751:12;:29;7743:73;;;;;-1:-1:-1;;;7743:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1253:1;22420:139;;;:::o;20092:19::-;;;-1:-1:-1;;;;;20092:19:0;;:::o;1795:140::-;1196:9;:7;:9::i;:::-;1188:54;;;;;-1:-1:-1;;;1188:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1894:1;1878:6;;1857:40;;-1:-1:-1;;;;;1878:6:0;;;;1857:40;;1894:1;;1857:40;1925:1;1908:19;;-1:-1:-1;;;;;;1908:19:0;;;1795:140::o;984:79::-;1022:7;1049:6;-1:-1:-1;;;;;1049:6:0;984:79;:::o;1350:92::-;1390:4;1428:6;-1:-1:-1;;;;;1428:6:0;1414:10;:20;;1350:92::o;20581:1523::-;7672:1;7655:18;;;;;;;;:13;;20876:4;;13:2:-1;5:11;;2:2;;;29:1;26;19:12;2:2;-1:-1;20952:7:0;;20976:4;;;20865:36;20952:29;;-1:-1:-1;;;20952:29:0;;-1:-1:-1;;;;;20865:36:0;;;;20952:29;;;;;;20976:4;;;20952:29;;;;;;20865:36;;-1:-1:-1;20865:36:0;;;;;;-1:-1:-1;20912:22:0;;20952:7;;;;;:15;;:29;;;;;;;;;;:7;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;20952:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20952:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20952:29:0;21156:21;;;-1:-1:-1;;;21156:21:0;;;;20952:29;;-1:-1:-1;21095:21:0;;21077:15;;;;-1:-1:-1;;;;;21156:19:0;;;;;:21;;;;;;;;;;;;;;:19;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;21156:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21156:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21156:21:0;;;;;;;21222:4;;;21156:21;21202:16;;-1:-1:-1;;;21202:16:0;;;;21127:50;;;;;-1:-1:-1;21127:50:0;;;;;-1:-1:-1;21188:11:0;;-1:-1:-1;;;;;21222:4:0;;;;21202:14;;;;;;:16;;;;;;;;;;:14;:16;;;5:2:-1;;;;30:1;27;20:12;5:2;21202:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21202:16:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21202:16:0;-1:-1:-1;;;;;21202:24:0;;:34;;21234:2;21202:34;;;21229:2;21202:34;21188:48;-1:-1:-1;21247:11:0;21345:4;21261:81;21328:13;21188:48;21336:4;21328:13;:7;:13;:::i;:::-;21261:62;21271:51;21279:42;21304:16;:3;21312:7;21304:16;:7;:16;:::i;:::-;21279:20;:7;21291;21279:20;:11;:20;:::i;:::-;:24;:42;:24;:42;:::i;:::-;21271:3;;:51;:7;:51;:::i;:::-;21261:9;:62::i;:::-;:66;:81;:66;:81;:::i;:::-;:88;;;;;21446:16;;;21460:1;21446:16;;;21422:21;21446:16;;;;;21261:88;;;;;-1:-1:-1;21446:16:0;21460:1;21446:16;;;;;105:10:-1;21446:16:0;88:34:-1;-1:-1;;21483:4:0;;21473:7;;;;-1:-1:-1;;;;;;21483:4:0;;21473:7;;-1:-1:-1;21483:4:0;;21473:7;;;;;;;;;:14;-1:-1:-1;;;;;21473:14:0;;;-1:-1:-1;;;;;21473:14:0;;;;;21508:6;21498:4;21503:1;21498:7;;;;;;;;-1:-1:-1;;;;;21498:16:0;;;:7;;;;;;;;;;:16;;;;21525:6;;:68;;-1:-1:-1;;;21525:68:0;;:6;:68;;;;;;21582:4;21525:68;;;;;;21589:3;21525:68;;;;;;;;;;;;;;;;;;;;;:6;;;;;:28;;21560:3;;21525:6;;21568:4;;21582;;21589:3;;21525:68;;;;;;;;;;;;;:6;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;21525:68:0;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21525:68:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21525:68:0;;;;;;;39:16:-1;36:1;17:17;2:54;101:4;21525:68: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;21525:68: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;21525:68:0;;421:4:-1;412:14;;;;21525:68:0;;;;;412:14:-1;21525:68: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;;;-1:-1;;;;21525:68:0;;;;;;-1:-1:-1;;21706:6:0;;21679:38;;-1:-1:-1;;;;;;21679:18:0;;;;-1:-1:-1;21706:6:0;;-1:-1:-1;21706:6:0;21679:38;:18;:38;:::i;:::-;21755:6;;21728:45;;-1:-1:-1;;;;;21728:18:0;;;;21755:6;-1:-1:-1;;21728:45:0;:18;:45;:::i;:::-;21812:6;;21788:20;;-1:-1:-1;;;;;21812:6:0;;;;:22;;21841:21;;21878:6;;21886:18;;:16;;;:18::i;:::-;21812:129;;;-1:-1:-1;;;;;;21812:129:0;;;;;;;-1:-1:-1;;;;;21812:129:0;;;;;;;;;;;;;;21906:1;21812:129;;;;;;;;;;21920:4;21812:129;;;;21927:3;21812:129;;;;;;;;;;;;;;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;21812:129:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21812:129:0;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21812:129:0;;;;-1:-1:-1;21960:27:0;;;;21952:71;;;;;-1:-1:-1;;;21952:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;22063:32;;;-1:-1:-1;;;22063:32:0;;22089:4;22063:32;;;;;;-1:-1:-1;;;;;22034:16:0;;;;;22051:10;;22034:16;;22063:17;;:32;;;;;;;;;;;;;;;22034:16;22063:32;;;5:2:-1;;;;30:1;27;20:12;5:2;22063:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22063:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22063:32:0;22034:62;;;-1:-1:-1;;;;;;22034:62:0;;;;;;;-1:-1:-1;;;;;22034:62:0;;;;;;;;;;;;;;;;;;;;22063:32;;22034:62;;;;;;;-1:-1:-1;22034:62:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;22034:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22034:62:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;7767:13:0;;7751:29;;;-1:-1:-1;7743:73:0;;-1:-1:-1;;;;;;;;;7743:73:0;;;;-1:-1:-1;;;7743:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20581:1523;;;;;:::o;20014:32::-;;;-1:-1:-1;;;;;20014:32:0;;:::o;2090:109::-;1196:9;:7;:9::i;:::-;1188:54;;;;;-1:-1:-1;;;1188:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2163:28;2182:8;2163:18;:28::i;:::-;2090:109;:::o;20053:32::-;;;-1:-1:-1;;;;;20053:32:0;;:::o;18345:346::-;18543:45;;;-1:-1:-1;;;;;18543:45:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;18543:45:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;18532:57:0;;;;18497:12;;18511:17;;18532:10;;;;18543:45;18532:57;;;25:18:-1;18532:57:0;;25:18:-1;36:153;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;;;18532:57: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;;18496:93:0;;;;18608:7;:57;;;;-1:-1:-1;18620:11:0;;:16;;:44;;;18651:4;18640:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18640:24:0;18620:44;18600:83;;;;;-1:-1:-1;;;18600:83:0;;;;;;;;;;;;-1:-1:-1;;;18600:83:0;;;;;;;;;;;;;;4359:470;4417:7;4661:6;4657:47;;-1:-1:-1;4691:1:0;4684:8;;4657:47;4728:5;;;4732:1;4728;:5;:1;4752:5;;;;;:10;4744:56;;;;-1:-1:-1;;;4744:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4820:1;-1:-1:-1;4359:470:0;;;;;:::o;3468:181::-;3526:7;3558:5;;;3582:6;;;;3574:46;;;;;-1:-1:-1;;;3574:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11505:303;11550:6;11577:1;11573;:5;11569:232;;;-1:-1:-1;11599:1:0;11632;11628;11624:5;;:9;11648:92;11659:1;11655;:5;11648:92;;;11685:1;11681:5;;11723:1;11718;11714;11710;:5;;;;;;:9;11709:15;;;;;;11705:19;;11648:92;;;11569:232;;;;11761:6;;11757:44;;-1:-1:-1;11788:1:0;11757:44;11505:303;;;:::o;3924:184::-;3982:7;4015:1;4010;:6;;4002:49;;;;;-1:-1:-1;;;4002:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4074:5:0;;;3924:184::o;17994:343::-;18190:45;;;-1:-1:-1;;;;;18190:45:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;18190:45:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;18179:57:0;;;;18144:12;;18158:17;;18179:10;;;;18190:45;18179:57;;;25:18:-1;18179:57:0;;25:18:-1;36:153;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;;;18179:57: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;;18143:93:0;;;;18255:7;:57;;;;-1:-1:-1;18267:11:0;;:16;;:44;;;18298:4;18287:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18287:24:0;18267:44;18247:82;;;;;-1:-1:-1;;;18247:82:0;;;;;;;;;;;;-1:-1:-1;;;18247:82:0;;;;;;;;;;;;;;17697:138;17781:46;;;-1:-1:-1;;;17781:46:0;;17821:4;17781:46;;;;;;17754:7;;-1:-1:-1;;;;;17781:31:0;;;;;:46;;;;;;;;;;;;;;;:31;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;17781:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17781:46:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17781:46:0;;17697:138;-1:-1:-1;;17697:138:0:o;2305:229::-;-1:-1:-1;;;;;2379:22:0;;2371:73;;;;-1:-1:-1;;;2371:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2481:6;;;2460:38;;-1:-1:-1;;;;;2460:38:0;;;;2481:6;;;2460:38;;;2509:6;:17;;-1:-1:-1;;;;;;2509:17:0;-1:-1:-1;;;;;2509:17:0;;;;;;;;;;2305:229::o
Swarm Source
bzzr://35bbbcdde487f8e56a6d6950f766160e51eb26ca6e6888d048c725c4aaa620db
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,316.19 | 0.000000000000000002 | <$0.000001 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.