Contract 0x1a475d06d967aeb686c98de80d079d72097aeacf 2

 

Contract Overview

Balance:
0.001153655149324521 ETH

EtherValue:
$3.54 (@ $3,071.60/ETH)

Token:
Txn Hash Method
Block
From
To
Value
0x48acbe4bce8bc8308eeceff62bb1127f8cff914fa9ac8c3aa341a533a6ee27e4Approve132301802024-04-16 6:41:471 min ago0x2f6f5e77fba9ed5dbcdf7c08fe85b484d50688ac IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000009238440.01917701
0x84acfd09a42b5648316ef06e8a8b5cc6ce22a88f609b2c1c5882a77c536e6bfbApprove132301342024-04-16 6:40:153 mins ago0x81b6e72eb9c659f34115bceb6c4fb623c5a8bed1 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000009594690.020096425
0xe0b53e72c4efd3f40d769512f385726c6447fe08f148e0f0cd4a700ec21d83bcApprove132301172024-04-16 6:39:413 mins ago0x81b6e72eb9c659f34115bceb6c4fb623c5a8bed1 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000009662870.020315732
0xeb2d4a4beacd0179e8296236ddebd49aed11586ecb5092240fe430aa5dc1aeabApprove132300612024-04-16 6:37:495 mins ago0x7c13c52423a287c0ee060e86c4789c3711c00922 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000056237550.120027904
0x60649d840e94f04acc6e3e4fa260cbea7653c3a241864dbbf1f07b38db976e22Approve132297652024-04-16 6:27:5715 mins ago0xacfdb19c60496cb3979bc324709380f6d332f900 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.000003338930.070972127
0x008db5bbc5625b5cd8c3136e339bb43a5c57653a005d6ee6662b3bba00205e67Approve132297302024-04-16 6:26:4716 mins ago0x81b6e72eb9c659f34115bceb6c4fb623c5a8bed1 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000010679060.022471326
0xc42dd27e4f2f30aebba148afb5c0917dcff9be036a6c83440b466e1df60514f2Approve132297042024-04-16 6:25:5517 mins ago0x81b6e72eb9c659f34115bceb6c4fb623c5a8bed1 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000010761720.0226859
0xde8e0508a09232f0fbc25cbe2eb48a12fe278ab83fbdd139168694b9e687e934Approve132296702024-04-16 6:24:4718 mins ago0x81b6e72eb9c659f34115bceb6c4fb623c5a8bed1 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000010798070.022767237
0xa26f4a40f7d7851dbe1ca86453b841bd61d018d849593ffde6883f2ec2fa2a93Approve132296512024-04-16 6:24:0919 mins ago0x81b6e72eb9c659f34115bceb6c4fb623c5a8bed1 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000010863090.022947426
0x05f17399ad6a810d848dce2b93d551f4b77a3f14b5242a492b3bc628f2d0514cApprove132296322024-04-16 6:23:3120 mins ago0x81b6e72eb9c659f34115bceb6c4fb623c5a8bed1 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000010916550.023098648
0x5266138c8b243e0402a33820dd57ae18acf760fc3c5d7765c8a8869bfccda3fbApprove132295782024-04-16 6:21:4321 mins ago0xdcdf0feeede933ceafc6131b663f1ee210ac61ae IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000057297040.122391984
0x9a064e11123a28bf12e8e57785af55cb32267dd65bacce27ec2ff243c26f48f3Approve132294942024-04-16 6:18:5524 mins ago0x81b6e72eb9c659f34115bceb6c4fb623c5a8bed1 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000011084440.023472267
0xe65182ca67c53fc55c062a167660c36d86af2c5e0a8fce2f519968878670bb93Approve132294722024-04-16 6:18:1125 mins ago0x81b6e72eb9c659f34115bceb6c4fb623c5a8bed1 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000011071120.023440912
0x61f5d0f5d51df5da9b19dbe51e8688fce1d82117b286ec573fd6975a41a49283Approve132294522024-04-16 6:17:3126 mins ago0x81b6e72eb9c659f34115bceb6c4fb623c5a8bed1 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000011032780.023396871
0xc7283be154b099b0d9d47f71f15f8ac3f78757cac14c2403a6928c00a5170bbeApprove132294292024-04-16 6:16:4526 mins ago0x81b6e72eb9c659f34115bceb6c4fb623c5a8bed1 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000011073680.023441821
0x65509b1587b0e6fa93b22b1d708b63cdb9814cc906168f5f158d404771543218Approve132290172024-04-16 6:03:0140 mins ago0x61fc668b89c4731a34be2011ab4f4a39e1c51c06 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000008318220.017525495
0x307f5f49bb426ebfe13b48c995bb4d67eb4de638d115a13af2aba405f9f64e95Approve132287352024-04-16 5:53:3750 mins ago0xf28a1cc8ce621cdf56be53e4d539df3ac7f89ebe IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000005411250.01764973
0xb4a0403bb781c103636b276bb2dcb30e7929319f7c70f34f5b9e798d1fddcd1eApprove132276822024-04-16 5:18:311 hr 25 mins ago0x61fc668b89c4731a34be2011ab4f4a39e1c51c06 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000015787040.03368343
0xa1b021c0f772a528cc030cf94af97eb3e1ca98fe528cb4e94247ffe7e77ef486Transfer132274832024-04-16 5:11:531 hr 31 mins ago0xd33c5df6333f82242616e3b5b90c621fbf1cfe3b IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.000002452890.037296492
0x5a9dbed5732bbec6b5099253062248a3153748b73b45dcac22f2a1a8c81e42e5Approve132272932024-04-16 5:05:331 hr 38 mins ago0x26b961c80f6ee25ea918dd945701fb1c4ac5d6af IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000011630440.038821947
0xb9641834b06228733434b1d18eb4f1e3f3a39be3e3bef7cf9830a2811fb9d9c6Approve132272772024-04-16 5:05:011 hr 38 mins ago0xf291c1e2a1b1f7d373054afa6751b171d0852e34 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000017935240.038143234
0x7e8d38aac12a5869cc602aa379fa0257059a58e25192768d47bf138fa9f2ec5eApprove132265382024-04-16 4:40:232 hrs 3 mins ago0x46066de6115db656bc215a53c19c5eb0a807eb4c IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000011904640.025226743
0x4b91199b9de90aa967b10ff59a3f36a58aa318e51afb91125908ef3b4cf14c62Approve132263822024-04-16 4:35:112 hrs 8 mins ago0x75256a163c97c4479dbd5ed0b93f40cf8ee4f279 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000012747270.026968596
0x40339ecb5eeef3176d12903588858c947bd7c42ef84fc113ab6daa2625c3d24bApprove132262722024-04-16 4:31:312 hrs 12 mins ago0xb5ae757836165c5de85c64ccaf97f3a582c2dab7 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000478496631.025673001
0x7737be27a2ee495056ab6bcbe507f51465ccd0488a853b59ff990909e6495cc9Approve132260092024-04-16 4:22:452 hrs 20 mins ago0xd32abd4134a9ffe37cb4ad0462ff03d89ba6e573 IN  0x1a475d06d967aeb686c98de80d079d72097aeacf0 ETH0.0000944620992.025412466
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x602f17dbe50402d3e08e927b180f3c6a6897b44f604b86828c6d7f5d5b0a3974130736622024-04-12 15:44:313 days 14 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.157567710688830656 ETH
0x602f17dbe50402d3e08e927b180f3c6a6897b44f604b86828c6d7f5d5b0a3974130736622024-04-12 15:44:313 days 14 hrs ago 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 0x1a475d06d967aeb686c98de80d079d72097aeacf0.157567710688830656 ETH
0x838c09d7112d33970609c8e778c74ceae8de25f0f7293b3364513677dd387500130736422024-04-12 15:43:513 days 14 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.170603088732852158 ETH
0x838c09d7112d33970609c8e778c74ceae8de25f0f7293b3364513677dd387500130736422024-04-12 15:43:513 days 14 hrs ago 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 0x1a475d06d967aeb686c98de80d079d72097aeacf0.170603088732852158 ETH
0x3dd925a1f03f6fb1653b8b737582a20a22af7abcb00d41194193de7e9fc9a9e4130736312024-04-12 15:43:293 days 15 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.179674025723070537 ETH
0x3dd925a1f03f6fb1653b8b737582a20a22af7abcb00d41194193de7e9fc9a9e4130736312024-04-12 15:43:293 days 15 hrs ago 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 0x1a475d06d967aeb686c98de80d079d72097aeacf0.179674025723070537 ETH
0x3b86c70ba535ecf774383469b8c2d86d3da52cb2583f1ef5e4b8692b59ff7e16130735992024-04-12 15:42:253 days 15 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.207854994551552092 ETH
0x3b86c70ba535ecf774383469b8c2d86d3da52cb2583f1ef5e4b8692b59ff7e16130735992024-04-12 15:42:253 days 15 hrs ago 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 0x1a475d06d967aeb686c98de80d079d72097aeacf0.207854994551552092 ETH
0xf908b936b34da8c0af5e07fee93e4d4ea5ec9bdcc1ea042e09d5ddd9ab53ded0130734922024-04-12 15:38:513 days 15 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.17857878265837192 ETH
0xf908b936b34da8c0af5e07fee93e4d4ea5ec9bdcc1ea042e09d5ddd9ab53ded0130734922024-04-12 15:38:513 days 15 hrs ago 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 0x1a475d06d967aeb686c98de80d079d72097aeacf0.17857878265837192 ETH
0x3a8c58b29eb57bab7cb8584ef597652898a10482f35fa5a2e3999e7034a1262b130734792024-04-12 15:38:253 days 15 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.210516708508116029 ETH
0x3a8c58b29eb57bab7cb8584ef597652898a10482f35fa5a2e3999e7034a1262b130734792024-04-12 15:38:253 days 15 hrs ago 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 0x1a475d06d967aeb686c98de80d079d72097aeacf0.210516708508116029 ETH
0x2b5140ee4ed35b68d3a21c261b521756c50b1635b242d8485f23045922e20137130734682024-04-12 15:38:033 days 15 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.2314576940905864 ETH
0x2b5140ee4ed35b68d3a21c261b521756c50b1635b242d8485f23045922e20137130734682024-04-12 15:38:033 days 15 hrs ago 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 0x1a475d06d967aeb686c98de80d079d72097aeacf0.2314576940905864 ETH
0x1568abcbe55f0a99414204633029a9f2a2d863f1886b0a04390bf14b04933dd7130734252024-04-12 15:36:373 days 15 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.196109881056607484 ETH
0x1568abcbe55f0a99414204633029a9f2a2d863f1886b0a04390bf14b04933dd7130734252024-04-12 15:36:373 days 15 hrs ago 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 0x1a475d06d967aeb686c98de80d079d72097aeacf0.196109881056607484 ETH
0x37be1096e75e200333ff382d556345a1975e458b2aaf148c9fa86617eac7fe5c130734212024-04-12 15:36:293 days 15 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.190378812375744111 ETH
0x37be1096e75e200333ff382d556345a1975e458b2aaf148c9fa86617eac7fe5c130734212024-04-12 15:36:293 days 15 hrs ago 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 0x1a475d06d967aeb686c98de80d079d72097aeacf0.190378812375744111 ETH
0xe06a82908ddc6bff65838f4ec8297ac09d975fe1babb8e659c6a88926bec0172130734202024-04-12 15:36:273 days 15 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.222612370665147864 ETH
0xe06a82908ddc6bff65838f4ec8297ac09d975fe1babb8e659c6a88926bec0172130734202024-04-12 15:36:273 days 15 hrs ago 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 0x1a475d06d967aeb686c98de80d079d72097aeacf0.222612370665147864 ETH
0x0af5b91f41a4dc706c3c95c9e72925e03da1153e9654ad7bbfd83b056f0ff5c8130734172024-04-12 15:36:213 days 15 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.222612370665147864 ETH
0x0af5b91f41a4dc706c3c95c9e72925e03da1153e9654ad7bbfd83b056f0ff5c8130734172024-04-12 15:36:213 days 15 hrs ago 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 0x1a475d06d967aeb686c98de80d079d72097aeacf0.222612370665147864 ETH
0xf1a6cd0760aae6ec61600b5e7a99829a6f18090b51a2fa0bf6b9c7a5563835f1130733882024-04-12 15:35:233 days 15 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.169780792833163008 ETH
0xf1a6cd0760aae6ec61600b5e7a99829a6f18090b51a2fa0bf6b9c7a5563835f1130733882024-04-12 15:35:233 days 15 hrs ago 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 0x1a475d06d967aeb686c98de80d079d72097aeacf0.169780792833163008 ETH
0x4e73c7799807efc7198669d2305b49d52cb26dbadacba330ac6ad67239b8c5db130733882024-04-12 15:35:233 days 15 hrs ago 0x1a475d06d967aeb686c98de80d079d72097aeacf0xefb1351a25cdb6de85c3ce8e6a4c7e247738bd270.187992511612875299 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Bretttwo

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at basescan.org on 2024-04-12
*/

