Contract 0xf1c9881be22ebf108b8927c4d197d126346b5036 1

 

Contract Overview

Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xe6c2678255825303de13e1b86e650539c3a33e59948cb009cf8d99bbf8713782Buy Weth231223122021-12-30 0:33:4825 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.00203415381
0x5669260fc4c9479114b9905a527b1a14a166d29ac3645a998bd31deab7123b4bBuy Weth231222542021-12-30 0:31:4825 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.00810542781
0x1038ff7ecbdf29bb98e4dfa96b55ade82b847843e779231e16bfc4c77b70abdfBuy Weth231222052021-12-30 0:30:0625 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.00932139981
0x5848ed65b2f9cd10a776267082342ed1915c13fb94137b2fc10ee06fb878ca3dBuy Weth231221832021-12-30 0:29:2125 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.00932139981
0x31e15c71e677c4aaa64e4c409830dc5a0427d3ff83c8c9231dccc9af8123cae1Buy Weth231221442021-12-30 0:27:5825 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.00846603981
0x4ee6b74b80b2b46a7cd619000b473769bb5298e775662b983576d5faae987e0bBuy Weth231221212021-12-30 0:27:1225 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.00932139981
0x05d83454bc607c985e41c7a7b0cf14c2e98851902d0287801caf89faa1be8bd6Buy Weth231221012021-12-30 0:26:2825 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0057539550
0xb297978a358926e83e7408456bf3ff95fdb99e2fe3ce422afa0969afd5d2bff2Buy Weth231220752021-12-30 0:25:3525 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0057539550
0xe5bbd394eeac4ccf296d9870b187f236330e01d520426d1d171a4827b3367723Buy Weth231220302021-12-30 0:24:0125 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0057539550
0xeb2c70c969e8898da1513f961eeed395dc046e51e0f1a768d18efdffb01e9a57Buy Weth231219712021-12-30 0:21:5925 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0052259550
0x0c65c9c43f0b009f2dae22ef385f2c88443533292c47d8eb8ad8a25c2959fca8Buy Weth231219222021-12-30 0:20:2125 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.014535750
0x60dce3b7b7769fdb7519ee2b218540a44edbfc455ff093402787e8993db6641cUnwind Pairs231218602021-12-30 0:18:1325 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.068150550
0x73ea5c6b5e8e28f3873a68df7e1e03666354fa03f775f18bce09aa9f2b70397bUnwind Pairs231218572021-12-30 0:18:0725 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.099855250
0xff7b28ca7a32a3f537cdf0e5e258ca55fb6536960f69fea3fece2d48d24f4342Unwind Pairs231218572021-12-30 0:18:0725 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.027589350
0x59b855f5c27cc233373055cf9a192161fc5868ddae19dd3a5e4da4ce4f83ab9fBuy Weth231218572021-12-30 0:18:0725 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0127532100
0x378e4de3b9c06d1f3b885f9cdf52fb4812ae842b32f9c52c06919abfdcdc348cBuy Weth231218572021-12-30 0:18:0725 days 5 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0053776550
0xe0240be8aa080881fe6e0b80968a3f9b8661824f7dd397d3f366d6c6d34bcd3cBuy Weth231210142021-12-29 23:42:4125 days 6 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0057539550
0x078cb99d98d1c8aaf87d2beb75ee83dca2c734509a32434c577df2257d70d6e0Buy Weth231209842021-12-29 23:41:4125 days 6 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0052259550
0x4eeefbd871d3156c5547b60ac1ae84b2b617a9e7c48978dad23fda9fbfc3a6edBuy Weth231209562021-12-29 23:40:4125 days 6 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0057539550
0xcf7e727e5e2cd7c570d80696fd3ee2e9b9c517540362a45e093f25c025f10bb1Buy Weth231191962021-12-29 22:33:4025 days 7 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0057539550
0x01ef46776b353421adddc5419b33a6948e0905e03c2e82261f664c57ad9d957dBuy Weth231189832021-12-29 22:25:2425 days 7 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0057539550
0xf09f76b484c87ecd5256b76a7058443f70075629883eb9beb6e215c01654de8aBuy Weth231189652021-12-29 22:24:4425 days 7 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0057539550
0xddecd312eb834c0bf01cd5f164d1498632e1d3d99885d83c188f74d20c9e9456Buy Weth231189382021-12-29 22:23:5025 days 7 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0057539550
0x163874d7fed41ff6b3e9c25aa1523f6772aee62c56453b71d2ba50f41866b04aBuy Weth231187852021-12-29 22:18:3625 days 7 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.005360650
0x3550719bf1f0f42ca5ecc203774059c2a0affe74f4bb8d53e4802acc9b9f5ae4Buy Weth231187852021-12-29 22:18:3625 days 7 hrs ago0x10025a49f69ba9445e9b81d0003b235ee629115f IN  0xf1c9881be22ebf108b8927c4d197d126346b50360 MATIC0.0057539550
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WethMaker

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 99999 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 6 : WethMaker.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity >=0.8.0;

