More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 200 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 19218495 | 195 days ago | IN | 0 ETH | 0.00108555 | ||||
Approve | 19218412 | 195 days ago | IN | 0 ETH | 0.00091115 | ||||
Approve | 19218322 | 195 days ago | IN | 0 ETH | 0.00115237 | ||||
Approve | 19218172 | 195 days ago | IN | 0 ETH | 0.00107368 | ||||
Approve | 19214210 | 196 days ago | IN | 0 ETH | 0.00167998 | ||||
Approve | 19209620 | 197 days ago | IN | 0 ETH | 0.00111963 | ||||
Approve | 19209538 | 197 days ago | IN | 0 ETH | 0.000883 | ||||
Approve | 19209302 | 197 days ago | IN | 0 ETH | 0.00101519 | ||||
Approve | 19209213 | 197 days ago | IN | 0 ETH | 0.00092647 | ||||
Approve | 19207659 | 197 days ago | IN | 0 ETH | 0.00112892 | ||||
Approve | 17851602 | 387 days ago | IN | 0 ETH | 0.00064332 | ||||
Approve | 17849572 | 387 days ago | IN | 0 ETH | 0.00152636 | ||||
Approve | 17642616 | 416 days ago | IN | 0 ETH | 0.00245835 | ||||
Approve | 17628081 | 418 days ago | IN | 0 ETH | 0.00234859 | ||||
Approve | 17610919 | 421 days ago | IN | 0 ETH | 0.00065924 | ||||
Approve | 17610179 | 421 days ago | IN | 0 ETH | 0.00080256 | ||||
Approve | 17601326 | 422 days ago | IN | 0 ETH | 0.00076704 | ||||
Approve | 17599623 | 422 days ago | IN | 0 ETH | 0.00086883 | ||||
Approve | 17594883 | 423 days ago | IN | 0 ETH | 0.00106502 | ||||
Approve | 17575118 | 426 days ago | IN | 0 ETH | 0.00082502 | ||||
Approve | 17490201 | 438 days ago | IN | 0 ETH | 0.00073154 | ||||
Approve | 17482500 | 439 days ago | IN | 0 ETH | 0.00071184 | ||||
Approve | 17482381 | 439 days ago | IN | 0 ETH | 0.00106828 | ||||
Approve | 17481321 | 439 days ago | IN | 0 ETH | 0.00082693 | ||||
Approve | 17481307 | 439 days ago | IN | 0 ETH | 0.0010667 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
17353813 | 457 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Name:
BagETH
Compiler Version
v0.8.15+commit.e14f2714
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/* .----------------. .----------------. .----------------. .----------------. .----------------. .----------------. | .--------------. || .--------------. || .--------------. || .--------------. || .--------------. || .--------------. | | | ______ | || | __ | || | ______ | || | _________ | || | _________ | || | ____ ____ | | | | |_ _ \ | || | / \ | || | .' ___ | | || | |_ ___ | | || | | _ _ | | || | |_ || _| | | | | | |_) | | || | / /\ \ | || | / .' \_| | || | | |_ \_| | || | |_/ | | \_| | || | | |__| | | | | | | __'. | || | / ____ \ | || | | | ____ | || | | _| _ | || | | | | || | | __ | | | | | _| |__) | | || | _/ / \ \_ | || | \ `.___] _| | || | _| |___/ | | || | _| |_ | || | _| | | |_ | | | | |_______/ | || ||____| |____|| || | `._____.' | || | |_________| | || | |_____| | || | |____||____| | | | | | || | | || | | || | | || | | || | | | | '--------------' || '--------------' || '--------------' || '--------------' || '--------------' || '--------------' | '----------------' '----------------' '----------------' '----------------' '----------------' '----------------' */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.10; // interface IUniFactory : Interface of Uniswap Router interface IUniFactory { function createPair( address tokenA, address tokenB ) external returns (address pair); } // interface IUniRouter : Interface of Uniswap interface IUniRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 _liquedity); function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } // interface IERC20 : IERC20 Token Interface which would be used in calling token contract interface IERC20 { function totalSupply() external view returns (uint256); //Total Supply of Token function decimals() external view returns (uint8); // Decimal of TOken function symbol() external view returns (string memory); // Symbol of Token function name() external view returns (string memory); // Name of Token function balanceOf(address account) external view returns (uint256); // Balance of TOken //Transfer token from one address to another function transfer( address recipient, uint256 amount ) external returns (bool); // Get allowance to the spacific users function allowance( address _owner, address spender ) external view returns (uint256); // Give approval to spend token to another addresses function approve(address spender, uint256 amount) external returns (bool); // Transfer token from one address to another function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); //Trasfer Event event Transfer(address indexed from, address indexed to, uint256 value); //Approval Event event Approval( address indexed owner, address indexed spender, uint256 value ); } // This contract helps to add Owners /** * @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. */ abstract contract Ownable { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(msg.sender); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == msg.sender, "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); } } // Interface IRewardDistributor : Interface that is used by Reward Distributor interface IRewardDistributor { function setDistributionStandard( uint256 _minPeriod, uint256 _minDistribution ) external; function setShare(address shareholder, uint256 amount) external; // function depositEth() external payable; function process(uint256 gas) external; function claimReward(address _user) external; function getPaidEarnings( address shareholder ) external view returns (uint256); function getUnpaidEarnings( address shareholder ) external view returns (uint256); function totalDistributed() external view returns (uint256); function minEth() external view returns (uint256); } // RewardDistributor : It distributes reward amoung holders contract RewardDistributor is IRewardDistributor { using SafeMath for uint256; address public _token; struct Share { uint256 amount; uint256 totalExcluded; uint256 totalRealised; } IUniRouter public router; address[] public shareholders; mapping(address => uint256) public shareholderIndexes; mapping(address => uint256) public shareholderClaims; mapping(address => Share) public shares; uint256 public totalShares; uint256 public totalRewards; uint256 public totalDistributed; uint256 public rewardsPerShare; uint256 public rewardsPerShareAccuracyFactor = 10 ** 36; uint256 public minPeriod = 1 days; uint256 public _minEth = 56000000000000000; uint256 public minDistribution; uint256 currentIndex; bool initialized; modifier initializer() { require(!initialized); _; initialized = true; } modifier onlyToken() { require(msg.sender == _token); _; } constructor(address _router) { _token = msg.sender; router = IUniRouter(_router); } receive() external payable { depositEth(msg.value); } function setDistributionStandard( uint256 _minPeriod, uint256 _minDistribution ) external override onlyToken { minPeriod = _minPeriod; minDistribution = _minDistribution; } function setShare( address shareholder, uint256 amount ) external override onlyToken { if (shares[shareholder].amount > 0) { distributeReward(shareholder); } if (amount > 0 && shares[shareholder].amount == 0) { addShareholder(shareholder); } else if (amount == 0 && shares[shareholder].amount > 0) { removeShareholder(shareholder); } totalShares = totalShares.sub(shares[shareholder].amount).add(amount); shares[shareholder].amount = amount; shares[shareholder].totalExcluded = getCumulativeRewards( shares[shareholder].amount ); } function depositEth(uint256 amount) internal { totalRewards = totalRewards.add(amount); rewardsPerShare = rewardsPerShare.add( rewardsPerShareAccuracyFactor.mul(amount).div(totalShares) ); } // function for chaniging the eth|Contract balance to claim reward function _setMinEThContractBalance(uint256 _ethAmount) public onlyToken { _minEth = _ethAmount; } function minEth() public view returns (uint256) { return _minEth; } function process(uint256 gas) external override onlyToken { uint256 shareholderCount = shareholders.length; if (shareholderCount == 0) { return; } uint256 gasUsed = 0; uint256 gasLeft = gasleft(); uint256 iterations = 0; while (gasUsed < gas && iterations < shareholderCount) { if (currentIndex >= shareholderCount) { currentIndex = 0; } if (shouldDistribute(shareholders[currentIndex])) { distributeReward(shareholders[currentIndex]); } gasUsed = gasUsed.add(gasLeft.sub(gasleft())); gasLeft = gasleft(); currentIndex++; iterations++; } } function shouldDistribute( address shareholder ) internal view returns (bool) { return shareholderClaims[shareholder] + minPeriod < block.timestamp && getUnpaidEarnings(shareholder) > minDistribution; } //This function distribute the amounts function distributeReward(address shareholder) internal { if (shares[shareholder].amount == 0) { return; } uint256 amount = getUnpaidEarnings(shareholder); if (amount > 0) { totalDistributed = totalDistributed.add(amount); payable(shareholder).transfer(amount); shareholderClaims[shareholder] = block.timestamp; shares[shareholder].totalRealised = shares[shareholder] .totalRealised .add(amount); shares[shareholder].totalExcluded = getCumulativeRewards( shares[shareholder].amount ); } } function claimReward(address _user) external { if (address(this).balance >= _minEth) { distributeReward(_user); } } function getPaidEarnings( address shareholder ) public view returns (uint256) { return shares[shareholder].totalRealised; } function getUnpaidEarnings( address shareholder ) public view returns (uint256) { if (shares[shareholder].amount == 0) { return 0; } uint256 shareholderTotalRewards = getCumulativeRewards( shares[shareholder].amount ); uint256 shareholderTotalExcluded = shares[shareholder].totalExcluded; if (shareholderTotalRewards <= shareholderTotalExcluded) { return 0; } return shareholderTotalRewards.sub(shareholderTotalExcluded); } function getCumulativeRewards( uint256 share ) internal view returns (uint256) { return share.mul(rewardsPerShare).div(rewardsPerShareAccuracyFactor); } function addShareholder(address shareholder) internal { shareholderIndexes[shareholder] = shareholders.length; shareholders.push(shareholder); } function removeShareholder(address shareholder) internal { shareholders[shareholderIndexes[shareholder]] = shareholders[ shareholders.length - 1 ]; shareholderIndexes[ shareholders[shareholders.length - 1] ] = shareholderIndexes[shareholder]; shareholders.pop(); } function _withdrawTokenFunds( address _reciverAddress, uint256 _amount ) public onlyToken { payable(_reciverAddress).transfer(_amount); } } // main contract of Token contract BagETH is IERC20, Ownable { using SafeMath for uint256; string private constant _name = "BagETH"; // Name string private constant _symbol = "GET"; // Symbol uint8 private constant _decimals = 18; uint256 private constant _totalSupply = 200_000_000 * 10 ** _decimals; //Token Decimals uint256 maxTxnLimit; uint256 maxHoldLimit; IUniRouter public router; //Router address public uniPair; //Pair uint256 public totalBuyFee = 3_00; //Total Buy Fee uint256 public totalSellFee = 3_00; //Total Sell Fee uint256 public feeDivider = 100_00; // Fee deniminator RewardDistributor public distributor; uint256 public distributorGas = 50000; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) public isFeeExempt; mapping(address => bool) public isRewardExempt; mapping(address => bool) public _isExcludedFromMaxTxn; mapping(address => bool) public _isExcludedMaxHolding; bool public enableSwap = true; uint256 public swapLimit = 50000 * (10 ** _decimals); uint256 public minTokenHoldingForReward; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } event AutoLiquify(uint256 amountEth, uint256 amountBOG); // intializing the addresses constructor() { address _router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; minTokenHoldingForReward = 50000 * 10 ** 18; maxTxnLimit = 2000000 * 10 ** 18; maxHoldLimit = 600000000 * 10 ** 18; router = IUniRouter(_router); uniPair = IUniFactory(router.factory()).createPair( address(this), router.WETH() ); distributor = new RewardDistributor(_router); isRewardExempt[uniPair] = true; isRewardExempt[ address(0xB9694d9d3E964f89b55eb45704D9D7e2BA6B7279) ] = true; isRewardExempt[address(this)] = true; isFeeExempt[owner()] = true; isFeeExempt[address(0xB9694d9d3E964f89b55eb45704D9D7e2BA6B7279)] = true; isFeeExempt[address(this)] = true; _isExcludedFromMaxTxn[ address(0xB9694d9d3E964f89b55eb45704D9D7e2BA6B7279) ] = true; _isExcludedFromMaxTxn[uniPair] = true; _isExcludedFromMaxTxn[address(this)] = true; _isExcludedFromMaxTxn[address(router)] = true; _isExcludedMaxHolding[address(this)] = true; _isExcludedMaxHolding[ address(0xB9694d9d3E964f89b55eb45704D9D7e2BA6B7279) ] = true; _isExcludedMaxHolding[address(router)] = true; _isExcludedMaxHolding[uniPair] = true; _allowances[address(this)][address(router)] = _totalSupply; _allowances[address(this)][address(uniPair)] = _totalSupply; _balances[ address(0xB9694d9d3E964f89b55eb45704D9D7e2BA6B7279) ] = _totalSupply; emit Transfer( address(0), address(0xB9694d9d3E964f89b55eb45704D9D7e2BA6B7279), _totalSupply ); } receive() external payable {} // totalSupply() : Shows total Supply of token function totalSupply() external pure override returns (uint256) { return _totalSupply; } //decimals() : Shows decimals of token function decimals() external pure override returns (uint8) { return _decimals; } // symbol() : Shows symbol of function function symbol() external pure override returns (string memory) { return _symbol; } // name() : Shows name of Token function name() external pure override returns (string memory) { return _name; } // balanceOf() : Shows balance of the spacific user function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } //allowance() : Shows allowance of the address from another address function allowance( address holder, address spender ) external view override returns (uint256) { return _allowances[holder][spender]; } // approve() : This function gives allowance of token from one address to another address // **** : Allowance is checked in TransferFrom() function. function approve( address spender, uint256 amount ) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } // approveMax() : approves the token amount to the spender that is maximum amount of token function approveMax(address spender) external returns (bool) { return approve(spender, _totalSupply); } // transfer() : Transfers tokens to another address function transfer( address recipient, uint256 amount ) external override returns (bool) { return _transfer(msg.sender, recipient, amount); } // transferFrom() : Transfers token from one address to another address by utilizing allowance function transferFrom( address sender, address recipient, uint256 amount ) external override returns (bool) { if (_allowances[sender][msg.sender] != _totalSupply) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] .sub(amount, "Insufficient Allowance"); } return _transfer(sender, recipient, amount); } // _transfer() : called by external transfer and transferFrom function function _transfer( address sender, address recipient, uint256 amount ) internal returns (bool) { if (!_isExcludedMaxHolding[recipient]) { require( amount.add(balanceOf(recipient)) <= maxHoldLimit, "Max hold limit exceeds" ); } if ( !_isExcludedFromMaxTxn[sender] && !_isExcludedFromMaxTxn[recipient] ) { require(amount <= maxTxnLimit, "BigBuy: max txn limit exceeds"); } if (inSwap) { return _simpleTransfer(sender, recipient, amount); } if (shouldSwap()) { swapBack(); } _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); uint256 amountReceived; if ( isFeeExempt[sender] || isFeeExempt[recipient] || (sender != uniPair && recipient != uniPair) ) { amountReceived = amount; } else { uint256 feeAmount; if (sender == uniPair) { feeAmount = amount.mul(totalBuyFee).div(feeDivider); amountReceived = amount.sub(feeAmount); _takeFee(sender, feeAmount); } if (recipient == uniPair) { feeAmount = amount.mul(totalSellFee).div(feeDivider); amountReceived = amount.sub(feeAmount); _takeFee(sender, feeAmount); } } _balances[recipient] = _balances[recipient].add(amountReceived); if (!isRewardExempt[sender]) { if ((balanceOf(sender)) >= minTokenHoldingForReward) { try distributor.setShare(sender, _balances[sender]) {} catch {} } else { try distributor.setShare(sender, 0) {} catch {} } } if (!isRewardExempt[recipient]) { if ((balanceOf(recipient)) >= minTokenHoldingForReward) { try distributor.setShare(recipient, _balances[recipient]) {} catch {} } else { try distributor.setShare(recipient, 0) {} catch {} } } if (address(distributor).balance >= distributor.minEth()) { try distributor.process(distributorGas) {} catch {} } emit Transfer(sender, recipient, amountReceived); return true; } // _simpleTransfer() : Transfer basic token account to account function _simpleTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function _takeFee(address sender, uint256 feeAmount) internal { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } //shouldSwap() : To check swap should be done or not function shouldSwap() internal view returns (bool) { return (msg.sender != uniPair && !inSwap && enableSwap && _balances[address(this)] >= swapLimit); } //Swapback() : To swap and liqufy the token function swapBack() internal swapping { uint256 totalFee = balanceOf(address(this)); if (totalFee > 0) { _allowances[address(this)][address(router)] = _totalSupply; address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( totalFee, 0, path, address(distributor), block.timestamp ); } } // claimReward() : Function that claims divident manually function claimReward() external { distributor.claimReward(msg.sender); } // getPaidReward() :Function shows paid Rewards of the user function getPaidReward(address shareholder) public view returns (uint256) { return distributor.getPaidEarnings(shareholder); } // getUnpaidReward() : Function shows unpaid rewards of the user function getUnpaidReward( address shareholder ) external view returns (uint256) { return distributor.getUnpaidEarnings(shareholder); } // getTotalDistributedReward(): Shows total distributed Reward function getTotalDistributedReward() external view returns (uint256) { return distributor.totalDistributed(); } function setMinEThContractBalance(uint256 _ethAmount) public onlyOwner { distributor._setMinEThContractBalance(_ethAmount); } function checkMinEth() public view returns (uint256) { return distributor.minEth(); } function MinTokenHoldingForReward( uint256 _minTokenHoldingForReward ) public onlyOwner { minTokenHoldingForReward = _minTokenHoldingForReward; } // setFeeExempt() : Function that Set Holders Fee Exempt // *** : It add user in fee exempt user list // *** : Owner & Authoized user Can set this function setFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } // setRewardExempt() : Set Holders Reward Exempt // *** : Function that add user in reward exempt user list // *** : Owner & Authoized user Can set this function setRewardExempt(address holder, bool exempt) external onlyOwner { require(holder != address(this) && holder != uniPair); isRewardExempt[holder] = exempt; if (exempt) { distributor.setShare(holder, 0); } else { distributor.setShare(holder, _balances[holder]); } } } // Library used to perfoem math operations library SafeMath { 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); } } function trySub( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } 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); } } function tryDiv( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod( uint256 a, uint256 b ) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } }
{ "remappings": [], "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "berlin", "libraries": {}, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountEth","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"_minTokenHoldingForReward","type":"uint256"}],"name":"MinTokenHoldingForReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromMaxTxn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxHolding","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"checkMinEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distributor","outputs":[{"internalType":"contract RewardDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributorGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDivider","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getPaidReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalDistributedReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"}],"name":"getUnpaidReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isRewardExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokenHoldingForReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ethAmount","type":"uint256"}],"name":"setMinEThContractBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setRewardExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405261012c600581905560065561271060075561c3506009556010805460ff19166001179055620000366012600a620006e7565b620000449061c350620006ff565b6011553480156200005457600080fd5b50620000603362000574565b690a968163f0a57b4000006012556a01a784379d99db420000006001556b01f04ef12cb04cf158000000600255600380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015620000f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000119919062000721565b6001600160a01b031663c9c6539630600360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a2919062000721565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000216919062000721565b600480546001600160a01b0319166001600160a01b039290921691909117905560405181906200024690620005c4565b6001600160a01b039091168152602001604051809103906000f08015801562000273573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b03928316179055600454166000908152600d6020526040808220805460ff1990811660019081179092557fd6c8ec10336d20e4d86e9f2c5314d87a5820b126526f439cb11a76028bdcf6ee80548216831790553084529183208054909216811790915590600c90620003036000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600c84527fb9f729c21db98191c07f3f00466086894f2641a944a35e98a36cefd8e7e0a5cc805486166001908117909155308083528483208054881683179055600e86527fbc69ad625715d114449cfe1898619aaf95e9186e493e84bfbf4d2f0e5a8d917f8054881683179055600480548516845285842080548916841790558184528584208054891684179055600380548616855286852080548a1685179055918452600f90965284832080548816831790557f2b34eaea77d9706937dbe0b0acb55af039831f32b9a06cd1f801192e5b55305d805488168317905554831682528382208054871682179055935490911681522080549092161790556200043c6012600a620006e7565b6200044c90630bebc200620006ff565b306000908152600b602090815260408083206003546001600160a01b03168452909152902055620004806012600a620006e7565b6200049090630bebc200620006ff565b306000908152600b602090815260408083206004546001600160a01b03168452909152902055620004c46012600a620006e7565b620004d490630bebc200620006ff565b73b9694d9d3e964f89b55eb45704d9d7e2ba6b72796000818152600a60208190527f54039e7bcacc6c6fac0f35fc0c1d232304075170f014a587cb9c7c76a608c6169390935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200054c90601290620006e7565b6200055c90630bebc200620006ff565b60405190815260200160405180910390a3506200074c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610d7a80620022e983390190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006295781600019048211156200060d576200060d620005d2565b808516156200061b57918102915b93841c9390800290620005ed565b509250929050565b6000826200064257506001620006e1565b816200065157506000620006e1565b81600181146200066a5760028114620006755762000695565b6001915050620006e1565b60ff841115620006895762000689620005d2565b50506001821b620006e1565b5060208310610133831016604e8410600b8410161715620006ba575081810a620006e1565b620006c68383620005e8565b8060001904821115620006dd57620006dd620005d2565b0290505b92915050565b6000620006f860ff84168362000631565b9392505050565b60008160001904831182151516156200071c576200071c620005d2565b500290565b6000602082840312156200073457600080fd5b81516001600160a01b0381168114620006f857600080fd5b611b8d806200075c6000396000f3fe6080604052600436106102135760003560e01c80637d731c3d11610118578063b88a802f116100a0578063e21838391161006f578063e21838391461065b578063f0f56b2c14610671578063f19665f2146106a1578063f2fde38b146106c1578063f887ea40146106e157600080fd5b8063b88a802f146105c0578063bfe10928146105d5578063dd62ed3e146105f5578063e158f82f1461063b57600080fd5b80639454b810116100e75780639454b8101461052957806395d89b411461053e5780639d9241ec1461056a5780639db8baef14610580578063a9059cbb146105a057600080fd5b80637d731c3d146104b55780638da5cb5b146104d55780638ebfc796146104f3578063917b546c1461051357600080fd5b806356586b8e1161019b57806369db09eb1161016a57806369db09eb1461040d5780636a01f09c1461042257806370a0823114610438578063715018a61461046e5780637b9d454d1461048557600080fd5b806356586b8e146103a1578063571ac8b0146103c157806359b107b9146103e157806360e71962146103f757600080fd5b806329691448116101e257806329691448146102d35780632c71ef5d146102ed578063313ce5671461031d57806332972e46146103395780633f4218e01461037157600080fd5b806306fdde031461021f578063095ea7b31461026057806318160ddd1461029057806323b872dd146102b357600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b50604080518082019091526006815265084c2ce8aa8960d31b60208201525b60405161025791906117a8565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611812565b610701565b6040519015158152602001610257565b34801561029c57600080fd5b506102a561076e565b604051908152602001610257565b3480156102bf57600080fd5b506102806102ce36600461183e565b61078f565b3480156102df57600080fd5b506010546102809060ff1681565b3480156102f957600080fd5b5061028061030836600461187f565b600f6020526000908152604090205460ff1681565b34801561032957600080fd5b5060405160128152602001610257565b34801561034557600080fd5b50600454610359906001600160a01b031681565b6040516001600160a01b039091168152602001610257565b34801561037d57600080fd5b5061028061038c36600461187f565b600c6020526000908152604090205460ff1681565b3480156103ad57600080fd5b506102a56103bc36600461187f565b61086a565b3480156103cd57600080fd5b506102806103dc36600461187f565b6108da565b3480156103ed57600080fd5b506102a560055481565b34801561040357600080fd5b506102a560095481565b34801561041957600080fd5b506102a56108fa565b34801561042e57600080fd5b506102a560115481565b34801561044457600080fd5b506102a561045336600461187f565b6001600160a01b03166000908152600a602052604090205490565b34801561047a57600080fd5b50610483610968565b005b34801561049157600080fd5b506102806104a036600461187f565b600e6020526000908152604090205460ff1681565b3480156104c157600080fd5b506102a56104d036600461187f565b61097c565b3480156104e157600080fd5b506000546001600160a01b0316610359565b3480156104ff57600080fd5b5061048361050e36600461189c565b6109af565b34801561051f57600080fd5b506102a560075481565b34801561053557600080fd5b506102a56109e2565b34801561054a57600080fd5b5060408051808201909152600381526211d15560ea1b602082015261024a565b34801561057657600080fd5b506102a560065481565b34801561058c57600080fd5b5061048361059b36600461189c565b610a2c565b3480156105ac57600080fd5b506102806105bb366004611812565b610b45565b3480156105cc57600080fd5b50610483610b52565b3480156105e157600080fd5b50600854610359906001600160a01b031681565b34801561060157600080fd5b506102a56106103660046118da565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b34801561064757600080fd5b50610483610656366004611908565b610bb1565b34801561066757600080fd5b506102a560125481565b34801561067d57600080fd5b5061028061068c36600461187f565b600d6020526000908152604090205460ff1681565b3480156106ad57600080fd5b506104836106bc366004611908565b610c1a565b3480156106cd57600080fd5b506104836106dc36600461187f565b610c27565b3480156106ed57600080fd5b50600354610359906001600160a01b031681565b336000818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061075c9086815260200190565b60405180910390a35060015b92915050565b600061077c6012600a611a1b565b61078a90630bebc200611a2a565b905090565b600061079d6012600a611a1b565b6107ab90630bebc200611a2a565b6001600160a01b0385166000908152600b6020908152604080832033845290915290205414610855576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600b82528381203382529091529190912054610830918490610ca5565b6001600160a01b0385166000908152600b602090815260408083203384529091529020555b610860848484610cd1565b90505b9392505050565b600854604051630a5e902b60e31b81526001600160a01b03838116600483015260009216906352f48158906024015b602060405180830381865afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107689190611a49565b6000610768826108ec6012600a611a1b565b61027b90630bebc200611a2a565b6008546040805163efca2eed60e01b815290516000926001600160a01b03169163efca2eed9160048083019260209291908290030181865afa158015610944573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a9190611a49565b61097061135b565b61097a60006113c4565b565b60085460405163051fa63360e31b81526001600160a01b03838116600483015260009216906328fd319890602401610899565b6109b761135b565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b600854604080516378fd9d6760e11b815290516000926001600160a01b03169163f1fb3ace9160048083019260209291908290030181865afa158015610944573d6000803e3d6000fd5b610a3461135b565b6001600160a01b0382163014801590610a5b57506004546001600160a01b03838116911614155b610a6457600080fd5b6001600160a01b0382166000908152600d60205260409020805460ff19168215801591909117909155610afc57600854604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b158015610ae057600080fd5b505af1158015610af4573d6000803e3d6000fd5b505050505050565b6008546001600160a01b038381166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610ac6565b6000610863338484610cd1565b60085460405163d279c19160e01b81523360048201526001600160a01b039091169063d279c19190602401600060405180830381600087803b158015610b9757600080fd5b505af1158015610bab573d6000803e3d6000fd5b50505050565b610bb961135b565b60085460405163ea59a14b60e01b8152600481018390526001600160a01b039091169063ea59a14b90602401600060405180830381600087803b158015610bff57600080fd5b505af1158015610c13573d6000803e3d6000fd5b5050505050565b610c2261135b565b601255565b610c2f61135b565b6001600160a01b038116610c995760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610ca2816113c4565b50565b60008184841115610cc95760405162461bcd60e51b8152600401610c9091906117a8565b505050900390565b6001600160a01b0382166000908152600f602052604081205460ff16610d6457600254610d1d610d16856001600160a01b03166000908152600a602052604090205490565b8490611414565b1115610d645760405162461bcd60e51b81526020600482015260166024820152754d617820686f6c64206c696d6974206578636565647360501b6044820152606401610c90565b6001600160a01b0384166000908152600e602052604090205460ff16158015610da657506001600160a01b0383166000908152600e602052604090205460ff16155b15610dfd57600154821115610dfd5760405162461bcd60e51b815260206004820152601d60248201527f4269674275793a206d61782074786e206c696d697420657863656564730000006044820152606401610c90565b60135460ff1615610e1a57610e13848484611420565b9050610863565b610e22611506565b15610e2f57610e2f611555565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600a9091529190912054610e81918490610ca5565b6001600160a01b0385166000908152600a6020908152604080832093909355600c90529081205460ff1680610ece57506001600160a01b0384166000908152600c602052604090205460ff165b80610f0057506004546001600160a01b03868116911614801590610f0057506004546001600160a01b03858116911614155b15610f0c575081610fa9565b6004546000906001600160a01b0390811690871603610f5e57610f46600754610f406005548761170d90919063ffffffff16565b90611719565b9050610f528482611725565b9150610f5e8682611731565b6004546001600160a01b0390811690861603610fa757610f8f600754610f406006548761170d90919063ffffffff16565b9050610f9b8482611725565b9150610fa78682611731565b505b6001600160a01b0384166000908152600a6020526040902054610fcc9082611414565b6001600160a01b038086166000908152600a60209081526040808320949094559188168152600d909152205460ff166110fa576012546001600160a01b0386166000908152600a602052604090205410611099576008546001600160a01b038681166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561107e57600080fd5b505af192505050801561108f575060015b156110fa576110fa565b600854604051630a5b654b60e11b81526001600160a01b03878116600483015260006024830152909116906314b6ca9690604401600060405180830381600087803b1580156110e757600080fd5b505af19250505080156110f8575060015b505b6001600160a01b0384166000908152600d602052604090205460ff16611215576012546001600160a01b0385166000908152600a6020526040902054106111b4576008546001600160a01b038581166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561119957600080fd5b505af19250505080156111aa575060015b1561121557611215565b600854604051630a5b654b60e11b81526001600160a01b03868116600483015260006024830152909116906314b6ca9690604401600060405180830381600087803b15801561120257600080fd5b505af1925050508015611213575060015b505b600860009054906101000a90046001600160a01b03166001600160a01b031663f1fb3ace6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611268573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128c9190611a49565b6008546001600160a01b03163110611303576008546009546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916112d69160040190815260200190565b600060405180830381600087803b1580156112f057600080fd5b505af1925050508015611301575060015b505b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161134891815260200190565b60405180910390a3506001949350505050565b3361136e6000546001600160a01b031690565b6001600160a01b03161461097a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c90565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006108638284611a62565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600a90915291822054611471918490610ca5565b6001600160a01b038086166000908152600a602052604080822093909355908516815220546114a09083611414565b6001600160a01b038085166000818152600a602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114f49086815260200190565b60405180910390a35060019392505050565b6004546000906001600160a01b03163314801590611527575060135460ff16155b8015611535575060105460ff165b801561078a575050601154306000908152600a6020526040902054101590565b6013805460ff19166001179055306000908152600a602052604081205490508015611700576115866012600a611a1b565b61159490630bebc200611a2a565b306000908152600b602090815260408083206003546001600160a01b031684528252808320939093558251600280825260608201855292939092918301908036833701905050905030816000815181106115f0576115f0611a7a565b6001600160a01b03928316602091820292909201810191909152600354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611649573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166d9190611a90565b8160018151811061168057611680611a7a565b6001600160a01b03928316602091820292909201015260035460085460405163791ac94760e01b81529183169263791ac947926116cc9287926000928892909116904290600401611aad565b600060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b50505050505b506013805460ff19169055565b60006108638284611a2a565b60006108638284611b1e565b60006108638284611b40565b306000908152600a602052604090205461174b9082611414565b306000818152600a6020526040908190209290925590516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061179c9085815260200190565b60405180910390a35050565b600060208083528351808285015260005b818110156117d5578581018301518582016040015282016117b9565b818111156117e7576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610ca257600080fd5b6000806040838503121561182557600080fd5b8235611830816117fd565b946020939093013593505050565b60008060006060848603121561185357600080fd5b833561185e816117fd565b9250602084013561186e816117fd565b929592945050506040919091013590565b60006020828403121561189157600080fd5b8135610863816117fd565b600080604083850312156118af57600080fd5b82356118ba816117fd565b9150602083013580151581146118cf57600080fd5b809150509250929050565b600080604083850312156118ed57600080fd5b82356118f8816117fd565b915060208301356118cf816117fd565b60006020828403121561191a57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561197257816000190482111561195857611958611921565b8085161561196557918102915b93841c939080029061193c565b509250929050565b60008261198957506001610768565b8161199657506000610768565b81600181146119ac57600281146119b6576119d2565b6001915050610768565b60ff8411156119c7576119c7611921565b50506001821b610768565b5060208310610133831016604e8410600b84101617156119f5575081810a610768565b6119ff8383611937565b8060001904821115611a1357611a13611921565b029392505050565b600061086360ff84168361197a565b6000816000190483118215151615611a4457611a44611921565b500290565b600060208284031215611a5b57600080fd5b5051919050565b60008219821115611a7557611a75611921565b500190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611aa257600080fd5b8151610863816117fd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611afd5784516001600160a01b031683529383019391830191600101611ad8565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b3b57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611b5257611b52611921565b50039056fea26469706673582212200638f7f4dfe692c003987ff19ad68c774e2c2d44f03879c3d502c6bb2ef89a9864736f6c634300080f003360806040526ec097ce7bc90715b34b9f1000000000600a5562015180600b5566c6f3b40b6c0000600c5534801561003557600080fd5b50604051610d7a380380610d7a83398101604081905261005491610087565b60008054336001600160a01b031991821617909155600180549091166001600160a01b03929092169190911790556100b7565b60006020828403121561009957600080fd5b81516001600160a01b03811681146100b057600080fd5b9392505050565b610cb4806100c66000396000f3fe6080604052600436106101445760003560e01c8063c7e1d0b1116100b6578063ecd0c0c31161006f578063ecd0c0c3146103d2578063efca2eed146103f2578063f1fb3ace14610408578063f887ea401461041d578063ffb2c4791461043d578063ffd49c841461045d57600080fd5b8063c7e1d0b1146102e2578063ce7c2ac2146102f8578063d279c1911461034f578063d4fda1f21461036f578063e0a244f81461039c578063ea59a14b146103b257600080fd5b80634fab0ae8116101085780634fab0ae8146101f857806352f481581461020e5780635f6a079d1461024757806366817df514610267578063ab377daa14610294578063b5381e53146102cc57600080fd5b80630c6da708146101595780630e15561a1461017957806314b6ca96146101a257806328fd3198146101c25780633a98ef39146101e257600080fd5b366101545761015234610473565b005b600080fd5b34801561016557600080fd5b50610152610174366004610b33565b6104b0565b34801561018557600080fd5b5061018f60075481565b6040519081526020015b60405180910390f35b3480156101ae57600080fd5b506101526101bd366004610b33565b610502565b3480156101ce57600080fd5b5061018f6101dd366004610b5d565b61067a565b3480156101ee57600080fd5b5061018f60065481565b34801561020457600080fd5b5061018f600d5481565b34801561021a57600080fd5b5061018f610229366004610b5d565b6001600160a01b031660009081526005602052604090206002015490565b34801561025357600080fd5b50610152610262366004610b78565b610705565b34801561027357600080fd5b5061018f610282366004610b5d565b60046020526000908152604090205481565b3480156102a057600080fd5b506102b46102af366004610b9a565b610727565b6040516001600160a01b039091168152602001610199565b3480156102d857600080fd5b5061018f600a5481565b3480156102ee57600080fd5b5061018f60095481565b34801561030457600080fd5b50610334610313366004610b5d565b60056020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610199565b34801561035b57600080fd5b5061015261036a366004610b5d565b610751565b34801561037b57600080fd5b5061018f61038a366004610b5d565b60036020526000908152604090205481565b3480156103a857600080fd5b5061018f600c5481565b3480156103be57600080fd5b506101526103cd366004610b9a565b610766565b3480156103de57600080fd5b506000546102b4906001600160a01b031681565b3480156103fe57600080fd5b5061018f60085481565b34801561041457600080fd5b50600c5461018f565b34801561042957600080fd5b506001546102b4906001600160a01b031681565b34801561044957600080fd5b50610152610458366004610b9a565b610782565b34801561046957600080fd5b5061018f600b5481565b6007546104809082610886565b600755600654600a546104aa916104a19161049b9085610899565b906108a5565b60095490610886565b60095550565b6000546001600160a01b031633146104c757600080fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156104fd573d6000803e3d6000fd5b505050565b6000546001600160a01b0316331461051957600080fd5b6001600160a01b0382166000908152600560205260409020541561054057610540826108b1565b60008111801561056657506001600160a01b038216600090815260056020526040902054155b156105cc57600280546001600160a01b0384166000818152600360205260408120839055600183018455929092527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b03191690911790556105ff565b801580156105f157506001600160a01b03821660009081526005602052604090205415155b156105ff576105ff8261098e565b6001600160a01b03821660009081526005602052604090205460065461063091839161062a91610aa3565b90610886565b6006556001600160a01b038216600090815260056020526040902081905561065781610aaf565b6001600160a01b0390921660009081526005602052604090206001019190915550565b6001600160a01b03811660009081526005602052604081205481036106a157506000919050565b6001600160a01b0382166000908152600560205260408120546106c390610aaf565b6001600160a01b0384166000908152600560205260409020600101549091508082116106f3575060009392505050565b6106fd8282610aa3565b949350505050565b6000546001600160a01b0316331461071c57600080fd5b600b91909155600d55565b6002818154811061073757600080fd5b6000918252602090912001546001600160a01b0316905081565b600c54471061076357610763816108b1565b50565b6000546001600160a01b0316331461077d57600080fd5b600c55565b6000546001600160a01b0316331461079957600080fd5b60025460008190036107a9575050565b6000805a905060005b84831080156107c057508381105b1561087f5783600e54106107d4576000600e555b6108066002600e54815481106107ec576107ec610bb3565b6000918252602090912001546001600160a01b0316610ad2565b1561083d5761083d6002600e548154811061082357610823610bb3565b6000918252602090912001546001600160a01b03166108b1565b61085261084b5a8490610aa3565b8490610886565b92505a600e8054919350600061086783610bdf565b9190505550808061087790610bdf565b9150506107b2565b5050505050565b60006108928284610bf8565b9392505050565b60006108928284610c10565b60006108928284610c2f565b6001600160a01b03811660009081526005602052604081205490036108d35750565b60006108de8261067a565b9050801561098a576008546108f39082610886565b6008556040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561092c573d6000803e3d6000fd5b506001600160a01b038216600090815260046020908152604080832042905560059091529020600201546109609082610886565b6001600160a01b038316600090815260056020526040902060028101919091555461065790610aaf565b5050565b6002805461099e90600190610c51565b815481106109ae576109ae610bb3565b60009182526020808320909101546001600160a01b03848116845260039092526040909220546002805492909316929181106109ec576109ec610bb3565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260039182905260408120546002805491939291610a3890600190610c51565b81548110610a4857610a48610bb3565b60009182526020808320909101546001600160a01b031683528201929092526040019020556002805480610a7e57610a7e610c68565b600082815260209020810160001990810180546001600160a01b031916905501905550565b60006108928284610c51565b6000610acc600a5461049b6009548561089990919063ffffffff16565b92915050565b600b546001600160a01b03821660009081526004602052604081205490914291610afc9190610bf8565b108015610acc5750600d54610b108361067a565b1192915050565b80356001600160a01b0381168114610b2e57600080fd5b919050565b60008060408385031215610b4657600080fd5b610b4f83610b17565b946020939093013593505050565b600060208284031215610b6f57600080fd5b61089282610b17565b60008060408385031215610b8b57600080fd5b50508035926020909101359150565b600060208284031215610bac57600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610bf157610bf1610bc9565b5060010190565b60008219821115610c0b57610c0b610bc9565b500190565b6000816000190483118215151615610c2a57610c2a610bc9565b500290565b600082610c4c57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015610c6357610c63610bc9565b500390565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a5a69abe40674b472bae3980ad35aaa712d188eae5bf2c8d9f7ef1f78ce4ac4b64736f6c634300080f0033
Deployed Bytecode
0x6080604052600436106102135760003560e01c80637d731c3d11610118578063b88a802f116100a0578063e21838391161006f578063e21838391461065b578063f0f56b2c14610671578063f19665f2146106a1578063f2fde38b146106c1578063f887ea40146106e157600080fd5b8063b88a802f146105c0578063bfe10928146105d5578063dd62ed3e146105f5578063e158f82f1461063b57600080fd5b80639454b810116100e75780639454b8101461052957806395d89b411461053e5780639d9241ec1461056a5780639db8baef14610580578063a9059cbb146105a057600080fd5b80637d731c3d146104b55780638da5cb5b146104d55780638ebfc796146104f3578063917b546c1461051357600080fd5b806356586b8e1161019b57806369db09eb1161016a57806369db09eb1461040d5780636a01f09c1461042257806370a0823114610438578063715018a61461046e5780637b9d454d1461048557600080fd5b806356586b8e146103a1578063571ac8b0146103c157806359b107b9146103e157806360e71962146103f757600080fd5b806329691448116101e257806329691448146102d35780632c71ef5d146102ed578063313ce5671461031d57806332972e46146103395780633f4218e01461037157600080fd5b806306fdde031461021f578063095ea7b31461026057806318160ddd1461029057806323b872dd146102b357600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b50604080518082019091526006815265084c2ce8aa8960d31b60208201525b60405161025791906117a8565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611812565b610701565b6040519015158152602001610257565b34801561029c57600080fd5b506102a561076e565b604051908152602001610257565b3480156102bf57600080fd5b506102806102ce36600461183e565b61078f565b3480156102df57600080fd5b506010546102809060ff1681565b3480156102f957600080fd5b5061028061030836600461187f565b600f6020526000908152604090205460ff1681565b34801561032957600080fd5b5060405160128152602001610257565b34801561034557600080fd5b50600454610359906001600160a01b031681565b6040516001600160a01b039091168152602001610257565b34801561037d57600080fd5b5061028061038c36600461187f565b600c6020526000908152604090205460ff1681565b3480156103ad57600080fd5b506102a56103bc36600461187f565b61086a565b3480156103cd57600080fd5b506102806103dc36600461187f565b6108da565b3480156103ed57600080fd5b506102a560055481565b34801561040357600080fd5b506102a560095481565b34801561041957600080fd5b506102a56108fa565b34801561042e57600080fd5b506102a560115481565b34801561044457600080fd5b506102a561045336600461187f565b6001600160a01b03166000908152600a602052604090205490565b34801561047a57600080fd5b50610483610968565b005b34801561049157600080fd5b506102806104a036600461187f565b600e6020526000908152604090205460ff1681565b3480156104c157600080fd5b506102a56104d036600461187f565b61097c565b3480156104e157600080fd5b506000546001600160a01b0316610359565b3480156104ff57600080fd5b5061048361050e36600461189c565b6109af565b34801561051f57600080fd5b506102a560075481565b34801561053557600080fd5b506102a56109e2565b34801561054a57600080fd5b5060408051808201909152600381526211d15560ea1b602082015261024a565b34801561057657600080fd5b506102a560065481565b34801561058c57600080fd5b5061048361059b36600461189c565b610a2c565b3480156105ac57600080fd5b506102806105bb366004611812565b610b45565b3480156105cc57600080fd5b50610483610b52565b3480156105e157600080fd5b50600854610359906001600160a01b031681565b34801561060157600080fd5b506102a56106103660046118da565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205490565b34801561064757600080fd5b50610483610656366004611908565b610bb1565b34801561066757600080fd5b506102a560125481565b34801561067d57600080fd5b5061028061068c36600461187f565b600d6020526000908152604090205460ff1681565b3480156106ad57600080fd5b506104836106bc366004611908565b610c1a565b3480156106cd57600080fd5b506104836106dc36600461187f565b610c27565b3480156106ed57600080fd5b50600354610359906001600160a01b031681565b336000818152600b602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061075c9086815260200190565b60405180910390a35060015b92915050565b600061077c6012600a611a1b565b61078a90630bebc200611a2a565b905090565b600061079d6012600a611a1b565b6107ab90630bebc200611a2a565b6001600160a01b0385166000908152600b6020908152604080832033845290915290205414610855576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600b82528381203382529091529190912054610830918490610ca5565b6001600160a01b0385166000908152600b602090815260408083203384529091529020555b610860848484610cd1565b90505b9392505050565b600854604051630a5e902b60e31b81526001600160a01b03838116600483015260009216906352f48158906024015b602060405180830381865afa1580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107689190611a49565b6000610768826108ec6012600a611a1b565b61027b90630bebc200611a2a565b6008546040805163efca2eed60e01b815290516000926001600160a01b03169163efca2eed9160048083019260209291908290030181865afa158015610944573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a9190611a49565b61097061135b565b61097a60006113c4565b565b60085460405163051fa63360e31b81526001600160a01b03838116600483015260009216906328fd319890602401610899565b6109b761135b565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b600854604080516378fd9d6760e11b815290516000926001600160a01b03169163f1fb3ace9160048083019260209291908290030181865afa158015610944573d6000803e3d6000fd5b610a3461135b565b6001600160a01b0382163014801590610a5b57506004546001600160a01b03838116911614155b610a6457600080fd5b6001600160a01b0382166000908152600d60205260409020805460ff19168215801591909117909155610afc57600854604051630a5b654b60e11b81526001600160a01b03848116600483015260006024830152909116906314b6ca96906044015b600060405180830381600087803b158015610ae057600080fd5b505af1158015610af4573d6000803e3d6000fd5b505050505050565b6008546001600160a01b038381166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401610ac6565b6000610863338484610cd1565b60085460405163d279c19160e01b81523360048201526001600160a01b039091169063d279c19190602401600060405180830381600087803b158015610b9757600080fd5b505af1158015610bab573d6000803e3d6000fd5b50505050565b610bb961135b565b60085460405163ea59a14b60e01b8152600481018390526001600160a01b039091169063ea59a14b90602401600060405180830381600087803b158015610bff57600080fd5b505af1158015610c13573d6000803e3d6000fd5b5050505050565b610c2261135b565b601255565b610c2f61135b565b6001600160a01b038116610c995760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610ca2816113c4565b50565b60008184841115610cc95760405162461bcd60e51b8152600401610c9091906117a8565b505050900390565b6001600160a01b0382166000908152600f602052604081205460ff16610d6457600254610d1d610d16856001600160a01b03166000908152600a602052604090205490565b8490611414565b1115610d645760405162461bcd60e51b81526020600482015260166024820152754d617820686f6c64206c696d6974206578636565647360501b6044820152606401610c90565b6001600160a01b0384166000908152600e602052604090205460ff16158015610da657506001600160a01b0383166000908152600e602052604090205460ff16155b15610dfd57600154821115610dfd5760405162461bcd60e51b815260206004820152601d60248201527f4269674275793a206d61782074786e206c696d697420657863656564730000006044820152606401610c90565b60135460ff1615610e1a57610e13848484611420565b9050610863565b610e22611506565b15610e2f57610e2f611555565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600a9091529190912054610e81918490610ca5565b6001600160a01b0385166000908152600a6020908152604080832093909355600c90529081205460ff1680610ece57506001600160a01b0384166000908152600c602052604090205460ff165b80610f0057506004546001600160a01b03868116911614801590610f0057506004546001600160a01b03858116911614155b15610f0c575081610fa9565b6004546000906001600160a01b0390811690871603610f5e57610f46600754610f406005548761170d90919063ffffffff16565b90611719565b9050610f528482611725565b9150610f5e8682611731565b6004546001600160a01b0390811690861603610fa757610f8f600754610f406006548761170d90919063ffffffff16565b9050610f9b8482611725565b9150610fa78682611731565b505b6001600160a01b0384166000908152600a6020526040902054610fcc9082611414565b6001600160a01b038086166000908152600a60209081526040808320949094559188168152600d909152205460ff166110fa576012546001600160a01b0386166000908152600a602052604090205410611099576008546001600160a01b038681166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561107e57600080fd5b505af192505050801561108f575060015b156110fa576110fa565b600854604051630a5b654b60e11b81526001600160a01b03878116600483015260006024830152909116906314b6ca9690604401600060405180830381600087803b1580156110e757600080fd5b505af19250505080156110f8575060015b505b6001600160a01b0384166000908152600d602052604090205460ff16611215576012546001600160a01b0385166000908152600a6020526040902054106111b4576008546001600160a01b038581166000818152600a602052604090819020549051630a5b654b60e11b8152600481019290925260248201529116906314b6ca9690604401600060405180830381600087803b15801561119957600080fd5b505af19250505080156111aa575060015b1561121557611215565b600854604051630a5b654b60e11b81526001600160a01b03868116600483015260006024830152909116906314b6ca9690604401600060405180830381600087803b15801561120257600080fd5b505af1925050508015611213575060015b505b600860009054906101000a90046001600160a01b03166001600160a01b031663f1fb3ace6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611268573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128c9190611a49565b6008546001600160a01b03163110611303576008546009546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c479916112d69160040190815260200190565b600060405180830381600087803b1580156112f057600080fd5b505af1925050508015611301575060015b505b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161134891815260200190565b60405180910390a3506001949350505050565b3361136e6000546001600160a01b031690565b6001600160a01b03161461097a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c90565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006108638284611a62565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600a90915291822054611471918490610ca5565b6001600160a01b038086166000908152600a602052604080822093909355908516815220546114a09083611414565b6001600160a01b038085166000818152600a602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114f49086815260200190565b60405180910390a35060019392505050565b6004546000906001600160a01b03163314801590611527575060135460ff16155b8015611535575060105460ff165b801561078a575050601154306000908152600a6020526040902054101590565b6013805460ff19166001179055306000908152600a602052604081205490508015611700576115866012600a611a1b565b61159490630bebc200611a2a565b306000908152600b602090815260408083206003546001600160a01b031684528252808320939093558251600280825260608201855292939092918301908036833701905050905030816000815181106115f0576115f0611a7a565b6001600160a01b03928316602091820292909201810191909152600354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611649573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166d9190611a90565b8160018151811061168057611680611a7a565b6001600160a01b03928316602091820292909201015260035460085460405163791ac94760e01b81529183169263791ac947926116cc9287926000928892909116904290600401611aad565b600060405180830381600087803b1580156116e657600080fd5b505af11580156116fa573d6000803e3d6000fd5b50505050505b506013805460ff19169055565b60006108638284611a2a565b60006108638284611b1e565b60006108638284611b40565b306000908152600a602052604090205461174b9082611414565b306000818152600a6020526040908190209290925590516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061179c9085815260200190565b60405180910390a35050565b600060208083528351808285015260005b818110156117d5578581018301518582016040015282016117b9565b818111156117e7576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610ca257600080fd5b6000806040838503121561182557600080fd5b8235611830816117fd565b946020939093013593505050565b60008060006060848603121561185357600080fd5b833561185e816117fd565b9250602084013561186e816117fd565b929592945050506040919091013590565b60006020828403121561189157600080fd5b8135610863816117fd565b600080604083850312156118af57600080fd5b82356118ba816117fd565b9150602083013580151581146118cf57600080fd5b809150509250929050565b600080604083850312156118ed57600080fd5b82356118f8816117fd565b915060208301356118cf816117fd565b60006020828403121561191a57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561197257816000190482111561195857611958611921565b8085161561196557918102915b93841c939080029061193c565b509250929050565b60008261198957506001610768565b8161199657506000610768565b81600181146119ac57600281146119b6576119d2565b6001915050610768565b60ff8411156119c7576119c7611921565b50506001821b610768565b5060208310610133831016604e8410600b84101617156119f5575081810a610768565b6119ff8383611937565b8060001904821115611a1357611a13611921565b029392505050565b600061086360ff84168361197a565b6000816000190483118215151615611a4457611a44611921565b500290565b600060208284031215611a5b57600080fd5b5051919050565b60008219821115611a7557611a75611921565b500190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611aa257600080fd5b8151610863816117fd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611afd5784516001600160a01b031683529383019391830191600101611ad8565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b3b57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015611b5257611b52611921565b50039056fea26469706673582212200638f7f4dfe692c003987ff19ad68c774e2c2d44f03879c3d502c6bb2ef89a9864736f6c634300080f0033
Loading...
Loading
Loading...
Loading
OVERVIEW
BagETH was designed with holder incentives in mind while helping traders to hedge their position in a rapidly moving market.Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.