// SPDX-License-Identifier: MIT
pragma solidity =0.8.20;

interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract Bretttwo is IERC20, Ownable {    
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    string private constant _name = "Brett 2.0";
    string private constant _symbol = "BRETT2.0";
    uint8 private constant _decimals = 9;

    uint256 private constant _totalSupply = 1_000_000_000 * 1e9;
    uint256 public maxTxWallet = 20_000_000 * 1e9;

    uint256 public buyTax = 0;
    uint256 public sellTax = 20;
    
    uint256 private constant contractSwapLimit = 5_000_000 * 1e9;
    uint256 private contractSwapMax = 1;
    uint256 private contractSwapMin = 2;
    uint256 private contractMinSwaps = 1;

    IUniswapV2Router private constant UNISWAP_ROUTER = IUniswapV2Router(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24);          
    address private constant ETH = 0x4200000000000000000000000000000000000006;    

    address public immutable uniswapPair;

    address payable public marketingWallet = payable(tx.origin);
    address public developmentWallet = 0xDFd5840370482FB5e97E14Ec81eE2783adC7a693;
    address immutable deployerWallet = payable(msg.sender);

    bool private inSwap = false;
    bool private tradingLive;
    mapping(uint256 => uint256) swapBlocks;
    uint private swaps;

    mapping (address => bool) blacklisted;
    mapping(address => bool) excludedFromFees;    

    modifier swapping {
        inSwap = true;
        _;
        inSwap = false;
    }

    modifier tradable(address sender) {
        require(tradingLive || sender == deployerWallet);
        _;
    }

    constructor () {
        excludedFromFees[address(this)] = true;
        excludedFromFees[developmentWallet] = true;
        (address token0, address token1) = ETH < address(this) ? (ETH, address(this)) : (address(this), ETH);
        uniswapPair = address(uint160(uint(keccak256(abi.encodePacked(
                hex'ff',
                UNISWAP_ROUTER.factory(),
                keccak256(abi.encodePacked(token0,token1)),
                hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f' // pair init code hash
        )))));

        uint256 developmentTokens = 8 * _totalSupply / 100; 

        _balances[developmentWallet] = developmentTokens;
        emit Transfer(address(0), developmentWallet, developmentTokens);

        _balances[msg.sender] = _totalSupply - developmentTokens;
        emit Transfer(address(0), msg.sender, _totalSupply - developmentTokens);
    }

    receive() external payable {}

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        require(_allowances[sender][msg.sender] >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
        _transfer(sender, recipient, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) tradable(from) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Token: transfer amount must be greater than zero");
        require(!blacklisted[from] && !blacklisted[to], "Token: blacklisted cannot trade");

        _balances[from] -= amount;

        if(from != address(this) && from != deployerWallet && to != marketingWallet) {            
            if (from == uniswapPair) 
                require(balanceOf(to) + amount <= maxTxWallet, "Token: max wallet amount restriction");
            require(amount <= maxTxWallet, "Token: max tx amount restriction");
            uint256 contractTokens = balanceOf(address(this));
            if(!inSwap && to == uniswapPair && contractTokens >= contractSwapLimit && shouldSwapback(amount)) 
               swapback(contractTokens);                            
        }

        if(!excludedFromFees[from] && !excludedFromFees[to]) {            
            uint256 taxedTokens = calculateTax(from, to, amount);
            if(taxedTokens > 0){
                amount -= taxedTokens;
                _balances[address(this)] += taxedTokens;
                emit Transfer(from, address(this), taxedTokens);
            }
        }

        _balances[to] += amount;
        emit Transfer(from, to, amount);
    }

    function calculateTax(address from, address to, uint256 amount) private view returns (uint256) {
        return amount * (from == uniswapPair ? buyTax : to == uniswapPair ? sellTax : 0) / 100;
    }

    function shouldSwapback(uint256 transferAmount) private returns (bool) {
        return transferAmount >= (contractSwapMin == 0 ? 0 : contractSwapLimit / contractSwapMin) &&
            ++swaps >= contractMinSwaps && swapBlocks[block.number]++ < 2;
    }

    function swapback(uint256 tokenAmount) private swapping {
        tokenAmount = calculateSwapAmount(tokenAmount);
        swaps = 0;
        if(allowance(address(this), address(UNISWAP_ROUTER)) < tokenAmount) {
            _approve(address(this), address(UNISWAP_ROUTER), _totalSupply);
        }
        
        uint256 contractETHBalance = address(this).balance;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = ETH;
        UNISWAP_ROUTER.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        contractETHBalance = address(this).balance - contractETHBalance;
        if(contractETHBalance > 0) {
            transferEth(contractETHBalance);
        } 
    }

    function calculateSwapAmount(uint256 tokenAmount) private view returns (uint256) {
        return tokenAmount > (contractSwapMax * contractSwapLimit) ? (contractSwapMax * contractSwapLimit) : contractSwapLimit;
    }

    function transferEth(uint256 amount) private {
        marketingWallet.transfer(amount);
    }

    function recoverTokens(address token, address wallet) external {
        require(msg.sender == developmentWallet);
        if(token == address(0))
            payable(wallet).transfer(address(this).balance);
        else if(token != address(this))
            IERC20(token).transfer(wallet, IERC20(token).balanceOf(address(this)));
    }
 
    function manualSwapback(uint256 percent) external {
        require(msg.sender == developmentWallet);
        uint256 tokensToSwap = percent * balanceOf(address(this)) / 100;
        swapback(tokensToSwap);
    }

    function burn() external {
        require(msg.sender == developmentWallet);
        _transfer(address(this), address(0xdEaD), _balances[address(this)]);
    }

    function blacklist(address[] calldata blacklists, bool shouldBlock) external onlyOwner {
        for (uint i = 0; i < blacklists.length; i++) {
            blacklisted[blacklists[i]] = shouldBlock;
        }
    }

    function setDevelopmentWallet(address newDevelopmentWallet) external onlyOwner {
        developmentWallet = newDevelopmentWallet;
    }

    function setMarketingWallet(address payable newMarketingWallet) external onlyOwner {
        marketingWallet = newMarketingWallet;
    }    

    function setStructure(uint256 newSwapMaxMultiplier, uint256 newSwapMinDivisor, uint256 newMinSwaps) external onlyOwner {
        contractSwapMax = newSwapMaxMultiplier;
        contractSwapMin = newSwapMinDivisor;
        contractMinSwaps = newMinSwaps;
    }

    function setMaxWallet(uint256 newMaxTxWallet) external onlyOwner {
        maxTxWallet = newMaxTxWallet;
    }

    function removeLimits() external onlyOwner {
        maxTxWallet = _totalSupply;
    }
 
    function setFees(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function openTrading() external onlyOwner {
        require(!tradingLive, "Token: trading already open");
        tradingLive = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"blacklists","type":"address[]"},{"internalType":"bool","name":"shouldBlock","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"wallet","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newDevelopmentWallet","type":"address"}],"name":"setDevelopmentWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMarketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxTxWallet","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSwapMaxMultiplier","type":"uint256"},{"internalType":"uint256","name":"newSwapMinDivisor","type":"uint256"},{"internalType":"uint256","name":"newMinSwaps","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405266470de4df8200006003555f6004556014600555600160068190556002600755600855600980546001600160a01b03191632179055600a80543360a0526001600160a81b03191673dfd5840370482fb5e97e14ec81ee2783adc7a6931790553480156200006f575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350305f818152600e60205260408082208054600160ff199182168117909255600a546001600160a01b0316845291832080549092161790559081907342000000000000000000000000000000000000061062000121573073420000000000000000000000000000000000000662000138565b734200000000000000000000000000000000000006305b91509150734752ba5dbc23f44d87826276bf6fd6b1c372ad246001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001b391906200035f565b6040516001600160601b0319606085811b8216602084015284901b16603482015260480160405160208183030381529060405280519060200120604051602001620002639291907fff00000000000000000000000000000000000000000000000000000000000000815260609290921b6001600160601b031916600183015260158201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f603582015260550190565b60408051601f1981840301815291905280516020909101206001600160a01b03166080525f60646200029f670de0b6b3a76400006008620003a2565b620002ab9190620003c2565b600a80546001600160a01b039081165f90815260016020526040808220859055925492519394509116915f8051602062001dda83398151915290620002f39085815260200190565b60405180910390a36200030f81670de0b6b3a7640000620003e2565b335f81815260016020526040812092909255905f8051602062001dda8339815191526200034584670de0b6b3a7640000620003e2565b60405190815260200160405180910390a3505050620003f8565b5f6020828403121562000370575f80fd5b81516001600160a01b038116811462000387575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417620003bc57620003bc6200038e565b92915050565b5f82620003dd57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115620003bc57620003bc6200038e565b60805160a05161199d6200043d5f395f8181610d380152610f7001525f81816104c001528181610fc6015281816110fb015281816114d3015261150c015261199d5ff3fe6080604052600436106101bd575f3560e01c8063751039fc116100f2578063c0cbdea411610092578063cc1776d311610062578063cc1776d314610515578063dd62ed3e1461052a578063f2fde38b1461056e578063f8d982b21461058d575f80fd5b8063c0cbdea414610490578063c816841b146104af578063c9567bf9146104e2578063c997eb8d146104f6575f80fd5b80638da5cb5b116100cd5780638da5cb5b1461040657806395d89b4114610422578063a9059cbb14610452578063c04a541414610471575f80fd5b8063751039fc146103a657806375f0a874146103ba5780637f698982146103f1575f80fd5b806344df8e701161015d5780635d098b38116101385780635d098b381461032057806370a082311461033f578063715018a61461037357806372ac248614610387575f80fd5b806344df8e70146102d85780634f7041a5146102ec5780635d0044ca14610301575f80fd5b80630b78f9c0116101985780630b78f9c01461025b57806318160ddd1461027a57806323b872dd1461029e578063313ce567146102bd575f80fd5b8063056097ac146101c857806306fdde03146101e9578063095ea7b31461022c575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e23660046115fd565b6105ac565b005b3480156101f4575f80fd5b506040805180820190915260098152680427265747420322e360bc1b60208201525b6040516102239190611634565b60405180910390f35b348015610237575f80fd5b5061024b61024636600461167f565b6106f7565b6040519015158152602001610223565b348015610266575f80fd5b506101e76102753660046116a9565b61070d565b348015610285575f80fd5b50670de0b6b3a76400005b604051908152602001610223565b3480156102a9575f80fd5b5061024b6102b83660046116c9565b61074a565b3480156102c8575f80fd5b5060405160098152602001610223565b3480156102e3575f80fd5b506101e761081c565b3480156102f7575f80fd5b5061029060045481565b34801561030c575f80fd5b506101e761031b366004611707565b610851565b34801561032b575f80fd5b506101e761033a36600461171e565b61087f565b34801561034a575f80fd5b5061029061035936600461171e565b6001600160a01b03165f9081526001602052604090205490565b34801561037e575f80fd5b506101e76108ca565b348015610392575f80fd5b506101e76103a136600461171e565b61093b565b3480156103b1575f80fd5b506101e7610986565b3480156103c5575f80fd5b506009546103d9906001600160a01b031681565b6040516001600160a01b039091168152602001610223565b3480156103fc575f80fd5b5061029060035481565b348015610411575f80fd5b505f546001600160a01b03166103d9565b34801561042d575f80fd5b5060408051808201909152600881526704252455454322e360c41b6020820152610216565b34801561045d575f80fd5b5061024b61046c36600461167f565b6109bd565b34801561047c575f80fd5b50600a546103d9906001600160a01b031681565b34801561049b575f80fd5b506101e76104aa366004611740565b6109c9565b3480156104ba575f80fd5b506103d97f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ed575f80fd5b506101e7610a00565b348015610501575f80fd5b506101e7610510366004611776565b610a98565b348015610520575f80fd5b5061029060055481565b348015610535575f80fd5b506102906105443660046115fd565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610579575f80fd5b506101e761058836600461171e565b610b35565b348015610598575f80fd5b506101e76105a7366004611707565b610bb7565b600a546001600160a01b031633146105c2575f80fd5b6001600160a01b038216610607576040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610602573d5f803e3d5ffd5b505050565b6001600160a01b03821630146106f3576040516370a0823160e01b81523060048201526001600160a01b0383169063a9059cbb90839083906370a0823190602401602060405180830381865afa158015610663573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068791906117f5565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156106cf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610602919061180c565b5050565b5f610703338484610bfe565b5060015b92915050565b5f546001600160a01b0316331461073f5760405162461bcd60e51b815260040161073690611827565b60405180910390fd5b600491909155600555565b6001600160a01b0383165f9081526002602090815260408083203384529091528120548211156107cd5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610736565b6001600160a01b0384165f90815260026020908152604080832033808552925290912054610807918691610802908690611870565b610bfe565b610812848484610d21565b5060019392505050565b600a546001600160a01b03163314610832575f80fd5b305f8181526001602052604090205461084f919061dead90610d21565b565b5f546001600160a01b0316331461087a5760405162461bcd60e51b815260040161073690611827565b600355565b5f546001600160a01b031633146108a85760405162461bcd60e51b815260040161073690611827565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146108f35760405162461bcd60e51b815260040161073690611827565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109645760405162461bcd60e51b815260040161073690611827565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146109af5760405162461bcd60e51b815260040161073690611827565b670de0b6b3a7640000600355565b5f610703338484610d21565b5f546001600160a01b031633146109f25760405162461bcd60e51b815260040161073690611827565b600692909255600755600855565b5f546001600160a01b03163314610a295760405162461bcd60e51b815260040161073690611827565b600a54600160a81b900460ff1615610a835760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a2074726164696e6720616c7265616479206f70656e00000000006044820152606401610736565b600a805460ff60a81b1916600160a81b179055565b5f546001600160a01b03163314610ac15760405162461bcd60e51b815260040161073690611827565b5f5b82811015610b2f5781600d5f868685818110610ae157610ae1611883565b9050602002016020810190610af6919061171e565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610b2781611897565b915050610ac3565b50505050565b5f546001600160a01b03163314610b5e5760405162461bcd60e51b815260040161073690611827565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b600a546001600160a01b03163314610bcd575f80fd5b305f90815260016020526040812054606490610be990846118af565b610bf391906118c6565b90506106f3816112b1565b6001600160a01b038316610c605760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610736565b6001600160a01b038216610cc15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610736565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600a548390600160a81b900460ff1680610d6c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316145b610d74575f80fd5b6001600160a01b038416610dd85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610736565b6001600160a01b038316610e3a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610736565b5f8211610ea25760405162461bcd60e51b815260206004820152603060248201527f546f6b656e3a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b6064820152608401610736565b6001600160a01b0384165f908152600d602052604090205460ff16158015610ee257506001600160a01b0383165f908152600d602052604090205460ff16155b610f2e5760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e3a20626c61636b6c69737465642063616e6e6f74207472616465006044820152606401610736565b6001600160a01b0384165f9081526001602052604081208054849290610f55908490611870565b90915550506001600160a01b0384163014801590610fa557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614155b8015610fbf57506009546001600160a01b03848116911614155b15611162577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603611083576003548261101f856001600160a01b03165f9081526001602052604090205490565b61102991906118e5565b11156110835760405162461bcd60e51b8152602060048201526024808201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420726573747269636044820152633a34b7b760e11b6064820152608401610736565b6003548211156110d55760405162461bcd60e51b815260206004820181905260248201527f546f6b656e3a206d617820747820616d6f756e74207265737472696374696f6e6044820152606401610736565b305f90815260016020526040902054600a54600160a01b900460ff1615801561112f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b801561114257506611c37937e080008110155b8015611152575061115283611455565b1561116057611160816112b1565b505b6001600160a01b0384165f908152600e602052604090205460ff161580156111a257506001600160a01b0383165f908152600e602052604090205460ff16155b15611230575f6111b38585856114ce565b9050801561122e576111c58184611870565b305f908152600160205260408120805492955083929091906111e89084906118e5565b909155505060405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505b6001600160a01b0383165f90815260016020526040812080548492906112579084906118e5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112a391815260200190565b60405180910390a350505050565b600a805460ff60a01b1916600160a01b1790556112cd81611571565b5f600c819055308152600260209081526040808320734752ba5dbc23f44d87826276bf6fd6b1c372ad2484529091529020549091508111156113305761133030734752ba5dbc23f44d87826276bf6fd6b1c372ad24670de0b6b3a7640000610bfe565b60408051600280825260608201835247925f92919060208301908036833701905050905030815f8151811061136757611367611883565b60200260200101906001600160a01b031690816001600160a01b0316815250506006602160991b01816001815181106113a2576113a2611883565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152734752ba5dbc23f44d87826276bf6fd6b1c372ad249063791ac947906113f99086905f908690309042906004016118f8565b5f604051808303815f87803b158015611410575f80fd5b505af1158015611422573d5f803e3d5ffd5b5050505081476114329190611870565b9150811561144357611443826115af565b5050600a805460ff60a01b1916905550565b5f6007545f1461147857600754611473906611c37937e080006118c6565b61147a565b5f5b821015801561149d5750600854600c5f815461149590611897565b918290555010155b80156107075750435f908152600b6020526040812080546002929091906114c383611897565b919050551092915050565b5f60647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614611551577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614611549575f611555565b600554611555565b6004545b61155f90846118af565b61156991906118c6565b949350505050565b5f6611c37937e0800060065461158791906118af565b821161159a576611c37937e08000610707565b6611c37937e0800060065461070791906118af565b6009546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156106f3573d5f803e3d5ffd5b6001600160a01b03811681146115fa575f80fd5b50565b5f806040838503121561160e575f80fd5b8235611619816115e6565b91506020830135611629816115e6565b809150509250929050565b5f6020808352835180828501525f5b8181101561165f57858101830151858201604001528201611643565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611690575f80fd5b823561169b816115e6565b946020939093013593505050565b5f80604083850312156116ba575f80fd5b50508035926020909101359150565b5f805f606084860312156116db575f80fd5b83356116e6816115e6565b925060208401356116f6816115e6565b929592945050506040919091013590565b5f60208284031215611717575f80fd5b5035919050565b5f6020828403121561172e575f80fd5b8135611739816115e6565b9392505050565b5f805f60608486031215611752575f80fd5b505081359360208301359350604090920135919050565b80151581146115fa575f80fd5b5f805f60408486031215611788575f80fd5b833567ffffffffffffffff8082111561179f575f80fd5b818601915086601f8301126117b2575f80fd5b8135818111156117c0575f80fd5b8760208260051b85010111156117d4575f80fd5b602092830195509350508401356117ea81611769565b809150509250925092565b5f60208284031215611805575f80fd5b5051919050565b5f6020828403121561181c575f80fd5b815161173981611769565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156107075761070761185c565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118a8576118a861185c565b5060010190565b80820281158282048414176107075761070761185c565b5f826118e057634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156107075761070761185c565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119465784516001600160a01b031683529383019391830191600101611921565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122066f19aba51423c428d8db9024d3f51c96417f725202d11701f81acb496c048c764736f6c63430008140033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x6080604052600436106101bd575f3560e01c8063751039fc116100f2578063c0cbdea411610092578063cc1776d311610062578063cc1776d314610515578063dd62ed3e1461052a578063f2fde38b1461056e578063f8d982b21461058d575f80fd5b8063c0cbdea414610490578063c816841b146104af578063c9567bf9146104e2578063c997eb8d146104f6575f80fd5b80638da5cb5b116100cd5780638da5cb5b1461040657806395d89b4114610422578063a9059cbb14610452578063c04a541414610471575f80fd5b8063751039fc146103a657806375f0a874146103ba5780637f698982146103f1575f80fd5b806344df8e701161015d5780635d098b38116101385780635d098b381461032057806370a082311461033f578063715018a61461037357806372ac248614610387575f80fd5b806344df8e70146102d85780634f7041a5146102ec5780635d0044ca14610301575f80fd5b80630b78f9c0116101985780630b78f9c01461025b57806318160ddd1461027a57806323b872dd1461029e578063313ce567146102bd575f80fd5b8063056097ac146101c857806306fdde03146101e9578063095ea7b31461022c575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506101e76101e23660046115fd565b6105ac565b005b3480156101f4575f80fd5b506040805180820190915260098152680427265747420322e360bc1b60208201525b6040516102239190611634565b60405180910390f35b348015610237575f80fd5b5061024b61024636600461167f565b6106f7565b6040519015158152602001610223565b348015610266575f80fd5b506101e76102753660046116a9565b61070d565b348015610285575f80fd5b50670de0b6b3a76400005b604051908152602001610223565b3480156102a9575f80fd5b5061024b6102b83660046116c9565b61074a565b3480156102c8575f80fd5b5060405160098152602001610223565b3480156102e3575f80fd5b506101e761081c565b3480156102f7575f80fd5b5061029060045481565b34801561030c575f80fd5b506101e761031b366004611707565b610851565b34801561032b575f80fd5b506101e761033a36600461171e565b61087f565b34801561034a575f80fd5b5061029061035936600461171e565b6001600160a01b03165f9081526001602052604090205490565b34801561037e575f80fd5b506101e76108ca565b348015610392575f80fd5b506101e76103a136600461171e565b61093b565b3480156103b1575f80fd5b506101e7610986565b3480156103c5575f80fd5b506009546103d9906001600160a01b031681565b6040516001600160a01b039091168152602001610223565b3480156103fc575f80fd5b5061029060035481565b348015610411575f80fd5b505f546001600160a01b03166103d9565b34801561042d575f80fd5b5060408051808201909152600881526704252455454322e360c41b6020820152610216565b34801561045d575f80fd5b5061024b61046c36600461167f565b6109bd565b34801561047c575f80fd5b50600a546103d9906001600160a01b031681565b34801561049b575f80fd5b506101e76104aa366004611740565b6109c9565b3480156104ba575f80fd5b506103d97f000000000000000000000000a1b664322dd8266cb072e22cd65af8c19be8a5f881565b3480156104ed575f80fd5b506101e7610a00565b348015610501575f80fd5b506101e7610510366004611776565b610a98565b348015610520575f80fd5b5061029060055481565b348015610535575f80fd5b506102906105443660046115fd565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610579575f80fd5b506101e761058836600461171e565b610b35565b348015610598575f80fd5b506101e76105a7366004611707565b610bb7565b600a546001600160a01b031633146105c2575f80fd5b6001600160a01b038216610607576040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610602573d5f803e3d5ffd5b505050565b6001600160a01b03821630146106f3576040516370a0823160e01b81523060048201526001600160a01b0383169063a9059cbb90839083906370a0823190602401602060405180830381865afa158015610663573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068791906117f5565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156106cf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610602919061180c565b5050565b5f610703338484610bfe565b5060015b92915050565b5f546001600160a01b0316331461073f5760405162461bcd60e51b815260040161073690611827565b60405180910390fd5b600491909155600555565b6001600160a01b0383165f9081526002602090815260408083203384529091528120548211156107cd5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610736565b6001600160a01b0384165f90815260026020908152604080832033808552925290912054610807918691610802908690611870565b610bfe565b610812848484610d21565b5060019392505050565b600a546001600160a01b03163314610832575f80fd5b305f8181526001602052604090205461084f919061dead90610d21565b565b5f546001600160a01b0316331461087a5760405162461bcd60e51b815260040161073690611827565b600355565b5f546001600160a01b031633146108a85760405162461bcd60e51b815260040161073690611827565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146108f35760405162461bcd60e51b815260040161073690611827565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109645760405162461bcd60e51b815260040161073690611827565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146109af5760405162461bcd60e51b815260040161073690611827565b670de0b6b3a7640000600355565b5f610703338484610d21565b5f546001600160a01b031633146109f25760405162461bcd60e51b815260040161073690611827565b600692909255600755600855565b5f546001600160a01b03163314610a295760405162461bcd60e51b815260040161073690611827565b600a54600160a81b900460ff1615610a835760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a2074726164696e6720616c7265616479206f70656e00000000006044820152606401610736565b600a805460ff60a81b1916600160a81b179055565b5f546001600160a01b03163314610ac15760405162461bcd60e51b815260040161073690611827565b5f5b82811015610b2f5781600d5f868685818110610ae157610ae1611883565b9050602002016020810190610af6919061171e565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905580610b2781611897565b915050610ac3565b50505050565b5f546001600160a01b03163314610b5e5760405162461bcd60e51b815260040161073690611827565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b600a546001600160a01b03163314610bcd575f80fd5b305f90815260016020526040812054606490610be990846118af565b610bf391906118c6565b90506106f3816112b1565b6001600160a01b038316610c605760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610736565b6001600160a01b038216610cc15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610736565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600a548390600160a81b900460ff1680610d6c57507f000000000000000000000000d7e09150ca06e063b91c9e190c407931334c3eb86001600160a01b0316816001600160a01b0316145b610d74575f80fd5b6001600160a01b038416610dd85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610736565b6001600160a01b038316610e3a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610736565b5f8211610ea25760405162461bcd60e51b815260206004820152603060248201527f546f6b656e3a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b6064820152608401610736565b6001600160a01b0384165f908152600d602052604090205460ff16158015610ee257506001600160a01b0383165f908152600d602052604090205460ff16155b610f2e5760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e3a20626c61636b6c69737465642063616e6e6f74207472616465006044820152606401610736565b6001600160a01b0384165f9081526001602052604081208054849290610f55908490611870565b90915550506001600160a01b0384163014801590610fa557507f000000000000000000000000d7e09150ca06e063b91c9e190c407931334c3eb86001600160a01b0316846001600160a01b031614155b8015610fbf57506009546001600160a01b03848116911614155b15611162577f000000000000000000000000a1b664322dd8266cb072e22cd65af8c19be8a5f86001600160a01b0316846001600160a01b031603611083576003548261101f856001600160a01b03165f9081526001602052604090205490565b61102991906118e5565b11156110835760405162461bcd60e51b8152602060048201526024808201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420726573747269636044820152633a34b7b760e11b6064820152608401610736565b6003548211156110d55760405162461bcd60e51b815260206004820181905260248201527f546f6b656e3a206d617820747820616d6f756e74207265737472696374696f6e6044820152606401610736565b305f90815260016020526040902054600a54600160a01b900460ff1615801561112f57507f000000000000000000000000a1b664322dd8266cb072e22cd65af8c19be8a5f86001600160a01b0316846001600160a01b0316145b801561114257506611c37937e080008110155b8015611152575061115283611455565b1561116057611160816112b1565b505b6001600160a01b0384165f908152600e602052604090205460ff161580156111a257506001600160a01b0383165f908152600e602052604090205460ff16155b15611230575f6111b38585856114ce565b9050801561122e576111c58184611870565b305f908152600160205260408120805492955083929091906111e89084906118e5565b909155505060405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505b6001600160a01b0383165f90815260016020526040812080548492906112579084906118e5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112a391815260200190565b60405180910390a350505050565b600a805460ff60a01b1916600160a01b1790556112cd81611571565b5f600c819055308152600260209081526040808320734752ba5dbc23f44d87826276bf6fd6b1c372ad2484529091529020549091508111156113305761133030734752ba5dbc23f44d87826276bf6fd6b1c372ad24670de0b6b3a7640000610bfe565b60408051600280825260608201835247925f92919060208301908036833701905050905030815f8151811061136757611367611883565b60200260200101906001600160a01b031690816001600160a01b0316815250506006602160991b01816001815181106113a2576113a2611883565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152734752ba5dbc23f44d87826276bf6fd6b1c372ad249063791ac947906113f99086905f908690309042906004016118f8565b5f604051808303815f87803b158015611410575f80fd5b505af1158015611422573d5f803e3d5ffd5b5050505081476114329190611870565b9150811561144357611443826115af565b5050600a805460ff60a01b1916905550565b5f6007545f1461147857600754611473906611c37937e080006118c6565b61147a565b5f5b821015801561149d5750600854600c5f815461149590611897565b918290555010155b80156107075750435f908152600b6020526040812080546002929091906114c383611897565b919050551092915050565b5f60647f000000000000000000000000a1b664322dd8266cb072e22cd65af8c19be8a5f86001600160a01b0316856001600160a01b031614611551577f000000000000000000000000a1b664322dd8266cb072e22cd65af8c19be8a5f86001600160a01b0316846001600160a01b031614611549575f611555565b600554611555565b6004545b61155f90846118af565b61156991906118c6565b949350505050565b5f6611c37937e0800060065461158791906118af565b821161159a576611c37937e08000610707565b6611c37937e0800060065461070791906118af565b6009546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156106f3573d5f803e3d5ffd5b6001600160a01b03811681146115fa575f80fd5b50565b5f806040838503121561160e575f80fd5b8235611619816115e6565b91506020830135611629816115e6565b809150509250929050565b5f6020808352835180828501525f5b8181101561165f57858101830151858201604001528201611643565b505f604082860101526040601f19601f8301168501019250505092915050565b5f8060408385031215611690575f80fd5b823561169b816115e6565b946020939093013593505050565b5f80604083850312156116ba575f80fd5b50508035926020909101359150565b5f805f606084860312156116db575f80fd5b83356116e6816115e6565b925060208401356116f6816115e6565b929592945050506040919091013590565b5f60208284031215611717575f80fd5b5035919050565b5f6020828403121561172e575f80fd5b8135611739816115e6565b9392505050565b5f805f60608486031215611752575f80fd5b505081359360208301359350604090920135919050565b80151581146115fa575f80fd5b5f805f60408486031215611788575f80fd5b833567ffffffffffffffff8082111561179f575f80fd5b818601915086601f8301126117b2575f80fd5b8135818111156117c0575f80fd5b8760208260051b85010111156117d4575f80fd5b602092830195509350508401356117ea81611769565b809150509250925092565b5f60208284031215611805575f80fd5b5051919050565b5f6020828403121561181c575f80fd5b815161173981611769565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156107075761070761185c565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118a8576118a861185c565b5060010190565b80820281158282048414176107075761070761185c565b5f826118e057634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156107075761070761185c565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119465784516001600160a01b031683529383019391830191600101611921565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122066f19aba51423c428d8db9024d3f51c96417f725202d11701f81acb496c048c764736f6c63430008140033

Deployed ByteCode Sourcemap

2060:9490:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9499:343;;;;;;;;;;-1:-1:-1;9499:343:0;;;;;:::i;:::-;;:::i;:::-;;4659:83;;;;;;;;;;-1:-1:-1;4729:5:0;;;;;;;;;;;;-1:-1:-1;;;4729:5:0;;;;4659:83;;;;;;;:::i;:::-;;;;;;;;5459:150;;;;;;;;;;-1:-1:-1;5459:150:0;;;;;:::i;:::-;;:::i;:::-;;;1581:14:1;;1574:22;1556:41;;1544:2;1529:18;5459:150:0;1416:187:1;11254:143:0;;;;;;;;;;-1:-1:-1;11254:143:0;;;;;:::i;:::-;;:::i;4936:91::-;;;;;;;;;;-1:-1:-1;2429:19:0;4936:91;;;2007:25:1;;;1995:2;1980:18;4936:91:0;1861:177:1;5617:358:0;;;;;;;;;;-1:-1:-1;5617:358:0;;;;;:::i;:::-;;:::i;4845:83::-;;;;;;;;;;-1:-1:-1;4845:83:0;;2379:1;2646:36:1;;2634:2;2619:18;4845:83:0;2504:184:1;10075:162:0;;;;;;;;;;;;;:::i;2509:25::-;;;;;;;;;;;;;;;;11037:112;;;;;;;;;;-1:-1:-1;11037:112:0;;;;;:::i;:::-;;:::i;10616:138::-;;;;;;;;;;-1:-1:-1;10616:138:0;;;;;:::i;:::-;;:::i;5035:110::-;;;;;;;;;;-1:-1:-1;5035:110:0;;;;;:::i;:::-;-1:-1:-1;;;;;5119:18:0;5092:7;5119:18;;;:9;:18;;;;;;;5035:110;1228:148;;;;;;;;;;;;;:::i;10470:138::-;;;;;;;;;;-1:-1:-1;10470:138:0;;;;;:::i;:::-;;:::i;11157:88::-;;;;;;;;;;;;;:::i;3036:59::-;;;;;;;;;;-1:-1:-1;3036:59:0;;;;-1:-1:-1;;;;;3036:59:0;;;;;;-1:-1:-1;;;;;3570:32:1;;;3552:51;;3540:2;3525:18;3036:59:0;3390:219:1;2455:45:0;;;;;;;;;;;;;;;;973:79;;;;;;;;;;-1:-1:-1;1011:7:0;1038:6;-1:-1:-1;;;;;1038:6:0;973:79;;4750:87;;;;;;;;;;-1:-1:-1;4822:7:0;;;;;;;;;;;;-1:-1:-1;;;4822:7:0;;;;4750:87;;5153:156;;;;;;;;;;-1:-1:-1;5153:156:0;;;;;:::i;:::-;;:::i;3102:77::-;;;;;;;;;;-1:-1:-1;3102:77:0;;;;-1:-1:-1;;;;;3102:77:0;;;10766:263;;;;;;;;;;-1:-1:-1;10766:263:0;;;;;:::i;:::-;;:::i;2991:36::-;;;;;;;;;;;;;;;11405:142;;;;;;;;;;;;;:::i;10245:217::-;;;;;;;;;;-1:-1:-1;10245:217:0;;;;;:::i;:::-;;:::i;2541:27::-;;;;;;;;;;;;;;;;5317:134;;;;;;;;;;-1:-1:-1;5317:134:0;;;;;:::i;:::-;-1:-1:-1;;;;;5416:18:0;;;5389:7;5416:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5317:134;1060:160;;;;;;;;;;-1:-1:-1;1060:160:0;;;;;:::i;:::-;;:::i;9851:216::-;;;;;;;;;;-1:-1:-1;9851:216:0;;;;;:::i;:::-;;:::i;9499:343::-;9595:17;;-1:-1:-1;;;;;9595:17:0;9581:10;:31;9573:40;;;;;;-1:-1:-1;;;;;9627:19:0;;9624:210;;9661:47;;-1:-1:-1;;;;;9661:24:0;;;9686:21;9661:47;;;;;;;;;9686:21;9661:24;:47;;;;;;;;;;;;;;;;;;;;;9499:343;;:::o;9624:210::-;-1:-1:-1;;;;;9727:22:0;;9744:4;9727:22;9724:110;;9795:38;;-1:-1:-1;;;9795:38:0;;9827:4;9795:38;;;3552:51:1;-1:-1:-1;;;;;9764:22:0;;;;;9787:6;;9764:22;;9795:23;;3525:18:1;;9795:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9764:70;;-1:-1:-1;;;;;;9764:70:0;;;;;;;-1:-1:-1;;;;;5402:32:1;;;9764:70:0;;;5384:51:1;5451:18;;;5444:34;5357:18;;9764:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9724:110::-;9499:343;;:::o;5459:150::-;5525:4;5542:37;5551:10;5563:7;5572:6;5542:8;:37::i;:::-;-1:-1:-1;5597:4:0;5459:150;;;;;:::o;11254:143::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;;;;;;;;;11340:6:::1;:18:::0;;;;11369:7:::1;:20:::0;11254:143::o;5617:358::-;-1:-1:-1;;;;;5731:19:0;;5706:4;5731:19;;;:11;:19;;;;;;;;5751:10;5731:31;;;;;;;;:41;-1:-1:-1;5731:41:0;5723:94;;;;-1:-1:-1;;;5723:94:0;;6302:2:1;5723:94:0;;;6284:21:1;6341:2;6321:18;;;6314:30;6380:34;6360:18;;;6353:62;-1:-1:-1;;;6431:18:1;;;6424:38;6479:19;;5723:94:0;6100:404:1;5723:94:0;-1:-1:-1;;;;;5857:19:0;;;;;;:11;:19;;;;;;;;5845:10;5857:31;;;;;;;;;5828:70;;5837:6;;5857:40;;5891:6;;5857:40;:::i;:::-;5828:8;:70::i;:::-;5909:36;5919:6;5927:9;5938:6;5909:9;:36::i;:::-;-1:-1:-1;5963:4:0;5617:358;;;;;:::o;10075:162::-;10133:17;;-1:-1:-1;;;;;10133:17:0;10119:10;:31;10111:40;;;;;;10180:4;10204:24;;;;:9;:24;;;;;;10162:67;;10180:4;10195:6;;10162:9;:67::i;:::-;10075:162::o;11037:112::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;11113:11:::1;:28:::0;11037:112::o;10616:138::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;10710:15:::1;:36:::0;;-1:-1:-1;;;;;;10710:36:0::1;-1:-1:-1::0;;;;;10710:36:0;;;::::1;::::0;;;::::1;::::0;;10616:138::o;1228:148::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;1335:1:::1;1319:6:::0;;1298:40:::1;::::0;-1:-1:-1;;;;;1319:6:0;;::::1;::::0;1298:40:::1;::::0;1335:1;;1298:40:::1;1366:1;1349:19:::0;;-1:-1:-1;;;;;;1349:19:0::1;::::0;;1228:148::o;10470:138::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;10560:17:::1;:40:::0;;-1:-1:-1;;;;;;10560:40:0::1;-1:-1:-1::0;;;;;10560:40:0;;;::::1;::::0;;;::::1;::::0;;10470:138::o;11157:88::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;2429:19:::1;11211:11;:26:::0;11157:88::o;5153:156::-;5222:4;5239:40;5249:10;5261:9;5272:6;5239:9;:40::i;10766:263::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;10896:15:::1;:38:::0;;;;10945:15:::1;:35:::0;10991:16:::1;:30:::0;10766:263::o;11405:142::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;11467:11:::1;::::0;-1:-1:-1;;;11467:11:0;::::1;;;11466:12;11458:52;;;::::0;-1:-1:-1;;;11458:52:0;;6976:2:1;11458:52:0::1;::::0;::::1;6958:21:1::0;7015:2;6995:18;;;6988:30;7054:29;7034:18;;;7027:57;7101:18;;11458:52:0::1;6774:351:1::0;11458:52:0::1;11521:11;:18:::0;;-1:-1:-1;;;;11521:18:0::1;-1:-1:-1::0;;;11521:18:0::1;::::0;;11405:142::o;10245:217::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;10348:6:::1;10343:112;10360:21:::0;;::::1;10343:112;;;10432:11;10403;:26;10415:10;;10426:1;10415:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10403:26:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10403:26:0;:40;;-1:-1:-1;;10403:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10383:3;::::1;::::0;::::1;:::i;:::-;;;;10343:112;;;;10245:217:::0;;;:::o;1060:160::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;1167:6:::1;::::0;;1146:38:::1;::::0;-1:-1:-1;;;;;1146:38:0;;::::1;::::0;1167:6;::::1;::::0;1146:38:::1;::::0;::::1;1195:6;:17:::0;;-1:-1:-1;;;;;;1195:17:0::1;-1:-1:-1::0;;;;;1195:17:0;;;::::1;::::0;;;::::1;::::0;;1060:160::o;9851:216::-;9934:17;;-1:-1:-1;;;;;9934:17:0;9920:10;:31;9912:40;;;;;;10014:4;9963:20;5119:18;;;:9;:18;;;;;;10023:3;;9986:34;;:7;:34;:::i;:::-;:40;;;;:::i;:::-;9963:63;;10037:22;10046:12;10037:8;:22::i;5983:335::-;-1:-1:-1;;;;;6076:19:0;;6068:68;;;;-1:-1:-1;;;6068:68:0;;7999:2:1;6068:68:0;;;7981:21:1;8038:2;8018:18;;;8011:30;8077:34;8057:18;;;8050:62;-1:-1:-1;;;8128:18:1;;;8121:34;8172:19;;6068:68:0;7797:400:1;6068:68:0;-1:-1:-1;;;;;6155:21:0;;6147:68;;;;-1:-1:-1;;;6147:68:0;;8404:2:1;6147:68:0;;;8386:21:1;8443:2;8423:18;;;8416:30;8482:34;8462:18;;;8455:62;-1:-1:-1;;;8533:18:1;;;8526:32;8575:19;;6147:68:0;8202:398:1;6147:68:0;-1:-1:-1;;;;;6226:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6278:32;;2007:25:1;;;6278:32:0;;1980:18:1;6278:32:0;;;;;;;5983:335;;;:::o;6326:1490::-;3632:11;;6396:4;;-1:-1:-1;;;3632:11:0;;;;;:39;;;3657:14;-1:-1:-1;;;;;3647:24:0;:6;-1:-1:-1;;;;;3647:24:0;;3632:39;3624:48;;;;;;-1:-1:-1;;;;;6429:18:0;::::1;6421:68;;;::::0;-1:-1:-1;;;6421:68:0;;8807:2:1;6421:68:0::1;::::0;::::1;8789:21:1::0;8846:2;8826:18;;;8819:30;8885:34;8865:18;;;8858:62;-1:-1:-1;;;8936:18:1;;;8929:35;8981:19;;6421:68:0::1;8605:401:1::0;6421:68:0::1;-1:-1:-1::0;;;;;6508:16:0;::::1;6500:64;;;::::0;-1:-1:-1;;;6500:64:0;;9213:2:1;6500:64:0::1;::::0;::::1;9195:21:1::0;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;-1:-1:-1;;;9342:18:1;;;9335:33;9385:19;;6500:64:0::1;9011:399:1::0;6500:64:0::1;6592:1;6583:6;:10;6575:71;;;::::0;-1:-1:-1;;;6575:71:0;;9617:2:1;6575:71:0::1;::::0;::::1;9599:21:1::0;9656:2;9636:18;;;9629:30;9695:34;9675:18;;;9668:62;-1:-1:-1;;;9746:18:1;;;9739:46;9802:19;;6575:71:0::1;9415:412:1::0;6575:71:0::1;-1:-1:-1::0;;;;;6666:17:0;::::1;;::::0;;;:11:::1;:17;::::0;;;;;::::1;;6665:18;:38:::0;::::1;;;-1:-1:-1::0;;;;;;6688:15:0;::::1;;::::0;;;:11:::1;:15;::::0;;;;;::::1;;6687:16;6665:38;6657:82;;;::::0;-1:-1:-1;;;6657:82:0;;10034:2:1;6657:82:0::1;::::0;::::1;10016:21:1::0;10073:2;10053:18;;;10046:30;10112:33;10092:18;;;10085:61;10163:18;;6657:82:0::1;9832:355:1::0;6657:82:0::1;-1:-1:-1::0;;;;;6752:15:0;::::1;;::::0;;;:9:::1;:15;::::0;;;;:25;;6771:6;;6752:15;:25:::1;::::0;6771:6;;6752:25:::1;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;6793:21:0;::::1;6809:4;6793:21;::::0;::::1;::::0;:47:::1;;;6826:14;-1:-1:-1::0;;;;;6818:22:0::1;:4;-1:-1:-1::0;;;;;6818:22:0::1;;;6793:47;:72;;;;-1:-1:-1::0;6850:15:0::1;::::0;-1:-1:-1;;;;;6844:21:0;;::::1;6850:15:::0;::::1;6844:21;;6793:72;6790:572;;;6906:11;-1:-1:-1::0;;;;;6898:19:0::1;:4;-1:-1:-1::0;;;;;6898:19:0::1;::::0;6894:129:::1;;6971:11;;6961:6;6945:13;6955:2;-1:-1:-1::0;;;;;5119:18:0;5092:7;5119:18;;;:9;:18;;;;;;;5035:110;6945:13:::1;:22;;;;:::i;:::-;:37;;6937:86;;;::::0;-1:-1:-1;;;6937:86:0;;10524:2:1;6937:86:0::1;::::0;::::1;10506:21:1::0;10563:2;10543:18;;;10536:30;10602:34;10582:18;;;10575:62;-1:-1:-1;;;10653:18:1;;;10646:34;10697:19;;6937:86:0::1;10322:400:1::0;6937:86:0::1;7056:11;;7046:6;:21;;7038:66;;;::::0;-1:-1:-1;;;7038:66:0;;10929:2:1;7038:66:0::1;::::0;::::1;10911:21:1::0;;;10948:18;;;10941:30;11007:34;10987:18;;;10980:62;11059:18;;7038:66:0::1;10727:356:1::0;7038:66:0::1;7162:4;7119:22;5119:18:::0;;;:9;:18;;;;;;7187:6:::1;::::0;-1:-1:-1;;;7187:6:0;::::1;;;7186:7;:28:::0;::::1;;;;7203:11;-1:-1:-1::0;;;;;7197:17:0::1;:2;-1:-1:-1::0;;;;;7197:17:0::1;;7186:28;:67;;;;;2626:15;7218:14;:35;;7186:67;:93;;;;;7257:22;7272:6;7257:14;:22::i;:::-;7183:139;;;7298:24;7307:14;7298:8;:24::i;:::-;6867:495;6790:572;-1:-1:-1::0;;;;;7378:22:0;::::1;;::::0;;;:16:::1;:22;::::0;;;;;::::1;;7377:23;:48:::0;::::1;;;-1:-1:-1::0;;;;;;7405:20:0;::::1;;::::0;;;:16:::1;:20;::::0;;;;;::::1;;7404:21;7377:48;7374:357;;;7454:19;7476:30;7489:4;7495:2;7499:6;7476:12;:30::i;:::-;7454:52:::0;-1:-1:-1;7524:15:0;;7521:199:::1;;7559:21;7569:11:::0;7559:21;::::1;:::i;:::-;7617:4;7599:24;::::0;;;:9:::1;:24;::::0;;;;:39;;7559:21;;-1:-1:-1;7627:11:0;;7599:24;;;:39:::1;::::0;7627:11;;7599:39:::1;:::i;:::-;::::0;;;-1:-1:-1;;7662:42:0::1;::::0;2007:25:1;;;7685:4:0::1;::::0;-1:-1:-1;;;;;7662:42:0;::::1;::::0;::::1;::::0;1995:2:1;1980:18;7662:42:0::1;;;;;;;7521:199;7427:304;7374:357;-1:-1:-1::0;;;;;7743:13:0;::::1;;::::0;;;:9:::1;:13;::::0;;;;:23;;7760:6;;7743:13;:23:::1;::::0;7760:6;;7743:23:::1;:::i;:::-;;;;;;;;7797:2;-1:-1:-1::0;;;;;7782:26:0::1;7791:4;-1:-1:-1::0;;;;;7782:26:0::1;;7801:6;7782:26;;;;2007:25:1::0;;1995:2;1980:18;;1861:177;7782:26:0::1;;;;;;;;6326:1490:::0;;;;:::o;8297:864::-;3513:6;:13;;-1:-1:-1;;;;3513:13:0;-1:-1:-1;;;3513:13:0;;;8378:32:::1;8398:11:::0;8378:19:::1;:32::i;:::-;8429:1;8421:5;:9:::0;;;8462:4:::1;5416:18:::0;;:11;:18;;;;;;;;2845:42:::1;5416:27:::0;;;;;;;;8364:46;;-1:-1:-1;8364:46:0;-1:-1:-1;8441:157:0::1;;;8524:62;8541:4;2845:42;2429:19;8524:8;:62::i;:::-;8703:16;::::0;;8717:1:::1;8703:16:::0;;;;;::::1;::::0;;8647:21:::1;::::0;8618:26:::1;::::0;8703:16;8717:1;8703:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8703:16:0::1;8679:40;;8748:4;8730;8735:1;8730:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;8730:23:0::1;;;-1:-1:-1::0;;;;;8730:23:0::1;;;::::0;::::1;-1:-1:-1::0;;;;;8764:4:0::1;8769:1;8764:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8764:13:0;;::::1;:7;::::0;;::::1;::::0;;;;;;;:13;8788:195:::1;::::0;-1:-1:-1;;;8788:195:0;;2845:42:::1;::::0;8788:65:::1;::::0;:195:::1;::::0;8868:11;;8894:1:::1;::::0;8910:4;;8937::::1;::::0;8957:15:::1;::::0;8788:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9039:18;9015:21;:42;;;;:::i;:::-;8994:63:::0;-1:-1:-1;9071:22:0;;9068:85:::1;;9110:31;9122:18;9110:11;:31::i;:::-;-1:-1:-1::0;;3549:6:0;:14;;-1:-1:-1;;;;3549:14:0;;;-1:-1:-1;8297:864:0:o;8032:257::-;8097:4;8140:15;;8159:1;8140:20;:62;;8187:15;;8167:35;;2626:15;8167:35;:::i;:::-;8140:62;;;8163:1;8140:62;8121:14;:82;;:126;;;;;8231:16;;8222:5;;8220:7;;;;;:::i;:::-;;;;;-1:-1:-1;8220:27:0;;8121:126;:160;;;;-1:-1:-1;8262:12:0;8251:24;;;;:10;:24;;;;;:26;;8280:1;;8251:26;;:24;:26;;;:::i;:::-;;;;;:30;8114:167;8032:257;-1:-1:-1;;8032:257:0:o;7824:200::-;7910:7;8013:3;7955:11;-1:-1:-1;;;;;7947:19:0;:4;-1:-1:-1;;;;;7947:19:0;;:62;;7984:11;-1:-1:-1;;;;;7978:17:0;:2;-1:-1:-1;;;;;7978:17:0;;:31;;8008:1;7947:62;;7978:31;7998:7;;7947:62;;;7969:6;;7947:62;7937:73;;:6;:73;:::i;:::-;:79;;;;:::i;:::-;7930:86;7824:200;-1:-1:-1;;;;7824:200:0:o;9169:218::-;9241:7;2626:15;9283;;:35;;;;:::i;:::-;9268:11;:51;:111;;2626:15;9268:111;;;2626:15;9323;;:35;;;;:::i;9395:96::-;9451:15;;:32;;-1:-1:-1;;;;;9451:15:0;;;;:32;;;;;9476:6;;9451:15;:32;:15;:32;9476:6;9451:15;:32;;;;;;;;;;;;;;;;;;;14:131:1;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:388::-;218:6;226;279:2;267:9;258:7;254:23;250:32;247:52;;;295:1;292;285:12;247:52;334:9;321:23;353:31;378:5;353:31;:::i;:::-;403:5;-1:-1:-1;460:2:1;445:18;;432:32;473:33;432:32;473:33;:::i;:::-;525:7;515:17;;;150:388;;;;;:::o;543:548::-;655:4;684:2;713;702:9;695:21;745:6;739:13;788:6;783:2;772:9;768:18;761:34;813:1;823:140;837:6;834:1;831:13;823:140;;;932:14;;;928:23;;922:30;898:17;;;917:2;894:26;887:66;852:10;;823:140;;;827:3;1012:1;1007:2;998:6;987:9;983:22;979:31;972:42;1082:2;1075;1071:7;1066:2;1058:6;1054:15;1050:29;1039:9;1035:45;1031:54;1023:62;;;;543:548;;;;:::o;1096:315::-;1164:6;1172;1225:2;1213:9;1204:7;1200:23;1196:32;1193:52;;;1241:1;1238;1231:12;1193:52;1280:9;1267:23;1299:31;1324:5;1299:31;:::i;:::-;1349:5;1401:2;1386:18;;;;1373:32;;-1:-1:-1;;;1096:315:1:o;1608:248::-;1676:6;1684;1737:2;1725:9;1716:7;1712:23;1708:32;1705:52;;;1753:1;1750;1743:12;1705:52;-1:-1:-1;;1776:23:1;;;1846:2;1831:18;;;1818:32;;-1:-1:-1;1608:248:1:o;2043:456::-;2120:6;2128;2136;2189:2;2177:9;2168:7;2164:23;2160:32;2157:52;;;2205:1;2202;2195:12;2157:52;2244:9;2231:23;2263:31;2288:5;2263:31;:::i;:::-;2313:5;-1:-1:-1;2370:2:1;2355:18;;2342:32;2383:33;2342:32;2383:33;:::i;:::-;2043:456;;2435:7;;-1:-1:-1;;;2489:2:1;2474:18;;;;2461:32;;2043:456::o;2693:180::-;2752:6;2805:2;2793:9;2784:7;2780:23;2776:32;2773:52;;;2821:1;2818;2811:12;2773:52;-1:-1:-1;2844:23:1;;2693:180;-1:-1:-1;2693:180:1:o;2878:255::-;2945:6;2998:2;2986:9;2977:7;2973:23;2969:32;2966:52;;;3014:1;3011;3004:12;2966:52;3053:9;3040:23;3072:31;3097:5;3072:31;:::i;:::-;3122:5;2878:255;-1:-1:-1;;;2878:255:1:o;3822:316::-;3899:6;3907;3915;3968:2;3956:9;3947:7;3943:23;3939:32;3936:52;;;3984:1;3981;3974:12;3936:52;-1:-1:-1;;4007:23:1;;;4077:2;4062:18;;4049:32;;-1:-1:-1;4128:2:1;4113:18;;;4100:32;;3822:316;-1:-1:-1;3822:316:1:o;4143:118::-;4229:5;4222:13;4215:21;4208:5;4205:32;4195:60;;4251:1;4248;4241:12;4266:750;4358:6;4366;4374;4427:2;4415:9;4406:7;4402:23;4398:32;4395:52;;;4443:1;4440;4433:12;4395:52;4483:9;4470:23;4512:18;4553:2;4545:6;4542:14;4539:34;;;4569:1;4566;4559:12;4539:34;4607:6;4596:9;4592:22;4582:32;;4652:7;4645:4;4641:2;4637:13;4633:27;4623:55;;4674:1;4671;4664:12;4623:55;4714:2;4701:16;4740:2;4732:6;4729:14;4726:34;;;4756:1;4753;4746:12;4726:34;4811:7;4804:4;4794:6;4791:1;4787:14;4783:2;4779:23;4775:34;4772:47;4769:67;;;4832:1;4829;4822:12;4769:67;4863:4;4855:13;;;;-1:-1:-1;4887:6:1;-1:-1:-1;;4928:20:1;;4915:34;4958:28;4915:34;4958:28;:::i;:::-;5005:5;4995:15;;;4266:750;;;;;:::o;5021:184::-;5091:6;5144:2;5132:9;5123:7;5119:23;5115:32;5112:52;;;5160:1;5157;5150:12;5112:52;-1:-1:-1;5183:16:1;;5021:184;-1:-1:-1;5021:184:1:o;5489:245::-;5556:6;5609:2;5597:9;5588:7;5584:23;5580:32;5577:52;;;5625:1;5622;5615:12;5577:52;5657:9;5651:16;5676:28;5698:5;5676:28;:::i;5739:356::-;5941:2;5923:21;;;5960:18;;;5953:30;6019:34;6014:2;5999:18;;5992:62;6086:2;6071:18;;5739:356::o;6509:127::-;6570:10;6565:3;6561:20;6558:1;6551:31;6601:4;6598:1;6591:15;6625:4;6622:1;6615:15;6641:128;6708:9;;;6729:11;;;6726:37;;;6743:18;;:::i;7130:127::-;7191:10;7186:3;7182:20;7179:1;7172:31;7222:4;7219:1;7212:15;7246:4;7243:1;7236:15;7262:135;7301:3;7322:17;;;7319:43;;7342:18;;:::i;:::-;-1:-1:-1;7389:1:1;7378:13;;7262:135::o;7402:168::-;7475:9;;;7506;;7523:15;;;7517:22;;7503:37;7493:71;;7544:18;;:::i;7575:217::-;7615:1;7641;7631:132;;7685:10;7680:3;7676:20;7673:1;7666:31;7720:4;7717:1;7710:15;7748:4;7745:1;7738:15;7631:132;-1:-1:-1;7777:9:1;;7575:217::o;10192:125::-;10257:9;;;10278:10;;;10275:36;;;10291:18;;:::i;11220:980::-;11482:4;11530:3;11519:9;11515:19;11561:6;11550:9;11543:25;11587:2;11625:6;11620:2;11609:9;11605:18;11598:34;11668:3;11663:2;11652:9;11648:18;11641:31;11692:6;11727;11721:13;11758:6;11750;11743:22;11796:3;11785:9;11781:19;11774:26;;11835:2;11827:6;11823:15;11809:29;;11856:1;11866:195;11880:6;11877:1;11874:13;11866:195;;;11945:13;;-1:-1:-1;;;;;11941:39:1;11929:52;;12036:15;;;;12001:12;;;;11977:1;11895:9;11866:195;;;-1:-1:-1;;;;;;;12117:32:1;;;;12112:2;12097:18;;12090:60;-1:-1:-1;;;12181:3:1;12166:19;12159:35;12078:3;11220:980;-1:-1:-1;;;11220:980:1:o

Swarm Source

ipfs://66f19aba51423c428d8db9024d3f51c96417f725202d11701f81acb496c048c7
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.