import "./Unwindooor.sol";

/// @notice Contract for selling received tokens into weth. Deploy on secondary networks.
contract WethMaker is Unwindooor {

    event SetBridge(address indexed token, address bridge);

    address public immutable weth;

    mapping(address => address) public bridges;

    constructor(
        address owner,
        address user,
        address factory,
        address _weth
    ) Unwindooor(owner, user, factory) {
        weth = _weth;
    }

    function setBridge(address token, address bridge) external onlyOwner {
        bridges[token] = bridge;
        emit SetBridge(token, bridge);
    }

    // Exchange token for weth or its bridge token (which gets converted into weth in subsequent transactions).
    function buyWeth(
        address[] calldata tokens,
        uint256[] calldata amountsIn,
        uint256[] calldata minimumOuts
    ) external onlyTrusted {
        for (uint256 i = 0; i < tokens.length; i++) {

            address tokenIn = tokens[i];
            address outToken = bridges[tokenIn] == address(0) ? weth : bridges[tokenIn];
            if (_swap(tokenIn, outToken, amountsIn[i], address(this)) < minimumOuts[i]) revert SlippageProtection();
            
        }
    }

    function _swap(
        address tokenIn,
        address tokenOut,
        uint256 amountIn,
        address to
    ) internal returns (uint256 outAmount) {

        IUniV2 pair = IUniV2(factory.getPair(tokenIn, tokenOut));
        IERC20(tokenIn).transfer(address(pair), amountIn);

        (uint256 reserve0, uint256 reserve1, ) = pair.getReserves();

        if (tokenIn < tokenOut) {

            outAmount = _getAmountOut(amountIn, reserve0, reserve1);
            pair.swap(0, outAmount, to, "");

        } else {

            outAmount = _getAmountOut(amountIn, reserve1, reserve0);
            pair.swap(outAmount, 0, to, "");

        }

    }

    // Allow the owner to withdraw the funds and bridge them to mainnet.
    function withdraw(address token, address to, uint256 _value) onlyOwner external {
        if (token != address(0)) {
            _safeTransfer(token, to, _value);
        } else {
            (bool success, ) = to.call{value: _value}("");
            require(success);
        }
    }

    function doAction(address to, uint256 _value, bytes memory data) onlyOwner external {
        (bool success, ) = to.call{value: _value}(data);
        require(success);
    }

    receive() external payable {}

}

File 2 of 6 : Unwindooor.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity >=0.8.0;

import "./Auth.sol";
import "./interfaces/IUniV2.sol";
import "./interfaces/IUniV2Factory.sol";

