Contract 0xcaf6C0FB8Bcb737C2D5D7e5Db615147a26091De1 4

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xb5f00ea08528a7f75a4571343d63779355eb5e1c4ad35a18d534733a328b6bb7Add Liquidity ET...385749732022-05-19 9:29:334 hrs 50 mins ago0xd964df17ae8c55809a637158a971774c3a347de2 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1108.3971357816692 FTM0.02880646651
0xe6907810091f981d2cdf3f2dc34d246b8b6732cb2218818f0563eb8109a9c12cAdd Liquidity ET...385749272022-05-19 9:28:444 hrs 51 mins ago0xd964df17ae8c55809a637158a971774c3a347de2 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1108.3971357816692 FTM0.028701395745
0x790f67eb470aa921b2e838a183090cac7344b540758ef514fdc534faf5203df5Add Liquidity ET...381555482022-05-13 13:39:056 days 40 mins ago0xa50b4b250c3ef4a1d26fa8c9bfe3f06095149bef IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de118.261151337973068 FTM0.127281969332
0xd9c1c11df01aa88f88d1b9391eef9f9bd306cf6b50dc23f790ea40ee171f0262Add Liquidity ET...379145182022-05-09 14:16:5310 days 3 mins ago0x9a23d0553786f6f73b2e4b424a27d0cf378e2bc2 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de172.19403355179475 FTM0.101430924066
0x0d8d90f76ba294754c74d51dc5af7689df358db51c74d1a815d04c48a34aa6f0Add Liquidity ET...377569382022-05-07 11:54:3612 days 2 hrs ago0x25c68de7a3aa2c2693534fc2c5eb3747e110f188 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de149.901761673640046 FTM0.034105033591
0x043c2eb28f428733c146ce54e7263ff2ea9b73390a242f0c3eec5a30c67a168bAdd Liquidity ET...377564512022-05-07 11:45:5712 days 2 hrs ago0x25c68de7a3aa2c2693534fc2c5eb3747e110f188 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de199.80632803858647 FTM0.032035555262
0x1561eb5c51c19a674c99c2631a4d20597c5fd86fd25323317866cfd72d820d5aAdd Liquidity ET...375350872022-05-04 13:38:3615 days 41 mins ago0xec7b63d82bed2c6ec07ba3d0577db740ccbac7fd IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de166.95696416111029 FTM0.053839261133
0x7ecd45d78b57f5419e2483b9c759d5e703724e2a32dfdcb9ec908aaa9708f842Add Liquidity ET...375350282022-05-04 13:37:2115 days 42 mins ago0xec7b63d82bed2c6ec07ba3d0577db740ccbac7fd IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de166.95662126301158 FTM0.063127054307
0x158e94d945bc751570207ad7a3a2fc8a3f5c811be53f176ac046d98ab17994e5Add Liquidity ET...374873802022-05-03 22:19:4115 days 16 hrs ago0x6bff17438e01ca42a69da29f0930a616a2e0b63d IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de133.82101426203354 FTM0.055530503037
0x4234fc6daec344b3e3a49e71481714f92f8861e381a5aaa7c74026f5fc6a2066Add Liquidity ET...374726792022-05-03 17:41:0715 days 20 hrs ago0x7224fe89534dfc040d98a1d355be37db94529aaf IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de149.89999052583625 FTM0.041018370263
0xaa8581ef1e1775741924555ce6ac8f342b1234203ed3646e9e498ea6c397d382Add Liquidity ET...373151832022-05-01 6:57:4818 days 7 hrs ago0xf1e0dbf500dd4d285df87a6b7448251af44eb06e IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de14,513.745979499606 FTM0.140648210035
0x51248352b8abcf532190b6f50d7426f7ce1b42804f4c8e380ca62ee424a5766eAdd Liquidity ET...372779972022-04-30 12:55:1419 days 1 hr ago0xc6e6fb1fb1f822c59170f97baac9e30930c9a7a8 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de124.333407125433762 FTM0.149560742056
0x7a01f0313fec22f7448b3c2b0438f594ea78ba57bdba3ed569659198e06eea94Add Liquidity ET...371765182022-04-28 23:35:0520 days 14 hrs ago0x23d747e961989334aff4042393235c1510df387b IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de11.835529848626288 FTM0.099415712333
0xc0d9f6f0be41ca57ef163ef05f434b706a257c643fc0b431ee1544d5d8be91dfAdd Liquidity ET...371764862022-04-28 23:34:3220 days 14 hrs ago0x23d747e961989334aff4042393235c1510df387b IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de11.835529848626288 FTM0.072427361515
0x56b74e50b47d1c346196e25c07090a129ae890a247801cd65debb040c0a5a26dAdd Liquidity ET...371637392022-04-28 19:31:3520 days 18 hrs ago0xd12d19f48e0576ee69002d5691a699e6bf68d840 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de125.294199267411912 FTM0.044153684359
0x15c99cd13cdc02541125f8f2756f850119333133f0d12742f64afdc8dd998e60Add Liquidity ET...370256292022-04-26 21:49:5722 days 16 hrs ago0x6bff17438e01ca42a69da29f0930a616a2e0b63d IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de160.443554802923266 FTM0.107106317469
0x90c9a48c5308da82919022c0def4ca7d94d5221156f607986aaf8feded8dde7eAdd Liquidity ET...370165912022-04-26 17:58:2422 days 20 hrs ago0xbe8092fc3f545c212981ea9b3ea663e5857a0fb5 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1505.7611017355036 FTM0.082256072544
0x3b5e8ef5f0b7e78d65bb629ec2a7d8844101d086b3cb809fb4565d0df387d491Add Liquidity ET...369758632022-04-26 4:06:4523 days 10 hrs ago0x2df22d91e7d580f6cf4aeef8017c364f8a3f46ac IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1176.23415752044957 FTM0.058798600094
0xbd8f46224ff5b0b07cf9f09c238176f50da0c3d2774460ce3c19346e52859d92Add Liquidity ET...369624942022-04-25 23:46:4423 days 14 hrs ago0xe66ab68341d5f3cd2dd333c73bc11a3037ffe784 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1204.53042539724393 FTM0.043178762127
0x9dd852e65659efde5b1742b6c0e678a97242c8549cc85366c00a4d1a728524ccAdd Liquidity ET...368787412022-04-24 19:43:5324 days 18 hrs ago0x52739bd7de9836afcb4d73a4610e09f588543fcd IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1156.40781948445377 FTM0.106847598583
0x24995de7d389de7561589f2770e1dd0bd7fa12a97077f46e96332b6ccd26f915Add Liquidity ET...368723972022-04-24 17:24:0924 days 20 hrs ago0x9cc891f9fa26a4db43e5f52186cb54125e5982c6 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de114,400 FTM0.058441250063
0x852e88a60e67f31b87d20d123372b1d2ec0e1ae480b832de7c5b8aa7aec64d78Add Liquidity ET...368723932022-04-24 17:24:0624 days 20 hrs ago0x9cc891f9fa26a4db43e5f52186cb54125e5982c6 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de114,400 FTM0.068608200817
0x31f42e46e1dfffc0db07920197765b07fbe1eac67944bb672b65dd256c95955cAdd Liquidity ET...368723212022-04-24 17:22:5724 days 20 hrs ago0x9cc891f9fa26a4db43e5f52186cb54125e5982c6 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de114,495.628200644733 FTM0.067119040426
0x7f84869bb3a9ab41a62fed4feab471b7df3cdc6c5edd431129ff9164c6448109Add Liquidity ET...368690252022-04-24 16:18:1924 days 22 hrs ago0xe483e5d1641f3f439938c24627d1944438ec8971 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1470.8451773630814 FTM0.050870274774
0xe227c3548fabcf84954f7cf94f464f5c0fbcec9a3c766486690aa12987f138b7Add Liquidity ET...368690142022-04-24 16:18:0424 days 22 hrs ago0xe483e5d1641f3f439938c24627d1944438ec8971 IN  0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1470.8451773630814 FTM0.050870274774
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xb5f00ea08528a7f75a4571343d63779355eb5e1c4ad35a18d534733a328b6bb7385749732022-05-19 9:29:334 hrs 50 mins ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router108.3971357816692 FTM
0xe6907810091f981d2cdf3f2dc34d246b8b6732cb2218818f0563eb8109a9c12c385749272022-05-19 9:28:444 hrs 51 mins ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router108.3971357816692 FTM
0x790f67eb470aa921b2e838a183090cac7344b540758ef514fdc534faf5203df5381555482022-05-13 13:39:056 days 40 mins ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router18.261151337973068 FTM
0xd9c1c11df01aa88f88d1b9391eef9f9bd306cf6b50dc23f790ea40ee171f0262379145182022-05-09 14:16:5310 days 3 mins ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router72.19403355179475 FTM
0x0d8d90f76ba294754c74d51dc5af7689df358db51c74d1a815d04c48a34aa6f0377569382022-05-07 11:54:3612 days 2 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router49.901761673640046 FTM
0x043c2eb28f428733c146ce54e7263ff2ea9b73390a242f0c3eec5a30c67a168b377564512022-05-07 11:45:5712 days 2 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router99.80632803858647 FTM
0x1561eb5c51c19a674c99c2631a4d20597c5fd86fd25323317866cfd72d820d5a375350872022-05-04 13:38:3615 days 41 mins ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router66.95696416111029 FTM
0x7ecd45d78b57f5419e2483b9c759d5e703724e2a32dfdcb9ec908aaa9708f842375350282022-05-04 13:37:2115 days 42 mins ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router66.95662126301158 FTM
0x158e94d945bc751570207ad7a3a2fc8a3f5c811be53f176ac046d98ab17994e5374873802022-05-03 22:19:4115 days 16 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router33.82101426203354 FTM
0x4234fc6daec344b3e3a49e71481714f92f8861e381a5aaa7c74026f5fc6a2066374726792022-05-03 17:41:0715 days 20 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router49.89999052583625 FTM
0xaa8581ef1e1775741924555ce6ac8f342b1234203ed3646e9e498ea6c397d382373151832022-05-01 6:57:4818 days 7 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router4,513.745979499606 FTM
0x51248352b8abcf532190b6f50d7426f7ce1b42804f4c8e380ca62ee424a5766e372779972022-04-30 12:55:1419 days 1 hr ago SpookySwap: Router 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de10.000728432849131868 FTM
0x51248352b8abcf532190b6f50d7426f7ce1b42804f4c8e380ca62ee424a5766e372779972022-04-30 12:55:1419 days 1 hr ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router24.333407125433762 FTM
0x7a01f0313fec22f7448b3c2b0438f594ea78ba57bdba3ed569659198e06eea94371765182022-04-28 23:35:0520 days 14 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router1.8355298486262885 FTM
0xc0d9f6f0be41ca57ef163ef05f434b706a257c643fc0b431ee1544d5d8be91df371764862022-04-28 23:34:3220 days 14 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router1.8355298486262885 FTM
0x56b74e50b47d1c346196e25c07090a129ae890a247801cd65debb040c0a5a26d371637392022-04-28 19:31:3520 days 18 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router25.294199267411912 FTM
0x15c99cd13cdc02541125f8f2756f850119333133f0d12742f64afdc8dd998e60370256292022-04-26 21:49:5722 days 16 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router60.443554802923266 FTM
0x90c9a48c5308da82919022c0def4ca7d94d5221156f607986aaf8feded8dde7e370165912022-04-26 17:58:2422 days 20 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router505.7611017355036 FTM
0x3b5e8ef5f0b7e78d65bb629ec2a7d8844101d086b3cb809fb4565d0df387d491369758632022-04-26 4:06:4523 days 10 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router176.23415752044957 FTM
0xbd8f46224ff5b0b07cf9f09c238176f50da0c3d2774460ce3c19346e52859d92369624942022-04-25 23:46:4423 days 14 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router204.53042539724393 FTM
0x9dd852e65659efde5b1742b6c0e678a97242c8549cc85366c00a4d1a728524cc368787412022-04-24 19:43:5324 days 18 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router156.40781948445377 FTM
0x24995de7d389de7561589f2770e1dd0bd7fa12a97077f46e96332b6ccd26f915368723972022-04-24 17:24:0924 days 20 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router14,400 FTM
0x852e88a60e67f31b87d20d123372b1d2ec0e1ae480b832de7c5b8aa7aec64d78368723932022-04-24 17:24:0624 days 20 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router14,400 FTM
0x31f42e46e1dfffc0db07920197765b07fbe1eac67944bb672b65dd256c95955c368723212022-04-24 17:22:5724 days 20 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router14,495.628200644733 FTM
0x7f84869bb3a9ab41a62fed4feab471b7df3cdc6c5edd431129ff9164c6448109368690252022-04-24 16:18:1924 days 22 hrs ago 0xcaf6c0fb8bcb737c2d5d7e5db615147a26091de1 SpookySwap: Router470.8451773630814 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TaxOfficeV2

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 9 : TaxOfficeV2.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.6.12;

