Contract 0x7f4a15f5cf12e1650f090fb7bc7b0f240f1bde98 2

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x3ac8fcd2c6ec5359f614f04132f1b2c0f15b0e165eac965faaf1dd9615760615Approve132271732021-12-05 22:17:2223 hrs 21 mins ago0xcd052a5231c1cb82bb427f8e2d39211d251ceb78 IN  Great Ape: GREATAPE Token0 BNB0.000266286
0xb131beafa7afa15f558d2ed4caa315be2776dfd545bccfb1557787303e9d2ad6Approve132115972021-12-05 8:49:491 day 12 hrs ago0x9a2a7e1a0852d2c8d78723fdec417d0a49144916 IN  Great Ape: GREATAPE Token0 BNB0.000125905
0xe7b6971cc41f04a7e79adb2d6914857b5a025bf85d6337e88009fc63e1a5e174Approve132115842021-12-05 8:49:101 day 12 hrs ago0x9a2a7e1a0852d2c8d78723fdec417d0a49144916 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0x4f0c29eb6ea94b02da023f0ff1de24004c2e784595cb94061e340d13bc5d971cApprove131973702021-12-04 20:56:442 days 41 mins ago0xdd094c8f7fcede76a7d724068fd73acdf9b9ea80 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0xe2affad65a38ccaf85e7580c9199c3999c8e58cc919e2ad0d53f98c72c84a63bApprove131319262021-12-02 13:39:544 days 7 hrs ago0x4827599539a461c88a1d33a8b741436d964c42ec IN  Great Ape: GREATAPE Token0 BNB0.000221905
0x39a8265adaa5d67a54d80cca7ecd2f9c6989b1e062966029e21dbc41a789a22cApprove131103402021-12-01 18:56:245 days 2 hrs ago0x01920aadef2f38924416e4f05784d84c42e61901 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0x70bd7a6713f93ba49922084188faee6583a626f4e392b8dbf311f436dcb06903Approve131054352021-12-01 14:35:185 days 7 hrs ago0x9012ee1c9983859c53f7bc91727255a8f5e52c08 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0xdbb0a387eb145ad1042703c611ddb34aa07680f0051c103ed96d115be2c6b3a7Approve130773252021-11-30 13:18:216 days 8 hrs ago0xee997b285669dcb3afa510209bcf67f21b2964f1 IN  Great Ape: GREATAPE Token0 BNB0.000072495
0x1073c416ef635b686ebb19f93968397c6d44bd098b5ef88155cb4b5613a3a0e9Approve129868972021-11-27 3:37:229 days 18 hrs ago0x88d87143d4071e5b775278a2e9fde1af050fea3c IN  Great Ape: GREATAPE Token0 BNB0.000221905
0x32803dc5d650ea2fd5e57eaa542c342b7fc26a159001fd32f1fe4b77faf3e403Approve129818162021-11-26 23:04:189 days 22 hrs ago0xaf996174345ac8b6d03eeaefc0530fbbf54c7aff IN  Great Ape: GREATAPE Token0 BNB0.000221905
0xb04a523dbf558242795c580141e9a8c4f4657bd5cdf3a14188446449d20b47b3Approve129784452021-11-26 20:06:5110 days 1 hr ago0xdaebae5f482958b08f9d1ff3529ccb73b9fc75f1 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0xb6b44cdb38db99edf58f307ba696af4743b578bdcf3b083a4ec5ce0a331db641Approve129718192021-11-26 14:05:5010 days 7 hrs ago0x3995f74db21259e433ef1e43741d53ccec4bec31 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0x16a8fbe2c75357d92194d93a97a090d9285f38398c7ebc095f2999b5a183f4aaApprove129439212021-11-25 11:56:5111 days 9 hrs ago0x8815bca5c2bc5653b3ac6d536b146a110ed240a6 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0x814c2e30d8cd76075ba967429846d446719c8a970c1fa4883b0e1a0160932eeaApprove129387682021-11-25 7:18:3011 days 14 hrs ago0x74dc2dfa57ac1438d6f3b5ead502c2294502fa06 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0xaff3919f1d07b6125a2d27fe6185749fa42c91dcbc8fc802085533c5ff7f2749Approve129069972021-11-24 3:28:3312 days 18 hrs ago0x6fa2db797bbd2562dffe9eb4bf55daa6f51f9fbf IN  Great Ape: GREATAPE Token0 BNB0.000221905
0x415e3976450aaad33f2a567851844a7d60db8796cfa777202d22a7c1de1631a0Approve128885222021-11-23 11:13:1413 days 10 hrs ago0x8eb993bb3574231eba71e40bb26254d6f32aab8b IN  Great Ape: GREATAPE Token0 BNB0.000221905
0xaa5b201d5c6ae21d0608866bd222818e7a28bb544130dc0bfa018d17db9fc5d6Approve128827492021-11-23 6:15:1313 days 15 hrs ago0x9bec290354ad1db581bd8a8235cc5a62c8db1930 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0xf52bc472bb193473a4080ed683525bd46e130360a570be6418d43540f673aef1Approve128694732021-11-22 19:00:5614 days 2 hrs ago0xf556784281571e61e13b9b0e9e036f1c5b4b7805 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0x0b444f407655932d7591d487cd2a156b86c925ce92a71800fc20a99d7d421022Transfer128488612021-11-22 1:14:3914 days 20 hrs ago0xf7cb75dbe17f1f21969599421b8cb2ad7d370ce6 IN  Great Ape: GREATAPE Token0 BNB0.000430345
0x1eda483605c536864b01125fb0bb5b7fe579d2bf1f956fdff391b58352b740c7Approve127914752021-11-19 23:52:4716 days 21 hrs ago0x93e49b4d55d1ac12b7d1a653cb09616e3b97e438 IN  Great Ape: GREATAPE Token0 BNB0.000310667
0xfa8c39e928226584a78d9fddbc72bfe3c96b14292487f5404b1420f768b4a3b1Approve127885512021-11-19 21:21:4117 days 16 mins ago0x79c670b2dc9aff7d0c1a4c8a9a3a4b9a3ce0c071 IN  Great Ape: GREATAPE Token0 BNB0.000266286
0xaf0e5ae53869c1df73661e90cbaf66a0bad5139c97b749b3f7c31576880a236cApprove127756322021-11-19 10:00:0817 days 11 hrs ago0x3b1d40addf4ff250b268f0e3bae11048c26e6e24 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0xecbd5f117c7c520cd7d47caae1e2881bbf840c2f3f1dead9fc581d808f7a330dApprove127228622021-11-17 12:10:2819 days 9 hrs ago0x361e2c0dbc740e7fe5a15aaceacd0a8a7573e075 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0xaf26fe681c4ec42c6c577ebee7025e4c797582aee498c52495816c86d2f8aa1eApprove127204122021-11-17 10:02:3019 days 11 hrs ago0x996eec5a4e8ae40fb514521c74904a606507fee6 IN  Great Ape: GREATAPE Token0 BNB0.000221905
0x7a26109cfbf8dc0fc838c00992552ae599a3c7b939656241c496b169e5641598Approve127130942021-11-17 3:11:2319 days 18 hrs ago0xc50bca92cb02268efba0139e446c3d7097de31a0 IN  Great Ape: GREATAPE Token0 BNB0.000072495
[ Download CSV Export 

OVERVIEW

$GREATAPE is a deflationary BEP20 token built on Binance Smart Chain featuring reflect function.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xa5462a928af709423b05b19e109d59a58f5c4f60c9c55e95c0516258b1e7118c123618642021-11-04 14:14:0432 days 7 hrs ago Great Ape: GREATAPE Token PancakeSwap: Router v20.638500897374560926 BNB
0xa5462a928af709423b05b19e109d59a58f5c4f60c9c55e95c0516258b1e7118c123618642021-11-04 14:14:0432 days 7 hrs ago PancakeSwap: Router v2 Great Ape: GREATAPE Token0.638500897374560926 BNB
0xe73c3181cc340893a96cb6519a94ad508efbc7a51aa2cb7714e4a225561e025b105115052021-08-31 16:01:3197 days 5 hrs ago Great Ape: GREATAPE Token PancakeSwap: Router v20.813355619538536596 BNB
0xe73c3181cc340893a96cb6519a94ad508efbc7a51aa2cb7714e4a225561e025b105115052021-08-31 16:01:3197 days 5 hrs ago PancakeSwap: Router v2 Great Ape: GREATAPE Token0.813355619538536596 BNB
0x299e6db85ea876dea03926efc29688612f9526e6a83996ac09d08a2fe36b45c0101118352021-08-17 15:48:52111 days 5 hrs ago Great Ape: GREATAPE Token PancakeSwap: Router v21.202376440645563743 BNB
0x299e6db85ea876dea03926efc29688612f9526e6a83996ac09d08a2fe36b45c0101118352021-08-17 15:48:52111 days 5 hrs ago PancakeSwap: Router v2 Great Ape: GREATAPE Token1.202376440645563743 BNB
0x709d89de3fbbe19ce6ea8671710fead471ef6a5c38df1309cab8f54aa19a2f6295563612021-07-28 20:33:13131 days 1 hr ago Great Ape: GREATAPE Token PancakeSwap: Router v21.860674463542057093 BNB
0x709d89de3fbbe19ce6ea8671710fead471ef6a5c38df1309cab8f54aa19a2f6295563612021-07-28 20:33:13131 days 1 hr ago PancakeSwap: Router v2 Great Ape: GREATAPE Token1.860674463542057093 BNB
0x77dcfa11d6df6d7392085b9c673235e05e54197dd74fb6333db5ecbc5c2a455389157272021-07-06 9:46:05153 days 11 hrs ago Great Ape: GREATAPE Token PancakeSwap: Router v22.412121134275770706 BNB
0x77dcfa11d6df6d7392085b9c673235e05e54197dd74fb6333db5ecbc5c2a455389157272021-07-06 9:46:05153 days 11 hrs ago PancakeSwap: Router v2 Great Ape: GREATAPE Token2.412121134275770706 BNB
0xb8b769ce516edf0fd213cac5860c2ed20155d190b7e36636f6721411b652659d86149462021-06-25 21:11:41164 days 26 mins ago Great Ape: GREATAPE Token PancakeSwap: Router v22.565077108842282725 BNB
0xb8b769ce516edf0fd213cac5860c2ed20155d190b7e36636f6721411b652659d86149462021-06-25 21:11:41164 days 26 mins ago PancakeSwap: Router v2 Great Ape: GREATAPE Token2.565077108842282725 BNB
0x7847f5dddb36631c75c3f7ad64290818da0d5fbc085d4153a1b05f6c974a8c2185123922021-06-22 7:22:08167 days 14 hrs ago Great Ape: GREATAPE Token PancakeSwap: Router v22.127066145059881644 BNB
0x7847f5dddb36631c75c3f7ad64290818da0d5fbc085d4153a1b05f6c974a8c2185123922021-06-22 7:22:08167 days 14 hrs ago PancakeSwap: Router v2 Great Ape: GREATAPE Token2.127066145059881644 BNB
0x96fa0d996b59b1d9ac53635ad754b40e327a5319c1be962e54442e45c84de4f384929502021-06-21 15:05:16168 days 6 hrs ago Great Ape: GREATAPE Token PancakeSwap: Router v23.154202109310792325 BNB
0x96fa0d996b59b1d9ac53635ad754b40e327a5319c1be962e54442e45c84de4f384929502021-06-21 15:05:16168 days 6 hrs ago PancakeSwap: Router v2 Great Ape: GREATAPE Token3.154202109310792325 BNB
0x490e625a29b5653de7593c725cd48da963610d9a936e3bf1c61bf791eee637f482622012021-06-13 13:08:55176 days 8 hrs ago Great Ape: GREATAPE Token PancakeSwap: Router v24.321088779806298333 BNB
0x490e625a29b5653de7593c725cd48da963610d9a936e3bf1c61bf791eee637f482622012021-06-13 13:08:55176 days 8 hrs ago PancakeSwap: Router v2 Great Ape: GREATAPE Token4.321088779806298333 BNB
0x34fa3fd70454d72c6a171b1b8b5c6651425d5d32c1faa92ec9627b60410cbc7b81805382021-06-10 16:44:31179 days 4 hrs ago Great Ape: GREATAPE Token PancakeSwap: Router v25.502086957057730188 BNB
0x34fa3fd70454d72c6a171b1b8b5c6651425d5d32c1faa92ec9627b60410cbc7b81805382021-06-10 16:44:31179 days 4 hrs ago PancakeSwap: Router v2 Great Ape: GREATAPE Token5.502086957057730188 BNB
0x5ac7f1babc89c2e2d42df2eb04cd8bd75957403c88bcdebdd592a4bf682e740e81291582021-06-08 21:44:39180 days 23 hrs ago Great Ape: GREATAPE Token PancakeSwap: Router v23.519276409104497449 BNB
0x5ac7f1babc89c2e2d42df2eb04cd8bd75957403c88bcdebdd592a4bf682e740e81291582021-06-08 21:44:39180 days 23 hrs ago PancakeSwap: Router v2 Great Ape: GREATAPE Token3.519276409104497449 BNB
0x2a104ec6125837bf46d0c26d04caf0f5c6c4ae00e85d96e6f9fb6c464a0680c480239192021-06-05 5:53:32184 days 15 hrs ago Great Ape: GREATAPE Token PancakeSwap: Router v24.394529336292966184 BNB
0x2a104ec6125837bf46d0c26d04caf0f5c6c4ae00e85d96e6f9fb6c464a0680c480239192021-06-05 5:53:32184 days 15 hrs ago PancakeSwap: Router v2 Great Ape: GREATAPE Token4.394529336292966184 BNB
0x5e50249d7756aed865259523741a69eaa17ac312fe955bf96db03c3c15fa5ef279878522021-06-03 23:45:05185 days 21 hrs ago Great Ape: GREATAPE Token PancakeSwap: Router v26.28250174743668723 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GREATAPE

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity Multiple files format)

