Contract 0xe7fb3e833efe5f9c441105eb65ef8b261266423b 1

DeFi  
 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0xa406e2fe9c9f59e8a671d982fb20b574cf55f8d5b6cef65d2257b8faba0a7c84Create Pair276472902022-04-27 18:39:25287 days 10 hrs ago0xb6be7deaae0a16970bdff50eddccfd1ebb5eb385 IN  DFYN Network: Swap V2 Factory0 MATIC0.061996792199 30.069999888
0x0f3879709f2519213c5d9ae87231da8e771921d089c98a0f5fa64ae5607d7627Create Pair247140792022-02-08 23:56:29365 days 5 hrs ago0x1e9f72c28b227cbb56577dc6f693b95237ac0bfe IN  DFYN Network: Swap V2 Factory0 MATIC0.000742247888 30.070000335
0x379bf913241758b9f622f7566832c63504baa4d20b52105769a5f1d7d1090f41Create Pair210580282021-11-06 17:09:08459 days 12 hrs ago0x548d885c0c5302227ce9a11e5f2b2f9ad77d97d6 IN  DFYN Network: Swap V2 Factory0 MATIC0.0618527730
0x65a534eaca8ab9f82f3f56447974936b850b6adebe531cc9a6796538ad3e243fCreate Pair210578492021-11-06 17:02:56459 days 12 hrs ago0x548d885c0c5302227ce9a11e5f2b2f9ad77d97d6 IN  DFYN Network: Swap V2 Factory0 MATIC0.0206175910
0x73785ad708f3e37f8041554025e6b930ce9658d225e4e8ff75c0d10c0b851176Create Pair210576252021-11-06 16:54:04459 days 12 hrs ago0x548d885c0c5302227ce9a11e5f2b2f9ad77d97d6 IN  DFYN Network: Swap V2 Factory0 MATIC0.0061852773
0xfaab4936c82f14efd81eac20abec1f9749b3947f0dbdafdf42ef025b3e8604aeCreate Pair207070282021-10-28 15:01:28468 days 14 hrs agoWave Finance: Deployer IN  DFYN Network: Swap V2 Factory0 MATIC0.08865563743
0x79e9edd778d961e493d021ac962e9fcd8db3732b02023c9b6eb92cf774500b5fCreate Pair207070282021-10-28 15:01:28468 days 14 hrs agoWave Finance: Deployer IN  DFYN Network: Swap V2 Factory0 MATIC0.08865563743
0xe8748ac47a7fb277e45a7ea9a491f0aaf01b070e630020528ecb4ea883a071bfCreate Pair206024502021-10-25 17:12:41471 days 12 hrs agoHermes: Deployer IN  DFYN Network: Swap V2 Factory0 MATIC0.1649407280
0x0058d4002588c63ae046103cf1853860483a3686479d6d40758ac84b73593065Create Pair205985302021-10-25 14:38:28471 days 14 hrs agoHermes: Deployer 1 IN  DFYN Network: Swap V2 Factory0 MATIC0.0618527730
0x222f79ed09fdb79d91b01b1f3ece648a62acf97c9a8c6298d8abd91026e2bd49Create Pair203910542021-10-19 20:05:20477 days 9 hrs agoHermes: Deployer IN  DFYN Network: Swap V2 Factory0 MATIC0.1237055460
0x700183de373835ad976e27333331680f6272c8426ce3afe86b32bd85888f5ee0Create Pair203907382021-10-19 19:53:54477 days 9 hrs agoHermes: Deployer IN  DFYN Network: Swap V2 Factory0 MATIC0.1237055460
0x7696e3cc3061ac581c1f5c9ff4949acc6edb3f4fc9aab06d4b32fca1f8763fd7Set Fee To190690132021-09-13 18:21:41513 days 10 hrs ago0x74665b21461f8d9b23bab7d599bfd7566a95fd70 IN  DFYN Network: Swap V2 Factory0 MATIC0.0028955100
0x564777b28917d91f9dd0204a4e5e9756c1a9367a4f623a76ada9f2373869f28bSet Fee To188804872021-09-08 11:43:35518 days 17 hrs ago0x74665b21461f8d9b23bab7d599bfd7566a95fd70 IN  DFYN Network: Swap V2 Factory0 MATIC0.001158240
0xfc72d6ea0be601c1b88aa377a4f28d698e8b7a200c9d8c83605d5705a5c8531dSet Fee To188793482021-09-08 11:00:07518 days 18 hrs ago0x74665b21461f8d9b23bab7d599bfd7566a95fd70 IN  DFYN Network: Swap V2 Factory0 MATIC0.0008686530
0x1fb894a9f1239c6d1f152c06ec1079c893cca1a0142b37e58691073baf11f37aCreate Pair169052412021-07-16 0:59:12573 days 4 hrs ago0x844ba5cda2742123da12c09c5ecd2cf8630bdedd IN  DFYN Network: Swap V2 Factory0 MATIC0.0412351820
0x18c74b5f8f617e48cf1af1141e724c98ecc2846576f2c10a0a6650d393a5fd96Create Pair169051652021-07-16 0:56:36573 days 4 hrs ago0x844ba5cda2742123da12c09c5ecd2cf8630bdedd IN  DFYN Network: Swap V2 Factory0 MATIC0.0412349820
0x999287ebe62e8789629cd142d1b76d11c0959635aafa262ce14234ac109f27ecCreate Pair169050062021-07-16 0:51:06573 days 4 hrs ago0x844ba5cda2742123da12c09c5ecd2cf8630bdedd IN  DFYN Network: Swap V2 Factory0 MATIC0.0412351820
0xfed21198536a6904aa921982744c7a9e1ff59f34a54cb5a1938ff1d80a249c61Create Pair169039562021-07-16 0:06:30573 days 5 hrs ago0x4dd59f870b787d14529653b6c5d57bb5ea8b7be5 IN  DFYN Network: Swap V2 Factory0 MATIC0.0412351820
0x63734de95a6308939be484a258de3ad87098a621e220ab010873bea0ac2d28aeCreate Pair169038822021-07-16 0:03:58573 days 5 hrs ago0x4dd59f870b787d14529653b6c5d57bb5ea8b7be5 IN  DFYN Network: Swap V2 Factory0 MATIC0.0412351820
0xdbc1f640e6854324e2ca35168dc9d6b79f1216d35c67fca4c636c349bbe1e3e7Create Pair169037662021-07-15 23:59:58573 days 5 hrs ago0x4dd59f870b787d14529653b6c5d57bb5ea8b7be5 IN  DFYN Network: Swap V2 Factory0 MATIC0.0412351820
0x1978fd9ea561d8e942b3c277d2f9421b842a4f09b069ea9b64c39187ab4de70eCreate Pair169036832021-07-15 23:57:08573 days 5 hrs ago0x4dd59f870b787d14529653b6c5d57bb5ea8b7be5 IN  DFYN Network: Swap V2 Factory0 MATIC0.0412351820
0xfdad77b9814d1cad1b41f18389d7e64a24ea30eac5568decf229ed35d47f74b0Create Pair169031192021-07-15 23:31:20573 days 5 hrs ago0x4dd59f870b787d14529653b6c5d57bb5ea8b7be5 IN  DFYN Network: Swap V2 Factory0 MATIC0.03092638515
0x39359a0739b69d7908239d290c2cba74a534ab64b5760d7f2d4b014747960e80Create Pair169027672021-07-15 23:17:04573 days 6 hrs ago0x4dd59f870b787d14529653b6c5d57bb5ea8b7be5 IN  DFYN Network: Swap V2 Factory0 MATIC0.0164939928
0x9806b46125e65e62466e1ff35882fc03d20324de10b38673a18af98697aef02fCreate Pair169024522021-07-15 23:06:14573 days 6 hrs ago0x4dd59f870b787d14529653b6c5d57bb5ea8b7be5 IN  DFYN Network: Swap V2 Factory0 MATIC0.0164940728
0xbe545f018cc9a0c08bd023b635039038d41db1faf6137d22ad218680e57758c0Create Pair167618552021-07-12 1:26:46577 days 3 hrs ago0xb057c0c5be7c15a2c0926e0325b7a4dbf3c372cb IN  DFYN Network: Swap V2 Factory0 MATIC0.0023114380141.1211
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x9aebc524db0b1404b0a30261c9c90bd94bc3d0da9c0429252aa1c440e6112837390358882023-02-07 23:39:471 day 5 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x2dfb342b532f9ee9c7ea73e7c6be4a666c3a032cb2219bc070a8c7f0f9e7b016390358692023-02-07 23:39:011 day 5 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x89ac22d012edb11bfd830d45acdaa9de8f30ae24aa642fa6fa670c4783d65ea1389034912023-02-04 14:21:164 days 14 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0xfaa3014d23a5392fec6dcf32438862aee21bcf54a794284c18b65f70ad765671386298802023-01-28 15:24:3711 days 13 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x5becd47cc76be26f8153768fb3da00e2a4d13dba754776d1e75c48c2ad7a54fb385755902023-01-27 5:08:3313 days 10 mins ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x1099c4dab1ed9ae4a55af66fb70abf52b37abef882eefd785f6471b8aba1f709384998862023-01-25 7:09:4214 days 22 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0xd3323764564d75914ab2118e22710e500012d01c5266fdadeaeae51e5fee6653384378822023-01-23 17:49:0416 days 11 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0xed37160c2ff4ead5f48d2353c1f0e668e0578d5149a5cbc4c081dd7a713237f8382564652023-01-19 4:07:4021 days 1 hr ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0xd74c04441f92c35d04bf31ec8609c4af7509fa796320228dd898f7b808ad37fe382564012023-01-19 4:04:5221 days 1 hr ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x90077beb3d9291829edb21698f808cca31f02e9a993acd233c24475984dc7a7b382398872023-01-18 18:12:3121 days 11 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0xa30d004931357d97ebae6a352442e06bd4b435bc791e5b2f7c12afbc47a803b7381778812023-01-17 4:14:5623 days 1 hr ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0xa9e8001a99a27d92380386add2384c8e9eed719b114ee74997c596e1fb69af3a381246752023-01-15 21:21:2124 days 7 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x4e5cec33ba61900d74bb9e482f6cd0588c98398eea814060b37d3741d6e4dbe5380482392023-01-14 1:14:3426 days 4 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x2fd10831fb522f075a9066602c3f5d02c13dea6def8ec24c17090a38a1db33c5380461162023-01-14 0:01:3626 days 5 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x7d992d49be5b9dc34146d8958ea1aa9dde53c9e31e6424018bc6f689fd5d1d41380379082023-01-13 19:16:3326 days 10 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0xd5f2de76b5671cc84ca14e620283e740a6a6fd72e975e00cb68e6272b91c06dd380261022023-01-13 12:30:3426 days 16 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x925356fcf0bc204a3aeba1d5383ea78839b2cd6fe95f1e001f8ba48b71ce84aa379906202023-01-12 16:01:1227 days 13 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x17a041e4c7dc4fe17a60e025d8706d3eefd81a340013d121af71ed907200763c372851462022-12-26 4:35:0545 days 43 mins ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x247bcff18809e02aaba4155ad7c149ab5a161256bcf5db02317bd697f36762e9370960132022-12-21 11:27:1749 days 17 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0xe0b36f929e00e2feb39b7916956fcda2baff348c664250036e0b0bdb7ed7246f370502502022-12-20 8:11:5150 days 21 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x8ffba38edb078f9130e936efbd53d31667eaec4ceb4670001c3c4357339bf15e368165762022-12-14 10:04:5456 days 19 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x921ce08dd9e35b6be372149792ebcd06a7e3bc85788ab5bd5506f58d8445d5f7368150502022-12-14 9:12:2656 days 20 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x9388559fa279db8eb6a1538067763c3ee2321894468c5173eac5f6cb5bf0dae2367828302022-12-13 14:00:5657 days 15 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0x0d742972bf3304c3fb68929a9a88a365301235e795bb2a4f1c94e071d7a15798367727492022-12-13 7:51:1857 days 21 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
0xe56a3c5fdab3d8767cbadbf50e97178c3c9a0cde5861221b7ca357059113701c366675502022-12-10 17:38:4560 days 11 hrs ago DFYN Network: Swap V2 Factory  Contract Creation0 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UniswapV2Factory

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2021-06-11
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.6.12;

// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)

library SafeMathUniswap {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, 'ds-math-add-overflow');
    }

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, 'ds-math-sub-underflow');
    }

    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow');
    }
}



interface IUniswapV2Callee {
    function uniswapV2Call(address sender, uint amount0, uint amount1, bytes calldata data) external;
}



interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function migrator() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
    function setMigrator(address) external;
}


interface IERC20Uniswap {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
}



// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))

// range: [0, 2**112 - 1]
// resolution: 1 / 2**112

library UQ112x112 {
    uint224 constant Q112 = 2**112;

    // encode a uint112 as a UQ112x112
    function encode(uint112 y) internal pure returns (uint224 z) {
        z = uint224(y) * Q112; // never overflows
    }

    // divide a UQ112x112 by a uint112, returning a UQ112x112
    function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {
        z = x / uint224(y);
    }
}



// a library for performing various math operations

library Math {
    function min(uint x, uint y) internal pure returns (uint z) {
        z = x < y ? x : y;
    }

    // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)
    function sqrt(uint y) internal pure returns (uint z) {
        if (y > 3) {
            z = y;
            uint x = y / 2 + 1;
            while (x < z) {
                z = x;
                x = (y / x + x) / 2;
            }
        } else if (y != 0) {
            z = 1;
        }
    }
}





