Contract 0x1c8fa2f5f7520eef45b7e4816687af0e8e991760

Contract Overview

SushiSwap: WethMaker
Balance:
0 MOVR

MOVR Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x2028300551ba697e79f46e0aadb97c3d2b68876edd4bb7864a4ed122a475592dUnwind Pairs46228322023-07-07 21:02:5476 days 10 hrs ago0x7812bcd0c0de8d15ff4c47391d2d9ae1b4de13f0 IN  SushiSwap: WethMaker0 MOVR0.001185
0xd9aacf67842fc7d8bb506cf76394dd25731c46e0a5e5d32d38042cb04febc576Burn Pairs42976342023-05-22 23:44:36122 days 7 hrs ago0x7812bcd0c0de8d15ff4c47391d2d9ae1b4de13f0 IN  SushiSwap: WethMaker0 MOVR0.00022148625
0xe6614f0bdbcbbf483d01eb43205969105dc87f809bf0d27911f601669127115aUnwind Pairs42976192023-05-22 23:41:36122 days 7 hrs ago0x7812bcd0c0de8d15ff4c47391d2d9ae1b4de13f0 IN  SushiSwap: WethMaker0 MOVR0.00020854125
0x483a1ca73d2a28633f8070ae6b1acac3630423354a5f941913b6983af2e30a10Unwind Pairs42976032023-05-22 23:38:24122 days 7 hrs ago0x7812bcd0c0de8d15ff4c47391d2d9ae1b4de13f0 IN  SushiSwap: WethMaker0 MOVR0.001647195
0xe140f2b017834930b90563711858bcf13ab45320434aae1ef3a84bcff4ab900eUnwind Pairs30626752022-11-25 13:19:42300 days 18 hrs ago0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0 IN  SushiSwap: WethMaker0 MOVR0.001923903
0x0258c941307da99e739b56a07e7bafed44fdac8076cafe1649124ba217fd19dfUnwind Pairs27602902022-10-12 19:17:36344 days 12 hrs ago0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0 IN  SushiSwap: WethMaker0 MOVR0.001965756
0xa6953622f4f95915412b89b4d0af86299c3b52bba874613c7cd5b2bed1114326Unwind Pairs27602882022-10-12 19:17:12344 days 12 hrs ago0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0 IN  SushiSwap: WethMaker0 MOVR0.002347497
0x92132c0ecd71a422ee9264d12a9f110383b4a9d3c18eb4e5757c6d4e09ef522aUnwind Pairs25869832022-09-17 19:03:48369 days 12 hrs ago0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0 IN  SushiSwap: WethMaker0 MOVR0.001478631
0x6022dc6cf30b1f6c042a50973a749e7be3e0d2c803156922d1934897275a25d2Unwind Pairs25869822022-09-17 19:03:36369 days 12 hrs ago0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0 IN  SushiSwap: WethMaker0 MOVR0.00148095
0x0ec4ae943bc1efdac0bdc67162e4739e5d2f23d316146fcb26716b9112587ee6Unwind Pairs25869812022-09-17 19:03:24369 days 12 hrs ago0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0 IN  SushiSwap: WethMaker0 MOVR0.001489293
0xdf91c791c6aa459214b97637785b163381fab4117d6ef00fdf92d19a59f94991Unwind Pairs24676322022-08-29 20:18:00388 days 11 hrs ago0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0 IN  SushiSwap: WethMaker0 MOVR0.002064789
0x3da7e00c63381c7c5d3bc4904302440882eba307094fd93f35f8c514939f6901Unwind Pairs24676312022-08-29 20:16:30388 days 11 hrs ago0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0 IN  SushiSwap: WethMaker0 MOVR0.002512515
0xb364471a941b8718335a22dbf6a5cd31b145a510b305e08961c2fb6b9bd4309cUnwind Pairs24030152022-08-18 21:33:54399 days 9 hrs ago0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0 IN  SushiSwap: WethMaker0 MOVR0.002428314
0x7baf8aad3f8c87ecd7da8b0760360c6480000d20f88753de0474a5c41ce5ca6b0x60c0604021894302022-07-12 18:59:42436 days 12 hrs ago0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0 IN  Create: WethMaker0 MOVR0.004624095
[ Download CSV Export 
Parent Txn Hash Block From To Value
Index Block
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WethMaker

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at moonriver.moonscan.io on 2022-07-12
*/

// Sources flattened with hardhat v2.8.2 https://hardhat.org

// File contracts/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 contracts/interfaces/IERC20.sol

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);
}


// File contracts/interfaces/IUniV2.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 contracts/interfaces/IUniV2Factory.sol

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


// File contracts/Unwindooor.sol

pragma solidity >=0.8.0;



/// @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 contracts/WethMaker.sol

pragma solidity >=0.8.0;

/// @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(_pairFor(tokenIn, tokenOut));
        _safeTransfer(tokenIn, 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 {}

}

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"}]

