Contract 0xd02221952441a7cbadbfd19e4c0a47fc74629055

 

Contract Overview

Balance:
0 ETH

ETH Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x730cf1d62b4c7af3132968a0aec9a3070b9a017360e9e19c433a317b81cb62950x60806040204174372022-08-16 15:12:18590 days 10 hrs agoRodeo Finance: Deployer IN  Create: StrategySushiswap0 ETH0.005135567187 ETH0.155191552
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x90da882144d063773a4586a83b277ce7a0ce68e00 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x90da882144d063773a4586a83b277ce7a0ce68e00 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0x2105b54c400d8d95e1528285c07b908e0084fc43 0xd02221952441a7cbadbfd19e4c0a47fc746290550 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x50834f3163758fcc1df9973b6e91f0f0f0434ad30 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 Arbitrum: USDC Token0 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x905dfcd5649217c42684f23958568e533c711aa30 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x639fe6ab55c921f74e7fac1ee960c0b6293ba6120 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 Wrapped Ether0 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x905dfcd5649217c42684f23958568e533c711aa30 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x905dfcd5649217c42684f23958568e533c711aa30 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x90da882144d063773a4586a83b277ce7a0ce68e00 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x905dfcd5649217c42684f23958568e533c711aa30 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x90da882144d063773a4586a83b277ce7a0ce68e00 ETH
0xab70c7f7b902b1cf1240ef05c1d8c745ffc4256096af91e0b733cd7cb865d625367588392022-11-09 23:48:13505 days 1 hr ago 0x2105b54c400d8d95e1528285c07b908e0084fc43 0xd02221952441a7cbadbfd19e4c0a47fc746290550 ETH
0xb3a462550ee4dcd4860f32c597a8b5ec79c11704b7885bf5f5100fbea360e95d367586332022-11-09 23:47:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x90da882144d063773a4586a83b277ce7a0ce68e00 ETH
0xb3a462550ee4dcd4860f32c597a8b5ec79c11704b7885bf5f5100fbea360e95d367586332022-11-09 23:47:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x90da882144d063773a4586a83b277ce7a0ce68e00 ETH
0xb3a462550ee4dcd4860f32c597a8b5ec79c11704b7885bf5f5100fbea360e95d367586332022-11-09 23:47:13505 days 1 hr ago 0x2105b54c400d8d95e1528285c07b908e0084fc43 0xd02221952441a7cbadbfd19e4c0a47fc746290550 ETH
0xb3a462550ee4dcd4860f32c597a8b5ec79c11704b7885bf5f5100fbea360e95d367586332022-11-09 23:47:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x50834f3163758fcc1df9973b6e91f0f0f0434ad30 ETH
0xb3a462550ee4dcd4860f32c597a8b5ec79c11704b7885bf5f5100fbea360e95d367586332022-11-09 23:47:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 Arbitrum: USDC Token0 ETH
0xb3a462550ee4dcd4860f32c597a8b5ec79c11704b7885bf5f5100fbea360e95d367586332022-11-09 23:47:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x905dfcd5649217c42684f23958568e533c711aa30 ETH
0xb3a462550ee4dcd4860f32c597a8b5ec79c11704b7885bf5f5100fbea360e95d367586332022-11-09 23:47:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x639fe6ab55c921f74e7fac1ee960c0b6293ba6120 ETH
0xb3a462550ee4dcd4860f32c597a8b5ec79c11704b7885bf5f5100fbea360e95d367586332022-11-09 23:47:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 Wrapped Ether0 ETH
0xb3a462550ee4dcd4860f32c597a8b5ec79c11704b7885bf5f5100fbea360e95d367586332022-11-09 23:47:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x905dfcd5649217c42684f23958568e533c711aa30 ETH
0xb3a462550ee4dcd4860f32c597a8b5ec79c11704b7885bf5f5100fbea360e95d367586332022-11-09 23:47:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x905dfcd5649217c42684f23958568e533c711aa30 ETH
0xb3a462550ee4dcd4860f32c597a8b5ec79c11704b7885bf5f5100fbea360e95d367586332022-11-09 23:47:13505 days 1 hr ago 0xd02221952441a7cbadbfd19e4c0a47fc74629055 0x90da882144d063773a4586a83b277ce7a0ce68e00 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
StrategySushiswap

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 20000 runs

Other Settings:
default evmVersion
File 1 of 6 : StrategySushiswap.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

import {IERC20} from "./interfaces/IERC20.sol";
import {IPairUniV2} from "./interfaces/IPairUniV2.sol";
import {IOracle} from "./interfaces/IOracle.sol";
import {IVault} from "./interfaces/IVault.sol";
import {Strategy} from "./Strategy.sol";


