Contract 0x8DC4D5F5d7caA96B93f7095FA0c7a2Aa8264816d 3

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xfec930d8232e2c4ee0040e165c9cee3d2d72b508f377b54b10918d69c565242eApprove167852972022-07-02 4:03:044 days 1 min ago0xb42e7f1fd39485667fe10e1f1ec2ca99e20b8742 IN  Opsya: OPSY Token0 AVAX0.00128089527.5
0x69691c8796277b5a76f23a47e65230c445d9142c40c2f2db5f9976abc2ee4709Approve166736112022-06-29 13:54:036 days 14 hrs ago0x2328ca9f383f482baec863568fbe4a5d9c3f9f81 IN  Opsya: OPSY Token0 AVAX0.00125210048 26.8818
0xb5266adf1aaf52ef63d5ed8a236c9983e2040b530ed797ce2ed53cc6f77d904cApprove147557132022-05-16 4:10:5950 days 23 hrs ago0x2328ca9f383f482baec863568fbe4a5d9c3f9f81 IN  Opsya: OPSY Token0 AVAX0.001234317 26.5
0x8f8245c855f85f42aac30cd15797a718507112efb784caf87b28ffe92798d770Transfer147556582022-05-16 4:09:0850 days 23 hrs ago0xb7147edb6409e16af70aadc8582c5da383fd1d13 IN  Opsya: OPSY Token0 AVAX0.014927609 26.5
0xb2f0ee1a7d1fb2ee0b19daa9727db305361080155e6c7e4fb19f0e0784540e94Approve147417582022-05-15 20:24:2451 days 7 hrs ago0xb7147edb6409e16af70aadc8582c5da383fd1d13 IN  Opsya: OPSY Token0 AVAX0.001234317 26.5
0xd2d7c10d292bcbcc3fe2b99b96612481f67ead4272fd04d07df5556e98b0fb0bApprove147369492022-05-15 17:43:3751 days 10 hrs ago0x04625fe1eec4f0b2761d9d75dc2ea774d40f62d7 IN  Opsya: OPSY Token0 AVAX0.0011644525
0x45d2894fa4db9ad93b063396c3591dcdc82112489551c8eaeb88e7e0018c78c8Approve146479562022-05-13 16:17:3753 days 11 hrs agoOpsya: Deployer IN  Opsya: OPSY Token0 AVAX0.0013293362 28.540001729
0xc604def7c288ba2843f500ff7df9abdc4ac6baa42d4cae559e2c66305c973f19Approve146063322022-05-12 17:08:0454 days 10 hrs ago0x782c983fe1b1f19558c5df594b7019b0c25b1533 IN  Opsya: OPSY Token0 AVAX0.00362738924 77.877737136
0x9b8b103a34952c2128931549eea935fa1f2cb44e3c95230aac2cb49b16c04a7eTransfer145983342022-05-12 12:44:0854 days 15 hrs ago0xb62664f0fe749d13e9866b65e744c0ac56b4f495 IN  Opsya: OPSY Token0 AVAX0.050128228934 87.616391529
0xd7e38e542b318db2eaad36464b15c0de1b26155bb8928f8c76e19dc1e6c8117bApprove143201192022-05-05 22:17:2161 days 5 hrs ago0x321f9309c0f5c6040ecfd286ce727588e7659c2e IN  Opsya: OPSY Token0 AVAX0.00312367612 67.063337203
0x7b7ffa7e5c9663dfa5d21117d4fe06258278e78dc3744dd39ebfdfcc74fcf22dApprove143033412022-05-05 12:34:2661 days 15 hrs ago0x321f9309c0f5c6040ecfd286ce727588e7659c2e IN  Opsya: OPSY Token0 AVAX0.004070559097 87.392311777
0x54a0c0e7b6f4006ab97517c8bf6a928b1df520611cb74c8c428fedd73f545a30Approve141109552022-04-30 22:51:3766 days 5 hrs ago0xeb07d82497cb04a4c037bc0abde5c6d50e5e24fd IN  Opsya: OPSY Token0 AVAX0.0025237384254.183056808
0xc576d895420ba50584af993c650db1516fd0df361c8203ff729de375aba82cf1Approve140716922022-04-30 0:23:0467 days 3 hrs ago0x0002eb2f32aaaf8a7125a952c9a3256e65e237e4 IN  Opsya: OPSY Token0 AVAX0.00151717869232.572860409
0xc53c4282b404e86b358e5a538bbe9be0929461b9feff9ab5897269c322b75e42Transfer138870442022-04-25 16:06:3671 days 11 hrs ago0x00f9ab4276cdfe78203d901d0b75e3cbfa6ffe56 IN  Opsya: OPSY Token0 AVAX0.053547821816 95.06194246
0x795f5389431add0155577a95b126073d16eb87a30f1a12616058c987756eeceaTransfer138865952022-04-25 15:51:3371 days 12 hrs ago0x00f9ab4276cdfe78203d901d0b75e3cbfa6ffe56 IN  Opsya: OPSY Token0 AVAX0.052813285866 93.757941441
0xe1c934b5702d4559c867dd37fc440ce422414ef8c7b7ec681110cb57aa91bb74Approve136690202022-04-20 14:05:1276 days 13 hrs ago0xdcba2c0afb5c0e24559f5ee03a459486efb1707e IN  Opsya: OPSY Token0 AVAX0.005338456701114.61326596
0xe6670621d0cd74914629f89a631aa6b1b97fa4c5d4388fb7286775b40fb40bf7Approve136195622022-04-19 10:22:3677 days 17 hrs ago0xbf50ae1acf93dbfab872cc8e0e62ba81942a9c05 IN  Opsya: OPSY Token0 AVAX0.001794027909 38.516636805
0x16dffeda48d69df8c0eeb22f32fda3454e1b7196b9de057aa7013a7670eb33d1Approve135492622022-04-17 18:52:0279 days 9 hrs ago0xcf9ae02ab106cbeb3c998c1216d7205287e5d588 IN  Opsya: OPSY Token0 AVAX0.00369950842379.426090067
0x76e41092fe51e1687de2fd7dcdb121ff5eb03c7876ceff9a4a4dd4b6e3ee5dc4Approve135478652022-04-17 18:05:1279 days 9 hrs ago0xcf9ae02ab106cbeb3c998c1216d7205287e5d588 IN  Opsya: OPSY Token0 AVAX0.00357917005676.842501964
0x249b81b6432cea022b9b5967a5e512ba909b430c0b7e3d2595f51d555a4e2184Approve135231322022-04-17 4:14:1879 days 23 hrs ago0x05c64481c4f3c35701725fd1b7a05648fa9e96ca IN  Opsya: OPSY Token0 AVAX0.001780841055 38.233523455
0x763c630168cbc726ff80dde22759373aa9269d1328c2f1d0b5146f668d16a77eApprove135155682022-04-17 0:00:4680 days 4 hrs ago0x9e12d85bd84c2e09a50a5a8038f5d32d32d04a6c IN  Opsya: OPSY Token0 AVAX0.0011644525
0xa5243234b49fa7ea2b6b2befc6939a42eadb74217b1eabda3ff829ea2616390bApprove134947752022-04-16 12:57:2980 days 15 hrs ago0x8cd8f59131c4f9673e34253b5c34ddf9ab6aa10e IN  Opsya: OPSY Token0 AVAX0.001411449354 52.906865386
0xe331f779cc578a30ff242f17a7f16742089773f26c3c183fca039bb13a5c5a57Approve134947262022-04-16 12:55:5080 days 15 hrs ago0x8cd8f59131c4f9673e34253b5c34ddf9ab6aa10e IN  Opsya: OPSY Token0 AVAX0.002253970867 48.391319234
0x093827823c3e204dc0f5de452ffd32fc21b4b6a7984344581b0818cf22bfb024Approve134904682022-04-16 10:33:0880 days 17 hrs ago0xa612c9fcd511adbc5c1910f8cecaa1594bbe0667 IN  Opsya: OPSY Token0 AVAX0.00132199069128.382298323
0xa622da748db4b491b4530b8f3cd3c29ac418af2756551faa6539f4afed1c7765Approve134422952022-04-15 7:31:3681 days 20 hrs ago0x0556ed3b403031d67e0ecae0dd58742ed363be6d IN  Opsya: OPSY Token0 AVAX0.002561916766 55.002721605
[ Download CSV Export 

OVERVIEW

Opsya is working as an insurance for crypto assets. Giving the possibility for investors to cover/insure wallets, NFT collection, accounts, addresses and trades under conditions.

Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xcf461dea861f8e90f16edce07df4fa25ae48e1c1f5ff4e783b19c5410f44cd6a88819362021-12-29 20:37:47188 days 7 hrs ago Opsya: OPSY Token  Contract Creation0 AVAX
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ReflectionERC20

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 99999 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 14 : ReflectionERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

/**
    @author humanshield85
    rachidboudjelida[at]gmail.com
*/

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "./data/Tax.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/math/SafeMath.sol";
import "./interfaces/IHODLRewardDistributor.sol";
import "./interfaces/IFactory.sol";
import "./interfaces/IRouter.sol";
import "./SwapHandler.sol";

contract ReflectionERC20 is ERC20, Ownable {
    using SafeMath for uint256;

    struct Whitlisted {
        bool maxTx;
        bool tax;
    }

    uint256 constant BASE = 10 ** 18;


    address public wavax;
    address public swapRouter;
    address public wavaxPair;


    address public teamWallet;
    address public charityWallet;
    address public treasuryWallet;

    uint256 public maxTx = 500000 * BASE;

    Tax public buyerTax = Tax(
        1, // TEAM
        1, // HOLDER
        1, // TREASURY
        0 // CHARITY
    );
    Tax public sellerTax = Tax(
        2, // TEAM
        2, // HOLDER
        0, // TREASURY
        1 // CHARITY
    );
    Tax public transferTax = Tax(
        1, // TEAM
        1, // HOLDER 
        1, // TREASURY
        0 // CHARITY
    );

    mapping(address => bool) public isLpPair;

    mapping(address => Whitlisted) public whitlisted;

    IHODLRewardDistributor public hodlRewardDistributor;

    bool public isDistributorSet;

    bool public reflectionEnabled = false;

    SwapHandler public swapHundler;


    uint256 public _teamReserved;
    uint256 public _hodlReserved;
    uint256 public _treasuryReserved;
    uint256 public _charityReserved;

    constructor(
        string memory name_,
        string memory symbol_,
        address wavax_,
        address swapRouter_,
        address payable team_,
        address payable treasury_,
        address payable charity_
    ) ERC20(name_, symbol_) {
        // init wallets addresses
        wavax = wavax_;
        swapRouter = swapRouter_;
        teamWallet = team_;
        charityWallet = treasury_;
        treasuryWallet = charity_;

        // create pair for OPSY/
        wavaxPair = IFactory(
            IRouter(swapRouter_).factory()
        ).createPair(wavax_, address(this));

        isLpPair[wavaxPair] = true;

        swapHundler = new SwapHandler(swapRouter_, wavax_);

        // whiteliste wallets
        whitlisted[team_] = Whitlisted(
            true,
            true
        );

        whitlisted[treasury_] = Whitlisted(
            true,
            true
        );

        whitlisted[charity_] = Whitlisted(
            true,
            true
        );

        whitlisted[address(this)] = Whitlisted(
            true,
            true
        );

        whitlisted[address(swapHundler)] = Whitlisted(
            true,
            true
        );
        // mint supply to wallet
        _mint(treasury_, 100000000 * BASE);
    }

    function initDistributor(
        address distributor_
    ) external onlyOwner {
        hodlRewardDistributor = IHODLRewardDistributor(distributor_);

        require(hodlRewardDistributor.owner() == address(this), "initDistributor: Erc20 not owner");

        hodlRewardDistributor.excludeFromRewards(wavaxPair);
        hodlRewardDistributor.excludeFromRewards(swapRouter);
        hodlRewardDistributor.excludeFromRewards(teamWallet);
        hodlRewardDistributor.excludeFromRewards(treasuryWallet);
        hodlRewardDistributor.excludeFromRewards(charityWallet);
        hodlRewardDistributor.excludeFromRewards(address(this));
        hodlRewardDistributor.excludeFromRewards(address(swapHundler));

        whitlisted[distributor_] = Whitlisted(
            true,
            true
        );

        isDistributorSet = true;
    }

    function transfer(
        address to_,
        uint256 amount_
    ) public virtual override returns (bool) {
        return _customTransfer(_msgSender(), to_, amount_);
    }

    function transferFrom(
        address from_,
        address to_,
        uint256 amount_
    ) public virtual override returns (bool) {
        // check allowance
        require(allowance(from_, _msgSender()) >= amount_, "> allowance");
        bool success = _customTransfer(from_, to_, amount_);
        approve(from_, allowance(from_, _msgSender()).sub(amount_));
        return success;
    }


    /**
        When taxes are generated from swaps 
        we cannot make the swap to avax due to reentrency gard
        on LPpool , so unstead we add it to a reserve , on next transfer
        this function is called and can also be called by any user
        if they are willing to pay gas
    */
    function processReserves() public {
        swapHundler.swapToAvax(
            _teamReserved,
            _hodlReserved,
            _treasuryReserved,
            _charityReserved
        );

        _teamReserved = 0;
        _hodlReserved = 0;
        _treasuryReserved = 0;
        _charityReserved = 0;
    }

    function setTeamWallet(
        address newTeamWallet_
    ) external onlyOwner {
        require(newTeamWallet_ != teamWallet, "ReflectionERC20: same as current wallet");
        require(newTeamWallet_ != address(0), "ReflectionERC20: cannot be address(0)");
        teamWallet = newTeamWallet_;
    }

    function setCharityWallet(
        address newCharityWallet_
    ) external onlyOwner {
        require(newCharityWallet_ != charityWallet, "ReflectionERC20: same as current wallet");
        require(newCharityWallet_ != address(0), "ReflectionERC20: cannot be address(0)");
        charityWallet = newCharityWallet_;
    }

    function setTreasuryWallet(
        address newTreasuryWallet_
    ) external onlyOwner {
        require(
            newTreasuryWallet_ != treasuryWallet,
            "ReflectionERC20: same as current wallet"
        );
        require(
            newTreasuryWallet_ != address(0),
            "ReflectionERC20: cannot be address(0)"
        );
        treasuryWallet = newTreasuryWallet_;
    }

    /**
        Sets the whitlisting of a wallet 
        you can set it's whitlisting from maxTransfer #fromMaxTx
        or from payign tax #fromTax separatly
    */
    function whitelist(
        address wallet_,
        bool fromMaxTx_,
        bool fromTax_
    ) external onlyOwner {
        whitlisted[wallet_] = Whitlisted(
            fromMaxTx_,
            fromTax_
        );
    }

    /**
        this wallet will be excluded from rewards 
        it is had any amount of rewards they will be
        distributed to all share holders
    */
    function excludeFromHodlRewards(
        address wallet_
    ) external onlyOwner {
        if(_teamReserved + _hodlReserved + _charityReserved + _treasuryReserved > 0)
            processReserves();
        hodlRewardDistributor.excludeFromRewards(wallet_);
    }

    /**
        This wallet will be included in rewards
    */
    function includeFromHodlRewards(
        address wallet_
    ) external onlyOwner {
        if(_teamReserved + _hodlReserved + _charityReserved + _treasuryReserved > 0)
            processReserves();
        hodlRewardDistributor.includeInRewards(wallet_);
    }

    function setBuyerTax(
        uint256 team_,
        uint256 holder_,
        uint256 treasury_,
        uint256 charity_
    ) external onlyOwner {
        transferTax = Tax(
            team_, holder_, treasury_, charity_
        );
    }

    function setSellerTax(
        uint256 team_,
        uint256 holder_,
        uint256 treasury_,
        uint256 charity_
    ) external onlyOwner {
        transferTax = Tax(
            team_, holder_, treasury_, charity_
        );
    }

    function setTransferTax(
        uint256 team_,
        uint256 holder_,
        uint256 treasury_,
        uint256 charity_
    ) external onlyOwner {
        transferTax = Tax(
            team_, holder_, treasury_, charity_
        );
    }

    function setReflection(
        bool isEnabled_
    ) external onlyOwner {
        require(isDistributorSet, "Distributor_not_set");
        if(_teamReserved + _hodlReserved + _charityReserved + _treasuryReserved > 0)
            processReserves();
        reflectionEnabled = isEnabled_;
    }

    function setMaxTx(
        uint256 maxTx_
    ) external onlyOwner {
        maxTx = maxTx_;
    }


    function setisPair(
        address pair_,
        bool isPair_
    ) external onlyOwner {
        isLpPair[pair_] = isPair_;
    }
    /**
        prevents accidental renouncement of owner ship 
        can sill renounce if set explicitly to dead address
     */
    function renounceOwnership() public virtual override onlyOwner {}


        /**
        this is the implementation the custom transfer for this token
     */
    function _customTransfer(
        address from_,
         address to_,
          uint256 amount_
    ) internal returns (bool) {
        // if whitlisted or we are internally swapping no tax
        if (whitlisted[from_].tax || whitlisted[to_].tax) {
            _transfer(from_, to_, amount_);
        } else {
            require(whitlisted[from_].maxTx || amount_ <= maxTx, "ReflectionERC20: > maxTX");
            uint256 netTransfer = amount_;


            if (reflectionEnabled) {
                Tax memory currentAppliedTax = isLpPair[from_] ? buyerTax : isLpPair[to_] ? sellerTax : transferTax;
                uint256 prevTotal = _teamReserved + _hodlReserved + _treasuryReserved + _charityReserved;
                _teamReserved += amount_.mul(currentAppliedTax.team).div(100);
                _hodlReserved += amount_.mul(currentAppliedTax.holder).div(100);
                _treasuryReserved += amount_.mul(currentAppliedTax.treasury).div(100);
                _charityReserved += amount_.mul(currentAppliedTax.charity).div(100);
                uint256 totalTax = _teamReserved + _hodlReserved + _treasuryReserved + _charityReserved;
                netTransfer = amount_.sub(totalTax.sub(prevTotal));

                _transfer(from_, address(swapHundler), totalTax.sub(prevTotal));

                // if we have tokens and we are not in in swap => swap and distribute to wallets
                if (totalTax > 0 && from_ != wavaxPair && to_ != wavaxPair)
                    processReserves();                
            }
            // transfer 
            _transfer(from_, to_, netTransfer);
            // this will trigger after transfer and will update shares for from_ and to_ is needed
        }
        return true;
    }

    function _afterTokenTransfer(
        address from_,
        address to_,
        uint256 amount_
    ) internal override {
        if (isDistributorSet) {
            _updateShare(from_);
            _updateShare(to_);
        }
    }

    function _updateShare(
        address wallet
    ) internal {
        if (!hodlRewardDistributor.excludedFromRewards(wallet))
            hodlRewardDistributor.setShare(wallet, balanceOf(wallet));
    }
}

File 2 of 14 : IRouter.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

/**
    @author humanshield85
    rachidboudjelida[at]gmail.com
*/

interface IRouter {
    function factory() external returns (address);
    /**
        for AMMs that cloned uni without changes to functions names
    */
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    /**
        for joe AMM that cloned uni and changed functions names
    */
    function swapExactTokensForAVAXSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

File 3 of 14 : IReflectionERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

/**
    @author humanshield85
    rachidboudjelida[at]gmail.com
*/

import "./IHODLRewardDistributor.sol";

interface IReflectionERC20 {
    function teamWallet () external returns(address);
    function charityWallet() external returns(address);
    function treasuryWallet() external returns(address);
    function hodlRewardDistributor() external returns(IHODLRewardDistributor);
}

File 4 of 14 : IHODLRewardDistributor.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

/**
    @author humanshield85
    rachidboudjelida[at]gmail.com
*/

import '../data/ShareHolder.sol';

interface IHODLRewardDistributor {

    function excludedFromRewards(
        address wallet_
    ) external view returns (bool);

    function pending(
        address sharholderAddress_
    ) external view returns (uint256 pendingAmount);

    function totalPending () external view returns (uint256 );

    function shareHolderInfo (
        address shareHoldr_
    ) external view returns(ShareHolder memory);

    function depositWavaxRewards(
        uint256 amount_
    ) external;

    function setShare(
        address sharholderAddress_,
        uint256 amount_
    ) external;

    function excludeFromRewards (
        address shareHolderToBeExcluded_ 
    ) external;

    function includeInRewards(
        address shareHolderToBeIncluded_
    ) external;

    function claimPending(
        address sharholderAddress_
    ) external;

    function owner() external returns(address);
}

File 5 of 14 : IFactory.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

/**
    @author humanshield85
    rachidboudjelida[at]gmail.com
*/

interface IFactory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

File 6 of 14 : Tax.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

/**
    @author humanshield85
    rachidboudjelida[at]gmail.com
*/

struct Tax {
    uint256 team;
    uint256 holder;
    uint256 treasury;
    uint256 charity;
}

File 7 of 14 : ShareHolder.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

/**
    @author humanshield85
    rachidboudjelida[at]gmail.com
*/

struct ShareHolder {
    uint256 shares;
    uint256 rewardDebt;
    uint256 claimed;
    uint256 pending;
}

File 8 of 14 : SwapHandler.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

/**
    @author humanshield85
    rachidboudjelida[at]gmail.com
*/

import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "./interfaces/IFactory.sol";
import "./interfaces/IRouter.sol";
import "./interfaces/IReflectionERC20.sol";

contract SwapHandler is Ownable {

    address immutable swapRouter;
    address immutable wavax;
    IReflectionERC20 immutable erc20;

    bool private _inSwap = false;

    modifier isInSwap () {
        require(!_inSwap, "SwapHandler: Already in swap");
        _inSwap = true;
        _;
        _inSwap = false;
    }

    constructor (
        address swapRouter_,
        address wavax_
    ) {
        swapRouter = swapRouter_;
        wavax = wavax_;
        erc20 = IReflectionERC20(msg.sender);
    }

    /**
        this will swap the amounts to avax/eth and send them to the respective wallets
     */
    function swapToAvax(
        uint256 teamAmount_,
        uint256 holderAmount_,
        uint256 treasuryAmount_,
        uint256 charityAmount_
    ) isInSwap onlyOwner external {
        if (teamAmount_ > 0)
            _swap(teamAmount_, erc20.teamWallet());

        if (holderAmount_ > 0)
            _swap(holderAmount_, address(erc20.hodlRewardDistributor()));

        if (treasuryAmount_ > 0)
            _swap(treasuryAmount_, erc20.treasuryWallet());

        if (charityAmount_ > 0)
            _swap(charityAmount_, erc20.charityWallet());
    }

    /**
        swap helper function
     */
    function _swap(
        uint amount_,
        address to_
    ) internal {
        IERC20(owner()).approve(swapRouter, amount_);
        // make the swap to wavax
        address[] memory path = new address[](2);
        path[0] = owner();
        path[1] = wavax;

        // Avax AMMs use a modified uniswapv2 where the function is called
        if (block.chainid == 43114) 
            IRouter(swapRouter).swapExactTokensForAVAXSupportingFeeOnTransferTokens(
                amount_,
                0,
                path,
                to_,
                block.timestamp + 10000
            );
        // all other chains use swapExactETH
        else
            IRouter(swapRouter).swapExactTokensForETHSupportingFeeOnTransferTokens(
                amount_,
                0,
                path,
                to_,
                block.timestamp + 10000
            );
        
    }
}

File 9 of 14 : SafeMath.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/math/SafeMath.sol)

pragma solidity ^0.8.0;

// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.

/**
 * @dev Wrappers over Solidity's arithmetic operations.
 *
 * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler
 * now has built in overflow checking.
 */
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) {
        unchecked {
            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) {
        unchecked {
            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) {
        unchecked {
            // 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) {
        unchecked {
            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) {
        unchecked {
            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) {
        return a + b;
    }

    /**
     * @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 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) {
        return a * b;
    }

    /**
     * @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.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        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) {
        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) {
        unchecked {
            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.
     *
     * 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) {
        unchecked {
            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) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

File 10 of 14 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^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 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) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

File 11 of 14 : IERC20Metadata.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;

import "../IERC20.sol";

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

File 12 of 14 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC20/IERC20.sol)

pragma solidity ^0.8.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 13 of 14 : ERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;

import "./IERC20.sol";
import "./extensions/IERC20Metadata.sol";
import "../../utils/Context.sol";

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

File 14 of 14 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)

pragma solidity ^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() {
        _transferOwnership(_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 {
        _transferOwnership(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");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"wavax_","type":"address"},{"internalType":"address","name":"swapRouter_","type":"address"},{"internalType":"address payable","name":"team_","type":"address"},{"internalType":"address payable","name":"treasury_","type":"address"},{"internalType":"address payable","name":"charity_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_charityReserved","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_hodlReserved","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamReserved","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_treasuryReserved","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"buyerTax","outputs":[{"internalType":"uint256","name":"team","type":"uint256"},{"internalType":"uint256","name":"holder","type":"uint256"},{"internalType":"uint256","name":"treasury","type":"uint256"},{"internalType":"uint256","name":"charity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"charityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"address","name":"wallet_","type":"address"}],"name":"excludeFromHodlRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hodlRewardDistributor","outputs":[{"internalType":"contract IHODLRewardDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet_","type":"address"}],"name":"includeFromHodlRewards","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":[{"internalType":"address","name":"distributor_","type":"address"}],"name":"initDistributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isDistributorSet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isLpPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"processReserves","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reflectionEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellerTax","outputs":[{"internalType":"uint256","name":"team","type":"uint256"},{"internalType":"uint256","name":"holder","type":"uint256"},{"internalType":"uint256","name":"treasury","type":"uint256"},{"internalType":"uint256","name":"charity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"team_","type":"uint256"},{"internalType":"uint256","name":"holder_","type":"uint256"},{"internalType":"uint256","name":"treasury_","type":"uint256"},{"internalType":"uint256","name":"charity_","type":"uint256"}],"name":"setBuyerTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newCharityWallet_","type":"address"}],"name":"setCharityWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx_","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isEnabled_","type":"bool"}],"name":"setReflection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"team_","type":"uint256"},{"internalType":"uint256","name":"holder_","type":"uint256"},{"internalType":"uint256","name":"treasury_","type":"uint256"},{"internalType":"uint256","name":"charity_","type":"uint256"}],"name":"setSellerTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTeamWallet_","type":"address"}],"name":"setTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"team_","type":"uint256"},{"internalType":"uint256","name":"holder_","type":"uint256"},{"internalType":"uint256","name":"treasury_","type":"uint256"},{"internalType":"uint256","name":"charity_","type":"uint256"}],"name":"setTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTreasuryWallet_","type":"address"}],"name":"setTreasuryWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair_","type":"address"},{"internalType":"bool","name":"isPair_","type":"bool"}],"name":"setisPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapHundler","outputs":[{"internalType":"contract SwapHandler","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferTax","outputs":[{"internalType":"uint256","name":"team","type":"uint256"},{"internalType":"uint256","name":"holder","type":"uint256"},{"internalType":"uint256","name":"treasury","type":"uint256"},{"internalType":"uint256","name":"charity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wavax","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wavaxPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet_","type":"address"},{"internalType":"bool","name":"fromMaxTx_","type":"bool"},{"internalType":"bool","name":"fromTax_","type":"bool"}],"name":"whitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitlisted","outputs":[{"internalType":"bool","name":"maxTx","type":"bool"},{"internalType":"bool","name":"tax","type":"bool"}],"stateMutability":"view","type":"function"}]

60806040526200001b670de0b6b3a76400006207a120620009a8565b600c5560408051608080820183526001808352602080840182905283850182905260006060948501819052600d839055600e839055600f839055601081905585518085018752600280825281840181905281880183905290860184905260118190556012556013819055601483905585519384018652828452908301829052938201819052910182905260158190556016819055601755601855601b805460ff60a81b19169055348015620000cf57600080fd5b50604051620045b5380380620045b5833981016040819052620000f291620008b9565b8651879087906200010b9060039060208501906200070a565b508051620001219060049060208401906200070a565b5050506200013e620001386200047960201b60201c565b6200047d565b600680546001600160a01b038088166001600160a01b03199283161790925560078054878416908316811790915560098054878516908416179055600a8054868516908416179055600b8054938516939092169290921790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181600087803b158015620001d057600080fd5b505af1158015620001e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020b919062000871565b6040516364e329cb60e11b81526001600160a01b038781166004830152306024830152919091169063c9c6539690604401602060405180830381600087803b1580156200025757600080fd5b505af11580156200026c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000292919062000871565b600880546001600160a01b0319166001600160a01b0392909216918217905560009081526019602052604090819020805460ff191660011790555184908690620002dc9062000799565b6001600160a01b03928316815291166020820152604001604051809103906000f08015801562000310573d6000803e3d6000fd5b50601c80546001600160a01b0319166001600160a01b03928316178155604080518082018252600180825260208083018281528987166000908152601a80845286822095518654935161ffff1994851691151561ff001990811692909217610100911515820217909755875180890189528681528086018781528d8c1685528387528985209151825491519187169015158416179015158902179055875180890189528681528086018781528c8c168552838752898520915182549151918716901515841617901515890217905587518089018952868152808601878152308552838752898520915182549151918716901515841617901515890217905587518089018952868152808601968752985490991682529092529390209351845491519190931692151590941691909117921515029190911790556200046c8262000466670de0b6b3a76400006305f5e100620009a8565b620004cf565b5050505050505062000a49565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166200052a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200053e91906200098d565b90915550506001600160a01b038216600090815260208190526040812080548392906200056d9084906200098d565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3620005c160008383620005ca565b5050565b505050565b601b54600160a01b900460ff1615620005c557620005e883620005ee565b620005c5825b601b5460405163f82f235f60e01b81526001600160a01b0383811660048301529091169063f82f235f9060240160206040518083038186803b1580156200063457600080fd5b505afa15801562000649573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200066f919062000897565b6200070757601b546001600160a01b03166314b6ca9682620006a6816001600160a01b031660009081526020819052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015620006ed57600080fd5b505af115801562000702573d6000803e3d6000fd5b505050505b50565b8280546200071890620009ca565b90600052602060002090601f0160209004810192826200073c576000855562000787565b82601f106200075757805160ff191683800117855562000787565b8280016001018555821562000787579182015b82811115620007875782518255916020019190600101906200076a565b5062000795929150620007a7565b5090565b610cc880620038ed83390190565b5b80821115620007955760008155600101620007a8565b600082601f830112620007cf578081fd5b81516001600160401b0380821115620007ec57620007ec62000a1d565b604051601f8301601f19908116603f0116810190828211818310171562000817576200081762000a1d565b8160405283815260209250868385880101111562000833578485fd5b8491505b8382101562000856578582018301518183018401529082019062000837565b838211156200086757848385830101525b9695505050505050565b60006020828403121562000883578081fd5b8151620008908162000a33565b9392505050565b600060208284031215620008a9578081fd5b8151801515811462000890578182fd5b600080600080600080600060e0888a031215620008d4578283fd5b87516001600160401b0380821115620008eb578485fd5b620008f98b838c01620007be565b985060208a01519150808211156200090f578485fd5b506200091e8a828b01620007be565b9650506040880151620009318162000a33565b6060890151909550620009448162000a33565b6080890151909450620009578162000a33565b60a08901519093506200096a8162000a33565b60c08901519092506200097d8162000a33565b8091505092959891949750929550565b60008219821115620009a357620009a362000a07565b500190565b6000816000190483118215151615620009c557620009c562000a07565b500290565b600181811c90821680620009df57607f821691505b6020821081141562000a0157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146200070757600080fd5b612e948062000a596000396000f3fe608060405234801561001057600080fd5b50600436106103205760003560e01c80638124f7ac116101a7578063c31c9c07116100ee578063e595604e11610097578063f29ba35d11610071578063f29ba35d14610711578063f2fde38b146107b8578063f4e2ae58146107cb57600080fd5b8063e595604e1461076a578063e951ba2e14610773578063ef59c24c1461079357600080fd5b8063db484b5c116100c8578063db484b5c14610711578063dd62ed3e14610724578063e59304bd1461071157600080fd5b8063c31c9c07146106cb578063d07f26e7146106eb578063d171fa6e146106fe57600080fd5b8063a391b8cb11610150578063a8602fea1161012a578063a8602fea14610692578063a9059cbb146106a5578063bc337182146106b857600080fd5b8063a391b8cb14610656578063a457c2d71461066c578063a824d6e71461067f57600080fd5b806395d89b411161018157806395d89b411461060b578063994a19f9146106135780639f0c45d41461063357600080fd5b80638124f7ac146105b757806386c9563b146105cd5780638da5cb5b146105ed57600080fd5b8063395093511161026b5780636bb8da08116102145780637437681e116101ee5780637437681e1461057b5780637b20876914610584578063806021a4146105a457600080fd5b80636bb8da081461053457806370a082311461053d578063715018a61461057357600080fd5b8063599270441161024557806359927044146104e657806361963f0d146105065780636415bac31461050e57600080fd5b8063395093511461047d5780634626402b146104905780634eb8310b146104b057600080fd5b80631d2d7f47116102cd5780632ebe0273116102a75780632ebe02731461041857806330563bd71461045b578063313ce5671461046e57600080fd5b80631d2d7f47146103df57806323b872dd146103f25780632d27580b1461040557600080fd5b8063117be4c2116102fe578063117be4c21461037d5780631525ff7d146103c257806318160ddd146103d757600080fd5b806306fdde0314610325578063095ea7b3146103435780630b93153014610366575b600080fd5b61032d6107d4565b60405161033a9190612c95565b60405180910390f35b610356610351366004612be9565b610866565b604051901515815260200161033a565b61036f601e5481565b60405190815260200161033a565b60065461039d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161033a565b6103d56103d0366004612ac2565b61087c565b005b60025461036f565b6103d56103ed366004612ac2565b610a97565b610356610400366004612b32565b6110ed565b6103d5610413366004612c14565b611192565b610444610426366004612ac2565b601a6020526000908152604090205460ff8082169161010090041682565b60408051921515835290151560208301520161033a565b6103d5610469366004612ac2565b61131c565b6040516012815260200161033a565b61035661048b366004612be9565b611532565b600b5461039d9073ffffffffffffffffffffffffffffffffffffffff1681565b6011546012546013546014546104c69392919084565b60408051948552602085019390935291830152606082015260800161033a565b60095461039d9073ffffffffffffffffffffffffffffffffffffffff1681565b6103d561157b565b601b54610356907501000000000000000000000000000000000000000000900460ff1681565b61036f601f5481565b61036f61054b366004612ac2565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6103d5611634565b61036f600c5481565b600a5461039d9073ffffffffffffffffffffffffffffffffffffffff1681565b6103d56105b2366004612b72565b6116b7565b6015546016546017546018546104c69392919084565b601c5461039d9073ffffffffffffffffffffffffffffffffffffffff1681565b60055473ffffffffffffffffffffffffffffffffffffffff1661039d565b61032d61178e565b601b5461039d9073ffffffffffffffffffffffffffffffffffffffff1681565b610356610641366004612ac2565b60196020526000908152604090205460ff1681565b600d54600e54600f546010546104c69392919084565b61035661067a366004612be9565b61179d565b6103d561068d366004612b9f565b611875565b6103d56106a0366004612ac2565b611996565b6103566106b3366004612be9565b611bac565b6103d56106c6366004612c4c565b611bc0565b60075461039d9073ffffffffffffffffffffffffffffffffffffffff1681565b6103d56106f9366004612ac2565b611c46565b6103d561070c366004612ac2565b611d8a565b6103d561071f366004612c64565b611e9d565b61036f610732366004612afa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b61036f60205481565b60085461039d9073ffffffffffffffffffffffffffffffffffffffff1681565b601b546103569074010000000000000000000000000000000000000000900460ff1681565b6103d56107c6366004612ac2565b611f52565b61036f601d5481565b6060600380546107e390612dab565b80601f016020809104026020016040519081016040528092919081815260200182805461080f90612dab565b801561085c5780601f106108315761010080835404028352916020019161085c565b820191906000526020600020905b81548152906001019060200180831161083f57829003601f168201915b5050505050905090565b6000610873338484612082565b50600192915050565b60055473ffffffffffffffffffffffffffffffffffffffff163314610902576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60095473ffffffffffffffffffffffffffffffffffffffff828116911614156109ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5265666c656374696f6e45524332303a2073616d652061732063757272656e7460448201527f2077616c6c65740000000000000000000000000000000000000000000000000060648201526084016108f9565b73ffffffffffffffffffffffffffffffffffffffff8116610a50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5265666c656374696f6e45524332303a2063616e6e6f7420626520616464726560448201527f737328302900000000000000000000000000000000000000000000000000000060648201526084016108f9565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60055473ffffffffffffffffffffffffffffffffffffffff163314610b18576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f9565b601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117909155604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051309291638da5cb5b9160048083019260209291908290030181600087803b158015610bae57600080fd5b505af1158015610bc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be69190612ade565b73ffffffffffffffffffffffffffffffffffffffff1614610c63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f696e69744469737472696275746f723a204572633230206e6f74206f776e657260448201526064016108f9565b601b546008546040517f111e037600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015291169063111e037690602401600060405180830381600087803b158015610cd257600080fd5b505af1158015610ce6573d6000803e3d6000fd5b5050601b546007546040517f111e037600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063111e03769150602401600060405180830381600087803b158015610d5957600080fd5b505af1158015610d6d573d6000803e3d6000fd5b5050601b546009546040517f111e037600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063111e03769150602401600060405180830381600087803b158015610de057600080fd5b505af1158015610df4573d6000803e3d6000fd5b5050601b54600b546040517f111e037600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063111e03769150602401600060405180830381600087803b158015610e6757600080fd5b505af1158015610e7b573d6000803e3d6000fd5b5050601b54600a546040517f111e037600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063111e03769150602401600060405180830381600087803b158015610eee57600080fd5b505af1158015610f02573d6000803e3d6000fd5b5050601b546040517f111e037600000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116925063111e03769150602401600060405180830381600087803b158015610f7157600080fd5b505af1158015610f85573d6000803e3d6000fd5b5050601b54601c546040517f111e037600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529116925063111e03769150602401600060405180830381600087803b158015610ff857600080fd5b505af115801561100c573d6000803e3d6000fd5b50506040805180820182526001808252602080830191825273ffffffffffffffffffffffffffffffffffffffff9096166000908152601a909652919094209351845491511515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff911515919091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090921691909117179092555050601b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b6000816110fa8533610732565b1015611162576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f3e20616c6c6f77616e636500000000000000000000000000000000000000000060448201526064016108f9565b600061116f858585612235565b905061118985610351856111838333610732565b906125ea565b50949350505050565b60055473ffffffffffffffffffffffffffffffffffffffff163314611213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f9565b601b5474010000000000000000000000000000000000000000900460ff16611297576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4469737472696275746f725f6e6f745f7365740000000000000000000000000060448201526064016108f9565b6000601f54602054601e54601d546112af9190612d06565b6112b99190612d06565b6112c39190612d06565b11156112d1576112d161157b565b601b80549115157501000000000000000000000000000000000000000000027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff909216919091179055565b60055473ffffffffffffffffffffffffffffffffffffffff16331461139d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f9565b600a5473ffffffffffffffffffffffffffffffffffffffff82811691161415611448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5265666c656374696f6e45524332303a2073616d652061732063757272656e7460448201527f2077616c6c65740000000000000000000000000000000000000000000000000060648201526084016108f9565b73ffffffffffffffffffffffffffffffffffffffff81166114eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5265666c656374696f6e45524332303a2063616e6e6f7420626520616464726560448201527f737328302900000000000000000000000000000000000000000000000000000060648201526084016108f9565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091610873918590611576908690612d06565b612082565b601c54601d54601e54601f546020546040517f89d95ad1000000000000000000000000000000000000000000000000000000008152600481019490945260248401929092526044830152606482015273ffffffffffffffffffffffffffffffffffffffff909116906389d95ad190608401600060405180830381600087803b15801561160657600080fd5b505af115801561161a573d6000803e3d6000fd5b50506000601d819055601e819055601f8190556020555050565b60055473ffffffffffffffffffffffffffffffffffffffff1633146116b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f9565b565b60055473ffffffffffffffffffffffffffffffffffffffff163314611738576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f9565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260196020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6060600480546107e390612dab565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091528120548281101561185e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016108f9565b61186b3385858403612082565b5060019392505050565b60055473ffffffffffffffffffffffffffffffffffffffff1633146118f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f9565b6040805180820182529215158352901515602080840191825273ffffffffffffffffffffffffffffffffffffffff949094166000908152601a90945292209051815492517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009093169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff161761010092151592909202919091179055565b60055473ffffffffffffffffffffffffffffffffffffffff163314611a17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f9565b600b5473ffffffffffffffffffffffffffffffffffffffff82811691161415611ac2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5265666c656374696f6e45524332303a2073616d652061732063757272656e7460448201527f2077616c6c65740000000000000000000000000000000000000000000000000060648201526084016108f9565b73ffffffffffffffffffffffffffffffffffffffff8116611b65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f5265666c656374696f6e45524332303a2063616e6e6f7420626520616464726560448201527f737328302900000000000000000000000000000000000000000000000000000060648201526084016108f9565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000611bb9338484612235565b9392505050565b60055473ffffffffffffffffffffffffffffffffffffffff163314611c41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f9565b600c55565b60055473ffffffffffffffffffffffffffffffffffffffff163314611cc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f9565b6000601f54602054601e54601d54611cdf9190612d06565b611ce99190612d06565b611cf39190612d06565b1115611d0157611d0161157b565b601b546040517f111e037600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301529091169063111e0376906024015b600060405180830381600087803b158015611d6f57600080fd5b505af1158015611d83573d6000803e3d6000fd5b5050505050565b60055473ffffffffffffffffffffffffffffffffffffffff163314611e0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f9565b6000601f54602054601e54601d54611e239190612d06565b611e2d9190612d06565b611e379190612d06565b1115611e4557611e4561157b565b601b546040517fb609995e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301529091169063b609995e90602401611d55565b60055473ffffffffffffffffffffffffffffffffffffffff163314611f1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f9565b6040805160808101825285815260208101859052908101839052606001819052601593909355601691909155601755601855565b60055473ffffffffffffffffffffffffffffffffffffffff163314611fd3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108f9565b73ffffffffffffffffffffffffffffffffffffffff8116612076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016108f9565b61207f816125f6565b50565b73ffffffffffffffffffffffffffffffffffffffff8316612124576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016108f9565b73ffffffffffffffffffffffffffffffffffffffff82166121c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016108f9565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152601a6020526040812054610100900460ff1680612298575073ffffffffffffffffffffffffffffffffffffffff83166000908152601a6020526040902054610100900460ff165b156122ad576122a884848461266d565b61186b565b73ffffffffffffffffffffffffffffffffffffffff84166000908152601a602052604090205460ff16806122e35750600c548211155b612349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f5265666c656374696f6e45524332303a203e206d61785458000000000000000060448201526064016108f9565b601b5482907501000000000000000000000000000000000000000000900460ff16156125d45773ffffffffffffffffffffffffffffffffffffffff851660009081526019602052604081205460ff166123d75773ffffffffffffffffffffffffffffffffffffffff851660009081526019602052604090205460ff166123d05760156123da565b60116123da565b600d5b60405180608001604052908160008201548152602001600182015481526020016002820154815260200160038201548152505090506000602054601f54601e54601d546124279190612d06565b6124319190612d06565b61243b9190612d06565b905061245f606461245984600001518861292c90919063ffffffff16565b90612938565b601d60008282546124709190612d06565b9091555050602082015161248c9060649061245990889061292c565b601e600082825461249d9190612d06565b909155505060408201516124b99060649061245990889061292c565b601f60008282546124ca9190612d06565b909155505060608201516124e69060649061245990889061292c565b602060008282546124f79190612d06565b925050819055506000602054601f54601e54601d546125169190612d06565b6125209190612d06565b61252a9190612d06565b905061254061253982846125ea565b87906125ea565b601c5490945061257190899073ffffffffffffffffffffffffffffffffffffffff1661256c84866125ea565b61266d565b60008111801561259c575060085473ffffffffffffffffffffffffffffffffffffffff898116911614155b80156125c3575060085473ffffffffffffffffffffffffffffffffffffffff888116911614155b156125d0576125d061157b565b5050505b6125df85858361266d565b505060019392505050565b6000611bb98284612d94565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8316612710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016108f9565b73ffffffffffffffffffffffffffffffffffffffff82166127b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016108f9565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015612869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016108f9565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152602081905260408082208585039055918516815290812080548492906128ad908490612d06565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161291391815260200190565b60405180910390a3612926848484612949565b50505050565b6000611bb98284612d57565b6000611bb98284612d1e565b505050565b601b5474010000000000000000000000000000000000000000900460ff1615612944576129758361297a565b612944825b601b546040517ff82f235f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301529091169063f82f235f9060240160206040518083038186803b1580156129e557600080fd5b505afa1580156129f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a1d9190612c30565b61207f57601b5473ffffffffffffffffffffffffffffffffffffffff166314b6ca9682612a6c8173ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401611d55565b600060208284031215612ad3578081fd5b8135611bb981612e2e565b600060208284031215612aef578081fd5b8151611bb981612e2e565b60008060408385031215612b0c578081fd5b8235612b1781612e2e565b91506020830135612b2781612e2e565b809150509250929050565b600080600060608486031215612b46578081fd5b8335612b5181612e2e565b92506020840135612b6181612e2e565b929592945050506040919091013590565b60008060408385031215612b84578182fd5b8235612b8f81612e2e565b91506020830135612b2781612e50565b600080600060608486031215612bb3578283fd5b8335612bbe81612e2e565b92506020840135612bce81612e50565b91506040840135612bde81612e50565b809150509250925092565b60008060408385031215612bfb578182fd5b8235612c0681612e2e565b946020939093013593505050565b600060208284031215612c25578081fd5b8135611bb981612e50565b600060208284031215612c41578081fd5b8151611bb981612e50565b600060208284031215612c5d578081fd5b5035919050565b60008060008060808587031215612c79578081fd5b5050823594602084013594506040840135936060013592509050565b6000602080835283518082850152825b81811015612cc157858101830151858201604001528201612ca5565b81811115612cd25783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60008219821115612d1957612d19612dff565b500190565b600082612d52577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d8f57612d8f612dff565b500290565b600082821015612da657612da6612dff565b500390565b600181811c90821680612dbf57607f821691505b60208210811415612df9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461207f57600080fd5b801515811461207f57600080fdfea2646970667358221220619fb51f00553ddad36fbf63b3528f5fbf4de2be69dd4af80acf74fdfc4a219b64736f6c6343000804003360e06040526000805460ff60a01b1916905534801561001d57600080fd5b50604051610cc8380380610cc883398101604081905261003c916100d6565b6100453361006a565b6001600160601b0319606092831b811660805290821b1660a05233901b60c052610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d157600080fd5b919050565b600080604083850312156100e8578182fd5b6100f1836100ba565b91506100ff602084016100ba565b90509250929050565b60805160601c60a05160601c60c05160601c610b65610163600039600081816102c801528181610377015281816103e9015261045b015260006108280152600081816106ea015281816108dc01526109800152610b656000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063715018a61461005157806389d95ad11461005b5780638da5cb5b1461006e578063f2fde38b1461009a575b600080fd5b6100596100ad565b005b610059610069366004610a15565b61013f565b6000546040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100596100a83660046109b6565b6104ef565b60005473ffffffffffffffffffffffffffffffffffffffff163314610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b61013d600061061f565b565b60005474010000000000000000000000000000000000000000900460ff16156101c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5377617048616e646c65723a20416c726561647920696e207377617000000000604482015260640161012a565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905561020a3390565b73ffffffffffffffffffffffffffffffffffffffff1661023f60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146102bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161012a565b831561036b5761036b847f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663599270446040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561032e57600080fd5b505af1158015610342573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036691906109d9565b610694565b82156103dd576103dd837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663994a19f96040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561032e57600080fd5b811561044f5761044f827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634626402b6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561032e57600080fd5b80156104c1576104c1817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637b2087696040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561032e57600080fd5b5050600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690555050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161012a565b73ffffffffffffffffffffffffffffffffffffffff8116610613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161012a565b61061c8161061f565b50565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005473ffffffffffffffffffffffffffffffffffffffff166040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201859052919091169063095ea7b390604401602060405180830381600087803b15801561073f57600080fd5b505af1158015610753573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077791906109f5565b5060408051600280825260608201835260009260208301908036833750506000549192505073ffffffffffffffffffffffffffffffffffffffff16816000815181106107ec577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610881577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250504661a86a14156109695773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663762b1562846000848661091242612710610ad0565b6040518663ffffffff1660e01b8152600401610932959493929190610a46565b600060405180830381600087803b15801561094c57600080fd5b505af1158015610960573d6000803e3d6000fd5b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663791ac947846000848661091242612710610ad0565b6000602082840312156109c7578081fd5b81356109d281610b0d565b9392505050565b6000602082840312156109ea578081fd5b81516109d281610b0d565b600060208284031215610a06578081fd5b815180151581146109d2578182fd5b60008060008060808587031215610a2a578283fd5b5050823594602084013594506040840135936060013592509050565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015610aa257845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101610a70565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b60008219821115610b08577f4e487b710000000000000000000000000000000000000000000000000000000081526011600452602481fd5b500190565b73ffffffffffffffffffffffffffffffffffffffff8116811461061c57600080fdfea264697066735822122092247ed186f52fc8672515bb8183d8c87aad0557ff86ee698cf5255ef3acb27c64736f6c6343000804003300000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4000000000000000000000000a0bc90c020df37029f6a5535f6d571a5736e3e690000000000000000000000002f84618d2b64a27a392b1c2542d258c78fb38b9d000000000000000000000000db97812cb0aa5e5c15dbd39a7026b139d29a7155000000000000000000000000000000000000000000000000000000000000000a4f50535920546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044f50535900000000000000000000000000000000000000000000000000000000

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

00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4000000000000000000000000a0bc90c020df37029f6a5535f6d571a5736e3e690000000000000000000000002f84618d2b64a27a392b1c2542d258c78fb38b9d000000000000000000000000db97812cb0aa5e5c15dbd39a7026b139d29a7155000000000000000000000000000000000000000000000000000000000000000a4f50535920546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044f50535900000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): OPSY Token
Arg [1] : symbol_ (string): OPSY
Arg [2] : wavax_ (address): 0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7
Arg [3] : swapRouter_ (address): 0x60ae616a2155ee3d9a68541ba4544862310933d4
Arg [4] : team_ (address): 0xa0bc90c020df37029f6a5535f6d571a5736e3e69
Arg [5] : treasury_ (address): 0x2f84618d2b64a27a392b1c2542d258c78fb38b9d
Arg [6] : charity_ (address): 0xdb97812cb0aa5e5c15dbd39a7026b139d29a7155

-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [2] : 000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7
Arg [3] : 00000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4
Arg [4] : 000000000000000000000000a0bc90c020df37029f6a5535f6d571a5736e3e69
Arg [5] : 0000000000000000000000002f84618d2b64a27a392b1c2542d258c78fb38b9d
Arg [6] : 000000000000000000000000db97812cb0aa5e5c15dbd39a7026b139d29a7155
Arg [7] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [8] : 4f50535920546f6b656e00000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [10] : 4f50535900000000000000000000000000000000000000000000000000000000


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.