60c06040523480156200001157600080fd5b50604051620017b0380380620017b0833981016040819052620000349162000126565b600080546001600160a01b0319166001600160a01b038681169190911782558481168252600160208190526040808420805460ff1916909217909155825490518793879387938693869391909216917f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb59190a2604051600181526001600160a01b038216907f878d105ed19c01e992a54459c2f04ba19432ac45600b42ce340d0342722074369060200160405180910390a250506001600160a01b039081166080529290921660a05250620001839350505050565b80516001600160a01b03811681146200012157600080fd5b919050565b600080600080608085870312156200013d57600080fd5b620001488562000109565b9350620001586020860162000109565b9250620001686040860162000109565b9150620001786060860162000109565b905092959194509250565b60805160a0516115f9620001b760003960008181610126015261084b0152600081816102570152610a1e01526115f96000f3fe6080604052600436106100c65760003560e01c80638e9be9f41161007f578063c45a015511610059578063c45a015514610245578063ced67f0c14610279578063d9caed12146102af578063f32a12ac146102cf57600080fd5b80638e9be9f4146101e55780639d22ae8c146102055780639dd8a81c1461022557600080fd5b806313af4035146100d2578063248091c0146100f45780633fc8cef31461011457806354a0af17146101655780636e9821c2146101855780638da5cb5b146101c557600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b506100f26100ed3660046110a6565b6102ef565b005b34801561010057600080fd5b506100f261010f366004611116565b610362565b34801561012057600080fd5b506101487f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017157600080fd5b506100f26101803660046111f0565b610551565b34801561019157600080fd5b506101b56101a03660046110a6565b60016020526000908152604090205460ff1681565b604051901515815260200161015c565b3480156101d157600080fd5b50600054610148906001600160a01b031681565b3480156101f157600080fd5b506100f2610200366004611116565b6105ed565b34801561021157600080fd5b506100f26102203660046112bd565b61070e565b34801561023157600080fd5b506100f26102403660046112f6565b6107a1565b34801561025157600080fd5b506101487f000000000000000000000000000000000000000000000000000000000000000081565b34801561028557600080fd5b506101486102943660046110a6565b6002602052600090815260409020546001600160a01b031681565b3480156102bb57600080fd5b506100f26102ca366004611390565b6108e7565b3480156102db57600080fd5b506100f26102ea3660046113df565b610946565b6000546001600160a01b0316331461031a57604051635fc483c560e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b038316908117825560405190917f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb591a250565b3360009081526001602052604090205460ff166103925760405163cf1119ab60e01b815260040160405180910390fd5b60005b878110156105465760008989838181106103b1576103b161140d565b90506020020160208101906103c691906110a6565b9050806001600160a01b031663a9059cbb828a8a868181106103ea576103ea61140d565b6040516001600160e01b031960e087901b1681526001600160a01b03909416600485015260200291909101356024830152506044016020604051808303816000875af115801561043e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104629190611423565b5060405163226bf2d160e21b815230600482015260009081906001600160a01b038416906389afcb449060240160408051808303816000875af11580156104ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d19190611440565b915091508787858181106104e7576104e761140d565b9050602002013582108061051257508585858181106105085761050861140d565b9050602002013581105b15610530576040516305f50c7d60e21b815260040160405180910390fd5b505050808061053e9061147a565b915050610395565b505050505050505050565b6000546001600160a01b0316331461057c57604051635fc483c560e01b815260040160405180910390fd5b6000836001600160a01b031683836040516105979190611495565b60006040518083038185875af1925050503d80600081146105d4576040519150601f19603f3d011682016040523d82523d6000602084013e6105d9565b606091505b50509050806105e757600080fd5b50505050565b3360009081526001602052604090205460ff1661061d5760405163cf1119ab60e01b815260040160405180910390fd5b60005b8781101561054657600089898381811061063c5761063c61140d565b905060200201602081019061065191906110a6565b905060008888848181106106675761066761140d565b905060200201602081019061067c91906110a6565b90506001600160a01b0380821690831610600061069984846109c9565b90508686868181106106ad576106ad61140d565b905060200201356106d8828b8b898181106106ca576106ca61140d565b905060200201358587610ada565b10156106f7576040516305f50c7d60e21b815260040160405180910390fd5b5050505080806107069061147a565b915050610620565b6000546001600160a01b0316331461073957604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b0382811660008181526002602090815260409182902080546001600160a01b0319169486169485179055905192835290917f8357797ab855a0bad5103ea8bd2f21f986350e94d73f143ae114db8f0db5a93a91015b60405180910390a25050565b3360009081526001602052604090205460ff166107d15760405163cf1119ab60e01b815260040160405180910390fd5b60005b858110156108de5760008787838181106107f0576107f061140d565b905060200201602081019061080591906110a6565b6001600160a01b03808216600090815260026020526040812054929350911615610849576001600160a01b038083166000908152600260205260409020541661086b565b7f00000000000000000000000000000000000000000000000000000000000000005b905084848481811061087f5761087f61140d565b905060200201356108aa83838a8a8881811061089d5761089d61140d565b9050602002013530610d7b565b10156108c9576040516305f50c7d60e21b815260040160405180910390fd5b505080806108d69061147a565b9150506107d4565b50505050505050565b6000546001600160a01b0316331461091257604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b038316156109315761092c838383610f1e565b505050565b6000826001600160a01b031682604051610597565b6000546001600160a01b0316331461097157604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b038216600081815260016020908152604091829020805460ff191685151590811790915591519182527f878d105ed19c01e992a54459c2f04ba19432ac45600b42ce340d0342722074369101610795565b6000806000836001600160a01b0316856001600160a01b0316106109ee5783856109f1565b84845b6040516bffffffffffffffffffffffff19606084811b8216602084015283901b16603482015291935091507f00000000000000000000000000000000000000000000000000000000000000009060480160405160208183030381529060405280519060200120604051602001610ab99291906001600160f81b0319815260609290921b6bffffffffffffffffffffffff1916600183015260158201527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303603582015260550190565b60408051601f19818403018152919052805160209091012095945050505050565b60405163a9059cbb60e01b81526001600160a01b038516600482018190526024820185905260009163a9059cbb906044016020604051808303816000875af1158015610b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4e9190611423565b5060405163226bf2d160e21b815230600482015260009081906001600160a01b038816906389afcb449060240160408051808303816000875af1158015610b99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbd9190611440565b91509150600080886001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610c02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2691906114ec565b50915091508615610cd257610c3c868a85610f1e565b610c5983826001600160701b0316846001600160701b031661103f565b60405163022c0d9f60e01b81529095506001600160a01b038a169063022c0d9f90610c8d908890600090309060040161153c565b600060405180830381600087803b158015610ca757600080fd5b505af1158015610cbb573d6000803e3d6000fd5b505050508385610ccb919061156a565b9450610d6f565b610cdd868a86610f1e565b610cfa84836001600160701b0316836001600160701b031661103f565b60405163022c0d9f60e01b81529095506001600160a01b038a169063022c0d9f90610d2e906000908990309060040161153c565b600060405180830381600087803b158015610d4857600080fd5b505af1158015610d5c573d6000803e3d6000fd5b505050508285610d6c919061156a565b94505b50505050949350505050565b600080610d8886866109c9565b9050610d95868286610f1e565b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610dd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfa91906114ec565b506001600160701b031691506001600160701b03169150866001600160a01b0316886001600160a01b03161015610ea157610e3686838361103f565b60405163022c0d9f60e01b81529094506001600160a01b0384169063022c0d9f90610e6a9060009088908a9060040161153c565b600060405180830381600087803b158015610e8457600080fd5b505af1158015610e98573d6000803e3d6000fd5b50505050610f13565b610eac86828461103f565b60405163022c0d9f60e01b81529094506001600160a01b0384169063022c0d9f90610ee09087906000908a9060040161153c565b600060405180830381600087803b158015610efa57600080fd5b505af1158015610f0e573d6000803e3d6000fd5b505050505b505050949350505050565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b17905291516000928392871691610faa9190611495565b6000604051808303816000865af19150503d8060008114610fe7576040519150601f19603f3d011682016040523d82523d6000602084013e610fec565b606091505b509150915081158061101a575080511580159061101a5750808060200190518101906110189190611423565b155b15611038576040516312171d8360e31b815260040160405180910390fd5b5050505050565b60008061104e856103e5611582565b9050600061105c8483611582565b905060008261106d876103e8611582565b611077919061156a565b905061108381836115a1565b979650505050505050565b6001600160a01b03811681146110a357600080fd5b50565b6000602082840312156110b857600080fd5b81356110c38161108e565b9392505050565b60008083601f8401126110dc57600080fd5b50813567ffffffffffffffff8111156110f457600080fd5b6020830191508360208260051b850101111561110f57600080fd5b9250929050565b6000806000806000806000806080898b03121561113257600080fd5b883567ffffffffffffffff8082111561114a57600080fd5b6111568c838d016110ca565b909a50985060208b013591508082111561116f57600080fd5b61117b8c838d016110ca565b909850965060408b013591508082111561119457600080fd5b6111a08c838d016110ca565b909650945060608b01359150808211156111b957600080fd5b506111c68b828c016110ca565b999c989b5096995094979396929594505050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561120557600080fd5b83356112108161108e565b925060208401359150604084013567ffffffffffffffff8082111561123457600080fd5b818601915086601f83011261124857600080fd5b81358181111561125a5761125a6111da565b604051601f8201601f19908116603f01168101908382118183101715611282576112826111da565b8160405282815289602084870101111561129b57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600080604083850312156112d057600080fd5b82356112db8161108e565b915060208301356112eb8161108e565b809150509250929050565b6000806000806000806060878903121561130f57600080fd5b863567ffffffffffffffff8082111561132757600080fd5b6113338a838b016110ca565b9098509650602089013591508082111561134c57600080fd5b6113588a838b016110ca565b9096509450604089013591508082111561137157600080fd5b5061137e89828a016110ca565b979a9699509497509295939492505050565b6000806000606084860312156113a557600080fd5b83356113b08161108e565b925060208401356113c08161108e565b929592945050506040919091013590565b80151581146110a357600080fd5b600080604083850312156113f257600080fd5b82356113fd8161108e565b915060208301356112eb816113d1565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561143557600080fd5b81516110c3816113d1565b6000806040838503121561145357600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b600060001982141561148e5761148e611464565b5060010190565b6000825160005b818110156114b6576020818601810151858301520161149c565b818111156114c5576000828501525b509190910192915050565b80516001600160701b03811681146114e757600080fd5b919050565b60008060006060848603121561150157600080fd5b61150a846114d0565b9250611518602085016114d0565b9150604084015163ffffffff8116811461153157600080fd5b809150509250925092565b92835260208301919091526001600160a01b0316604082015260806060820181905260009082015260a00190565b6000821982111561157d5761157d611464565b500190565b600081600019048311821515161561159c5761159c611464565b500290565b6000826115be57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212202a202e122b4b15a8300b5ebfacac7977070794a7640ce91553cb6607f254f91664736f6c634300080b0033000000000000000000000000939f7e76cc515cc296dd3ce362d9a52e148a7d5f0000000000000000000000004bb4c1b0745ef7b4642feeccd0740dec417ca0a0000000000000000000000000c35dadb65012ec5796536bd9864ed8773abc74c4000000000000000000000000639a647fbe20b6c8ac19e48e2de44ea792c62c5c

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