contract StrategySushiswap is Strategy {
    string public name;
    IVault public vault;
    IOracle public oracleToken0; // Chainlink for pool token0
    IOracle public oracleToken1; // Chainlink for pool token1

    constructor(
        address _asset,
        address _investor,
        string memory _name,
        address _vault,
        address _oracleToken0,
        address _oracleToken1
    )
        Strategy(_asset, _investor)
    {
        name = _name;
        vault = IVault(_vault);
        oracleToken0 = IOracle(_oracleToken0);
        oracleToken1 = IOracle(_oracleToken1);
    }

    function getPair() private view returns (IPairUniV2) {
        return IPairUniV2(vault.asset());
    }

    function rate(uint256 sha) external view override returns (uint256) {
        IPairUniV2 pair = getPair();
        uint256 value = 0;
        uint256 lpTotalSupply = pair.totalSupply();
        uint256 lpAmount = vault.totalManagedAssets();
        (uint112 reserve0, uint112 reserve1,) = pair.getReserves();
        {
            uint256 decimals = uint256(IERC20(pair.token0()).decimals());
            uint256 price = uint256(oracleToken0.latestAnswer());
            value += ((((uint256(reserve0) * 1e12) / (10 ** decimals)) * lpAmount) / lpTotalSupply)
              * price / 1e14;
        }
        {
            uint256 decimals = uint256(IERC20(pair.token1()).decimals());
            uint256 price = uint256(oracleToken1.latestAnswer());
            value += ((((uint256(reserve1) * 1e12) / (10 ** decimals)) * lpAmount) / lpTotalSupply)
              * price / 1e14;
        }
        return value * sha / totalShares;
    }

    function _mint(uint256 amt) internal override returns (uint256) {
        IPairUniV2 pair = getPair();
        uint256 halfA = amt / 2;
        if (pair.token0() == address(asset)) {
            uint256 halfB = _swap1(pair, amt - halfA);
            _push(pair.token0(), address(pair), halfA);
            _push(pair.token1(), address(pair), halfB);
        } else {
            uint256 halfB = _swap0(pair, amt - halfA);
            _push(pair.token1(), address(pair), halfA);
            _push(pair.token0(), address(pair), halfB);
        }
        pair.mint(address(this));
        pair.skim(address(this));
        uint256 liq = IERC20(address(pair)).balanceOf(address(this));
        IERC20(address(pair)).approve(address(vault), liq);
        uint256 before = IERC20(address(vault)).balanceOf(address(this));
        vault.mint(liq, address(this));
        return IERC20(address(vault)).balanceOf(address(this)) - before;
    }

    function _burn(uint256 sha) internal override returns (uint256) {
        IPairUniV2 pair = getPair();
        vault.burn(sha, address(pair));
        pair.burn(address(this));
        if (pair.token0() == address(asset)) {
            _swap0(pair, IERC20(pair.token1()).balanceOf(address(this)));
        } else {
            _swap1(pair, IERC20(pair.token0()).balanceOf(address(this)));
        }
        return asset.balanceOf(address(this));
    }

    function _swap0(IPairUniV2 pair, uint256 amt) private returns (uint256) {
        (uint112 reserve0, uint112 reserve1,) = pair.getReserves();
        uint256 iwf = amt * 997;
        uint256 num = iwf * uint256(reserve0);
        uint256 den = (uint256(reserve1) * 1000) + iwf;
        IERC20(pair.token1()).transfer(address(pair), amt);
        pair.swap(num / den, 0, address(this), new bytes(0));
        pair.skim(address(this));
        return num / den;
    }

    function _swap1(IPairUniV2 pair, uint256 amt) private returns (uint256) {
        (uint112 reserve0, uint112 reserve1,) = pair.getReserves();
        uint256 iwf = amt * 997;
        uint256 num = iwf * uint256(reserve1);
        uint256 den = (uint256(reserve0) * 1000) + iwf;
        IERC20(pair.token0()).transfer(address(pair), amt);
        pair.swap(0, num / den, address(this), new bytes(0));
        pair.skim(address(this));
        return num / den;
    }
}

File 2 of 6 : IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

interface IERC20 {
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint256);
    function balanceOf(address) external view returns (uint256);
    function approve(address, uint256) external returns (bool);
    function transfer(address, uint256) external returns (bool);
    function transferFrom(address, address, uint256) external returns (bool);
}

File 3 of 6 : IPairUniV2.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

interface IPairUniV2 {
    function token0() external view returns (address);
    function token1() external view returns (address);
    function totalSupply() external view returns (uint256);
    function getReserves() external view returns (uint112, uint112, uint32);
    function mint(address) external returns (uint256 liquidity);
    function burn(address) external returns (uint256 amount0, uint256 amount1);
    function swap(uint256, uint256, address, bytes calldata) external;
    function skim(address to) external;
}