File 1 of 9: GREATAPE.sol
// SPDX-License-Identifier: GPL-3.0-only

pragma solidity ^0.6.2;

import "./UniV2Pair.sol";
import "./UniV2Router.sol";
import "./UniV2Factory.sol";
import "./Context.sol";
import "./IERC20.sol";
import "./SafeMath.sol";
import "./Address.sol";

contract GREATAPE is Context, IERC20 {
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
   
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal;
    uint256 private _rTotal;
    uint256 private _dat;
    uint256 private _lpFee;

    bool private _midSwap;
    uint256 private _swapAmount;
    uint256 private _tokensToConvert;
    uint256 private _tokensToAdd;

    IUniswapV2Router02 private _v2Router;
    address private _v2RouterAddress;
    IUniswapV2Pair private _v2Pair;
    address private _v2PairAddress;
    address private _burnAddress;
    address private _thisAddress;
    address[] private _tokenPath = new address[](2);
    address[] private _wethPath = new address[](2);

    uint256 private _launchTime;
    uint256 private _txLimit;
    bool private _tokenCreated;
    bool private _applyTxLimit = true;

    string private _name = 'Great Ape';
    string private _symbol = 'GREATAPE';
    uint8 private _decimals = 9;

    event LpAdded(uint256 ethAdded, uint256 tokensAdded);
    event TokensBurned(uint256 ethSpent, uint256 tokensBurned);

    constructor () public {
        _thisAddress = address(this);
        _burnAddress = address(0x000000000000000000000000000000000000dEaD);
        _v2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        _v2RouterAddress = address(_v2Router);
        _v2PairAddress = IUniswapV2Factory(_v2Router.factory()).createPair(_thisAddress, _v2Router.WETH());
        _v2Pair = IUniswapV2Pair(_v2PairAddress);
        _tokenPath[0] = _thisAddress;
        _tokenPath[1] = _v2Router.WETH();
        _wethPath[0] = _v2Router.WETH();
        _wethPath[1] = _thisAddress;
    }

    receive() external payable {}

    function launch() public {
        require(!_tokenCreated, 'Token already created');
        require(_thisAddress.balance >= 40 * 10 ** 18, 'Contract requires a balance of at least 40 BNB to create the token');   

        _txLimit = 100 * 10**6 * 10**9;
        _swapAmount = 250 * 10**6 * 10**9;
        _tokensToConvert = _swapAmount.div(2);
        _tokensToAdd = _swapAmount.sub(_tokensToConvert);
        _tTotal = 100000 * 10**6 * 10**9;
        _rTotal = (MAX - (MAX % _tTotal));
        _rOwned[_thisAddress] = _rTotal;
        emit Transfer(address(0), _thisAddress, _tTotal);
        _midSwap = true;
        _transfer(_thisAddress, _burnAddress, _tTotal.mul(200).div(1000));
        _approve(_thisAddress, _v2RouterAddress, MAX);
        _addLiquidity(_thisAddress.balance, balanceOf(_thisAddress));
        _midSwap = false;
        _dat = 25;
        _lpFee = 75;
        _tokenCreated = true;
        _launchTime = block.timestamp;
    }

    function endTxLimit() public {
        require(_tokenCreated, 'Token not created yet');
        require(_applyTxLimit, 'TX limit already lifted');
        require(block.timestamp.sub(_launchTime) > 1 days, 'TX limit required for 1 day');
        _applyTxLimit = false;
    }

    function reduceLpFee() public {
        require(_tokenCreated, 'Token not created yet');      
        uint256 timeSinceLaunch = block.timestamp.sub(_launchTime);
        require(timeSinceLaunch > 1 weeks, 'Fee cannot be reduced yet');
        if (timeSinceLaunch > 2 weeks) {
            require(_lpFee != 25, 'Current LP fee is final');
            _lpFee = 25;
        } else if (timeSinceLaunch > 1 weeks) {
            require(_lpFee != 50, 'Fee cannot be reduced yet');
            _lpFee = 50;
        }
    }

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

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

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

    function v2PairAddress() public view returns(address) {
        return _v2PairAddress;
    }

    function currentLiquidityFee() public view returns (uint256) {
        return _lpFee;
    }

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        if (account == _v2PairAddress) return _tOwned[account];
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function reflect(uint256 tAmount) public {
        address sender = _msgSender();
        (uint256 rAmount,,,,,) = _getTxValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        return rAmount.div(_getRate());
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        (uint256 rAmount,uint256 rTransferAmount,,,,) = _getTxValues(tAmount);
        if (!deductTransferFee) return rAmount;
        return rTransferAmount;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address sender, address recipient, uint256 amount) private {
        require(amount > 0, "Transfer amount must be greater than zero");
        if (_applyTxLimit) {
            if (!_midSwap)  require(amount <= _txLimit, "Transfer amount must be with the TX launch limit");
        }
        if (sender == _v2PairAddress) {
            _transferFromPool(sender, recipient, amount);
        } else if (recipient == _v2PairAddress) {
            _transferToPool(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
    }

    function _transferFromPool(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rDat, uint256 rLpFee, uint256 tTransferAmount,) = _getTxValues(tAmount);
        _tOwned[_v2PairAddress] = _tOwned[_v2PairAddress].sub(tAmount);
        _rOwned[_v2PairAddress] = _rOwned[_v2PairAddress].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _rOwned[_thisAddress] = _rOwned[_thisAddress].add(rLpFee);
        _rTotal = _rTotal.sub(rDat);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferToPool(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rDat, uint256 rLpFee, uint256 tTransferAmount,) = _getTxValues(tAmount);
        swapLiquidity();
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _rOwned[_thisAddress] = _rOwned[_thisAddress].add(rLpFee);
        _rTotal = _rTotal.sub(rDat);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rDat, uint256 rLpFee, uint256 tTransferAmount,) = _getTxValues(tAmount); 
        swapLiquidity();
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _rOwned[_thisAddress] = _rOwned[_thisAddress].add(rLpFee);
        _rTotal = _rTotal.sub(rDat);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _getTxValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tDat, uint256 tLpFee) = _getTValues(tAmount);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rDat, uint256 rLpFee) = _getRValues(tAmount, tDat, tLpFee, currentRate);
        return (rAmount, rTransferAmount, rDat, rLpFee, tTransferAmount, currentRate);
    }

    function _getTValues(uint256 tAmount) private view returns (uint256, uint256, uint256) {
        uint256 tLpFee = tAmount.mul(_lpFee).div(1000);
        uint256 tDat = tAmount.mul(_dat).div(1000);
        return (tAmount.sub(tDat).sub(tLpFee), tDat, tLpFee);
    }

    function _getRValues(uint256 tAmount, uint256 tDat, uint256 tLpFee, uint256 currentRate) private pure returns (uint256, uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rDat = tDat.mul(currentRate);
        uint256 rLpFee = tLpFee.mul(currentRate);
        return (rAmount, rAmount.sub(rDat).sub(rLpFee), rDat, rLpFee);
    }

    function _getRate() private view returns(uint256) {
        return (_rTotal.sub(_rOwned[_v2PairAddress])).div(_tTotal.sub(_tOwned[_v2PairAddress]));
    }

    function swapLiquidity() private returns(uint256) {
        if (balanceOf(_thisAddress) > _swapAmount && !_midSwap) {
            _swapAndAddLp();
        }
    }

    function _swapAndAddLp() private {
        _midSwap = true;
        if (allowance(_thisAddress, _v2RouterAddress) < _tokensToConvert.add(_tokensToAdd)) _approve(_thisAddress, _v2RouterAddress, MAX);
        uint256 ethBalance = _thisAddress.balance;
        _swapTokensForEth();
        uint256 ethReceived = _thisAddress.balance.sub(ethBalance);
        _addLiquidity(ethReceived, _tokensToAdd);       
        emit LpAdded(ethReceived, _tokensToAdd);
        _midSwap = false;
    }

    function flipAndBurn() public {
        require(_tokenCreated, 'Token not created yet');
        require(_thisAddress.balance > 0, 'Not enough BNB in contract');
        if (!_midSwap) _flipAndBurnTokens(_thisAddress.balance);
    }

    function flipAndBurnExact(uint256 ethAmount) public {
        require(_tokenCreated, 'Token not created yet');
        require(_thisAddress.balance >= ethAmount, 'Not enough BNB in contract');
        if (!_midSwap) _flipAndBurnTokens(ethAmount);
    }

    function _flipAndBurnTokens(uint256 ethAmount) private {
        _midSwap = true;
        uint256 tBalance = balanceOf(_burnAddress);
        _swapEthForTokens(ethAmount);
        uint256 tReceived = balanceOf(_burnAddress).sub(tBalance);
        uint256 rReceived = reflectionFromToken(tReceived, false);
        _rOwned[_burnAddress] = _rOwned[_burnAddress].sub(rReceived);
        _rTotal = _rTotal.sub(rReceived);
        _tTotal = _tTotal.sub(tReceived);
        emit TokensBurned(ethAmount, tReceived);
        _midSwap = false;
    }

    function _swapTokensForEth() private {
        _v2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(_tokensToConvert, 0, _tokenPath, _thisAddress, block.timestamp);
    }

    function _swapEthForTokens(uint256 ethAmount) private {
        _v2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: ethAmount}(0, _wethPath, _burnAddress, block.timestamp);
    }

    function _addLiquidity(uint256 ethAmount, uint256 tokenAmount) private {
        _v2Router.addLiquidityETH{value: ethAmount}(_thisAddress, tokenAmount, 0, 0, _burnAddress, block.timestamp);
    }
}