000000000000000000000000939f7e76cc515cc296dd3ce362d9a52e148a7d5f0000000000000000000000004bb4c1b0745ef7b4642feeccd0740dec417ca0a0000000000000000000000000c35dadb65012ec5796536bd9864ed8773abc74c4000000000000000000000000639a647fbe20b6c8ac19e48e2de44ea792c62c5c

-----Decoded View---------------
Arg [0] : owner (address): 0x939f7e76cc515cc296dd3ce362d9a52e148a7d5f
Arg [1] : user (address): 0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0
Arg [2] : factory (address): 0xc35dadb65012ec5796536bd9864ed8773abc74c4
Arg [3] : _weth (address): 0x639a647fbe20b6c8ac19e48e2de44ea792c62c5c

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000939f7e76cc515cc296dd3ce362d9a52e148a7d5f
Arg [1] : 0000000000000000000000004bb4c1b0745ef7b4642feeccd0740dec417ca0a0
Arg [2] : 000000000000000000000000c35dadb65012ec5796536bd9864ed8773abc74c4
Arg [3] : 000000000000000000000000639a647fbe20b6c8ac19e48e2de44ea792c62c5c


Deployed ByteCode Sourcemap

6457:2431:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;859:124;;;;;;;;;;-1:-1:-1;859:124:0;;;;;:::i;:::-;;:::i;:::-;;4576:550;;;;;;;;;;-1:-1:-1;4576:550:0;;;;;:::i;:::-;;:::i;6562:29::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2401:32:1;;;2383:51;;2371:2;2356:18;6562:29:0;;;;;;;;8669:177;;;;;;;;;;-1:-1:-1;8669:177:0;;;;;:::i;:::-;;:::i;338:39::-;;;;;;;;;;-1:-1:-1;338:39:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3871:14:1;;3864:22;3846:41;;3834:2;3819:18;338:39:0;3706:187:1;309:20:0;;;;;;;;;;-1:-1:-1;309:20:0;;;;-1:-1:-1;;;;;309:20:0;;;2913:600;;;;;;;;;;-1:-1:-1;2913:600:0;;;;;:::i;:::-;;:::i;6839:151::-;;;;;;;;;;-1:-1:-1;6839:151:0;;;;;:::i;:::-;;:::i;7111:501::-;;;;;;;;;;-1:-1:-1;7111:501:0;;;;;:::i;:::-;;:::i;2619:38::-;;;;;;;;;;;;;;;6600:42;;;;;;;;;;-1:-1:-1;6600:42:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;6600:42:0;;;8370:291;;;;;;;;;;-1:-1:-1;8370:291:0;;;;;:::i;:::-;;:::i;991:156::-;;;;;;;;;;-1:-1:-1;991:156:0;;;;;:::i;:::-;;:::i;859:124::-;488:5;;-1:-1:-1;;;;;488:5:0;474:10;:19;470:43;;502:11;;-1:-1:-1;;;502:11:0;;;;;;;;;;;470:43;925:5:::1;:16:::0;;-1:-1:-1;;;;;;925:16:0::1;-1:-1:-1::0;;;;;925:16:0;::::1;::::0;;::::1;::::0;;957:18:::1;::::0;925:16;;957:18:::1;::::0;::::1;859:124:::0;:::o;4576:550::-;588:10;580:19;;;;:7;:19;;;;;;;;575:46;;608:13;;-1:-1:-1;;;608:13:0;;;;;;;;;;;575:46;4795:9:::1;4790:329;4810:19:::0;;::::1;4790:329;;;4851:11;4865:8;;4874:1;4865:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;4851:25;;4891:4;-1:-1:-1::0;;;;;4891:13:0::1;;4913:4;4920:7;;4928:1;4920:10;;;;;;;:::i;:::-;4891:40;::::0;-1:-1:-1;;;;;;4891:40:0::1;::::0;;;;;;-1:-1:-1;;;;;8639:32:1;;;4891:40:0::1;::::0;::::1;8621:51:1::0;4920:10:0::1;;::::0;;;::::1;;8688:18:1::0;;;8681:34;-1:-1:-1;8594:18:1;;4891:40:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;4983:24:0::1;::::0;-1:-1:-1;;;4983:24:0;;5001:4:::1;4983:24;::::0;::::1;2383:51:1::0;4947:15:0::1;::::0;;;-1:-1:-1;;;;;4983:9:0;::::1;::::0;::::1;::::0;2356:18:1;;4983:24:0::1;::::0;::::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4946:61;;;;5036:11;;5048:1;5036:14;;;;;;;:::i;:::-;;;;;;;5026:7;:24;:52;;;;5064:11;;5076:1;5064:14;;;;;;;:::i;:::-;;;;;;;5054:7;:24;5026:52;5022:85;;;5087:20;;-1:-1:-1::0;;;5087:20:0::1;;;;;;;;;;;5022:85;4836:283;;;4831:3;;;;;:::i;:::-;;;;4790:329;;;;4576:550:::0;;;;;;;;:::o;8669:177::-;488:5;;-1:-1:-1;;;;;488:5:0;474:10;:19;470:43;;502:11;;-1:-1:-1;;;502:11:0;;;;;;;;;;;470:43;8765:12:::1;8783:2;-1:-1:-1::0;;;;;8783:7:0::1;8798:6;8806:4;8783:28;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8764:47;;;8830:7;8822:16;;;::::0;::::1;;8753:93;8669:177:::0;;;:::o;2913:600::-;588:10;580:19;;;;:7;:19;;;;;;;;575:46;;608:13;;-1:-1:-1;;;608:13:0;;;;;;;;;;;575:46;3130:9:::1;3125:381;3145:18:::0;;::::1;3125:381;;;3199:14;3216:7;;3224:1;3216:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;3199:27;;3241:14;3258:7;;3266:1;3258:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;3241:27:::0;-1:-1:-1;;;;;;3301:15:0;;::::1;::::0;;::::1;;3283;3346:24;3301:6:::0;3241:27;3346:8:::1;:24::i;:::-;3331:39;;3451:11;;3463:1;3451:14;;;;;;;:::i;:::-;;;;;;;3391:57;3410:4;3417:7;;3425:1;3417:10;;;;;;;:::i;:::-;;;;;;;3429;3441:6;3391:11;:57::i;:::-;:74;3387:107;;;3474:20;;-1:-1:-1::0;;;3474:20:0::1;;;;;;;;;;;3387:107;3170:336;;;;3165:3;;;;;:::i;:::-;;;;3125:381;;6839:151:::0;488:5;;-1:-1:-1;;;;;488:5:0;474:10;:19;470:43;;502:11;;-1:-1:-1;;;502:11:0;;;;;;;;;;;470:43;-1:-1:-1;;;;;6919:14:0;;::::1;;::::0;;;:7:::1;:14;::::0;;;;;;;;:23;;-1:-1:-1;;;;;;6919:23:0::1;::::0;;::::1;::::0;;::::1;::::0;;6958:24;;2383:51:1;;;6919:14:0;;6958:24:::1;::::0;2356:18:1;6958:24:0::1;;;;;;;;6839:151:::0;;:::o;7111:501::-;588:10;580:19;;;;:7;:19;;;;;;;;575:46;;608:13;;-1:-1:-1;;;608:13:0;;;;;;;;;;;575:46;7288:9:::1;7283:322;7303:17:::0;;::::1;7283:322;;;7344:15;7362:6;;7369:1;7362:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7405:16:0;;::::1;7386;7405::::0;;;:7:::1;:16;::::0;;;;;7344:27;;-1:-1:-1;7386:16:0;7405::::1;:30:::0;:56:::1;;-1:-1:-1::0;;;;;7445:16:0;;::::1;;::::0;;;:7:::1;:16;::::0;;;;;::::1;7405:56;;;7438:4;7405:56;7386:75;;7536:11;;7548:1;7536:14;;;;;;;:::i;:::-;;;;;;;7480:53;7486:7;7495:8;7505:9;;7515:1;7505:12;;;;;;;:::i;:::-;;;;;;;7527:4;7480:5;:53::i;:::-;:70;7476:103;;;7559:20;;-1:-1:-1::0;;;7559:20:0::1;;;;;;;;;;;7476:103;7327:278;;7322:3;;;;;:::i;:::-;;;;7283:322;;;;7111:501:::0;;;;;;:::o;8370:291::-;488:5;;-1:-1:-1;;;;;488:5:0;474:10;:19;470:43;;502:11;;-1:-1:-1;;;502:11:0;;;;;;;;;;;470:43;-1:-1:-1;;;;;8465:19:0;::::1;::::0;8461:193:::1;;8501:32;8515:5;8522:2;8526:6;8501:13;:32::i;:::-;8370:291:::0;;;:::o;8461:193::-:1;8567:12;8585:2;-1:-1:-1::0;;;;;8585:7:0::1;8600:6;8585:26;;;9929:205:1::0;991:156:0;488:5;;-1:-1:-1;;;;;488:5:0;474:10;:19;470:43;;502:11;;-1:-1:-1;;;502:11:0;;;;;;;;;;;470:43;-1:-1:-1;;;;;1071:13:0;::::1;;::::0;;;:7:::1;:13;::::0;;;;;;;;:25;;-1:-1:-1;;1071:25:0::1;::::0;::::1;;::::0;;::::1;::::0;;;1112:27;;3846:41:1;;;1112:27:0::1;::::0;3819:18:1;1112:27:0::1;3706:187:1::0;5811:481:0;5884:12;5910:14;5926;5953:6;-1:-1:-1;;;;;5944:15:0;:6;-1:-1:-1;;;;;5944:15:0;;:53;;5982:6;5990;5944:53;;;5963:6;5971;5944:53;6134:32;;-1:-1:-1;;10366:2:1;10362:15;;;10358:24;;6134:32:0;;;10346:37:1;10417:15;;;10413:24;10399:12;;;10392:46;5909:88:0;;-1:-1:-1;5909:88:0;-1:-1:-1;6102:7:0;;10454:12:1;;6134:32:0;;;;;;;;;;;;6124:43;;;;;;6049:231;;;;;;;;-1:-1:-1;;;;;;10857:26:1;;10920:2;10916:15;;;;-1:-1:-1;;10912:53:1;10908:1;10899:11;;10892:74;10991:2;10982:12;;10975:28;11033:66;11028:2;11019:12;;11012:88;11125:2;11116:12;;10477:657;6049:231:0;;;;-1:-1:-1;;6049:231:0;;;;;;;;;6039:242;;6049:231;6039:242;;;;;5811:481;-1:-1:-1;;;;;5811:481:0:o;3586:911::-;3766:36;;-1:-1:-1;;;3766:36:0;;-1:-1:-1;;;;;3766:13:0;;:36;;;8621:51:1;;;8688:18;;;8681:34;;;3734:17:0;;3766:13;;8594:18:1;;3766:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3850:24:0;;-1:-1:-1;;;3850:24:0;;3868:4;3850:24;;;2383:51:1;3814:15:0;;;;-1:-1:-1;;;;;3850:9:0;;;;;2356:18:1;;3850:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3813:61;;;;3886:16;3904;3925:4;-1:-1:-1;;;;;3925:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3885:58;;;;;3960:10;3956:534;;;3987:50;4001:11;4022:4;4029:7;3987:13;:50::i;:::-;4064:60;4078:7;4095:8;-1:-1:-1;;;;;4087:17:0;4114:8;-1:-1:-1;;;;;4106:17:0;4064:13;:60::i;:::-;4139:42;;-1:-1:-1;;;4139:42:0;;4052:72;;-1:-1:-1;;;;;;4139:9:0;;;;;:42;;4052:72;;4160:1;;4171:4;;4139:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4209:7;4196:20;;;;;:::i;:::-;;;3956:534;;;4249:50;4263:11;4284:4;4291:7;4249:13;:50::i;:::-;4326:60;4340:7;4357:8;-1:-1:-1;;;;;4349:17:0;4376:8;-1:-1:-1;;;;;4368:17:0;4326:13;:60::i;:::-;4401:42;;-1:-1:-1;;;4401:42:0;;4314:72;;-1:-1:-1;;;;;;4401:9:0;;;;;:42;;4411:1;;4314:72;;4433:4;;4401:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4471:7;4458:20;;;;;:::i;:::-;;;3956:534;3753:744;;;;3586:911;;;;;;:::o;7620:668::-;7761:17;7793:11;7814:27;7823:7;7832:8;7814;:27::i;:::-;7793:49;;7853:47;7867:7;7884:4;7891:8;7853:13;:47::i;:::-;7914:16;7932;7954:4;-1:-1:-1;;;;;7954:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7913:59;-1:-1:-1;;;;;7913:59:0;;;-1:-1:-1;;;;;7913:59:0;;;7999:8;-1:-1:-1;;;;;7989:18:0;:7;-1:-1:-1;;;;;7989:18:0;;7985:294;;;8038:43;8052:8;8062;8072;8038:13;:43::i;:::-;8096:31;;-1:-1:-1;;;8096:31:0;;8026:55;;-1:-1:-1;;;;;;8096:9:0;;;;;:31;;8106:1;;8026:55;;8120:2;;8096:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7985:294;;;8176:43;8190:8;8200;8210;8176:13;:43::i;:::-;8234:31;;-1:-1:-1;;;8234:31:0;;8164:55;;-1:-1:-1;;;;;;8234:9:0;;;;;:31;;8164:55;;8255:1;;8258:2;;8234:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7985:294;7780:508;;;7620:668;;;;;;:::o;5514:289::-;2574:34;;;;;;;;;;;;;;;;;5643:52;;-1:-1:-1;;;;;8639:32:1;;;5643:52:0;;;8621:51:1;8688:18;;;;8681:34;;;5643:52:0;;;;;;;;;;8594:18:1;;;;5643:52:0;;;;;;;-1:-1:-1;;;;;5643:52:0;-1:-1:-1;;;5643:52:0;;;5632:64;;-1:-1:-1;;;;5632:10:0;;;:64;;5643:52;5632:64;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5596:100;;;;5712:7;5711:8;:59;;;-1:-1:-1;5724:11:0;;:16;;;;:45;;;5756:4;5745:24;;;;;;;;;;;;:::i;:::-;5744:25;5724:45;5707:88;;;5779:16;;-1:-1:-1;;;5779:16:0;;;;;;;;;;;5707:88;5585:218;;5514:289;;;:::o;5134:372::-;5271:7;;5317:14;:8;5328:3;5317:14;:::i;:::-;5291:40;-1:-1:-1;5342:17:0;5362:28;5380:10;5291:40;5362:28;:::i;:::-;5342:48;-1:-1:-1;5401:19:0;5442:15;5423:16;:9;5435:4;5423:16;:::i;:::-;:34;;;;:::i;:::-;5401:56;-1:-1:-1;5475:23:0;5401:56;5475:9;:23;:::i;:::-;5468:30;5134:372;-1:-1:-1;;;;;;;5134:372:0:o;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:247::-;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;:::-;386:5;150:247;-1:-1:-1;;;150:247:1:o;402:375::-;473:8;483:6;537:3;530:4;522:6;518:17;514:27;504:55;;555:1;552;545:12;504:55;-1:-1:-1;578:20:1;;621:18;610:30;;607:50;;;653:1;650;643:12;607:50;690:4;682:6;678:17;666:29;;750:3;743:4;733:6;730:1;726:14;718:6;714:27;710:38;707:47;704:67;;;767:1;764;757:12;704:67;402:375;;;;;:::o;782:1450::-;990:6;998;1006;1014;1022;1030;1038;1046;1099:3;1087:9;1078:7;1074:23;1070:33;1067:53;;;1116:1;1113;1106:12;1067:53;1156:9;1143:23;1185:18;1226:2;1218:6;1215:14;1212:34;;;1242:1;1239;1232:12;1212:34;1281:78;1351:7;1342:6;1331:9;1327:22;1281:78;:::i;:::-;1378:8;;-1:-1:-1;1255:104:1;-1:-1:-1;1466:2:1;1451:18;;1438:32;;-1:-1:-1;1482:16:1;;;1479:36;;;1511:1;1508;1501:12;1479:36;1550:80;1622:7;1611:8;1600:9;1596:24;1550:80;:::i;:::-;1649:8;;-1:-1:-1;1524:106:1;-1:-1:-1;1737:2:1;1722:18;;1709:32;;-1:-1:-1;1753:16:1;;;1750:36;;;1782:1;1779;1772:12;1750:36;1821:80;1893:7;1882:8;1871:9;1867:24;1821:80;:::i;:::-;1920:8;;-1:-1:-1;1795:106:1;-1:-1:-1;2008:2:1;1993:18;;1980:32;;-1:-1:-1;2024:16:1;;;2021:36;;;2053:1;2050;2043:12;2021:36;;2092:80;2164:7;2153:8;2142:9;2138:24;2092:80;:::i;:::-;782:1450;;;;-1:-1:-1;782:1450:1;;-1:-1:-1;782:1450:1;;;;;;2191:8;-1:-1:-1;;;782:1450:1:o;2445:127::-;2506:10;2501:3;2497:20;2494:1;2487:31;2537:4;2534:1;2527:15;2561:4;2558:1;2551:15;2577:1124;2663:6;2671;2679;2732:2;2720:9;2711:7;2707:23;2703:32;2700:52;;;2748:1;2745;2738:12;2700:52;2787:9;2774:23;2806:31;2831:5;2806:31;:::i;:::-;2856:5;-1:-1:-1;2908:2:1;2893:18;;2880:32;;-1:-1:-1;2963:2:1;2948:18;;2935:32;2986:18;3016:14;;;3013:34;;;3043:1;3040;3033:12;3013:34;3081:6;3070:9;3066:22;3056:32;;3126:7;3119:4;3115:2;3111:13;3107:27;3097:55;;3148:1;3145;3138:12;3097:55;3184:2;3171:16;3206:2;3202;3199:10;3196:36;;;3212:18;;:::i;:::-;3287:2;3281:9;3255:2;3341:13;;-1:-1:-1;;3337:22:1;;;3361:2;3333:31;3329:40;3317:53;;;3385:18;;;3405:22;;;3382:46;3379:72;;;3431:18;;:::i;:::-;3471:10;3467:2;3460:22;3506:2;3498:6;3491:18;3546:7;3541:2;3536;3532;3528:11;3524:20;3521:33;3518:53;;;3567:1;3564;3557:12;3518:53;3623:2;3618;3614;3610:11;3605:2;3597:6;3593:15;3580:46;3668:1;3663:2;3658;3650:6;3646:15;3642:24;3635:35;3689:6;3679:16;;;;;;;2577:1124;;;;;:::o;5339:388::-;5407:6;5415;5468:2;5456:9;5447:7;5443:23;5439:32;5436:52;;;5484:1;5481;5474:12;5436:52;5523:9;5510:23;5542:31;5567:5;5542:31;:::i;:::-;5592:5;-1:-1:-1;5649:2:1;5634:18;;5621:32;5662:33;5621:32;5662:33;:::i;:::-;5714:7;5704:17;;;5339:388;;;;;:::o;5732:1112::-;5890:6;5898;5906;5914;5922;5930;5983:2;5971:9;5962:7;5958:23;5954:32;5951:52;;;5999:1;5996;5989:12;5951:52;6039:9;6026:23;6068:18;6109:2;6101:6;6098:14;6095:34;;;6125:1;6122;6115:12;6095:34;6164:78;6234:7;6225:6;6214:9;6210:22;6164:78;:::i;:::-;6261:8;;-1:-1:-1;6138:104:1;-1:-1:-1;6349:2:1;6334:18;;6321:32;;-1:-1:-1;6365:16:1;;;6362:36;;;6394:1;6391;6384:12;6362:36;6433:80;6505:7;6494:8;6483:9;6479:24;6433:80;:::i;:::-;6532:8;;-1:-1:-1;6407:106:1;-1:-1:-1;6620:2:1;6605:18;;6592:32;;-1:-1:-1;6636:16:1;;;6633:36;;;6665:1;6662;6655:12;6633:36;;6704:80;6776:7;6765:8;6754:9;6750:24;6704:80;:::i;:::-;5732:1112;;;;-1:-1:-1;5732:1112:1;;-1:-1:-1;5732:1112:1;;6803:8;;5732:1112;-1:-1:-1;;;5732:1112:1:o;7078:456::-;7155:6;7163;7171;7224:2;7212:9;7203:7;7199:23;7195:32;7192:52;;;7240:1;7237;7230:12;7192:52;7279:9;7266:23;7298:31;7323:5;7298:31;:::i;:::-;7348:5;-1:-1:-1;7405:2:1;7390:18;;7377:32;7418:33;7377:32;7418:33;:::i;:::-;7078:456;;7470:7;;-1:-1:-1;;;7524:2:1;7509:18;;;;7496:32;;7078:456::o;7539:118::-;7625:5;7618:13;7611:21;7604:5;7601:32;7591:60;;7647:1;7644;7637:12;7662:382;7727:6;7735;7788:2;7776:9;7767:7;7763:23;7759:32;7756:52;;;7804:1;7801;7794:12;7756:52;7843:9;7830:23;7862:31;7887:5;7862:31;:::i;:::-;7912:5;-1:-1:-1;7969:2:1;7954:18;;7941:32;7982:30;7941:32;7982:30;:::i;8049:127::-;8110:10;8105:3;8101:20;8098:1;8091:31;8141:4;8138:1;8131:15;8165:4;8162:1;8155:15;8726:245;8793:6;8846:2;8834:9;8825:7;8821:23;8817:32;8814:52;;;8862:1;8859;8852:12;8814:52;8894:9;8888:16;8913:28;8935:5;8913:28;:::i;8976:245::-;9055:6;9063;9116:2;9104:9;9095:7;9091:23;9087:32;9084:52;;;9132:1;9129;9122:12;9084:52;-1:-1:-1;;9155:16:1;;9211:2;9196:18;;;9190:25;9155:16;;9190:25;;-1:-1:-1;8976:245:1:o;9226:127::-;9287:10;9282:3;9278:20;9275:1;9268:31;9318:4;9315:1;9308:15;9342:4;9339:1;9332:15;9358:135;9397:3;-1:-1:-1;;9418:17:1;;9415:43;;;9438:18;;:::i;:::-;-1:-1:-1;9485:1:1;9474:13;;9358:135::o;9498:426::-;9627:3;9665:6;9659:13;9690:1;9700:129;9714:6;9711:1;9708:13;9700:129;;;9812:4;9796:14;;;9792:25;;9786:32;9773:11;;;9766:53;9729:12;9700:129;;;9847:6;9844:1;9841:13;9838:48;;;9882:1;9873:6;9868:3;9864:16;9857:27;9838:48;-1:-1:-1;9902:16:1;;;;;9498:426;-1:-1:-1;;9498:426:1:o;11139:188::-;11218:13;;-1:-1:-1;;;;;11260:42:1;;11250:53;;11240:81;;11317:1;11314;11307:12;11240:81;11139:188;;;:::o;11332:450::-;11419:6;11427;11435;11488:2;11476:9;11467:7;11463:23;11459:32;11456:52;;;11504:1;11501;11494:12;11456:52;11527:40;11557:9;11527:40;:::i;:::-;11517:50;;11586:49;11631:2;11620:9;11616:18;11586:49;:::i;:::-;11576:59;;11678:2;11667:9;11663:18;11657:25;11722:10;11715:5;11711:22;11704:5;11701:33;11691:61;;11748:1;11745;11738:12;11691:61;11771:5;11761:15;;;11332:450;;;;;:::o;11787:533::-;12062:25;;;12118:2;12103:18;;12096:34;;;;-1:-1:-1;;;;;12166:32:1;12161:2;12146:18;;12139:60;12235:3;12230:2;12215:18;;12208:31;;;-1:-1:-1;12255:19:1;;;12248:30;12186:3;12295:19;;11787:533::o;12325:128::-;12365:3;12396:1;12392:6;12389:1;12386:13;12383:39;;;12402:18;;:::i;:::-;-1:-1:-1;12438:9:1;;12325:128::o;12996:168::-;13036:7;13102:1;13098;13094:6;13090:14;13087:1;13084:21;13079:1;13072:9;13065:17;13061:45;13058:71;;;13109:18;;:::i;:::-;-1:-1:-1;13149:9:1;;12996:168::o;13169:217::-;13209:1;13235;13225:132;;13279:10;13274:3;13270:20;13267:1;13260:31;13314:4;13311:1;13304:15;13342:4;13339:1;13332:15;13225:132;-1:-1:-1;13371:9:1;;13169:217::o

Swarm Source

ipfs://2a202e122b4b15a8300b5ebfacac7977070794a7640ce91553cb6607f254f916
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.