File 4 of 6 : IOracle.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

interface IOracle {
    function latestAnswer() external view returns (int256);
}

File 5 of 6 : IVault.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

interface IVault {
    function asset() external view returns (address);
    function totalManagedAssets() external view returns (uint256);
    function mint(uint256, address) external;
    function burn(uint256, address) external;
}

File 6 of 6 : Strategy.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

import {IERC20} from "./interfaces/IERC20.sol";

abstract contract Strategy {
    error Paused();
    error NotInvestor();
    error UnknownFile();
    error Unauthorized();
    error TransferFailed();

    IERC20 public asset;
    uint256 public cap;
    bool public paused;
    address public investor;
    mapping(address => bool) public exec;

    uint256 public totalShares;

    event FileInt(bytes32 indexed what, uint256 data);
    event FileAddress(bytes32 indexed what, address data);
    event Mint(uint256 amt, uint256 sha);
    event Burn(uint256 sha, uint256 amt);

    constructor(address _asset, address _investor) {
        asset = IERC20(_asset);
        investor = _investor;
        exec[msg.sender] = true;
    }

    modifier auth() {
        if (!exec[msg.sender]) revert Unauthorized();
        _;
    }

    function file(bytes32 what, uint256 data) external auth {
        if (what == "cap") {
            cap = data;
        } else if (what == "paused") {
            paused = data == 1;
        } else {
            revert UnknownFile();
        }
        emit FileInt(what, data);
    }

    function file(bytes32 what, address data) external auth {
        if (what == "exec") {
            exec[data] = !exec[data];
        } else {
            revert UnknownFile();
        }
        emit FileAddress(what, data);
    }

    function rate(uint256 sha) external view virtual returns (uint256) {
        // calculate vault / lp value in usdc terms (through swap if needed)
        return 0;
    }

    function mint(uint256 amt) external returns (uint256) {
        if (msg.sender != investor) revert NotInvestor();
        if (paused) revert Paused();
        _pull(address(asset), msg.sender, amt);
        uint256 sha = _mint(amt);
        totalShares += sha;
        emit Mint(amt, sha);
        return sha;
    }

    function burn(uint256 sha) external returns (uint256) {
        if (msg.sender != investor) revert NotInvestor();
        if (paused) revert Paused();
        uint256 amt = _burn(sha);
        totalShares -= sha;
        _push(address(asset), msg.sender, amt);
        emit Burn(sha, amt);
        return amt;
    }

    function _pull(address tkn, address usr, uint256 amt) internal {
        if (!IERC20(tkn).transferFrom(usr, address(this), amt)) revert
            TransferFailed();
    }

    function _push(address tkn, address usr, uint256 amt) internal {
        if (!IERC20(tkn).transfer(usr, amt)) revert TransferFailed();
    }

    function _mint(uint256 amt) internal virtual returns (uint256) { // pull in usdc from caller
            // convert usdc to needed assets
            // enter vault / lp
    }

    function _burn(uint256 sha) internal virtual returns (uint256) { // exit vault / lp
            // convert assets to usdc
            // return funds
    }
}