import "@openzeppelin/contracts/math/SafeMath.sol";
import "./owner/Operator.sol";
import "./interfaces/ITaxable.sol";
import "./interfaces/IUniswapV2Router.sol";
import "./interfaces/IERC20.sol";

/*
  ______                __       _______
 /_  __/___  ____ ___  / /_     / ____(_)___  ____ _____  ________
  / / / __ \/ __ `__ \/ __ \   / /_  / / __ \/ __ `/ __ \/ ___/ _ \
 / / / /_/ / / / / / / /_/ /  / __/ / / / / / /_/ / / / / /__/  __/
/_/  \____/_/ /_/ /_/_.___/  /_/   /_/_/ /_/\__,_/_/ /_/\___/\___/

    http://tomb.finance
*/
contract TaxOfficeV2 is Operator {
    using SafeMath for uint256;

    address public tomb = address(0x6c021Ae822BEa943b2E66552bDe1D2696a53fbB7);
    address public wftm = address(0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83);
    address public uniRouter = address(0xF491e7B69E4244ad4002BC14e878a34207E38c29);

    mapping(address => bool) public taxExclusionEnabled;

    function setTaxTiersTwap(uint8 _index, uint256 _value) public onlyOperator returns (bool) {
        return ITaxable(tomb).setTaxTiersTwap(_index, _value);
    }

    function setTaxTiersRate(uint8 _index, uint256 _value) public onlyOperator returns (bool) {
        return ITaxable(tomb).setTaxTiersRate(_index, _value);
    }

    function enableAutoCalculateTax() public onlyOperator {
        ITaxable(tomb).enableAutoCalculateTax();
    }

    function disableAutoCalculateTax() public onlyOperator {
        ITaxable(tomb).disableAutoCalculateTax();
    }

    function setTaxRate(uint256 _taxRate) public onlyOperator {
        ITaxable(tomb).setTaxRate(_taxRate);
    }

    function setBurnThreshold(uint256 _burnThreshold) public onlyOperator {
        ITaxable(tomb).setBurnThreshold(_burnThreshold);
    }

    function setTaxCollectorAddress(address _taxCollectorAddress) public onlyOperator {
        ITaxable(tomb).setTaxCollectorAddress(_taxCollectorAddress);
    }

    function excludeAddressFromTax(address _address) external onlyOperator returns (bool) {
        return _excludeAddressFromTax(_address);
    }

    function _excludeAddressFromTax(address _address) private returns (bool) {
        if (!ITaxable(tomb).isAddressExcluded(_address)) {
            return ITaxable(tomb).excludeAddress(_address);
        }
    }

    function includeAddressInTax(address _address) external onlyOperator returns (bool) {
        return _includeAddressInTax(_address);
    }

    function _includeAddressInTax(address _address) private returns (bool) {
        if (ITaxable(tomb).isAddressExcluded(_address)) {
            return ITaxable(tomb).includeAddress(_address);
        }
    }

    function taxRate() external view returns (uint256) {
        return ITaxable(tomb).taxRate();
    }

    function addLiquidityTaxFree(
        address token,
        uint256 amtTomb,
        uint256 amtToken,
        uint256 amtTombMin,
        uint256 amtTokenMin
    )
        external
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        require(amtTomb != 0 && amtToken != 0, "amounts can't be 0");
        _excludeAddressFromTax(msg.sender);

        IERC20(tomb).transferFrom(msg.sender, address(this), amtTomb);
        IERC20(token).transferFrom(msg.sender, address(this), amtToken);
        _approveTokenIfNeeded(tomb, uniRouter);
        _approveTokenIfNeeded(token, uniRouter);

        _includeAddressInTax(msg.sender);

        uint256 resultAmtTomb;
        uint256 resultAmtToken;
        uint256 liquidity;
        (resultAmtTomb, resultAmtToken, liquidity) = IUniswapV2Router(uniRouter).addLiquidity(
            tomb,
            token,
            amtTomb,
            amtToken,
            amtTombMin,
            amtTokenMin,
            msg.sender,
            block.timestamp
        );

        if(amtTomb.sub(resultAmtTomb) > 0) {
            IERC20(tomb).transfer(msg.sender, amtTomb.sub(resultAmtTomb));
        }
        if(amtToken.sub(resultAmtToken) > 0) {
            IERC20(token).transfer(msg.sender, amtToken.sub(resultAmtToken));
        }
        return (resultAmtTomb, resultAmtToken, liquidity);
    }

    function addLiquidityETHTaxFree(
        uint256 amtTomb,
        uint256 amtTombMin,
        uint256 amtFtmMin
    )
        external
        payable
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        require(amtTomb != 0 && msg.value != 0, "amounts can't be 0");
        _excludeAddressFromTax(msg.sender);

        IERC20(tomb).transferFrom(msg.sender, address(this), amtTomb);
        _approveTokenIfNeeded(tomb, uniRouter);

        _includeAddressInTax(msg.sender);

        uint256 resultAmtTomb;
        uint256 resultAmtFtm;
        uint256 liquidity;
        (resultAmtTomb, resultAmtFtm, liquidity) = IUniswapV2Router(uniRouter).addLiquidityETH{value: msg.value}(
            tomb,
            amtTomb,
            amtTombMin,
            amtFtmMin,
            msg.sender,
            block.timestamp
        );

        if(amtTomb.sub(resultAmtTomb) > 0) {
            IERC20(tomb).transfer(msg.sender, amtTomb.sub(resultAmtTomb));
        }
        return (resultAmtTomb, resultAmtFtm, liquidity);
    }

    function setTaxableTombOracle(address _tombOracle) external onlyOperator {
        ITaxable(tomb).setTombOracle(_tombOracle);
    }

    function transferTaxOffice(address _newTaxOffice) external onlyOperator {
        ITaxable(tomb).setTaxOffice(_newTaxOffice);
    }

    function taxFreeTransferFrom(
        address _sender,
        address _recipient,
        uint256 _amt
    ) external {
        require(taxExclusionEnabled[msg.sender], "Address not approved for tax free transfers");
        _excludeAddressFromTax(_sender);
        IERC20(tomb).transferFrom(_sender, _recipient, _amt);
        _includeAddressInTax(_sender);
    }

    function setTaxExclusionForAddress(address _address, bool _excluded) external onlyOperator {
        taxExclusionEnabled[_address] = _excluded;
    }

    function _approveTokenIfNeeded(address _token, address _router) private {
        if (IERC20(_token).allowance(address(this), _router) == 0) {
            IERC20(_token).approve(_router, type(uint256).max);
        }
    }
}

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