contract UniswapV2ERC20 {
    using SafeMathUniswap for uint;

    string public constant name = 'Dfyn LP Token';
    string public constant symbol = 'DFYNLP';
    uint8 public constant decimals = 18;
    uint  public totalSupply;
    mapping(address => uint) public balanceOf;
    mapping(address => mapping(address => uint)) public allowance;

    bytes32 public DOMAIN_SEPARATOR;
    // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
    bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;
    mapping(address => uint) public nonces;

    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    constructor() public {
        uint chainId;
        assembly {
            chainId := chainid()
        }
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'),
                keccak256(bytes(name)),
                keccak256(bytes('1')),
                chainId,
                address(this)
            )
        );
    }

    function _mint(address to, uint value) internal {
        totalSupply = totalSupply.add(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(address(0), to, value);
    }

    function _burn(address from, uint value) internal {
        balanceOf[from] = balanceOf[from].sub(value);
        totalSupply = totalSupply.sub(value);
        emit Transfer(from, address(0), value);
    }

    function _approve(address owner, address spender, uint value) private {
        allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function _transfer(address from, address to, uint value) private {
        balanceOf[from] = balanceOf[from].sub(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(from, to, value);
    }

    function approve(address spender, uint value) external returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transfer(address to, uint value) external returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    function transferFrom(address from, address to, uint value) external returns (bool) {
        if (allowance[from][msg.sender] != uint(-1)) {
            allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);
        }
        _transfer(from, to, value);
        return true;
    }

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external {
        require(deadline >= block.timestamp, 'UniswapV2: EXPIRED');
        bytes32 digest = keccak256(
            abi.encodePacked(
                '\x19\x01',
                DOMAIN_SEPARATOR,
                keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline))
            )
        );
        address recoveredAddress = ecrecover(digest, v, r, s);
        require(recoveredAddress != address(0) && recoveredAddress == owner, 'UniswapV2: INVALID_SIGNATURE');
        _approve(owner, spender, value);
    }
}















interface IMigrator {
    // Return the desired amount of liquidity token that the migrator wants.
    function desiredLiquidity() external view returns (uint256);
}