Settings
{
  "remappings": [
    "src/=src/",
    "src/=src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 20000
  },
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_asset","type":"address"},{"internalType":"address","name":"_investor","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"_vault","type":"address"},{"internalType":"address","name":"_oracleToken0","type":"address"},{"internalType":"address","name":"_oracleToken1","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NotInvestor","type":"error"},{"inputs":[],"name":"Paused","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"UnknownFile","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sha","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amt","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"what","type":"bytes32"},{"indexed":false,"internalType":"address","name":"data","type":"address"}],"name":"FileAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"what","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"data","type":"uint256"}],"name":"FileInt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amt","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sha","type":"uint256"}],"name":"Mint","type":"event"},{"inputs":[],"name":"asset","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"sha","type":"uint256"}],"name":"burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exec","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"what","type":"bytes32"},{"internalType":"uint256","name":"data","type":"uint256"}],"name":"file","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"what","type":"bytes32"},{"internalType":"address","name":"data","type":"address"}],"name":"file","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"investor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oracleToken0","outputs":[{"internalType":"contract IOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oracleToken1","outputs":[{"internalType":"contract IOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"sha","type":"uint256"}],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"contract IVault","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b506040516200282d3803806200282d833981016040819052620000349162000112565b600080546001600160a01b0319166001600160a01b0388811691909117825560028054610100600160a81b03191661010092891692909202919091179055338152600360205260409020805460ff191660011790556005620000978582620002dc565b50600680546001600160a01b039485166001600160a01b03199182161790915560078054938516938216939093179092556008805491909316911617905550620003a8915050565b80516001600160a01b0381168114620000f757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060008060008060c087890312156200012c57600080fd5b6200013787620000df565b9550602062000148818901620000df565b60408901519096506001600160401b03808211156200016657600080fd5b818a0191508a601f8301126200017b57600080fd5b815181811115620001905762000190620000fc565b604051601f8201601f19908116603f01168101908382118183101715620001bb57620001bb620000fc565b816040528281528d86848701011115620001d457600080fd5b600093505b82841015620001f85784840186015181850187015292850192620001d9565b828411156200020a5760008684830101525b8099505050505050506200022160608801620000df565b92506200023160808801620000df565b91506200024160a08801620000df565b90509295509295509295565b600181811c908216806200026257607f821691505b6020821081036200028357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002d757600081815260208120601f850160051c81016020861015620002b25750805b601f850160051c820191505b81811015620002d357828155600101620002be565b5050505b505050565b81516001600160401b03811115620002f857620002f8620000fc565b62000310816200030984546200024d565b8462000289565b602080601f8311600181146200034857600084156200032f5750858301515b600019600386901b1c1916600185901b178555620002d3565b600085815260208120601f198616915b82811015620003795788860151825594840194600190910190840162000358565b5085821015620003985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61247580620003b86000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80635c975abb11610097578063ad8c660b11610066578063ad8c660b1461023d578063d4e8be831461025d578063e7ee6ad614610270578063fbfa77cf1461028357600080fd5b80635c975abb146101ca5780636bb6126e146101e75780639fc19ac21461020a578063a0712d681461022a57600080fd5b8063355274ea116100d3578063355274ea1461017757806338d52e0f1461018e5780633a98ef39146101ae57806342966c68146101b757600080fd5b806306fdde03146100fa5780631e0018d61461011857806329ae811414610162575b600080fd5b6101026102a3565b60405161010f9190611fdd565b60405180910390f35b60025461013d90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010f565b610175610170366004611ff0565b610331565b005b61018060015481565b60405190815260200161010f565b60005461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b61018060045481565b6101806101c5366004612012565b610474565b6002546101d79060ff1681565b604051901515815260200161010f565b6101d76101f5366004612050565b60036020526000908152604090205460ff1681565b60075461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b610180610238366004612012565b610592565b60085461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b61017561026b36600461206d565b6106a6565b61018061027e366004612012565b6107b1565b60065461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b600580546102b09061209d565b80601f01602080910402602001604051908101604052809291908181526020018280546102dc9061209d565b80156103295780601f106102fe57610100808354040283529160200191610329565b820191906000526020600020905b81548152906001019060200180831161030c57829003601f168201915b505050505081565b3360009081526003602052604090205460ff1661037a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b817f6361700000000000000000000000000000000000000000000000000000000000036103ab576001819055610436565b817f70617573656400000000000000000000000000000000000000000000000000000361040457600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018314179055610436565b6040517f33d646de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b817f75b666bb5982c26146549f340e3f4c827469b18602d2bf483f21ed8a43f67e988260405161046891815260200190565b60405180910390a25050565b600254600090610100900473ffffffffffffffffffffffffffffffffffffffff1633146104cd576040517f3ab272c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff161561050a576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061051583610d3d565b90508260046000828254610529919061211f565b90915550506000546105529073ffffffffffffffffffffffffffffffffffffffff1633836111d9565b60408051848152602081018390527f410c5c259085cde81fedf70c1aa308ec839373c26e9b7ada6560a2aca0254eb691015b60405180910390a192915050565b600254600090610100900473ffffffffffffffffffffffffffffffffffffffff1633146105eb576040517f3ab272c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff1615610628576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005461064c9073ffffffffffffffffffffffffffffffffffffffff1633846112ae565b60006106578361130f565b9050806004600082825461066b9190612136565b909155505060408051848152602081018390527fcc9c58b575eabd3f6a1ee653e91fcea3ff546867ffc3782a3bbca1f9b6dbb8df9101610584565b3360009081526003602052604090205460ff166106ef576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b817f6578656300000000000000000000000000000000000000000000000000000000036104045773ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00811660ff9091161517905560405173ffffffffffffffffffffffffffffffffffffffff8216815282907f41a50316b758972a692a69178de3d99c3138a652f5213364ee8eff829f22048a90602001610468565b6000806107bc6119ad565b90506000808273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561080c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610830919061214e565b90506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305b2bfb06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c5919061214e565b90506000808573ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610915573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610939919061218a565b509150915060008673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109af91906121da565b73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1d91906121f7565b60ff1690506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab5919061214e565b9050655af3107a4000818787610acc86600a61233a565b610aeb6dffffffffffffffffffffffffffff8a1664e8d4a51000612346565b610af59190612383565b610aff9190612346565b610b099190612383565b610b139190612346565b610b1d9190612383565b610b279088612136565b9650505060008673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c91906121da565b73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0a91906121f7565b60ff1690506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca2919061214e565b9050655af3107a4000818787610cb986600a61233a565b610cd86dffffffffffffffffffffffffffff891664e8d4a51000612346565b610ce29190612383565b610cec9190612346565b610cf69190612383565b610d009190612346565b610d0a9190612383565b610d149088612136565b965050506004548886610d279190612346565b610d319190612383565b98975050505050505050565b600080610d486119ad565b6006546040517ffcd3533c0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff808416602483015292935091169063fcd3533c90604401600060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b50506040517f89afcb4400000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff841692506389afcb44915060240160408051808303816000875af1158015610e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6591906123be565b505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d91906121da565b73ffffffffffffffffffffffffffffffffffffffff160361103657611030818273ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9b91906121da565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015611007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102b919061214e565b611a46565b50611140565b61113e818273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a991906121da565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611139919061214e565b611d64565b505b6000546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa1580156111ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d2919061214e565b9392505050565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063a9059cbb906044015b6020604051808303816000875af115801561124f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127391906123e2565b6112a9576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152306024830152604482018390528416906323b872dd90606401611230565b60008061131a6119ad565b90506000611329600285612383565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d191906121da565b73ffffffffffffffffffffffffffffffffffffffff16036114f65760006113fc83611139848861211f565b90506114778373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147091906121da565b84846111d9565b6114f08373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e991906121da565b84836111d9565b506115a6565b60006115068361102b848861211f565b90506115568373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144c573d6000803e3d6000fd5b6115a48373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c5573d6000803e3d6000fd5b505b6040517f6a62784200000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff831690636a627842906024016020604051808303816000875af1158015611612573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611636919061214e565b506040517fbc25cf7700000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff83169063bc25cf7790602401600060405180830381600087803b15801561169e57600080fd5b505af11580156116b2573d6000803e3d6000fd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000925073ffffffffffffffffffffffffffffffffffffffff851691506370a0823190602401602060405180830381865afa158015611723573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611747919061214e565b6006546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201526024810183905291925084169063095ea7b3906044016020604051808303816000875af11580156117c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e691906123e2565b506006546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015611856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187a919061214e565b6006546040517f94bf804d0000000000000000000000000000000000000000000000000000000081526004810185905230602482015291925073ffffffffffffffffffffffffffffffffffffffff16906394bf804d90604401600060405180830381600087803b1580156118ed57600080fd5b505af1158015611901573d6000803e3d6000fd5b50506006546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015284935073ffffffffffffffffffffffffffffffffffffffff90911691506370a0823190602401602060405180830381865afa158015611975573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611999919061214e565b6119a3919061211f565b9695505050505050565b600654604080517f38d52e0f000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916338d52e0f9160048083019260209291908290030181865afa158015611a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4191906121da565b905090565b60008060008473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aba919061218a565b5090925090506000611ace856103e5612346565b90506000611aec6dffffffffffffffffffffffffffff851683612346565b9050600082611b0d6dffffffffffffffffffffffffffff86166103e8612346565b611b179190612136565b90508773ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8891906121da565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152602482018a9052919091169063a9059cbb906044016020604051808303816000875af1158015611bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2391906123e2565b5073ffffffffffffffffffffffffffffffffffffffff881663022c0d9f611c4a8385612383565b600030815b6040519080825280601f01601f191660200182016040528015611c79576020820181803683370190505b506040518563ffffffff1660e01b8152600401611c999493929190612404565b600060405180830381600087803b158015611cb357600080fd5b505af1158015611cc7573d6000803e3d6000fd5b50506040517fbc25cf7700000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8b16925063bc25cf779150602401600060405180830381600087803b158015611d3257600080fd5b505af1158015611d46573d6000803e3d6000fd5b505050508082611d569190612383565b955050505050505b92915050565b60008060008473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd8919061218a565b5090925090506000611dec856103e5612346565b90506000611e0a6dffffffffffffffffffffffffffff841683612346565b9050600082611e2b6dffffffffffffffffffffffffffff87166103e8612346565b611e359190612136565b90508773ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea691906121da565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152602482018a9052919091169063a9059cbb906044016020604051808303816000875af1158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4191906123e2565b5073ffffffffffffffffffffffffffffffffffffffff881663022c0d9f6000611f6a8486612383565b306000611c4f565b6000815180845260005b81811015611f9857602081850181015186830182015201611f7c565b81811115611faa576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006111d26020830184611f72565b6000806040838503121561200357600080fd5b50508035926020909101359150565b60006020828403121561202457600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461204d57600080fd5b50565b60006020828403121561206257600080fd5b81356111d28161202b565b6000806040838503121561208057600080fd5b8235915060208301356120928161202b565b809150509250929050565b600181811c908216806120b157607f821691505b6020821081036120ea577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612131576121316120f0565b500390565b60008219821115612149576121496120f0565b500190565b60006020828403121561216057600080fd5b5051919050565b80516dffffffffffffffffffffffffffff8116811461218557600080fd5b919050565b60008060006060848603121561219f57600080fd5b6121a884612167565b92506121b660208501612167565b9150604084015163ffffffff811681146121cf57600080fd5b809150509250925092565b6000602082840312156121ec57600080fd5b81516111d28161202b565b60006020828403121561220957600080fd5b815160ff811681146111d257600080fd5b600181815b8085111561227357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612259576122596120f0565b8085161561226657918102915b93841c939080029061221f565b509250929050565b60008261228a57506001611d5e565b8161229757506000611d5e565b81600181146122ad57600281146122b7576122d3565b6001915050611d5e565b60ff8411156122c8576122c86120f0565b50506001821b611d5e565b5060208310610133831016604e8410600b84101617156122f6575081810a611d5e565b612300838361221a565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612332576123326120f0565b029392505050565b60006111d2838361227b565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561237e5761237e6120f0565b500290565b6000826123b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600080604083850312156123d157600080fd5b505080516020909101519092909150565b6000602082840312156123f457600080fd5b815180151581146111d257600080fd5b84815283602082015273ffffffffffffffffffffffffffffffffffffffff831660408201526080606082015260006119a36080830184611f7256fea2646970667358221220fdbb600ddd9baf2c9cc368ff3024dc16ef3da480f02edef5b59c8be3e6d05f0464736f6c634300080f0033000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc80000000000000000000000002105b54c400d8d95e1528285c07b908e0084fc4300000000000000000000000000000000000000000000000000000000000000c000000000000000000000000090da882144d063773a4586a83b277ce7a0ce68e0000000000000000000000000639fe6ab55c921f74e7fac1ee960c0b6293ba61200000000000000000000000050834f3163758fcc1df9973b6e91f0f0f0434ad3000000000000000000000000000000000000000000000000000000000000001353757368695377617020574554482f5553444300000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80635c975abb11610097578063ad8c660b11610066578063ad8c660b1461023d578063d4e8be831461025d578063e7ee6ad614610270578063fbfa77cf1461028357600080fd5b80635c975abb146101ca5780636bb6126e146101e75780639fc19ac21461020a578063a0712d681461022a57600080fd5b8063355274ea116100d3578063355274ea1461017757806338d52e0f1461018e5780633a98ef39146101ae57806342966c68146101b757600080fd5b806306fdde03146100fa5780631e0018d61461011857806329ae811414610162575b600080fd5b6101026102a3565b60405161010f9190611fdd565b60405180910390f35b60025461013d90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010f565b610175610170366004611ff0565b610331565b005b61018060015481565b60405190815260200161010f565b60005461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b61018060045481565b6101806101c5366004612012565b610474565b6002546101d79060ff1681565b604051901515815260200161010f565b6101d76101f5366004612050565b60036020526000908152604090205460ff1681565b60075461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b610180610238366004612012565b610592565b60085461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b61017561026b36600461206d565b6106a6565b61018061027e366004612012565b6107b1565b60065461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b600580546102b09061209d565b80601f01602080910402602001604051908101604052809291908181526020018280546102dc9061209d565b80156103295780601f106102fe57610100808354040283529160200191610329565b820191906000526020600020905b81548152906001019060200180831161030c57829003601f168201915b505050505081565b3360009081526003602052604090205460ff1661037a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b817f6361700000000000000000000000000000000000000000000000000000000000036103ab576001819055610436565b817f70617573656400000000000000000000000000000000000000000000000000000361040457600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018314179055610436565b6040517f33d646de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b817f75b666bb5982c26146549f340e3f4c827469b18602d2bf483f21ed8a43f67e988260405161046891815260200190565b60405180910390a25050565b600254600090610100900473ffffffffffffffffffffffffffffffffffffffff1633146104cd576040517f3ab272c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff161561050a576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061051583610d3d565b90508260046000828254610529919061211f565b90915550506000546105529073ffffffffffffffffffffffffffffffffffffffff1633836111d9565b60408051848152602081018390527f410c5c259085cde81fedf70c1aa308ec839373c26e9b7ada6560a2aca0254eb691015b60405180910390a192915050565b600254600090610100900473ffffffffffffffffffffffffffffffffffffffff1633146105eb576040517f3ab272c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff1615610628576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005461064c9073ffffffffffffffffffffffffffffffffffffffff1633846112ae565b60006106578361130f565b9050806004600082825461066b9190612136565b909155505060408051848152602081018390527fcc9c58b575eabd3f6a1ee653e91fcea3ff546867ffc3782a3bbca1f9b6dbb8df9101610584565b3360009081526003602052604090205460ff166106ef576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b817f6578656300000000000000000000000000000000000000000000000000000000036104045773ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00811660ff9091161517905560405173ffffffffffffffffffffffffffffffffffffffff8216815282907f41a50316b758972a692a69178de3d99c3138a652f5213364ee8eff829f22048a90602001610468565b6000806107bc6119ad565b90506000808273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561080c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610830919061214e565b90506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305b2bfb06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c5919061214e565b90506000808573ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610915573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610939919061218a565b509150915060008673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109af91906121da565b73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1d91906121f7565b60ff1690506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab5919061214e565b9050655af3107a4000818787610acc86600a61233a565b610aeb6dffffffffffffffffffffffffffff8a1664e8d4a51000612346565b610af59190612383565b610aff9190612346565b610b099190612383565b610b139190612346565b610b1d9190612383565b610b279088612136565b9650505060008673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c91906121da565b73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0a91906121f7565b60ff1690506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca2919061214e565b9050655af3107a4000818787610cb986600a61233a565b610cd86dffffffffffffffffffffffffffff891664e8d4a51000612346565b610ce29190612383565b610cec9190612346565b610cf69190612383565b610d009190612346565b610d0a9190612383565b610d149088612136565b965050506004548886610d279190612346565b610d319190612383565b98975050505050505050565b600080610d486119ad565b6006546040517ffcd3533c0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff808416602483015292935091169063fcd3533c90604401600060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b50506040517f89afcb4400000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff841692506389afcb44915060240160408051808303816000875af1158015610e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6591906123be565b505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d91906121da565b73ffffffffffffffffffffffffffffffffffffffff160361103657611030818273ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9b91906121da565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015611007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102b919061214e565b611a46565b50611140565b61113e818273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a991906121da565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611139919061214e565b611d64565b505b6000546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa1580156111ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d2919061214e565b9392505050565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063a9059cbb906044015b6020604051808303816000875af115801561124f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127391906123e2565b6112a9576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152306024830152604482018390528416906323b872dd90606401611230565b60008061131a6119ad565b90506000611329600285612383565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d191906121da565b73ffffffffffffffffffffffffffffffffffffffff16036114f65760006113fc83611139848861211f565b90506114778373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147091906121da565b84846111d9565b6114f08373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e991906121da565b84836111d9565b506115a6565b60006115068361102b848861211f565b90506115568373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144c573d6000803e3d6000fd5b6115a48373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c5573d6000803e3d6000fd5b505b6040517f6a62784200000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff831690636a627842906024016020604051808303816000875af1158015611612573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611636919061214e565b506040517fbc25cf7700000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff83169063bc25cf7790602401600060405180830381600087803b15801561169e57600080fd5b505af11580156116b2573d6000803e3d6000fd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000925073ffffffffffffffffffffffffffffffffffffffff851691506370a0823190602401602060405180830381865afa158015611723573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611747919061214e565b6006546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201526024810183905291925084169063095ea7b3906044016020604051808303816000875af11580156117c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e691906123e2565b506006546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015611856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187a919061214e565b6006546040517f94bf804d0000000000000000000000000000000000000000000000000000000081526004810185905230602482015291925073ffffffffffffffffffffffffffffffffffffffff16906394bf804d90604401600060405180830381600087803b1580156118ed57600080fd5b505af1158015611901573d6000803e3d6000fd5b50506006546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015284935073ffffffffffffffffffffffffffffffffffffffff90911691506370a0823190602401602060405180830381865afa158015611975573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611999919061214e565b6119a3919061211f565b9695505050505050565b600654604080517f38d52e0f000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916338d52e0f9160048083019260209291908290030181865afa158015611a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4191906121da565b905090565b60008060008473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aba919061218a565b5090925090506000611ace856103e5612346565b90506000611aec6dffffffffffffffffffffffffffff851683612346565b9050600082611b0d6dffffffffffffffffffffffffffff86166103e8612346565b611b179190612136565b90508773ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8891906121da565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152602482018a9052919091169063a9059cbb906044016020604051808303816000875af1158015611bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2391906123e2565b5073ffffffffffffffffffffffffffffffffffffffff881663022c0d9f611c4a8385612383565b600030815b6040519080825280601f01601f191660200182016040528015611c79576020820181803683370190505b506040518563ffffffff1660e01b8152600401611c999493929190612404565b600060405180830381600087803b158015611cb357600080fd5b505af1158015611cc7573d6000803e3d6000fd5b50506040517fbc25cf7700000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8b16925063bc25cf779150602401600060405180830381600087803b158015611d3257600080fd5b505af1158015611d46573d6000803e3d6000fd5b505050508082611d569190612383565b955050505050505b92915050565b60008060008473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd8919061218a565b5090925090506000611dec856103e5612346565b90506000611e0a6dffffffffffffffffffffffffffff841683612346565b9050600082611e2b6dffffffffffffffffffffffffffff87166103e8612346565b611e359190612136565b90508773ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea691906121da565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152602482018a9052919091169063a9059cbb906044016020604051808303816000875af1158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4191906123e2565b5073ffffffffffffffffffffffffffffffffffffffff881663022c0d9f6000611f6a8486612383565b306000611c4f565b6000815180845260005b81811015611f9857602081850181015186830182015201611f7c565b81811115611faa576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006111d26020830184611f72565b6000806040838503121561200357600080fd5b50508035926020909101359150565b60006020828403121561202457600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461204d57600080fd5b50565b60006020828403121561206257600080fd5b81356111d28161202b565b6000806040838503121561208057600080fd5b8235915060208301356120928161202b565b809150509250929050565b600181811c908216806120b157607f821691505b6020821081036120ea577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612131576121316120f0565b500390565b60008219821115612149576121496120f0565b500190565b60006020828403121561216057600080fd5b5051919050565b80516dffffffffffffffffffffffffffff8116811461218557600080fd5b919050565b60008060006060848603121561219f57600080fd5b6121a884612167565b92506121b660208501612167565b9150604084015163ffffffff811681146121cf57600080fd5b809150509250925092565b6000602082840312156121ec57600080fd5b81516111d28161202b565b60006020828403121561220957600080fd5b815160ff811681146111d257600080fd5b600181815b8085111561227357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612259576122596120f0565b8085161561226657918102915b93841c939080029061221f565b509250929050565b60008261228a57506001611d5e565b8161229757506000611d5e565b81600181146122ad57600281146122b7576122d3565b6001915050611d5e565b60ff8411156122c8576122c86120f0565b50506001821b611d5e565b5060208310610133831016604e8410600b84101617156122f6575081810a611d5e565b612300838361221a565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612332576123326120f0565b029392505050565b60006111d2838361227b565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561237e5761237e6120f0565b500290565b6000826123b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600080604083850312156123d157600080fd5b505080516020909101519092909150565b6000602082840312156123f457600080fd5b815180151581146111d257600080fd5b84815283602082015273ffffffffffffffffffffffffffffffffffffffff831660408201526080606082015260006119a36080830184611f7256fea2646970667358221220fdbb600ddd9baf2c9cc368ff3024dc16ef3da480f02edef5b59c8be3e6d05f0464736f6c634300080f0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc80000000000000000000000002105b54c400d8d95e1528285c07b908e0084fc4300000000000000000000000000000000000000000000000000000000000000c000000000000000000000000090da882144d063773a4586a83b277ce7a0ce68e0000000000000000000000000639fe6ab55c921f74e7fac1ee960c0b6293ba61200000000000000000000000050834f3163758fcc1df9973b6e91f0f0f0434ad3000000000000000000000000000000000000000000000000000000000000001353757368695377617020574554482f5553444300000000000000000000000000

-----Decoded View---------------
Arg [0] : _asset (address): 0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8
Arg [1] : _investor (address): 0x2105b54C400d8D95E1528285C07B908E0084fc43
Arg [2] : _name (string): SushiSwap WETH/USDC
Arg [3] : _vault (address): 0x90da882144D063773A4586A83b277ce7A0CE68E0
Arg [4] : _oracleToken0 (address): 0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612
Arg [5] : _oracleToken1 (address): 0x50834F3163758fcC1Df9973b6e91f0F0F0434aD3

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc8
Arg [1] : 0000000000000000000000002105b54c400d8d95e1528285c07b908e0084fc43
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [3] : 00000000000000000000000090da882144d063773a4586a83b277ce7a0ce68e0
Arg [4] : 000000000000000000000000639fe6ab55c921f74e7fac1ee960c0b6293ba612
Arg [5] : 00000000000000000000000050834f3163758fcc1df9973b6e91f0f0f0434ad3
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000013
Arg [7] : 53757368695377617020574554482f5553444300000000000000000000000000


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.