/// @notice Contract for withdrawing LP positions.
/// @dev Calling unwindPairs() withdraws the LP position into one of the two tokens
contract Unwindooor is Auth {

    error SlippageProtection();
    error TransferFailed();

    bytes4 private constant TRANSFER_SELECTOR = bytes4(keccak256(bytes('transfer(address,uint256)')));

    IUniV2Factory public immutable factory;

    constructor(
        address owner,
        address user,
        address factoryAddress
    ) Auth(owner, user) {
        factory = IUniV2Factory(factoryAddress);
    }

    // We remove liquidity and sell tokensB[i] for tokensA[i].
    function unwindPairs(
        address[] calldata tokensA,
        address[] calldata tokensB,
        uint256[] calldata amounts,
        uint256[] calldata minimumOuts
    ) external onlyTrusted {
        for (uint256 i = 0; i < tokensA.length; i++) {
            
            address tokenA = tokensA[i];
            address tokenB = tokensB[i];
            bool keepToken0 = tokenA < tokenB;
            address pair = _pairFor(tokenA, tokenB);

            if (_unwindPair(IUniV2(pair), amounts[i], keepToken0, tokenB) < minimumOuts[i]) revert SlippageProtection();
        }
    }

    // Burn liquidity and sell one of the tokens for the other.
    function _unwindPair(
        IUniV2 pair,
        uint256 amount,
        bool keepToken0,
        address tokenToSell
    ) private returns (uint256 amountOut) {

        pair.transfer(address(pair), amount);
        (uint256 amount0, uint256 amount1) = pair.burn(address(this));
        (uint112 reserve0, uint112 reserve1,) = pair.getReserves();

        if (keepToken0) {
            _safeTransfer(tokenToSell, address(pair), amount1);
            amountOut = _getAmountOut(amount1, uint256(reserve1), uint256(reserve0));
            pair.swap(amountOut, 0, address(this), "");
            amountOut += amount0;
        } else {
            _safeTransfer(tokenToSell, address(pair), amount0);
            amountOut = _getAmountOut(amount0, uint256(reserve0), uint256(reserve1));
            pair.swap(0, amountOut, address(this), "");
            amountOut += amount1;
        }
    }

    // In case we don't want to sell one of the tokens for the other.
    function burnPairs(
        IUniV2[] calldata lpTokens,
        uint256[] calldata amounts,
        uint256[] calldata minimumOut0,
        uint256[] calldata minimumOut1
    ) external onlyTrusted {
        for (uint256 i = 0; i < lpTokens.length; i++) {
            IUniV2 pair = lpTokens[i];
            pair.transfer(address(pair), amounts[i]);
            (uint256 amount0, uint256 amount1) = pair.burn(address(this));
            if (amount0 < minimumOut0[i] || amount1 < minimumOut1[i]) revert SlippageProtection();
        }
    }

    function _getAmountOut(
        uint256 amountIn,
        uint256 reserveIn,
        uint256 reserveOut
    ) internal pure returns (uint256) {
        uint256 amountInWithFee = amountIn * 997;
        uint256 numerator = amountInWithFee * reserveOut;
        uint256 denominator = reserveIn * 1000 + amountInWithFee;
        return numerator / denominator;
    }

    function _safeTransfer(address token, address to, uint value) internal {
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(TRANSFER_SELECTOR, to, value));
        if (!success || (data.length != 0 && !abi.decode(data, (bool)))) revert TransferFailed();
    }

    function _pairFor(address tokenA, address tokenB) internal view returns (address pair) {
        (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        pair = address(uint160(uint256(keccak256(abi.encodePacked(
            hex'ff',
            factory,
            keccak256(abi.encodePacked(token0, token1)),
            hex'e18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303' // init code hash
        )))));
    }

}

File 3 of 6 : Auth.sol
// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity >=0.8.0;

abstract contract Auth {

    event SetOwner(address indexed owner);
    event SetTrusted(address indexed user, bool isTrusted);

    address public owner;

    mapping(address => bool) public trusted;

    error OnlyOwner();
    error OnlyTrusted();

    modifier onlyOwner() {
        if (msg.sender != owner) revert OnlyOwner();
        _;
    }

    modifier onlyTrusted() {
        if (!trusted[msg.sender]) revert OnlyTrusted();
        _;
    }

    constructor(address newOwner, address trustedUser) {
        owner = newOwner;
        trusted[trustedUser] = true;

        emit SetOwner(owner);
        emit SetTrusted(trustedUser, true);
    }

    function setOwner(address newOwner) external onlyOwner {
        owner = newOwner;
        emit SetOwner(newOwner);
    }

    function setTrusted(address user, bool isTrusted) external onlyOwner {
        trusted[user] = isTrusted;
        emit SetTrusted(user, isTrusted);
    }

}

File 4 of 6 : IUniV2.sol
// SPDX-License-Identifier: GPL-3.0-or-later

import "./IERC20.sol";

interface IUniV2 is IERC20 {
    function totalSupply() external view returns (uint256);
    function getReserves() external view returns (uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast);
    function burn(address to) external returns (uint256 amount0, uint256 amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function token0() external view returns (address);
    function token1() external view returns (address);
}

File 5 of 6 : IUniV2Factory.sol
// SPDX-License-Identifier: GPL-3.0-or-later

interface IUniV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address);
}

File 6 of 6 : IERC20.sol
// SPDX-License-Identifier: GPL-3.0-or-later