File 2 of 9: Address.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.2;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

File 3 of 9: Context.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

File 4 of 9: IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 5 of 9: SafeMath.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

File 6 of 9: UniV1Router.sol
pragma solidity >=0.6.2;

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

File 7 of 9: UniV2Factory.sol
pragma solidity >=0.5.0;

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

File 8 of 9: UniV2Pair.sol
pragma solidity >=0.5.0;

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

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure 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);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

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

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

File 9 of 9: UniV2Router.sol
pragma solidity >=0.6.2;

import "./UniV1Router.sol";

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

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":false,"internalType":"uint256","name":"ethAdded","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensAdded","type":"uint256"}],"name":"LpAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"ethSpent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensBurned","type":"uint256"}],"name":"TokensBurned","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":[],"name":"currentLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"flipAndBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethAmount","type":"uint256"}],"name":"flipAndBurnExact","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reduceLpFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"v2PairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6002608081815260e060405290816020016020820280368337505081516200002f926011925060200190620004a5565b5060408051600280825260608201835290916020830190803683375050815162000061926012925060200190620004a5565b506015805461ff0019166101001790556040805180820190915260098082526847726561742041706560b81b6020909201918252620000a3916016916200050f565b5060408051808201909152600880825267475245415441504560c01b6020909201918252620000d5916017916200050f565b506018805460ff19166009179055348015620000f057600080fd5b50601080546001600160a01b03199081163017909155600f8054821661dead179055600b805482167310ed43c718714eb63d5aa57b78b54704e256024e1790819055600c80549092166001600160a01b03919091169081179091556040805163c45a015560e01b8152905163c45a015591600481810192602092909190829003018186803b1580156200018257600080fd5b505afa15801562000197573d6000803e3d6000fd5b505050506040513d6020811015620001ae57600080fd5b5051601054600b54604080516315ab88c960e31b815290516001600160a01b039485169463c9c6539694811693169163ad5c4648916004808301926020929190829003018186803b1580156200020357600080fd5b505afa15801562000218573d6000803e3d6000fd5b505050506040513d60208110156200022f57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156200028257600080fd5b505af115801562000297573d6000803e3d6000fd5b505050506040513d6020811015620002ae57600080fd5b5051600e80546001600160a01b039283166001600160a01b03199182161791829055600d805490911691831691909117905560105460118054919092169190600090620002f757fe5b60009182526020918290200180546001600160a01b0319166001600160a01b03938416179055600b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156200035857600080fd5b505afa1580156200036d573d6000803e3d6000fd5b505050506040513d60208110156200038457600080fd5b50516011805460019081106200039657fe5b60009182526020918290200180546001600160a01b0319166001600160a01b03938416179055600b54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015620003f757600080fd5b505afa1580156200040c573d6000803e3d6000fd5b505050506040513d60208110156200042357600080fd5b5051601280546000906200043357fe5b600091825260209091200180546001600160a01b0319166001600160a01b039283161790556010546012805491909216919060019081106200047157fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550620005c8565b828054828255906000526020600020908101928215620004fd579160200282015b82811115620004fd57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620004c6565b506200050b92915062000590565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200055257805160ff191683800117855562000582565b8280016001018555821562000582579182015b828111156200058257825182559160200191906001019062000565565b506200050b929150620005b1565b5b808211156200050b5780546001600160a01b031916815560010162000591565b5b808211156200050b5760008155600101620005b2565b611c6f80620005d86000396000f3fe60806040526004361061012e5760003560e01c8063313ce567116100ab57806370a082311161006f57806370a082311461041657806395d89b4114610449578063a457c2d71461045e578063a9059cbb14610497578063dd62ed3e146104d0578063f1ab76e91461050b57610135565b8063313ce5671461035657806339509351146103815780634549b039146103ba57806355312db3146103ec5780636dbaae041461040157610135565b806318160ddd116100f257806318160ddd1461027c5780631e49fc37146102a357806323b872dd146102b85780632ace0730146102fb5780632d8381191461032c57610135565b806301339c211461013a578063053ab1821461015157806306fdde031461017b578063095ea7b31461020557806311a0ce231461025257610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610520565b005b34801561015d57600080fd5b5061014f6004803603602081101561017457600080fd5b5035610723565b34801561018757600080fd5b50610190610794565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ca5781810151838201526020016101b2565b50505050905090810190601f1680156101f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021157600080fd5b5061023e6004803603604081101561022857600080fd5b506001600160a01b03813516906020013561082b565b604080519115158252519081900360200190f35b34801561025e57600080fd5b5061014f6004803603602081101561027557600080fd5b5035610849565b34801561028857600080fd5b5061029161090f565b60408051918252519081900360200190f35b3480156102af57600080fd5b5061014f610915565b3480156102c457600080fd5b5061023e600480360360608110156102db57600080fd5b506001600160a01b03813581169160208101359091169060400135610a38565b34801561030757600080fd5b50610310610abf565b604080516001600160a01b039092168252519081900360200190f35b34801561033857600080fd5b506102916004803603602081101561034f57600080fd5b5035610ace565b34801561036257600080fd5b5061036b610aea565b6040805160ff9092168252519081900360200190f35b34801561038d57600080fd5b5061023e600480360360408110156103a457600080fd5b506001600160a01b038135169060200135610af3565b3480156103c657600080fd5b50610291600480360360408110156103dd57600080fd5b50803590602001351515610b41565b3480156103f857600080fd5b5061014f610b6c565b34801561040d57600080fd5b5061014f610c3b565b34801561042257600080fd5b506102916004803603602081101561043957600080fd5b50356001600160a01b0316610dca565b34801561045557600080fd5b50610190610e24565b34801561046a57600080fd5b5061023e6004803603604081101561048157600080fd5b506001600160a01b038135169060200135610e85565b3480156104a357600080fd5b5061023e600480360360408110156104ba57600080fd5b506001600160a01b038135169060200135610eed565b3480156104dc57600080fd5b50610291600480360360408110156104f357600080fd5b506001600160a01b0381358116916020013516610f01565b34801561051757600080fd5b50610291610f2c565b60155460ff1615610570576040805162461bcd60e51b8152602060048201526015602482015274151bdad95b88185b1c9958591e4818dc99585d1959605a1b604482015290519081900360640190fd5b60105468022b1c8c1227a000006001600160a01b039091163110156105c65760405162461bcd60e51b8152600401808060200182810382526042815260200180611b316042913960600191505060405180910390fd5b67016345785d8a00006014556703782dace9d9000060088190556105eb906002610f32565b60098190556008546105fc91610f7b565b600a5568056bc75e2d63100000600381905560001906196004819055601080546001600160a01b039081166000908152602081815260408083209590955592546003548551908152945192169390927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a36007805460ff19166001179055601054600f546003546106ba926001600160a01b039081169216906106b5906103e8906106af9060c8610fbd565b90610f32565b611016565b601054600c546106d9916001600160a01b039081169116600019611107565b6010546106fa906001600160a01b03168031906106f590610dca565b611169565b6007805460ff199081169091556019600555604b60065560158054909116600117905542601355565b600061072d611213565b9050600061073a83611217565b505050506001600160a01b03841660009081526020819052604090205491925061076691905082610f7b565b6001600160a01b03831660009081526020819052604090205560045461078c9082610f7b565b600455505050565b60168054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108205780601f106107f557610100808354040283529160200191610820565b820191906000526020600020905b81548152906001019060200180831161080357829003601f168201915b505050505090505b90565b600061083f610838611213565b8484611107565b5060015b92915050565b60155460ff16610898576040805162461bcd60e51b8152602060048201526015602482015274151bdad95b881b9bdd0818dc99585d1959081e595d605a1b604482015290519081900360640190fd5b6010546001600160a01b0316318111156108f9576040805162461bcd60e51b815260206004820152601a60248201527f4e6f7420656e6f75676820424e4220696e20636f6e7472616374000000000000604482015290519081900360640190fd5b60075460ff1661090c5761090c8161127d565b50565b60035490565b60155460ff16610964576040805162461bcd60e51b8152602060048201526015602482015274151bdad95b881b9bdd0818dc99585d1959081e595d605a1b604482015290519081900360640190fd5b601554610100900460ff166109c0576040805162461bcd60e51b815260206004820152601760248201527f5458206c696d697420616c7265616479206c6966746564000000000000000000604482015290519081900360640190fd5b620151806109d960135442610f7b90919063ffffffff16565b11610a2b576040805162461bcd60e51b815260206004820152601b60248201527f5458206c696d697420726571756972656420666f722031206461790000000000604482015290519081900360640190fd5b6015805461ff0019169055565b6000610a45848484611016565b610ab584610a51611213565b610ab085604051806060016040528060288152602001611b94602891396001600160a01b038a16600090815260026020526040812090610a8f611213565b6001600160a01b03168152602081019190915260400160002054919061138e565b611107565b5060019392505050565b600e546001600160a01b031690565b6000610ae2610adb611425565b8390610f32565b90505b919050565b60185460ff1690565b600061083f610b00611213565b84610ab08560026000610b11611213565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061147d565b6000806000610b4f85611217565b505050509150915083610b6457509050610843565b949350505050565b60155460ff16610bbb576040805162461bcd60e51b8152602060048201526015602482015274151bdad95b881b9bdd0818dc99585d1959081e595d605a1b604482015290519081900360640190fd5b6010546001600160a01b031631610c19576040805162461bcd60e51b815260206004820152601a60248201527f4e6f7420656e6f75676820424e4220696e20636f6e7472616374000000000000604482015290519081900360640190fd5b60075460ff16610c3957601054610c39906001600160a01b03163161127d565b565b60155460ff16610c8a576040805162461bcd60e51b8152602060048201526015602482015274151bdad95b881b9bdd0818dc99585d1959081e595d605a1b604482015290519081900360640190fd5b6000610ca160135442610f7b90919063ffffffff16565b905062093a808111610cf6576040805162461bcd60e51b81526020600482015260196024820152781199594818d85b9b9bdd081899481c99591d58d959081e595d603a1b604482015290519081900360640190fd5b62127500811115610d635760065460191415610d59576040805162461bcd60e51b815260206004820152601760248201527f43757272656e74204c50206665652069732066696e616c000000000000000000604482015290519081900360640190fd5b601960065561090c565b62093a8081111561090c5760065460321415610dc2576040805162461bcd60e51b81526020600482015260196024820152781199594818d85b9b9bdd081899481c99591d58d959081e595d603a1b604482015290519081900360640190fd5b603260065550565b600e546000906001600160a01b0383811691161415610e0257506001600160a01b038116600090815260016020526040902054610ae5565b6001600160a01b038216600090815260208190526040902054610ae290610ace565b60178054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108205780601f106107f557610100808354040283529160200191610820565b600061083f610e92611213565b84610ab085604051806060016040528060258152602001611c156025913960026000610ebc611213565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061138e565b600061083f610efa611213565b8484611016565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60065490565b6000610f7483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114d7565b9392505050565b6000610f7483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061138e565b600082610fcc57506000610843565b82820282848281610fd957fe5b0414610f745760405162461bcd60e51b8152600401808060200182810382526021815260200180611b736021913960400191505060405180910390fd5b600081116110555760405162461bcd60e51b8152600401808060200182810382526029815260200180611bbc6029913960400191505060405180910390fd5b601554610100900460ff16156110b05760075460ff166110b0576014548111156110b05760405162461bcd60e51b8152600401808060200182810382526030815260200180611be56030913960400191505060405180910390fd5b600e546001600160a01b03848116911614156110d6576110d183838361153c565b611102565b600e546001600160a01b03838116911614156110f7576110d1838383611697565b611102838383611741565b505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600b54601054600f546040805163f305d71960e01b81526001600160a01b03938416600482015260248101869052600060448201819052606482015291831660848301524260a483015251919092169163f305d71991859160c48082019260609290919082900301818588803b1580156111e257600080fd5b505af11580156111f6573d6000803e3d6000fd5b50505050506040513d606081101561120d57600080fd5b50505050565b3390565b600080600080600080600080600061122e8a6117b8565b925092509250600061123e611425565b90506000806000806112528f888888611814565b9350935093509350838383838b899d509d509d509d509d509d50505050505050505091939550919395565b6007805460ff19166001179055600f546000906112a2906001600160a01b0316610dca565b90506112ad82611864565b600f546000906112d19083906112cb906001600160a01b0316610dca565b90610f7b565b905060006112e0826000610b41565b600f546001600160a01b03166000908152602081905260409020549091506113089082610f7b565b600f546001600160a01b03166000908152602081905260409020556004546113309082610f7b565b6004556003546113409083610f7b565b600355604080518581526020810184905281517f8bc81353cf6671d259d22783e39ed930583c86f3f4cf7e981298e6a872dfb15d929181900390910190a150506007805460ff191690555050565b6000818484111561141d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113e25781810151838201526020016113ca565b50505050905090810190601f16801561140f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600e546001600160a01b0316600090815260016020526040812054600354611478916114519190610f7b565b600e546001600160a01b03166000908152602081905260409020546004546106af91610f7b565b905090565b600082820183811015610f74576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081836115265760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156113e25781810151838201526020016113ca565b50600083858161153257fe5b0495945050505050565b600080600080600061154d86611217565b50600e546001600160a01b0316600090815260016020526040902054949950929750909550935091506115809087610f7b565b600e80546001600160a01b03908116600090815260016020908152604080832095909555925490911681529081905220546115bb9086610f7b565b600e546001600160a01b0390811660009081526020819052604080822093909355908916815220546115ed908561147d565b6001600160a01b03808916600090815260208190526040808220939093556010549091168152205461161f908361147d565b6010546001600160a01b03166000908152602081905260409020556004546116479084610f7b565b6004556040805182815290516001600160a01b03808a1692908b16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050505050505050565b60008060008060006116a886611217565b50945094509450945094506116bb611938565b506001600160a01b0388166000908152602081905260409020546116df9086610f7b565b6001600160a01b03808a1660009081526020818152604080832094909455918a16815260019091522054611713908261147d565b6001600160a01b03881660009081526001602090815260408083209390935581905220546115ed908561147d565b600080600080600061175286611217565b5094509450945094509450611765611938565b506001600160a01b0388166000908152602081905260409020546117899086610f7b565b6001600160a01b03808a1660009081526020819052604080822093909355908916815220546115ed908561147d565b6000806000806117d96103e86106af60065488610fbd90919063ffffffff16565b905060006117f86103e86106af60055489610fbd90919063ffffffff16565b9050611808826112cb8884610f7b565b96909550909350915050565b6000808080806118248987610fbd565b905060006118328988610fbd565b905060006118408989610fbd565b905082611851826112cb8386610f7b565b909c909b50919950975095505050505050565b600b54600f5460405163b6f9de9560e01b81526000600482018181526001600160a01b039384166044840181905242606485018190526080602486019081526012805460848801819052979098169763b6f9de95978a979195929160a40190869080156118fa57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116118dc575b5050955050505050506000604051808303818588803b15801561191c57600080fd5b505af1158015611930573d6000803e3d6000fd5b505050505050565b60085460105460009190611954906001600160a01b0316610dca565b118015611964575060075460ff16155b15610828576108286007805460ff19166001179055600a546009546119889161147d565b601054600c546119a4916001600160a01b039081169116610f01565b10156119c957601054600c546119c9916001600160a01b039081169116600019611107565b6010546001600160a01b0316316119de611a52565b6010546000906119f8906001600160a01b03163183610f7b565b9050611a0681600a54611169565b600a5460408051838152602081019290925280517fcf946058f7acb45594fe632cd7076cdaf88706aaa1323878713fbaa6048c0b079281900390910190a150506007805460ff19169055565b600b5460095460105460405163791ac94760e01b8152600481018381526000602483018190526001600160a01b0393841660648401819052426084850181905260a0604486019081526011805460a48801819052979099169863791ac947989794969095939492939260c49091019086908015611af857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611ada575b50509650505050505050600060405180830381600087803b158015611b1c57600080fd5b505af115801561120d573d6000803e3d6000fdfe436f6e747261637420726571756972657320612062616c616e6365206f66206174206c6561737420343020424e4220746f206372656174652074686520746f6b656e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f5472616e7366657220616d6f756e74206d757374206265207769746820746865205458206c61756e6368206c696d697445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220627330170475d0295e928307123bbc8235d8d1e014632f423fbcbea0028bffd464736f6c634300060c0033