contract UniswapV2Pair is UniswapV2ERC20 {
    using SafeMathUniswap  for uint;
    using UQ112x112 for uint224;

    uint public constant MINIMUM_LIQUIDITY = 10**3;
    bytes4 private constant SELECTOR = bytes4(keccak256(bytes('transfer(address,uint256)')));

    address public factory;
    address public token0;
    address public token1;

    uint112 private reserve0;           // uses single storage slot, accessible via getReserves
    uint112 private reserve1;           // uses single storage slot, accessible via getReserves
    uint32  private blockTimestampLast; // uses single storage slot, accessible via getReserves

    uint public price0CumulativeLast;
    uint public price1CumulativeLast;
    uint public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event

    uint private unlocked = 1;
    modifier lock() {
        require(unlocked == 1, 'UniswapV2: LOCKED');
        unlocked = 0;
        _;
        unlocked = 1;
    }

    function getReserves() public view returns (uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) {
        _reserve0 = reserve0;
        _reserve1 = reserve1;
        _blockTimestampLast = blockTimestampLast;
    }

    function _safeTransfer(address token, address to, uint value) private {
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'UniswapV2: TRANSFER_FAILED');
    }

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    constructor() public {
        factory = msg.sender;
    }

    // called once by the factory at time of deployment
    function initialize(address _token0, address _token1) external {
        require(msg.sender == factory, 'UniswapV2: FORBIDDEN'); // sufficient check
        token0 = _token0;
        token1 = _token1;
    }

    // update reserves and, on the first call per block, price accumulators
    function _update(uint balance0, uint balance1, uint112 _reserve0, uint112 _reserve1) private {
        require(balance0 <= uint112(-1) && balance1 <= uint112(-1), 'UniswapV2: OVERFLOW');
        uint32 blockTimestamp = uint32(block.timestamp % 2**32);
        uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired
        if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {
            // * never overflows, and + overflow is desired
            price0CumulativeLast += uint(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) * timeElapsed;
            price1CumulativeLast += uint(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) * timeElapsed;
        }
        reserve0 = uint112(balance0);
        reserve1 = uint112(balance1);
        blockTimestampLast = blockTimestamp;
        emit Sync(reserve0, reserve1);
    }

    // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)
    function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {
        address feeTo = IUniswapV2Factory(factory).feeTo();
        feeOn = feeTo != address(0);
        uint _kLast = kLast; // gas savings
        if (feeOn) {
            if (_kLast != 0) {
                uint rootK = Math.sqrt(uint(_reserve0).mul(_reserve1));
                uint rootKLast = Math.sqrt(_kLast);
                if (rootK > rootKLast) {
                    uint numerator = totalSupply.mul(rootK.sub(rootKLast));
                    uint denominator = rootK.mul(5).add(rootKLast);
                    uint liquidity = numerator / denominator;
                    if (liquidity > 0) _mint(feeTo, liquidity);
                }
            }
        } else if (_kLast != 0) {
            kLast = 0;
        }
    }

    // this low-level function should be called from a contract which performs important safety checks
    function mint(address to) external lock returns (uint liquidity) {
        (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings
        uint balance0 = IERC20Uniswap(token0).balanceOf(address(this));
        uint balance1 = IERC20Uniswap(token1).balanceOf(address(this));
        uint amount0 = balance0.sub(_reserve0);
        uint amount1 = balance1.sub(_reserve1);

        bool feeOn = _mintFee(_reserve0, _reserve1);
        uint _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee
        if (_totalSupply == 0) {
            address migrator = IUniswapV2Factory(factory).migrator();
            if (msg.sender == migrator) {
                liquidity = IMigrator(migrator).desiredLiquidity();
                require(liquidity > 0 && liquidity != uint256(-1), "Bad desired liquidity");
            } else {
                require(migrator == address(0), "Must not have migrator");
                liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);
                _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens
            }
        } else {
            liquidity = Math.min(amount0.mul(_totalSupply) / _reserve0, amount1.mul(_totalSupply) / _reserve1);
        }
        require(liquidity > 0, 'UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED');
        _mint(to, liquidity);

        _update(balance0, balance1, _reserve0, _reserve1);
        if (feeOn) kLast = uint(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date
        emit Mint(msg.sender, amount0, amount1);
    }

    // this low-level function should be called from a contract which performs important safety checks
    function burn(address to) external lock returns (uint amount0, uint amount1) {
        (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings
        address _token0 = token0;                                // gas savings
        address _token1 = token1;                                // gas savings
        uint balance0 = IERC20Uniswap(_token0).balanceOf(address(this));
        uint balance1 = IERC20Uniswap(_token1).balanceOf(address(this));
        uint liquidity = balanceOf[address(this)];

        bool feeOn = _mintFee(_reserve0, _reserve1);
        uint _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee
        amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution
        amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution
        require(amount0 > 0 && amount1 > 0, 'UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED');
        _burn(address(this), liquidity);
        _safeTransfer(_token0, to, amount0);
        _safeTransfer(_token1, to, amount1);
        balance0 = IERC20Uniswap(_token0).balanceOf(address(this));
        balance1 = IERC20Uniswap(_token1).balanceOf(address(this));

        _update(balance0, balance1, _reserve0, _reserve1);
        if (feeOn) kLast = uint(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date
        emit Burn(msg.sender, amount0, amount1, to);
    }

    // this low-level function should be called from a contract which performs important safety checks
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external lock {
        require(amount0Out > 0 || amount1Out > 0, 'UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT');
        (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings
        require(amount0Out < _reserve0 && amount1Out < _reserve1, 'UniswapV2: INSUFFICIENT_LIQUIDITY');

        uint balance0;
        uint balance1;
        { // scope for _token{0,1}, avoids stack too deep errors
        address _token0 = token0;
        address _token1 = token1;
        require(to != _token0 && to != _token1, 'UniswapV2: INVALID_TO');
        if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens
        if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens
        if (data.length > 0) IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data);
        balance0 = IERC20Uniswap(_token0).balanceOf(address(this));
        balance1 = IERC20Uniswap(_token1).balanceOf(address(this));
        }
        uint amount0In = balance0 > _reserve0 - amount0Out ? balance0 - (_reserve0 - amount0Out) : 0;
        uint amount1In = balance1 > _reserve1 - amount1Out ? balance1 - (_reserve1 - amount1Out) : 0;
        require(amount0In > 0 || amount1In > 0, 'UniswapV2: INSUFFICIENT_INPUT_AMOUNT');
        { // scope for reserve{0,1}Adjusted, avoids stack too deep errors
        uint balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));
        uint balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));
        require(balance0Adjusted.mul(balance1Adjusted) >= uint(_reserve0).mul(_reserve1).mul(1000**2), 'UniswapV2: K');
        }

        _update(balance0, balance1, _reserve0, _reserve1);
        emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);
    }

    // force balances to match reserves
    function skim(address to) external lock {
        address _token0 = token0; // gas savings
        address _token1 = token1; // gas savings
        _safeTransfer(_token0, to, IERC20Uniswap(_token0).balanceOf(address(this)).sub(reserve0));
        _safeTransfer(_token1, to, IERC20Uniswap(_token1).balanceOf(address(this)).sub(reserve1));
    }

    // force reserves to match balances
    function sync() external lock {
        _update(IERC20Uniswap(token0).balanceOf(address(this)), IERC20Uniswap(token1).balanceOf(address(this)), reserve0, reserve1);
    }
}