interface IERC20 {
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function balanceOf(address addy) external view returns (uint256);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 99999
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"user","type":"address"},{"internalType":"address","name":"factory","type":"address"},{"internalType":"address","name":"_weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"OnlyOwner","type":"error"},{"inputs":[],"name":"OnlyTrusted","type":"error"},{"inputs":[],"name":"SlippageProtection","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"bridge","type":"address"}],"name":"SetBridge","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"SetOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"isTrusted","type":"bool"}],"name":"SetTrusted","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bridges","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IUniV2[]","name":"lpTokens","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"uint256[]","name":"minimumOut0","type":"uint256[]"},{"internalType":"uint256[]","name":"minimumOut1","type":"uint256[]"}],"name":"burnPairs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokens","type":"address[]"},{"internalType":"uint256[]","name":"amountsIn","type":"uint256[]"},{"internalType":"uint256[]","name":"minimumOuts","type":"uint256[]"}],"name":"buyWeth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"doAction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"contract IUniV2Factory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"bridge","type":"address"}],"name":"setBridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"isTrusted","type":"bool"}],"name":"setTrusted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"trusted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"tokensA","type":"address[]"},{"internalType":"address[]","name":"tokensB","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"uint256[]","name":"minimumOuts","type":"uint256[]"}],"name":"unwindPairs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040523480156200001157600080fd5b5060405162001ebf38038062001ebf833981016040819052620000349162000126565b600080546001600160a01b0319166001600160a01b038681169190911782558481168252600160208190526040808420805460ff1916909217909155825490518793879387938693869391909216917f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb59190a2604051600181526001600160a01b038216907f878d105ed19c01e992a54459c2f04ba19432ac45600b42ce340d0342722074369060200160405180910390a250506001600160a01b039081166080529290921660a05250620001839350505050565b80516001600160a01b03811681146200012157600080fd5b919050565b600080600080608085870312156200013d57600080fd5b620001488562000109565b9350620001586020860162000109565b9250620001686040860162000109565b9150620001786060860162000109565b905092959194509250565b60805160a051611d01620001be600039600081816101360152610a4701526000818161028101528181610cf101526111ce0152611d016000f3fe6080604052600436106100d65760003560e01c80638e9be9f41161007f578063c45a015511610059578063c45a01551461026f578063ced67f0c146102a3578063d9caed12146102e6578063f32a12ac1461030657600080fd5b80638e9be9f41461020f5780639d22ae8c1461022f5780639dd8a81c1461024f57600080fd5b806354a0af17116100b057806354a0af17146101825780636e9821c2146101a25780638da5cb5b146101e257600080fd5b806313af4035146100e2578063248091c0146101045780633fc8cef31461012457600080fd5b366100dd57005b600080fd5b3480156100ee57600080fd5b506101026100fd3660046116fa565b610326565b005b34801561011057600080fd5b5061010261011f36600461176a565b6103e4565b34801561013057600080fd5b506101587f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018e57600080fd5b5061010261019d36600461185d565b61065d565b3480156101ae57600080fd5b506101d26101bd3660046116fa565b60016020526000908152604090205460ff1681565b6040519015158152602001610179565b3480156101ee57600080fd5b506000546101589073ffffffffffffffffffffffffffffffffffffffff1681565b34801561021b57600080fd5b5061010261022a36600461176a565b61072c565b34801561023b57600080fd5b5061010261024a366004611948565b61088c565b34801561025b57600080fd5b5061010261026a366004611981565b61096a565b34801561027b57600080fd5b506101587f000000000000000000000000000000000000000000000000000000000000000081565b3480156102af57600080fd5b506101586102be3660046116fa565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156102f257600080fd5b50610102610301366004611a1b565b610afc565b34801561031257600080fd5b50610102610321366004611a6a565b610b9b565b60005473ffffffffffffffffffffffffffffffffffffffff163314610377576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117825560405190917f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb591a250565b3360009081526001602052604090205460ff1661042d576040517fcf1119ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8781101561065257600089898381811061044c5761044c611a98565b905060200201602081019061046191906116fa565b90508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb828a8a8681811061049257610492611a98565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16815273ffffffffffffffffffffffffffffffffffffffff909416600485015260200291909101356024830152506044016020604051808303816000875af115801561050b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052f9190611ac7565b506040517f89afcb44000000000000000000000000000000000000000000000000000000008152306004820152600090819073ffffffffffffffffffffffffffffffffffffffff8416906389afcb449060240160408051808303816000875af11580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611ae4565b915091508787858181106105da576105da611a98565b9050602002013582108061060557508585858181106105fb576105fb611a98565b9050602002013581105b1561063c576040517f17d431f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050808061064a90611b37565b915050610430565b505050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146106ae576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1683836040516106d69190611b70565b60006040518083038185875af1925050503d8060008114610713576040519150601f19603f3d011682016040523d82523d6000602084013e610718565b606091505b505090508061072657600080fd5b50505050565b3360009081526001602052604090205460ff16610775576040517fcf1119ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8781101561065257600089898381811061079457610794611a98565b90506020020160208101906107a991906116fa565b905060008888848181106107bf576107bf611a98565b90506020020160208101906107d491906116fa565b905073ffffffffffffffffffffffffffffffffffffffff8082169083161060006107fe8484610c6f565b905086868681811061081257610812611a98565b9050602002013561083d828b8b8981811061082f5761082f611a98565b905060200201358587610df6565b1015610875576040517f17d431f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050808061088490611b37565b915050610778565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108dd576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82811660008181526002602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055905192835290917f8357797ab855a0bad5103ea8bd2f21f986350e94d73f143ae114db8f0db5a93a91015b60405180910390a25050565b3360009081526001602052604090205460ff166109b3576040517fcf1119ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b85811015610af35760008787838181106109d2576109d2611a98565b90506020020160208101906109e791906116fa565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260026020526040812054929350911615610a455773ffffffffffffffffffffffffffffffffffffffff80831660009081526002602052604090205416610a67565b7f00000000000000000000000000000000000000000000000000000000000000005b9050848484818110610a7b57610a7b611a98565b90506020020135610aa683838a8a88818110610a9957610a99611a98565b905060200201353061117c565b1015610ade576040517f17d431f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50508080610aeb90611b37565b9150506109b6565b50505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b4d576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831615610b7957610b74838383611511565b505050565b60008273ffffffffffffffffffffffffffffffffffffffff16826040516106d6565b60005473ffffffffffffffffffffffffffffffffffffffff163314610bec576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660008181526001602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527f878d105ed19c01e992a54459c2f04ba19432ac45600b42ce340d034272207436910161095e565b60008060008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1610610cae578385610cb1565b84845b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084811b8216602084015283901b16603482015291935091507f00000000000000000000000000000000000000000000000000000000000000009060480160405160208183030381529060405280519060200120604051602001610db79291907fff00000000000000000000000000000000000000000000000000000000000000815260609290921b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016600183015260158201527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303603582015260550190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012095945050505050565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482018190526024820185905260009163a9059cbb906044016020604051808303816000875af1158015610e6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e909190611ac7565b506040517f89afcb44000000000000000000000000000000000000000000000000000000008152306004820152600090819073ffffffffffffffffffffffffffffffffffffffff8816906389afcb449060240160408051808303816000875af1158015610f01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f259190611ae4565b915091506000808873ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610f77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9b9190611bce565b5091509150861561108d57610fb1868a85611511565b610fdc83826dffffffffffffffffffffffffffff16846dffffffffffffffffffffffffffff16611686565b6040517f022c0d9f0000000000000000000000000000000000000000000000000000000081526004810182905260006024820181905230604483015260806064830152608482015290955073ffffffffffffffffffffffffffffffffffffffff8a169063022c0d9f9060a401600060405180830381600087803b15801561106257600080fd5b505af1158015611076573d6000803e3d6000fd5b5050505083856110869190611c1e565b9450611170565b611098868a86611511565b6110c384836dffffffffffffffffffffffffffff16836dffffffffffffffffffffffffffff16611686565b6040517f022c0d9f0000000000000000000000000000000000000000000000000000000081526000600482018190526024820183905230604483015260806064830152608482015290955073ffffffffffffffffffffffffffffffffffffffff8a169063022c0d9f9060a401600060405180830381600087803b15801561114957600080fd5b505af115801561115d573d6000803e3d6000fd5b50505050828561116d9190611c1e565b94505b50505050949350505050565b6040517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152848116602483015260009182917f0000000000000000000000000000000000000000000000000000000000000000169063e6a4390590604401602060405180830381865afa158015611215573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112399190611c36565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8083166004830152602482018790529192509087169063a9059cbb906044016020604051808303816000875af11580156112b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d69190611ac7565b506000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113499190611bce565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161015611456576113ad868383611686565b6040517f022c0d9f0000000000000000000000000000000000000000000000000000000081526000600482018190526024820183905273ffffffffffffffffffffffffffffffffffffffff88811660448401526080606484015260848301919091529195509084169063022c0d9f9060a401600060405180830381600087803b15801561143957600080fd5b505af115801561144d573d6000803e3d6000fd5b50505050611506565b611461868284611686565b6040517f022c0d9f0000000000000000000000000000000000000000000000000000000081526004810182905260006024820181905273ffffffffffffffffffffffffffffffffffffffff88811660448401526080606484015260848301919091529195509084169063022c0d9f9060a401600060405180830381600087803b1580156114ed57600080fd5b505af1158015611501573d6000803e3d6000fd5b505050505b505050949350505050565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052915160009283928716916115d89190611b70565b6000604051808303816000865af19150503d8060008114611615576040519150601f19603f3d011682016040523d82523d6000602084013e61161a565b606091505b509150915081158061164857508051158015906116485750808060200190518101906116469190611ac7565b155b1561167f576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b600080611695856103e5611c53565b905060006116a38483611c53565b90506000826116b4876103e8611c53565b6116be9190611c1e565b90506116ca8183611c90565b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146116f757600080fd5b50565b60006020828403121561170c57600080fd5b8135611717816116d5565b9392505050565b60008083601f84011261173057600080fd5b50813567ffffffffffffffff81111561174857600080fd5b6020830191508360208260051b850101111561176357600080fd5b9250929050565b6000806000806000806000806080898b03121561178657600080fd5b883567ffffffffffffffff8082111561179e57600080fd5b6117aa8c838d0161171e565b909a50985060208b01359150808211156117c357600080fd5b6117cf8c838d0161171e565b909850965060408b01359150808211156117e857600080fd5b6117f48c838d0161171e565b909650945060608b013591508082111561180d57600080fd5b5061181a8b828c0161171e565b999c989b5096995094979396929594505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561187257600080fd5b833561187d816116d5565b925060208401359150604084013567ffffffffffffffff808211156118a157600080fd5b818601915086601f8301126118b557600080fd5b8135818111156118c7576118c761182e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561190d5761190d61182e565b8160405282815289602084870101111561192657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000806040838503121561195b57600080fd5b8235611966816116d5565b91506020830135611976816116d5565b809150509250929050565b6000806000806000806060878903121561199a57600080fd5b863567ffffffffffffffff808211156119b257600080fd5b6119be8a838b0161171e565b909850965060208901359150808211156119d757600080fd5b6119e38a838b0161171e565b909650945060408901359150808211156119fc57600080fd5b50611a0989828a0161171e565b979a9699509497509295939492505050565b600080600060608486031215611a3057600080fd5b8335611a3b816116d5565b92506020840135611a4b816116d5565b929592945050506040919091013590565b80151581146116f757600080fd5b60008060408385031215611a7d57600080fd5b8235611a88816116d5565b9150602083013561197681611a5c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215611ad957600080fd5b815161171781611a5c565b60008060408385031215611af757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611b6957611b69611b08565b5060010190565b6000825160005b81811015611b915760208186018101518583015201611b77565b81811115611ba0576000828501525b509190910192915050565b80516dffffffffffffffffffffffffffff81168114611bc957600080fd5b919050565b600080600060608486031215611be357600080fd5b611bec84611bab565b9250611bfa60208501611bab565b9150604084015163ffffffff81168114611c1357600080fd5b809150509250925092565b60008219821115611c3157611c31611b08565b500190565b600060208284031215611c4857600080fd5b8151611717816116d5565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611c8b57611c8b611b08565b500290565b600082611cc6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea26469706673582212203c815bbb6a5a7610479a9ede08d07e580bf714b9dbe29de5651e51e1226f4fcb64736f6c634300080a00330000000000000000000000003027a0c4e35272c0707de2651a0638c3df1c37ac00000000000000000000000010025a49f69ba9445e9b81d0003b235ee629115f000000000000000000000000c35dadb65012ec5796536bd9864ed8773abc74c40000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619

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

0000000000000000000000003027a0c4e35272c0707de2651a0638c3df1c37ac00000000000000000000000010025a49f69ba9445e9b81d0003b235ee629115f000000000000000000000000c35dadb65012ec5796536bd9864ed8773abc74c40000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619

-----Decoded View---------------
Arg [0] : owner (address): 0x3027a0c4e35272c0707de2651a0638c3df1c37ac
Arg [1] : user (address): 0x10025a49f69ba9445e9b81d0003b235ee629115f
Arg [2] : factory (address): 0xc35dadb65012ec5796536bd9864ed8773abc74c4
Arg [3] : _weth (address): 0x7ceb23fd6bc0add59e62ac25578270cff1b9f619

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000003027a0c4e35272c0707de2651a0638c3df1c37ac
Arg [1] : 00000000000000000000000010025a49f69ba9445e9b81d0003b235ee629115f
Arg [2] : 000000000000000000000000c35dadb65012ec5796536bd9864ed8773abc74c4
Arg [3] : 0000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f619


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