Deployed ByteCode Sourcemap

259:12789:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2224:973;;;;;;;;;;;;;:::i;:::-;;6140:244;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6140:244:2;;:::i;4027:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5147:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5147:161:2;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;11633:256;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11633:256:2;;:::i;4507:95::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3205:279;;;;;;;;;;;;;:::i;5316:313::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5316:313:2;;;;;;;;;;;;;;;;;:::i;4304:94::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4304:94:2;;;;;;;;;;;;;;6392:124;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6392:124:2;;:::i;4213:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5637:218;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5637:218:2;;;;;;;;:::i;6524:269::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6524:269:2;;;;;;;;;:::i;11389:236::-;;;;;;;;;;;;;:::i;3492:527::-;;;;;;;;;;;;;:::i;4610:203::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4610:203:2;-1:-1:-1;;;;;4610:203:2;;:::i;4118:87::-;;;;;;;;;;;;;:::i;5863:269::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5863:269:2;;;;;;;;:::i;4821:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4821:167:2;;;;;;;;:::i;4996:143::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4996:143:2;;;;;;;;;;:::i;4406:93::-;;;;;;;;;;;;;:::i;2224:973::-;2269:13;;;;2268:14;2260:48;;;;;-1:-1:-1;;;2260:48:2;;;;;;;;;;;;-1:-1:-1;;;2260:48:2;;;;;;;;;;;;;;;2327:12;;2351:13;-1:-1:-1;;;;;2327:12:2;;;:20;:37;;2319:116;;;;-1:-1:-1;;;2319:116:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2462:19;2451:8;:30;2506:19;2492:11;:33;;;2555:18;;2571:1;2555:15;:18::i;:::-;2536:16;:37;;;2599:11;;:33;;:15;:33::i;:::-;2584:12;:48;2653:22;2643:7;:32;;;-1:-1:-1;;2704:13:2;2697:21;2686:7;:33;;;2738:12;;;-1:-1:-1;;;;;2738:12:2;;;593:1;2730:21;;;;;;;;;;;:31;;;;2798:12;;2812:7;;2777:43;;;;;;;2798:12;;;593:1;;2777:43;;;;;;;;;2831:8;:15;;-1:-1:-1;;2831:15:2;2842:4;2831:15;;;2867:12;;2881;;2895:7;;2857:65;;-1:-1:-1;;;;;2867:12:2;;;;2881;;2895:26;;2916:4;;2895:16;;2907:3;2895:11;:16::i;:::-;:20;;:26::i;:::-;2857:9;:65::i;:::-;2942:12;;2956:16;;2933:45;;-1:-1:-1;;;;;2942:12:2;;;;2956:16;-1:-1:-1;;2933:8:2;:45::i;:::-;3003:12;;2989:60;;-1:-1:-1;;;;;3003:12:2;:20;;;3025:23;;:9;:23::i;:::-;2989:13;:60::i;:::-;3060:8;:16;;-1:-1:-1;;3060:16:2;;;;;;3094:2;3087:4;:9;3116:2;3107:6;:11;3129:13;:20;;;;;3060:16;3129:20;;;3174:15;3160:11;:29;2224:973::o;6140:244::-;6192:14;6209:12;:10;:12::i;:::-;6192:29;;6233:15;6257:21;6270:7;6257:12;:21::i;:::-;-1:-1:-1;;;;;;;;;6307:15:2;;:7;:15;;;;;;;;;;;6232:46;;-1:-1:-1;6307:28:2;;:15;-1:-1:-1;6232:46:2;6307:19;:28::i;:::-;-1:-1:-1;;;;;6289:15:2;;:7;:15;;;;;;;;;;:46;6356:7;;:20;;6368:7;6356:11;:20::i;:::-;6346:7;:30;-1:-1:-1;;;6140:244:2:o;4027:83::-;4097:5;4090:12;;;;;;;;-1:-1:-1;;4090:12:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4064:13;;4090:12;;4097:5;;4090:12;;4097:5;4090:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4027:83;;:::o;5147:161::-;5222:4;5239:39;5248:12;:10;:12::i;:::-;5262:7;5271:6;5239:8;:39::i;:::-;-1:-1:-1;5296:4:2;5147:161;;;;;:::o;11633:256::-;11704:13;;;;11696:47;;;;;-1:-1:-1;;;11696:47:2;;;;;;;;;;;;-1:-1:-1;;;11696:47:2;;;;;;;;;;;;;;;11762:12;;-1:-1:-1;;;;;11762:12:2;:20;:33;-1:-1:-1;11762:33:2;11754:72;;;;;-1:-1:-1;;;11754:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;11842:8;;;;11837:44;;11852:29;11871:9;11852:18;:29::i;:::-;11633:256;:::o;4507:95::-;4587:7;;4507:95;:::o;3205:279::-;3253:13;;;;3245:47;;;;;-1:-1:-1;;;3245:47:2;;;;;;;;;;;;-1:-1:-1;;;3245:47:2;;;;;;;;;;;;;;;3311:13;;;;;;;3303:49;;;;;-1:-1:-1;;;3303:49:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3406:6;3371:32;3391:11;;3371:15;:19;;:32;;;;:::i;:::-;:41;3363:81;;;;;-1:-1:-1;;;3363:81:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3455:13;:21;;-1:-1:-1;;3455:21:2;;;3205:279::o;5316:313::-;5414:4;5431:36;5441:6;5449:9;5460:6;5431:9;:36::i;:::-;5478:121;5487:6;5495:12;:10;:12::i;:::-;5509:89;5547:6;5509:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5509:19:2;;;;;;:11;:19;;;;;;5529:12;:10;:12::i;:::-;-1:-1:-1;;;;;5509:33:2;;;;;;;;;;;;-1:-1:-1;5509:33:2;;;:89;:37;:89::i;:::-;5478:8;:121::i;:::-;-1:-1:-1;5617:4:2;5316:313;;;;;:::o;4304:94::-;4376:14;;-1:-1:-1;;;;;4376:14:2;4304:94;:::o;6392:124::-;6458:7;6485:23;6497:10;:8;:10::i;:::-;6485:7;;:11;:23::i;:::-;6478:30;;6392:124;;;;:::o;4213:83::-;4279:9;;;;4213:83;:::o;5637:218::-;5725:4;5742:83;5751:12;:10;:12::i;:::-;5765:7;5774:50;5813:10;5774:11;:25;5786:12;:10;:12::i;:::-;-1:-1:-1;;;;;5774:25:2;;;;;;;;;;;;;;;;;-1:-1:-1;5774:25:2;;;:34;;;;;;;;;;;:38;:50::i;6524:269::-;6614:7;6635:15;6651:23;6682:21;6695:7;6682:12;:21::i;:::-;6634:69;;;;;;;;6719:17;6714:38;;-1:-1:-1;6745:7:2;-1:-1:-1;6738:14:2;;6714:38;6770:15;6524:269;-1:-1:-1;;;;6524:269:2:o;11389:236::-;11438:13;;;;11430:47;;;;;-1:-1:-1;;;11430:47:2;;;;;;;;;;;;-1:-1:-1;;;11430:47:2;;;;;;;;;;;;;;;11496:12;;-1:-1:-1;;;;;11496:12:2;:20;11488:63;;;;;-1:-1:-1;;;11488:63:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;11567:8;;;;11562:55;;11596:12;;11577:40;;-1:-1:-1;;;;;11596:12:2;:20;11577:18;:40::i;:::-;11389:236::o;3492:527::-;3541:13;;;;3533:47;;;;;-1:-1:-1;;;3533:47:2;;;;;;;;;;;;-1:-1:-1;;;3533:47:2;;;;;;;;;;;;;;;3597:23;3623:32;3643:11;;3623:15;:19;;:32;;;;:::i;:::-;3597:58;;3692:7;3674:15;:25;3666:63;;;;;-1:-1:-1;;;3666:63:2;;;;;;;;;;;;-1:-1:-1;;;3666:63:2;;;;;;;;;;;;;;;3762:7;3744:15;:25;3740:272;;;3794:6;;3804:2;3794:12;;3786:48;;;;;-1:-1:-1;;;3786:48:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3858:2;3849:6;:11;3740:272;;;3900:7;3882:15;:25;3878:134;;;3932:6;;3942:2;3932:12;;3924:50;;;;;-1:-1:-1;;;3924:50:2;;;;;;;;;;;;-1:-1:-1;;;3924:50:2;;;;;;;;;;;;;;;3998:2;3989:6;:11;3492:527;:::o;4610:203::-;4711:14;;4676:7;;-1:-1:-1;;;;;4700:25:2;;;4711:14;;4700:25;4696:54;;;-1:-1:-1;;;;;;4734:16:2;;;;;;:7;:16;;;;;;4727:23;;4696:54;-1:-1:-1;;;;;4788:16:2;;:7;:16;;;;;;;;;;;4768:37;;:19;:37::i;4118:87::-;4190:7;4183:14;;;;;;;;-1:-1:-1;;4183:14:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4157:13;;4183:14;;4190:7;;4183:14;;4190:7;4183:14;;;;;;;;;;;;;;;;;;;;;;;;5863:269;5956:4;5973:129;5982:12;:10;:12::i;:::-;5996:7;6005:96;6044:15;6005:96;;;;;;;;;;;;;;;;;:11;:25;6017:12;:10;:12::i;:::-;-1:-1:-1;;;;;6005:25:2;;;;;;;;;;;;;;;;;-1:-1:-1;6005:25:2;;;:34;;;;;;;;;;;:96;:38;:96::i;4821:167::-;4899:4;4916:42;4926:12;:10;:12::i;:::-;4940:9;4951:6;4916:9;:42::i;4996:143::-;-1:-1:-1;;;;;5104:18:2;;;5077:7;5104:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4996:143::o;4406:93::-;4485:6;;4406:93;:::o;3101:130:4:-;3159:7;3185:39;3189:1;3192;3185:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3178:46;3101:130;-1:-1:-1;;;3101:130:4:o;1321:134::-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;2180:459::-;2238:7;2479:6;2475:45;;-1:-1:-1;2508:1:4;2501:8;;2475:45;2542:5;;;2546:1;2542;:5;:1;2565:5;;;;;:10;2557:56;;;;-1:-1:-1;;;2557:56:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6986:608:2;7092:1;7083:6;:10;7075:64;;;;-1:-1:-1;;;7075:64:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7154:13;;;;;;;7150:141;;;7189:8;;;;7184:95;;7218:8;;7208:6;:18;;7200:79;;;;-1:-1:-1;;;7200:79:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7315:14;;-1:-1:-1;;;;;7305:24:2;;;7315:14;;7305:24;7301:286;;;7346:44;7364:6;7372:9;7383:6;7346:17;:44::i;:::-;7301:286;;;7425:14;;-1:-1:-1;;;;;7412:27:2;;;7425:14;;7412:27;7408:179;;;7456:42;7472:6;7480:9;7491:6;7456:15;:42::i;7408:179::-;7531:44;7549:6;7557:9;7568:6;7531:17;:44::i;:::-;6986:608;;;:::o;6801:177::-;-1:-1:-1;;;;;6886:18:2;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6938:32;;;;;;;;;;;;;;;;;6801:177;;;:::o;12848:197::-;12930:9;;12974:12;;13007;;12930:107;;;-1:-1:-1;;;12930:107:2;;-1:-1:-1;;;;;12974:12:2;;;12930:107;;;;;;;;;;:9;:107;;;;;;;;;;13007:12;;;12930:107;;;;13021:15;12930:107;;;;;:9;;;;;:25;;12963:9;;12930:107;;;;;;;;;;;;;;;12963:9;12930;:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;12848:197:2:o;590:104:1:-;677:10;590:104;:::o;9403:477:2:-;9464:7;9473;9482;9491;9500;9509;9530:23;9555:12;9569:14;9587:20;9599:7;9587:11;:20::i;:::-;9529:78;;;;;;9618:19;9641:10;:8;:10::i;:::-;9618:33;;9663:15;9680:23;9705:12;9719:14;9737:47;9749:7;9758:4;9764:6;9772:11;9737;:47::i;:::-;9662:122;;;;;;;;9803:7;9812:15;9829:4;9835:6;9843:15;9860:11;9795:77;;;;;;;;;;;;;;;;;;;;9403:477;;;;;;;:::o;11897:551::-;11963:8;:15;;-1:-1:-1;;11963:15:2;11974:4;11963:15;;;12018:12;;11963:8;;12008:23;;-1:-1:-1;;;;;12018:12:2;12008:9;:23::i;:::-;11989:42;;12042:28;12060:9;12042:17;:28::i;:::-;12111:12;;12081:17;;12101:37;;12129:8;;12101:23;;-1:-1:-1;;;;;12111:12:2;12101:9;:23::i;:::-;:27;;:37::i;:::-;12081:57;;12149:17;12169:37;12189:9;12200:5;12169:19;:37::i;:::-;12249:12;;-1:-1:-1;;;;;12249:12:2;12241:7;:21;;;;;;;;;;;12149:57;;-1:-1:-1;12241:36:2;;12149:57;12241:25;:36::i;:::-;12225:12;;-1:-1:-1;;;;;12225:12:2;12217:7;:21;;;;;;;;;;:60;12298:7;;:22;;12310:9;12298:11;:22::i;:::-;12288:7;:32;12341:7;;:22;;12353:9;12341:11;:22::i;:::-;12331:7;:32;12379:34;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12424:8:2;:16;;-1:-1:-1;;12424:16:2;;;-1:-1:-1;;11897:551:2:o;1746:187:4:-;1832:7;1867:12;1859:6;;;;1851:29;;;;-1:-1:-1;;;1851:29:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1902:5:4;;;1746:187::o;10550:156:2:-;10681:14;;-1:-1:-1;;;;;10681:14:2;10591:7;10673:23;;;:7;:23;;;;;;10661:7;;10618:80;;10661:36;;:7;:11;:36::i;:::-;10639:14;;-1:-1:-1;;;;;10639:14:2;10631:7;:23;;;;;;;;;;;10619:7;;:36;;:11;:36::i;10618:80::-;10611:87;;10550:156;:::o;874:176:4:-;932:7;963:5;;;986:6;;;;978:46;;;;;-1:-1:-1;;;978:46:4;;;;;;;;;;;;;;;;;;;;;;;;;;;3713:272;3799:7;3833:12;3826:5;3818:28;;;;-1:-1:-1;;;3818:28:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3856:9;3872:1;3868;:5;;;;;;;3713:272;-1:-1:-1;;;;;3713:272:4:o;7602:611:2:-;7701:15;7718:23;7743:12;7757:14;7773:23;7801:21;7814:7;7801:12;:21::i;:::-;-1:-1:-1;7867:14:2;;-1:-1:-1;;;;;7867:14:2;7859:23;;;;:7;:23;;;;;;7700:122;;-1:-1:-1;7700:122:2;;-1:-1:-1;7700:122:2;;-1:-1:-1;7700:122:2;-1:-1:-1;7700:122:2;-1:-1:-1;7859:36:2;;7887:7;7859:27;:36::i;:::-;7841:14;;;-1:-1:-1;;;;;7841:14:2;;;7833:23;;;;:7;:23;;;;;;;;:62;;;;7940:14;;;;;7932:23;;;;;;;;:36;;7960:7;7932:27;:36::i;:::-;7914:14;;-1:-1:-1;;;;;7914:14:2;;;7906:7;:23;;;;;;;;;;;:62;;;;8000:18;;;;;;;:39;;8023:15;8000:22;:39::i;:::-;-1:-1:-1;;;;;7979:18:2;;;:7;:18;;;;;;;;;;;:60;;;;8082:12;;;;;8074:21;;;;:33;;8100:6;8074:25;:33::i;:::-;8058:12;;-1:-1:-1;;;;;8058:12:2;8050:7;:21;;;;;;;;;;:57;8128:7;;:17;;8140:4;8128:11;:17::i;:::-;8118:7;:27;8161:44;;;;;;;;-1:-1:-1;;;;;8161:44:2;;;;;;;;;;;;;;;;;7602:611;;;;;;;;:::o;8221:617::-;8318:15;8335:23;8360:12;8374:14;8390:23;8418:21;8431:7;8418:12;:21::i;:::-;8317:122;;;;;;;;;;;8450:15;:13;:15::i;:::-;-1:-1:-1;;;;;;8494:15:2;;:7;:15;;;;;;;;;;;:28;;8514:7;8494:19;:28::i;:::-;-1:-1:-1;;;;;8476:15:2;;;:7;:15;;;;;;;;;;;:46;;;;8554:18;;;;;:7;:18;;;;;:39;;8577:15;8554:22;:39::i;:::-;-1:-1:-1;;;;;8533:18:2;;;;;;:7;:18;;;;;;;;:60;;;;8625:18;;;;;:39;;8648:15;8625:22;:39::i;8846:549::-;8945:15;8962:23;8987:12;9001:14;9017:23;9045:21;9058:7;9045:12;:21::i;:::-;8944:122;;;;;;;;;;;9078:15;:13;:15::i;:::-;-1:-1:-1;;;;;;9122:15:2;;:7;:15;;;;;;;;;;;:28;;9142:7;9122:19;:28::i;:::-;-1:-1:-1;;;;;9104:15:2;;;:7;:15;;;;;;;;;;;:46;;;;9182:18;;;;;;;:39;;9205:15;9182:22;:39::i;9888:268::-;9948:7;9957;9966;9986:14;10003:29;10027:4;10003:19;10015:6;;10003:7;:11;;:19;;;;:::i;:29::-;9986:46;;10043:12;10058:27;10080:4;10058:17;10070:4;;10058:7;:11;;:17;;;;:::i;:27::-;10043:42;-1:-1:-1;10104:29:2;10126:6;10104:17;:7;10043:42;10104:11;:17::i;:29::-;10096:52;10135:4;;-1:-1:-1;10141:6:2;;-1:-1:-1;9888:268:2;-1:-1:-1;;9888:268:2:o;10164:378::-;10275:7;;;;;10340:24;:7;10352:11;10340;:24::i;:::-;10322:42;-1:-1:-1;10375:12:2;10390:21;:4;10399:11;10390:8;:21::i;:::-;10375:36;-1:-1:-1;10422:14:2;10439:23;:6;10450:11;10439:10;:23::i;:::-;10422:40;-1:-1:-1;10481:7:2;10490:29;10422:40;10490:17;10481:7;10502:4;10490:11;:17::i;:29::-;10473:61;;;;-1:-1:-1;10521:4:2;;-1:-1:-1;10521:4:2;-1:-1:-1;10164:378:2;-1:-1:-1;;;;;;10164:378:2:o;12644:196::-;12709:9;;12802:12;;12709:123;;-1:-1:-1;;;12709:123:2;;:9;:123;;;;;;-1:-1:-1;;;;;12802:12:2;;;12709:123;;;;;;12816:15;12709:123;;;;;;;;;;;;;12791:9;12709:123;;;;;;;;:9;;;;;:60;;12777:9;;12791;;12709:123;;;;;12791:9;;12709:123;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12709:123:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12644:196;:::o;10714:166::-;10805:11;;10789:12;;10755:7;;10805:11;10779:23;;-1:-1:-1;;;;;10789:12:2;10779:9;:23::i;:::-;:37;:50;;;;-1:-1:-1;10821:8:2;;;;10820:9;10779:50;10775:98;;;10846:15;10932:8;:15;;-1:-1:-1;;10932:15:2;10943:4;10932:15;;;11027:12;;11006:16;;:34;;:20;:34::i;:::-;10972:12;;10986:16;;10962:41;;-1:-1:-1;;;;;10972:12:2;;;;10986:16;10962:9;:41::i;:::-;:78;10958:129;;;11051:12;;11065:16;;11042:45;;-1:-1:-1;;;;;11051:12:2;;;;11065:16;-1:-1:-1;;11042:8:2;:45::i;:::-;11119:12;;-1:-1:-1;;;;;11119:12:2;:20;11150:19;:17;:19::i;:::-;11202:12;;11180:19;;11202:36;;-1:-1:-1;;;;;11202:12:2;:20;11227:10;11202:24;:36::i;:::-;11180:58;;11249:40;11263:11;11276:12;;11249:13;:40::i;:::-;11333:12;;11312:34;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11357:8:2;:16;;-1:-1:-1;;11357:16:2;;;10888:493::o;12456:180::-;12504:9;;12565:16;;12598:12;;12504:124;;-1:-1:-1;;;12504:124:2;;;;;;;;:9;:124;;;;;;-1:-1:-1;;;;;12598:12:2;;;12504:124;;;;;;12612:15;12504:124;;;;;;;;;;;;;12586:10;12504:124;;;;;;;;:9;;;;;:60;;12565:16;12504:9;;12586:10;;12598:12;;12612:15;;12504:124;;;;;;12586:10;;12504:124;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12504:124:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

ipfs://627330170475d0295e928307123bbc8235d8d1e014632f423fbcbea0028bffd4
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.