contract UniswapV2Factory is IUniswapV2Factory {
    address public override feeTo;
    address public override feeToSetter;
    address public override migrator;

    mapping(address => mapping(address => address)) public override getPair;
    address[] public override allPairs;

    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    constructor(address _feeToSetter) public {
        feeToSetter = _feeToSetter;
    }

    function allPairsLength() external override view returns (uint) {
        return allPairs.length;
    }

    function pairCodeHash() external pure returns (bytes32) {
        return keccak256(type(UniswapV2Pair).creationCode);
    }

    function createPair(address tokenA, address tokenB) external override returns (address pair) {
        require(tokenA != tokenB, 'UniswapV2: IDENTICAL_ADDRESSES');
        (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        require(token0 != address(0), 'UniswapV2: ZERO_ADDRESS');
        require(getPair[token0][token1] == address(0), 'UniswapV2: PAIR_EXISTS'); // single check is sufficient
        bytes memory bytecode = type(UniswapV2Pair).creationCode;
        bytes32 salt = keccak256(abi.encodePacked(token0, token1));
        assembly {
            pair := create2(0, add(bytecode, 32), mload(bytecode), salt)
        }
        UniswapV2Pair(pair).initialize(token0, token1);
        getPair[token0][token1] = pair;
        getPair[token1][token0] = pair; // populate mapping in the reverse direction
        allPairs.push(pair);
        emit PairCreated(token0, token1, pair, allPairs.length);
    }

    function setFeeTo(address _feeTo) external override {
        require(msg.sender == feeToSetter, 'UniswapV2: FORBIDDEN');
        feeTo = _feeTo;
    }

    function setMigrator(address _migrator) external override {
        require(msg.sender == feeToSetter, 'UniswapV2: FORBIDDEN');
        migrator = _migrator;
    }

    function setFeeToSetter(address _feeToSetter) external override {
        require(msg.sender == feeToSetter, 'UniswapV2: FORBIDDEN');
        feeToSetter = _feeToSetter;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_feeToSetter","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token0","type":"address"},{"indexed":true,"internalType":"address","name":"token1","type":"address"},{"indexed":false,"internalType":"address","name":"pair","type":"address"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"PairCreated","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allPairs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allPairsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"}],"name":"createPair","outputs":[{"internalType":"address","name":"pair","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeTo","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeToSetter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"getPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"migrator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairCodeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_feeTo","type":"address"}],"name":"setFeeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_feeToSetter","type":"address"}],"name":"setFeeToSetter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_migrator","type":"address"}],"name":"setMigrator","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50604051612c5c380380612c5c8339818101604052602081101561003357600080fd5b5051600180546001600160a01b0319166001600160a01b03909216919091179055612bf9806100636000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637cd07e47116100715780637cd07e47146101395780639aab924814610141578063a2e74af614610149578063c9c653961461016f578063e6a439051461019d578063f46901ed146101cb576100a9565b8063017e7e58146100ae578063094b7415146100d25780631e3dd18b146100da57806323cf3118146100f7578063574f2ba31461011f575b600080fd5b6100b66101f1565b604080516001600160a01b039092168252519081900360200190f35b6100b6610200565b6100b6600480360360208110156100f057600080fd5b503561020f565b61011d6004803603602081101561010d57600080fd5b50356001600160a01b0316610236565b005b6101276102ae565b60408051918252519081900360200190f35b6100b66102b4565b6101276102c3565b61011d6004803603602081101561015f57600080fd5b50356001600160a01b03166102f5565b6100b66004803603604081101561018557600080fd5b506001600160a01b038135811691602001351661036d565b6100b6600480360360408110156101b357600080fd5b506001600160a01b0381358116916020013516610698565b61011d600480360360208110156101e157600080fd5b50356001600160a01b03166106be565b6000546001600160a01b031681565b6001546001600160a01b031681565b6004818154811061021c57fe5b6000918252602090912001546001600160a01b0316905081565b6001546001600160a01b0316331461028c576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60045490565b6002546001600160a01b031681565b6000604051806020016102d590610736565b6020820181038252601f19601f8201166040525080519060200120905090565b6001546001600160a01b0316331461034b576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000816001600160a01b0316836001600160a01b031614156103d6576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056323a204944454e544943414c5f4144445245535345530000604482015290519081900360640190fd5b600080836001600160a01b0316856001600160a01b0316106103f95783856103fc565b84845b90925090506001600160a01b03821661045c576040805162461bcd60e51b815260206004820152601760248201527f556e697377617056323a205a45524f5f41444452455353000000000000000000604482015290519081900360640190fd5b6001600160a01b038281166000908152600360209081526040808320858516845290915290205416156104cf576040805162461bcd60e51b8152602060048201526016602482015275556e697377617056323a20504149525f45584953545360501b604482015290519081900360640190fd5b6060604051806020016104e190610736565b6020820181038252601f19601f8201166040525090506000838360405160200180836001600160a01b031660601b8152601401826001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001209050808251602084016000f59450846001600160a01b031663485cc95585856040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156105ae57600080fd5b505af11580156105c2573d6000803e3d6000fd5b505050506001600160a01b0384811660008181526003602081815260408084208987168086529083528185208054978d166001600160a01b031998891681179091559383528185208686528352818520805488168517905560048054600181018255958190527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90950180549097168417909655925483519283529082015281517f0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9929181900390910190a35050505092915050565b60036020908152600092835260408084209091529082529020546001600160a01b031681565b6001546001600160a01b03163314610714576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b612480806107448339019056fe60806040526001600c5534801561001557600080fd5b50604080518082018252600d81526c22333cb7102628102a37b5b2b760991b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f7b22882e5b452c59eb82cd96750b3131da802adf196db6c4fb438a8e1703f576818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c09091019092528151910120600355600580546001600160a01b031916331790556123758061010b6000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610acb565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610af4565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b1e565b604080519115158252519081900360200190f35b610339610b35565b604080516001600160a01b039092168252519081900360200190f35b61035d610b44565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b4a565b61035d610bde565b6103b5610c02565b6040805160ff9092168252519081900360200190f35b61035d610c07565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c0d565b61035d610c91565b61035d610c97565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610c9d565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b0316611119565b61035d61112b565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316611131565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316611143565b6040805192835260208301919091528051918290030190f35b6102446114d7565b61031d600480360360408110156104e857600080fd5b506001600160a01b0381351690602001356114f9565b61035d611506565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b031661150c565b61033961167e565b61033961168d565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561169c565b61035d600480360360408110156105a357600080fd5b506001600160a01b038135811691602001351661189e565b61023a6118bb565b600c5460011461060e576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55841515806106215750600084115b61065c5760405162461bcd60e51b81526004018080602001828103825260258152602001806122866025913960400191505060405180910390fd5b600080610667610af4565b5091509150816001600160701b03168710801561068c5750806001600160701b031686105b6106c75760405162461bcd60e51b81526004018080602001828103825260218152602001806122cf6021913960400191505060405180910390fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107055750806001600160a01b0316896001600160a01b031614155b61074e576040805162461bcd60e51b8152602060048201526015602482015274556e697377617056323a20494e56414c49445f544f60581b604482015290519081900360640190fd5b8a1561075f5761075f828a8d611a1d565b891561077057610770818a8c611a1d565b861561082257886001600160a01b03166310d1e85c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561086857600080fd5b505afa15801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b5051925060009150506001600160701b0385168a9003831161092b57600061093a565b89856001600160701b03160383035b9050600089856001600160701b0316038311610957576000610966565b89856001600160701b03160383035b905060008211806109775750600081115b6109b25760405162461bcd60e51b81526004018080602001828103825260248152602001806122ab6024913960400191505060405180910390fd5b60006109d46109c2846003611bb7565b6109ce876103e8611bb7565b90611c1a565b905060006109e66109c2846003611bb7565b9050610a0b620f4240610a056001600160701b038b8116908b16611bb7565b90611bb7565b610a158383611bb7565b1015610a57576040805162461bcd60e51b815260206004820152600c60248201526b556e697377617056323a204b60a01b604482015290519081900360640190fd5b5050610a6584848888611c6a565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600d81526020016c22333cb7102628102a37b5b2b760991b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b2b338484611e29565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bc9576001600160a01b0384166000908152600260209081526040808320338452909152902054610ba49083611c1a565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610bd4848484611e8b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c63576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610cea576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c81905580610cfa610af4565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d4e57600080fd5b505afa158015610d62573d6000803e3d6000fd5b505050506040513d6020811015610d7857600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610dcb57600080fd5b505afa158015610ddf573d6000803e3d6000fd5b505050506040513d6020811015610df557600080fd5b505190506000610e0e836001600160701b038716611c1a565b90506000610e25836001600160701b038716611c1a565b90506000610e338787611f39565b6000549091508061100a5760055460408051637cd07e4760e01b815290516000926001600160a01b031691637cd07e47916004808301926020929190829003018186803b158015610e8357600080fd5b505afa158015610e97573d6000803e3d6000fd5b505050506040513d6020811015610ead57600080fd5b50519050336001600160a01b0382161415610f8857806001600160a01b03166340dc0e376040518163ffffffff1660e01b815260040160206040518083038186803b158015610efb57600080fd5b505afa158015610f0f573d6000803e3d6000fd5b505050506040513d6020811015610f2557600080fd5b505199508915801590610f3a57506000198a14155b610f83576040805162461bcd60e51b81526020600482015260156024820152744261642064657369726564206c697175696469747960581b604482015290519081900360640190fd5b611004565b6001600160a01b03811615610fdd576040805162461bcd60e51b815260206004820152601660248201527526bab9ba103737ba103430bb329036b4b3b930ba37b960511b604482015290519081900360640190fd5b610ff56103e86109ce610ff08888611bb7565b612079565b995061100460006103e86120cb565b5061104d565b61104a6001600160701b0389166110218684611bb7565b8161102857fe5b046001600160701b03891661103d8685611bb7565b8161104457fe5b04612155565b98505b6000891161108c5760405162461bcd60e51b81526004018080602001828103825260288152602001806123186028913960400191505060405180910390fd5b6110968a8a6120cb565b6110a286868a8a611c6a565b81156110cc576008546110c8906001600160701b0380821691600160701b900416611bb7565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c54600114611191576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c819055806111a1610af4565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b1580156111fd57600080fd5b505afa158015611211573d6000803e3d6000fd5b505050506040513d602081101561122757600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561127557600080fd5b505afa158015611289573d6000803e3d6000fd5b505050506040513d602081101561129f57600080fd5b5051306000908152600160205260408120549192506112be8888611f39565b600054909150806112cf8487611bb7565b816112d657fe5b049a50806112e48486611bb7565b816112eb57fe5b04995060008b1180156112fe575060008a115b6113395760405162461bcd60e51b81526004018080602001828103825260288152602001806122f06028913960400191505060405180910390fd5b611343308461216d565b61134e878d8d611a1d565b611359868d8c611a1d565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b15801561139f57600080fd5b505afa1580156113b3573d6000803e3d6000fd5b505050506040513d60208110156113c957600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b15801561141557600080fd5b505afa158015611429573d6000803e3d6000fd5b505050506040513d602081101561143f57600080fd5b5051935061144f85858b8b611c6a565b811561147957600854611475906001600160701b0380821691600160701b900416611bb7565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020016504446594e4c560d41b81525081565b6000610b2b338484611e8b565b6103e881565b600c54600114611557576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b03948516949093169261160092859287926115fb926001600160701b03169185916370a0823191602480820192602092909190829003018186803b1580156115c957600080fd5b505afa1580156115dd573d6000803e3d6000fd5b505050506040513d60208110156115f357600080fd5b505190611c1a565b611a1d565b61167481846115fb6008600e9054906101000a90046001600160701b03166001600160701b0316856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156115c957600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b428410156116e6576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015611801573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906118375750886001600160a01b0316816001600160a01b0316145b611888576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611893898989611e29565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611906576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b81523060048201529051611a16926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561195757600080fd5b505afa15801561196b573d6000803e3d6000fd5b505050506040513d602081101561198157600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156119ce57600080fd5b505afa1580156119e2573d6000803e3d6000fd5b505050506040513d60208110156119f857600080fd5b50516008546001600160701b0380821691600160701b900416611c6a565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b60208310611aca5780518252601f199092019160209182019101611aab565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b2c576040519150601f19603f3d011682016040523d82523d6000602084013e611b31565b606091505b5091509150818015611b5f575080511580611b5f5750808060200190516020811015611b5c57600080fd5b50515b611bb0576040805162461bcd60e51b815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6000811580611bd257505080820282828281611bcf57fe5b04145b610b2f576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b2f576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611c8857506001600160701b038311155b611ccf576040805162461bcd60e51b8152602060048201526013602482015272556e697377617056323a204f564552464c4f5760681b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611cff57506001600160701b03841615155b8015611d1357506001600160701b03831615155b15611d7e578063ffffffff16611d3b85611d2c866121ff565b6001600160e01b031690612211565b600980546001600160e01b03929092169290920201905563ffffffff8116611d6684611d2c876121ff565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611eae9082611c1a565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611edd9082612236565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8a57600080fd5b505afa158015611f9e573d6000803e3d6000fd5b505050506040513d6020811015611fb457600080fd5b5051600b546001600160a01b038216158015945091925090612065578015612060576000611ff1610ff06001600160701b03888116908816611bb7565b90506000611ffe83612079565b90508082111561205d5760006120206120178484611c1a565b60005490611bb7565b9050600061203983612033866005611bb7565b90612236565b9050600081838161204657fe5b04905080156120595761205987826120cb565b5050505b50505b612071565b8015612071576000600b555b505092915050565b600060038211156120bc575080600160028204015b818110156120b6578091506002818285816120a557fe5b0401816120ae57fe5b04905061208e565b506120c6565b81156120c6575060015b919050565b6000546120d89082612236565b60009081556001600160a01b0383168152600160205260409020546120fd9082612236565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106121645781612166565b825b9392505050565b6001600160a01b0382166000908152600160205260409020546121909082611c1a565b6001600160a01b038316600090815260016020526040812091909155546121b79082611c1a565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161222e57fe5b049392505050565b80820182811015610b2f576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a2646970667358221220a2182ae03ffdbf418baa5d0a0113190018a8f47df33fcce4fb3327214a1f241b64736f6c634300060c0033a26469706673582212204e5dca0c55087d374ceb61b1ae453d3e6788b3daf518e119f39116cf709562ec64736f6c634300060c003300000000000000000000000074665b21461f8d9b23bab7d599bfd7566a95fd70

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

00000000000000000000000074665b21461f8d9b23bab7d599bfd7566a95fd70

-----Decoded View---------------
Arg [0] : _feeToSetter (address): 0x74665b21461f8d9b23bab7d599bfd7566a95fd70

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000074665b21461f8d9b23bab7d599bfd7566a95fd70


Deployed ByteCode Sourcemap

17315:2226:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17369:29;;;:::i;:::-;;;;-1:-1:-1;;;;;17369:29:0;;;;;;;;;;;;;;17405:35;;;:::i;17566:34::-;;;;;;;;;;;;;;;;-1:-1:-1;17566:34:0;;:::i;19184:166::-;;;;;;;;;;;;;;;;-1:-1:-1;19184:166:0;-1:-1:-1;;;;;19184:166:0;;:::i;:::-;;17797:105;;;:::i;:::-;;;;;;;;;;;;;;;;17447:32;;;:::i;17910:125::-;;;:::i;19358:178::-;;;;;;;;;;;;;;;;-1:-1:-1;19358:178:0;-1:-1:-1;;;;;19358:178:0;;:::i;18043:971::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18043:971:0;;;;;;;;;;:::i;17488:71::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17488:71:0;;;;;;;;;;:::i;19022:154::-;;;;;;;;;;;;;;;;-1:-1:-1;19022:154:0;-1:-1:-1;;;;;19022:154:0;;:::i;17369:29::-;;;-1:-1:-1;;;;;17369:29:0;;:::o;17405:35::-;;;-1:-1:-1;;;;;17405:35:0;;:::o;17566:34::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17566:34:0;;-1:-1:-1;17566:34:0;:::o;19184:166::-;19275:11;;-1:-1:-1;;;;;19275:11:0;19261:10;:25;19253:58;;;;;-1:-1:-1;;;19253:58:0;;;;;;;;;;;;-1:-1:-1;;;19253:58:0;;;;;;;;;;;;;;;19322:8;:20;;-1:-1:-1;;;;;;19322:20:0;-1:-1:-1;;;;;19322:20:0;;;;;;;;;;19184:166::o;17797:105::-;17879:8;:15;17797:105;:::o;17447:32::-;;;-1:-1:-1;;;;;17447:32:0;;:::o;17910:125::-;17957:7;17994:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;17984:43;;;;;;17977:50;;17910:125;:::o;19358:178::-;19455:11;;-1:-1:-1;;;;;19455:11:0;19441:10;:25;19433:58;;;;;-1:-1:-1;;;19433:58:0;;;;;;;;;;;;-1:-1:-1;;;19433:58:0;;;;;;;;;;;;;;;19502:11;:26;;-1:-1:-1;;;;;;19502:26:0;-1:-1:-1;;;;;19502:26:0;;;;;;;;;;19358:178::o;18043:971::-;18122:12;18165:6;-1:-1:-1;;;;;18155:16:0;:6;-1:-1:-1;;;;;18155:16:0;;;18147:59;;;;;-1:-1:-1;;;18147:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18218:14;18234;18261:6;-1:-1:-1;;;;;18252:15:0;:6;-1:-1:-1;;;;;18252:15:0;;:53;;18290:6;18298;18252:53;;;18271:6;18279;18252:53;18217:88;;-1:-1:-1;18217:88:0;-1:-1:-1;;;;;;18324:20:0;;18316:56;;;;;-1:-1:-1;;;18316:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18391:15:0;;;18426:1;18391:15;;;:7;:15;;;;;;;;:23;;;;;;;;;;;;:37;18383:72;;;;;-1:-1:-1;;;18383:72:0;;;;;;;;;;;;-1:-1:-1;;;18383:72:0;;;;;;;;;;;;;;;18496:21;18520:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;18496:56;;18563:12;18605:6;18613;18588:32;;;;;;-1:-1:-1;;;;;18588:32:0;;;;;;;;-1:-1:-1;;;;;18588:32:0;;;;;;;;;;;;;;;;;;;;;;;18578:43;;;;;;18563:58;;18711:4;18700:8;18694:15;18689:2;18679:8;18675:17;18672:1;18664:52;18656:60;;18751:4;-1:-1:-1;;;;;18737:30:0;;18768:6;18776;18737:46;;;;;;;;;;;;;-1:-1:-1;;;;;18737:46:0;;;;;;-1:-1:-1;;;;;18737:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;18794:15:0;;;;;;;:7;:15;;;;;;;;:23;;;;;;;;;;;;:30;;;;;-1:-1:-1;;;;;;18794:30:0;;;;;;;;18835:15;;;;;;:23;;;;;;;;:30;;;;;;;;18921:8;:19;;-1:-1:-1;18921:19:0;;;;;;;;;;;;;;;;;;;;;;18990:15;;18956:50;;;;;;;;;;;;;;;;;;;;;;18043:971;;;;;;;;:::o;17488:71::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17488:71:0;;:::o;19022:154::-;19107:11;;-1:-1:-1;;;;;19107:11:0;19093:10;:25;19085:58;;;;;-1:-1:-1;;;19085:58:0;;;;;;;;;;;;-1:-1:-1;;;19085:58:0;;;;;;;;;;;;;;;19154:5;:14;;-1:-1:-1;;;;;;19154:14:0;-1:-1:-1;;;;;19154:14:0;;;;;;;;;;19022:154::o;-1:-1:-1:-;;;;;;;;:::o

Swarm Source

ipfs://4e5dca0c55087d374ceb61b1ae453d3e6788b3daf518e119f39116cf709562ec
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.