pragma solidity 0.6.12;

/**
 * @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 3 of 9 : ITaxable.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.6.12;

interface ITaxable {
    function setTaxTiersTwap(uint8 _index, uint256 _value) external returns (bool);

    function setTaxTiersRate(uint8 _index, uint256 _value) external returns (bool);

    function enableAutoCalculateTax() external;

    function disableAutoCalculateTax() external;

    function setTaxCollectorAddress(address _taxCollectorAddress) external;

    function isAddressExcluded(address _address) external returns (bool);

    function setTaxRate(uint256 _taxRate) external;

    function setBurnThreshold(uint256 _burnThreshold) external;

    function excludeAddress(address _address) external returns (bool);

    function includeAddress(address _address) external returns (bool);

    function setTombOracle(address _tombOracle) external;

    function setTaxOffice(address _taxOffice) external;

    function taxRate() external view returns (uint256);
}

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

pragma solidity 0.6.12;

interface IUniswapV2Router {
    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);

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

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

pragma solidity 0.6.12;

import "@openzeppelin/contracts/GSN/Context.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract Operator is Context, Ownable {
    address private _operator;

    event OperatorTransferred(address indexed previousOperator, address indexed newOperator);

    constructor() internal {
        _operator = _msgSender();
        emit OperatorTransferred(address(0), _operator);
    }

    function operator() public view returns (address) {
        return _operator;
    }

    modifier onlyOperator() {
        require(_operator == msg.sender, "operator: caller is not the operator");
        _;
    }

    function isOperator() public view returns (bool) {
        return _msgSender() == _operator;
    }

    function transferOperator(address newOperator_) public onlyOwner {
        _transferOperator(newOperator_);
    }

    function _transferOperator(address newOperator_) internal {
        require(newOperator_ != address(0), "operator: zero address given for new operator");
        emit OperatorTransferred(address(0), newOperator_);
        _operator = newOperator_;
    }
}

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

pragma solidity >=0.6.0 <0.8.0;

import "../utils/Context.sol";

File 7 of 9 : Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

import "../utils/Context.sol";
/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

pragma solidity >=0.6.0 <0.8.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, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        uint256 c = a + b;
        if (c < a) return (false, 0);
        return (true, c);
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b > a) return (false, 0);
        return (true, a - b);
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, 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 (true, 0);
        uint256 c = a * b;
        if (c / a != b) return (false, 0);
        return (true, c);
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b == 0) return (false, 0);
        return (true, a / b);
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b == 0) return (false, 0);
        return (true, a % b);
    }

    /**
     * @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) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - b;
    }

    /**
     * @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) {
        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, reverting 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) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting 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) {
        require(b > 0, "SafeMath: modulo by zero");
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * 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);
        return a - b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryDiv}.
     *
     * 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);
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * 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 9 of 9 : Context.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.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;
    }
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": true,
    "runs": 999999
  },
  "evmVersion": "istanbul",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOperator","type":"address"},{"indexed":true,"internalType":"address","name":"newOperator","type":"address"}],"name":"OperatorTransferred","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"},{"inputs":[{"internalType":"uint256","name":"amtTomb","type":"uint256"},{"internalType":"uint256","name":"amtTombMin","type":"uint256"},{"internalType":"uint256","name":"amtFtmMin","type":"uint256"}],"name":"addLiquidityETHTaxFree","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amtTomb","type":"uint256"},{"internalType":"uint256","name":"amtToken","type":"uint256"},{"internalType":"uint256","name":"amtTombMin","type":"uint256"},{"internalType":"uint256","name":"amtTokenMin","type":"uint256"}],"name":"addLiquidityTaxFree","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableAutoCalculateTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableAutoCalculateTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"excludeAddressFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"includeAddressInTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_burnThreshold","type":"uint256"}],"name":"setBurnThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_taxCollectorAddress","type":"address"}],"name":"setTaxCollectorAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_excluded","type":"bool"}],"name":"setTaxExclusionForAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxRate","type":"uint256"}],"name":"setTaxRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_index","type":"uint8"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setTaxTiersRate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_index","type":"uint8"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setTaxTiersTwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tombOracle","type":"address"}],"name":"setTaxableTombOracle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"taxExclusionEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amt","type":"uint256"}],"name":"taxFreeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"taxRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tomb","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOperator_","type":"address"}],"name":"transferOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newTaxOffice","type":"address"}],"name":"transferTaxOffice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wftm","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

6080604052600280546001600160a01b0319908116736c021ae822bea943b2e66552bde1d2696a53fbb7179091556003805482167321be370d5312f44cb42ce377bc9b8a0cef1a4c831790556004805490911673f491e7b69e4244ad4002bc14e878a34207e38c2917905534801561007657600080fd5b506000610081610124565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506100d3610124565b600180546001600160a01b0319166001600160a01b0392831617908190556040519116906000907f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed908290a3610128565b3390565b6124d580620001386000396000f3fe6080604052600436106101a15760003560e01c80639d6b5f21116100e1578063d1d31a371161008a578063f1efacf911610064578063f1efacf9146105f8578063f2fde38b14610650578063f4f45b4614610690578063ff87fc7c146106a5576101a1565b8063d1d31a3714610528578063e1d8752e14610568578063e69abb7e146105b8576101a1565b8063be94f86b116100bb578063be94f86b146104a9578063c040f23a146104e9578063c6d69a30146104fe576101a1565b80639d6b5f2114610437578063a0e47bf614610461578063b87c5a4a14610476576101a1565b806366206ce91161014e57806373baccc01161012857806373baccc01461036c578063771a3a1d146103b35780637fcd79c7146103da5780638da5cb5b14610422576101a1565b806366206ce9146102e457806369356d4714610317578063715018a614610357576101a1565b80634456eda21161017f5780634456eda21461027c578063570ca7351461029157806365bbacd9146102cf576101a1565b806313762bdc146101a657806319db099d146101fa57806329605e771461023a575b600080fd5b3480156101b257600080fd5b506101e6600480360360208110156101c957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106ba565b604080519115158252519081900360200190f35b34801561020657600080fd5b506101e66004803603602081101561021d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166106cf565b34801561024657600080fd5b5061027a6004803603602081101561025d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610753565b005b34801561028857600080fd5b506101e6610807565b34801561029d57600080fd5b506102a6610847565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156102db57600080fd5b5061027a610863565b3480156102f057600080fd5b506101e66004803603604081101561030757600080fd5b5060ff8135169060200135610957565b34801561032357600080fd5b5061027a6004803603602081101561033a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a7a565b34801561036357600080fd5b5061027a610b79565b6103956004803603606081101561038257600080fd5b5080359060208101359060400135610c90565b60408051938452602084019290925282820152519081900360600190f35b3480156103bf57600080fd5b506103c8610fa1565b60408051918252519081900360200190f35b3480156103e657600080fd5b5061027a600480360360408110156103fd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135151561103d565b34801561042e57600080fd5b506102a6611103565b34801561044357600080fd5b5061027a6004803603602081101561045a57600080fd5b503561111f565b34801561046d57600080fd5b506102a6611202565b34801561048257600080fd5b506101e66004803603604081101561049957600080fd5b5060ff813516906020013561121e565b3480156104b557600080fd5b506101e6600480360360208110156104cc57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661130e565b3480156104f557600080fd5b506102a661138a565b34801561050a57600080fd5b5061027a6004803603602081101561052157600080fd5b50356113a6565b34801561053457600080fd5b5061027a6004803603602081101561054b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611489565b34801561057457600080fd5b5061027a6004803603606081101561058b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040013561156d565b3480156105c457600080fd5b5061027a600480360360208110156105db57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611699565b34801561060457600080fd5b50610395600480360360a081101561061b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020810135906040810135906060810135906080013561177d565b34801561065c57600080fd5b5061027a6004803603602081101561067357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611c22565b34801561069c57600080fd5b506102a6611dc3565b3480156106b157600080fd5b5061027a611ddf565b60056020526000908152604090205460ff1681565b60015460009073ffffffffffffffffffffffffffffffffffffffff163314610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061247c6024913960400191505060405180910390fd5b61074b82611eb9565b90505b919050565b61075b61200a565b73ffffffffffffffffffffffffffffffffffffffff16610779611103565b73ffffffffffffffffffffffffffffffffffffffff16146107fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6108048161200e565b50565b60015460009073ffffffffffffffffffffffffffffffffffffffff1661082b61200a565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b60015473ffffffffffffffffffffffffffffffffffffffff1633146108d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061247c6024913960400191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166365bbacd96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561093d57600080fd5b505af1158015610951573d6000803e3d6000fd5b50505050565b60015460009073ffffffffffffffffffffffffffffffffffffffff1633146109ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061247c6024913960400191505060405180910390fd5b600254604080517f66206ce900000000000000000000000000000000000000000000000000000000815260ff8616600482015260248101859052905173ffffffffffffffffffffffffffffffffffffffff909216916366206ce9916044808201926020929091908290030181600087803b158015610a4757600080fd5b505af1158015610a5b573d6000803e3d6000fd5b505050506040513d6020811015610a7157600080fd5b50519392505050565b60015473ffffffffffffffffffffffffffffffffffffffff163314610aea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061247c6024913960400191505060405180910390fd5b600254604080517f69356d4700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152915191909216916369356d4791602480830192600092919082900301818387803b158015610b5e57600080fd5b505af1158015610b72573d6000803e3d6000fd5b5050505050565b610b8161200a565b73ffffffffffffffffffffffffffffffffffffffff16610b9f611103565b73ffffffffffffffffffffffffffffffffffffffff1614610c2157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600080808515801590610ca257503415155b610d0d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f616d6f756e74732063616e277420626520300000000000000000000000000000604482015290519081900360640190fd5b610d1633612104565b50600254604080517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101899052905173ffffffffffffffffffffffffffffffffffffffff909216916323b872dd916064808201926020929091908290030181600087803b158015610d9757600080fd5b505af1158015610dab573d6000803e3d6000fd5b505050506040513d6020811015610dc157600080fd5b5050600254600454610dec9173ffffffffffffffffffffffffffffffffffffffff9081169116612221565b610df533611eb9565b5060048054600254604080517ff305d71900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831694810194909452602484018a905260448401899052606484018890523360848501524260a48501525160009384938493169163f305d71991349160c480830192606092919082900301818588803b158015610e9657600080fd5b505af1158015610eaa573d6000803e3d6000fd5b50505050506040513d6060811015610ec157600080fd5b508051602082015160409092015190945090925090506000610ee38a85612386565b1115610f925760025473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33610f128c87612386565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610f6557600080fd5b505af1158015610f79573d6000803e3d6000fd5b505050506040513d6020811015610f8f57600080fd5b50505b91989097509095509350505050565b600254604080517f771a3a1d000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163771a3a1d916004808301926020929190829003018186803b15801561100c57600080fd5b505afa158015611020573d6000803e3d6000fd5b505050506040513d602081101561103657600080fd5b5051905090565b60015473ffffffffffffffffffffffffffffffffffffffff1633146110ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061247c6024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60015473ffffffffffffffffffffffffffffffffffffffff16331461118f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061247c6024913960400191505060405180910390fd5b600254604080517f9d6b5f2100000000000000000000000000000000000000000000000000000000815260048101849052905173ffffffffffffffffffffffffffffffffffffffff90921691639d6b5f219160248082019260009290919082900301818387803b158015610b5e57600080fd5b60045473ffffffffffffffffffffffffffffffffffffffff1681565b60015460009073ffffffffffffffffffffffffffffffffffffffff163314611291576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061247c6024913960400191505060405180910390fd5b600254604080517fb87c5a4a00000000000000000000000000000000000000000000000000000000815260ff8616600482015260248101859052905173ffffffffffffffffffffffffffffffffffffffff9092169163b87c5a4a916044808201926020929091908290030181600087803b158015610a4757600080fd5b60015460009073ffffffffffffffffffffffffffffffffffffffff163314611381576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061247c6024913960400191505060405180910390fd5b61074b82612104565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff163314611416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061247c6024913960400191505060405180910390fd5b600254604080517fc6d69a3000000000000000000000000000000000000000000000000000000000815260048101849052905173ffffffffffffffffffffffffffffffffffffffff9092169163c6d69a309160248082019260009290919082900301818387803b158015610b5e57600080fd5b60015473ffffffffffffffffffffffffffffffffffffffff1633146114f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061247c6024913960400191505060405180910390fd5b600254604080517f3f07d76a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291519190921691633f07d76a91602480830192600092919082900301818387803b158015610b5e57600080fd5b3360009081526005602052604090205460ff166115d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612424602b913960400191505060405180910390fd5b6115de83612104565b50600254604080517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152858116602483015260448201859052915191909216916323b872dd9160648083019260209291908290030181600087803b15801561166357600080fd5b505af1158015611677573d6000803e3d6000fd5b505050506040513d602081101561168d57600080fd5b50610951905083611eb9565b60015473ffffffffffffffffffffffffffffffffffffffff163314611709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061247c6024913960400191505060405180910390fd5b600254604080517f75be5ae100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152915191909216916375be5ae191602480830192600092919082900301818387803b158015610b5e57600080fd5b60008080861580159061178f57508515155b6117fa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f616d6f756e74732063616e277420626520300000000000000000000000000000604482015290519081900360640190fd5b61180333612104565b50600254604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018a9052905173ffffffffffffffffffffffffffffffffffffffff909216916323b872dd916064808201926020929091908290030181600087803b15801561188457600080fd5b505af1158015611898573d6000803e3d6000fd5b505050506040513d60208110156118ae57600080fd5b5050604080517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101889052905173ffffffffffffffffffffffffffffffffffffffff8a16916323b872dd9160648083019260209291908290030181600087803b15801561192b57600080fd5b505af115801561193f573d6000803e3d6000fd5b505050506040513d602081101561195557600080fd5b50506002546004546119809173ffffffffffffffffffffffffffffffffffffffff9081169116612221565b6004546119a490899073ffffffffffffffffffffffffffffffffffffffff16612221565b6119ad33611eb9565b5060048054600254604080517fe8e3370000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316948101949094528b82166024850152604484018b9052606484018a90526084840189905260a484018890523360c48501524260e48501525160009384938493169163e8e33700916101048082019260609290919082900301818787803b158015611a5d57600080fd5b505af1158015611a71573d6000803e3d6000fd5b505050506040513d6060811015611a8757600080fd5b508051602082015160409092015190945090925090506000611aa98b85612386565b1115611b585760025473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33611ad88d87612386565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611b2b57600080fd5b505af1158015611b3f573d6000803e3d6000fd5b505050506040513d6020811015611b5557600080fd5b50505b6000611b648a84612386565b1115611c115773ffffffffffffffffffffffffffffffffffffffff8b1663a9059cbb33611b918c86612386565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611be457600080fd5b505af1158015611bf8573d6000803e3d6000fd5b505050506040513d6020811015611c0e57600080fd5b50505b919a90995090975095505050505050565b611c2a61200a565b73ffffffffffffffffffffffffffffffffffffffff16611c48611103565b73ffffffffffffffffffffffffffffffffffffffff1614611cca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611d36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806123fe6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff163314611e4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061247c6024913960400191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ff87fc7c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561093d57600080fd5b600254604080517febca1bd900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301529151600093929092169163ebca1bd99160248082019260209290919082900301818787803b158015611f3157600080fd5b505af1158015611f45573d6000803e3d6000fd5b505050506040513d6020811015611f5b57600080fd5b50511561074e57600254604080517f93995d4b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152915191909216916393995d4b9160248083019260209291908290030181600087803b158015611fd757600080fd5b505af1158015611feb573d6000803e3d6000fd5b505050506040513d602081101561200157600080fd5b5051905061074e565b3390565b73ffffffffffffffffffffffffffffffffffffffff811661207a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061244f602d913960400191505060405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff8216906000907f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed908290a3600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600254604080517febca1bd900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301529151600093929092169163ebca1bd99160248082019260209290919082900301818787803b15801561217c57600080fd5b505af1158015612190573d6000803e3d6000fd5b505050506040513d60208110156121a657600080fd5b505161074e57600254604080517f3758e6ce00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291519190921691633758e6ce9160248083019260209291908290030181600087803b158015611fd757600080fd5b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015291519184169163dd62ed3e91604480820192602092909190829003018186803b15801561229757600080fd5b505afa1580156122ab573d6000803e3d6000fd5b505050506040513d60208110156122c157600080fd5b5051612382578173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561235857600080fd5b505af115801561236c573d6000803e3d6000fd5b505050506040513d602081101561095157600080fd5b5050565b6000828211156123f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737341646472657373206e6f7420617070726f76656420666f72207461782066726565207472616e73666572736f70657261746f723a207a65726f206164647265737320676976656e20666f72206e6577206f70657261746f726f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657261746f72a2646970667358221220bc364f6a1927e88ff0dc9651532c823496c4e4932833a16dfd5b9cb483deb52764736f6c634300060c0033

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
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.