More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 160 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18365569 | 539 days ago | IN | 0 ETH | 0.0006282 | ||||
Approve | 18356170 | 541 days ago | IN | 0 ETH | 0.00049973 | ||||
Approve | 18328826 | 545 days ago | IN | 0 ETH | 0.00051381 | ||||
Approve | 18323370 | 545 days ago | IN | 0 ETH | 0.0003394 | ||||
Approve | 18316301 | 546 days ago | IN | 0 ETH | 0.00022475 | ||||
Approve | 18256092 | 555 days ago | IN | 0 ETH | 0.00028539 | ||||
Approve | 18245217 | 556 days ago | IN | 0 ETH | 0.00034369 | ||||
Approve | 18242467 | 557 days ago | IN | 0 ETH | 0.00066001 | ||||
Approve | 18242397 | 557 days ago | IN | 0 ETH | 0.00069586 | ||||
Approve | 18242377 | 557 days ago | IN | 0 ETH | 0.00036279 | ||||
Approve | 18242249 | 557 days ago | IN | 0 ETH | 0.00093546 | ||||
Approve | 18242248 | 557 days ago | IN | 0 ETH | 0.00094093 | ||||
Approve | 18242242 | 557 days ago | IN | 0 ETH | 0.00092909 | ||||
Approve | 18242242 | 557 days ago | IN | 0 ETH | 0.00092958 | ||||
Approve | 18241378 | 557 days ago | IN | 0 ETH | 0.00034045 | ||||
Approve | 18240102 | 557 days ago | IN | 0 ETH | 0.000483 | ||||
Approve | 18239563 | 557 days ago | IN | 0 ETH | 0.00056852 | ||||
Approve | 18239559 | 557 days ago | IN | 0 ETH | 0.00059384 | ||||
Approve | 18239559 | 557 days ago | IN | 0 ETH | 0.00059101 | ||||
Approve | 18239555 | 557 days ago | IN | 0 ETH | 0.00055748 | ||||
Approve | 18239555 | 557 days ago | IN | 0 ETH | 0.0005592 | ||||
Refresh Balances | 18239505 | 557 days ago | IN | 0 ETH | 0.00172874 | ||||
Manual Rebase | 18239505 | 557 days ago | IN | 0 ETH | 0.00061225 | ||||
Transfer | 18239295 | 557 days ago | IN | 0 ETH | 0.00040046 | ||||
Transfer | 18239287 | 557 days ago | IN | 0 ETH | 0.00040875 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Halvecoin
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity Standard Json-Input format)
// 情報:Every 2 hours, $HALVE total supply will reduce by -50%. We are The Halvening. // Bitcoin will bring our market to new heights in April 2024. Do not doubt Satoshi-san. /* .:. .~:. :. .^!!7!~~!777!~: .:?JJJJJJJJJJJJJJ7: .!?J??????????????7!^. :?J?!77?77JJ!!7???7::^~!!^. ~B&?!~:GJP&5~!:?P??????7?YY^. :?J7!7?77??!!!7???7????7?5J?7~: .7??77???7?????77!!?????J5JJJJJ?!: .~7??77777??777!!!!??????Y5JYYYJJJJ7^ .~~!!!!!!!!!!!!!!7?77??7?5YJYYYYYJJJJ! .?Y?!!!!!!!!!!7777!!~7777Y5JJYYYJYYJJJ! .YP55YJ???7777??!~~~~!777J5YJYYJYJYJJYY~ .YPPPPP555YYYYJJ55J!!7777J55JJYYJJJJJYYY~ ?P55555PPPP55Y55YY55J777J55JJYYYY?JYYYYY^ ~55YYYYYYYY5555Y5YJJ55J7J55JJYYYYJJYYYYYY~ ~555PPPP555YYYYYJJJ?Y5YY55YJYYYYJJYYYYYYY7 .?55555555555555J?JJ?YY55JJYYYYY?JYYYYYYYJ. .JYY55555555555?J?JY55YJJYJJJYJJYYYYYJYYY~ :JYY5555555555?JY555YJYYYYYJJ?JYYYJJYYYY! ^YY5555555555YY55YYJYYYYYYYJ?YJJJJYYYJJ7 !YY5555555YYYYJJJJYYYYYYYYJJJJJJJJJJJJ7 ..::^^^~^ .^~?JY555555555Y7JJJYYYYYYJJJYYYJJJJJJJJ7 .:~7JY5PPJYYYYY: :^!!!~~JYY5YJJJJJJJ7?JJJYYYYY?YYYYYYYYYYJJJ7. :!J5GGGGGGGGYYYYYY~ .^~!!~~^::7J5GGGGPP5YYYJ???JJJJ??YYYYYYYYYYJJJ7^^:. :!YPGGGGGPPPPPP5JJJYY7 .^~~~~~^::::^JPPGGGGGGGP5YYYJ??JJ7JYYYYYYYYYYYJJ!^^^^^:. ^JPGGGGPPPPPPPPPPPJJJYYJ. :^~~~~~~::::::!PPPPPPPGGGGGP5JYYJ?77YYYYYYYYYYYYJJ~^^^^^^::. ^JGGGGGPPPPPPPPPPPPPYYYYYY^ .:^~~~~~^::::::^5GPPPPPP5PGGGGGPYYYYJ7JYYYJYYYYYYYJ?^^^^^::::: .?PGGGGPPPPPPPPPPPPPPG5YYYYY! ::::::::::::::::JGPPPPPPPPP55GGGGG5JYYJ?J555YYJYYYYJ7^^^^::::::. ^YGGGGP5PPPPPPPPPPPGG5P5JYYJJ?:^:::::::::::::::!PPPPPPPPPPPPP5PGGGGPJYJY?7?JY5YJYYJ?!^~~~~~^:::: ~PGGGG5PPPPPPPPPPPPPBBGPGYYYJJJ~~~^::::::::::::^YBB5PPPPPPPPPPP55GGGGPJYYY7!7!7J?7777~~~~~~~:::::. ^PGGGG5PPPPPPPPPGGGGBBBBBBPYYYYJ!~~~^::::.......YBBBPPPPPPPPPPPPPP5GGGG5JYYY77?!7JJJ5J^^^~~^::::::. .YGGGG5PPPPPPPPPPGPBBBBBBGGPJJYYY?^~~~^:::...::^7BBBBBBGPPPPPPPPPPPP5GGGGYYYYJ!?7?55Y5!:^~^::::::::. !GGGG5PPPPPPPPPPPP5PBBBBB5PPYJJYYJ^^~^~^^~!!77?75PPGBBBBBPPPPPPPPPPP5PGGG5JYYY77?JY5YJ^~^::::::::::: .YGGGG5PPPPPPPPPPPPP5BBBBBGPGYJJJJ?!!77????????7YGPP5BBBBBG5PPPPPPPPPP5GGGPJYYY?7JJJ5J!~^:::::::::^^^: ^PGGGP5PPPPPPPPPPPPGPGBBGGPJY??????JJ?????????7?PPPPGBBBBBPPPPPPPPPPPP5GGGGJYYYJ7JJJ57:::::::^^^^^^^^: ^PGGG5PPPPPPPPPPPP55YJJJ???????JJJJ????????????GBBBBBBBBGPPPPPPPPPPPPP5GGGGJJJYJ7JJJ?^::^^^^^^^^^^:::. ^PGGGPPPPPPP5YYJ???????????????JJJJJ?????????7YGGBBBBBPPPPPPPPPPPPPPPP5GGGGJYYYJ!?J7^^^^^^^^^:::..... :YGGP5YYJJ?????????????????????JJJJJ??????????PPPPGBBBG5PPPPPPPPPPPPP5PGGGPJYYYJ^::::::::::::::...... ..^?JJ???????????????????????????JJJJJJJJJ???775GPG5PBBBBBYPPPPPPPPPPPP5GGGG5JYYY7.......:::::::::..:. .:^~!7??J?????????????????????????????JJJJJ???7!~^^:JPPPPPBBBBBB5PPPPPPPPPPP5PGGGGJYYYJ: ......:^^^^. .!??JJJJJJ??????????????????????????????????????!^:::^?GGGGGBBBBBBPPPPPPPPPPPPP5GGGG5JYYY! :777?~. ^?J??????????????????????????????????JY555JYYYY?777?JGBBBBBBBBBGPPPPPPPPPPPP55GGGG5YYYY7. ~7?????7^ ~J?????????????????????????????JYY5PPGBG5YYYYYJ77??JGBPPPPPPPPPPPPPPPPPPPP5PGGGG5JYYY7. ?J?7?????!^. !J????????????JJJ???????JY55PPPPPPPP5PPP5JYJYY! !PPP5PPPPPPPPPPPPPPPPP55PGGGG5JYYY!. !55J7777!!?7. .7J?????JJJJJ??77JYY555PPPPPPPPPPPPPPPPPPJYJJY7 :PGPPPPPPPPPPPPPPPPPP55PGGGGPYJYYJ^ :!JJYJ?7?J?. :?JJJJ??7!~^:. ~YGGGGGPPPPPPPPPPPPPPPPGYYYJYJ:JGPPPPPPPPPPPPPPPPPPPGGGGGPYJYYJ!. ~?JJJ?^ ^7!~:.. :75GGGGGGPPPPPPPPPPPPP5JYYYJ?PPPPPPPPPPPPPPPPPPGGGGGGPYJYYJ!. :!J5GGGGGGGGGGGGGGGGYYYYJ5PPPPPPPPPPPPPGGGGGGGGP5YYYJ7^. .:~7?Y5PPGGGGGGGG5J?!5GGGGGGGGGGGGGGGGGGP55YJJ7~:. .::^^^~~^^:. .~!7?JYY55555YYYYJJ?7!~^:. . */ // Website: https://halvemedaddy.com // Twitter: https://twitter.com/the_halvening // Telegram: https://t.me/the_halvening // SPDX-License-Identifier: MIT pragma solidity 0.8.20; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IWETH { function deposit() external payable; } interface InterfaceLP { function sync() external; function mint(address to) external returns (uint liquidity); } abstract contract ERC20Detailed is IERC20 { string private _name; string private _symbol; uint8 private _decimals; constructor(string memory _tokenName, string memory _tokenSymbol, uint8 _tokenDecimals) { _name = _tokenName; _symbol = _tokenSymbol; _decimals = _tokenDecimals; } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } } contract Halvecoin is ERC20Detailed, Ownable { uint256 public rebaseFrequency = 2 hours; uint256 public nextRebase; uint256 public finalRebase; bool public autoRebase = true; bool public rebaseStarted = false; uint256 public rebasesThisCycle; uint256 public lastRebaseThisCycle; uint256 public maxTxnAmount; uint256 public maxWallet; address public taxWallet; uint256 public taxPercentBuy; uint256 public taxPercentSell; string public _1_x; string public _2_telegram; string public _3_website; mapping(address => bool) public isWhitelisted; uint8 private constant DECIMALS = 9; uint256 private constant INITIAL_TOKENS_SUPPLY = 18_236_939_125_700_000 * 10 ** DECIMALS; uint256 private constant TOTAL_PARTS = type(uint256).max - (type(uint256).max % INITIAL_TOKENS_SUPPLY); event Rebase(uint256 indexed time, uint256 totalSupply); event RemovedLimits(); IWETH public immutable weth; IDEXRouter public immutable router; address public immutable pair; bool public limitsInEffect = true; bool public tradingIsLive = false; uint256 private _totalSupply; uint256 private _partsPerToken; uint256 private partsSwapThreshold = ((TOTAL_PARTS / 100000) * 25); mapping(address => uint256) private _partBalances; mapping(address => mapping(address => uint256)) private _allowedTokens; mapping(address => bool) private _bots; modifier validRecipient(address to) { require(to != address(0x0)); _; } bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor( address _taxWallet ) ERC20Detailed(block.chainid == 1 ? "Halvecoin" : "HTEST", block.chainid == 1 ? "$HALVE" : "HTEST", DECIMALS) { address dexAddress; if (block.chainid == 1 || block.chainid == 5) { dexAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; } else { revert("Chain not configured"); } _1_x = "x.com/the_halvening"; _2_telegram = "t.me/the_halvening"; _3_website = "halvemedaddy.com"; taxWallet = _taxWallet; taxPercentBuy = 20; taxPercentSell = 80; finalRebase = type(uint256).max; nextRebase = type(uint256).max; router = IDEXRouter(dexAddress); _totalSupply = INITIAL_TOKENS_SUPPLY; _partBalances[msg.sender] = TOTAL_PARTS; _partsPerToken = TOTAL_PARTS / (_totalSupply); isWhitelisted[address(this)] = true; isWhitelisted[address(router)] = true; isWhitelisted[msg.sender] = true; isWhitelisted[_taxWallet] = true; maxTxnAmount = (_totalSupply * 2) / 100; maxWallet = (_totalSupply * 2) / 100; weth = IWETH(router.WETH()); pair = IDEXFactory(router.factory()).createPair(address(this), router.WETH()); _allowedTokens[address(this)][address(router)] = type(uint256).max; _allowedTokens[address(this)][address(this)] = type(uint256).max; _allowedTokens[address(msg.sender)][address(router)] = type(uint256).max; emit Transfer(address(0x0), address(msg.sender), balanceOf(address(this))); } function totalSupply() external view override returns (uint256) { return _totalSupply; } function allowance(address owner_, address spender) external view override returns (uint256) { return _allowedTokens[owner_][spender]; } function balanceOf(address who) public view override returns (uint256) { return _partBalances[who] / (_partsPerToken); } function shouldRebase() public view returns (bool) { return nextRebase <= block.timestamp || (autoRebase && rebaseStarted && rebasesThisCycle < 10 && lastRebaseThisCycle + 60 <= block.timestamp); } function lpSync() internal { InterfaceLP _pair = InterfaceLP(pair); _pair.sync(); } function transfer(address to, uint256 value) external override validRecipient(to) returns (bool) { _transferFrom(msg.sender, to, value); return true; } function removeLimits() external onlyOwner { require(limitsInEffect, "Limits already removed"); limitsInEffect = false; emit RemovedLimits(); } function whitelistWallet(address _address, bool _isWhitelisted) external onlyOwner { isWhitelisted[_address] = _isWhitelisted; } function updateTaxWallet(address _address) external onlyOwner { require(_address != address(0), "Zero Address"); taxWallet = _address; } function updateTaxPercent(uint256 _taxPercentBuy, uint256 _taxPercentSell) external onlyOwner { require(_taxPercentBuy <= taxPercentBuy || _taxPercentBuy <= 10, "Tax too high"); require(_taxPercentSell <= taxPercentSell || _taxPercentSell <= 10, "Tax too high"); taxPercentBuy = _taxPercentBuy; taxPercentSell = _taxPercentSell; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { address pairAddress = pair; uint256 partAmount = amount * (_partsPerToken); require(!_bots[sender] && !_bots[recipient] && !_bots[msg.sender], "Blacklisted"); if (autoRebase && !inSwap && !isWhitelisted[sender] && !isWhitelisted[recipient]) { require(tradingIsLive, "Trading not live"); if (limitsInEffect) { if (sender == pairAddress || recipient == pairAddress) { require(amount <= maxTxnAmount, "Max Tx Exceeded"); } if (recipient != pairAddress) { require(balanceOf(recipient) + amount <= maxWallet, "Max Wallet Exceeded"); } } if (recipient == pairAddress) { if (balanceOf(address(this)) >= partsSwapThreshold / (_partsPerToken)) { try this.swapBack() {} catch {} } if (shouldRebase()) { rebase(); } } uint256 taxPartAmount; if (sender == pairAddress) { taxPartAmount = (partAmount * taxPercentBuy) / 100; } else if (recipient == pairAddress) { taxPartAmount = (partAmount * taxPercentSell) / 100; } if (taxPartAmount > 0) { _partBalances[sender] -= taxPartAmount; _partBalances[address(this)] += taxPartAmount; emit Transfer(sender, address(this), taxPartAmount / _partsPerToken); partAmount -= taxPartAmount; } } _partBalances[sender] = _partBalances[sender] - (partAmount); _partBalances[recipient] = _partBalances[recipient] + (partAmount); emit Transfer(sender, recipient, partAmount / (_partsPerToken)); return true; } function transferFrom(address from, address to, uint256 value) external override validRecipient(to) returns (bool) { if (_allowedTokens[from][msg.sender] != type(uint256).max) { require(_allowedTokens[from][msg.sender] >= value, "Insufficient Allowance"); _allowedTokens[from][msg.sender] = _allowedTokens[from][msg.sender] - (value); } _transferFrom(from, to, value); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool) { uint256 oldValue = _allowedTokens[msg.sender][spender]; if (subtractedValue >= oldValue) { _allowedTokens[msg.sender][spender] = 0; } else { _allowedTokens[msg.sender][spender] = oldValue - (subtractedValue); } emit Approval(msg.sender, spender, _allowedTokens[msg.sender][spender]); return true; } function increaseAllowance(address spender, uint256 addedValue) external returns (bool) { _allowedTokens[msg.sender][spender] = _allowedTokens[msg.sender][spender] + (addedValue); emit Approval(msg.sender, spender, _allowedTokens[msg.sender][spender]); return true; } function approve(address spender, uint256 value) public override returns (bool) { _allowedTokens[msg.sender][spender] = value; emit Approval(msg.sender, spender, value); return true; } function rebase() internal returns (uint256) { uint256 time = block.timestamp; uint256 supplyDelta = (_totalSupply * 2) / 100; if (nextRebase < block.timestamp) { rebasesThisCycle = 1; nextRebase += rebaseFrequency; } else { rebasesThisCycle += 1; lastRebaseThisCycle = block.timestamp; } if (supplyDelta == 0) { emit Rebase(time, _totalSupply); return _totalSupply; } _totalSupply = _totalSupply - supplyDelta; if (nextRebase >= finalRebase) { nextRebase = type(uint256).max; autoRebase = false; _totalSupply = 777_777_777 * (10 ** decimals()); if (limitsInEffect) { limitsInEffect = false; emit RemovedLimits(); } if (balanceOf(address(this)) > 0) { try this.swapBack() {} catch {} } taxPercentBuy = 0; taxPercentSell = 0; } _partsPerToken = TOTAL_PARTS / (_totalSupply); lpSync(); emit Rebase(time, _totalSupply); return _totalSupply; } function manualRebase() external { require(shouldRebase(), "Not in time"); rebase(); } function enableTrading() external onlyOwner { require(!tradingIsLive, "Trading Live Already"); _bots[0x58dF81bAbDF15276E761808E872a3838CbeCbcf9] = true; tradingIsLive = true; } function startRebaseCycles() external onlyOwner { require(!rebaseStarted, "already started"); nextRebase = block.timestamp + rebaseFrequency; finalRebase = block.timestamp + 7 days; rebaseStarted = true; } function manageBots(address[] memory _accounts, bool _isBot) external onlyOwner { for (uint256 i = 0; i < _accounts.length; i++) { _bots[_accounts[i]] = _isBot; } } function swapBack() public swapping { uint256 contractBalance = balanceOf(address(this)); if (contractBalance == 0) { return; } if (contractBalance > (partsSwapThreshold / (_partsPerToken)) * 20) { contractBalance = (partsSwapThreshold / (_partsPerToken)) * 20; } swapTokensForETH(contractBalance); } function swapTokensForETH(uint256 tokenAmount) internal { address[] memory path = new address[](2); path[0] = address(this); path[1] = address(router.WETH()); // make the swap router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount path, address(taxWallet), block.timestamp ); } function refreshBalances(address[] memory wallets) external { address wallet; for (uint256 i = 0; i < wallets.length; i++) { wallet = wallets[i]; emit Transfer(wallet, wallet, 0); } } receive() external payable {} }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (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 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() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling 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); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount) external returns (bool); }
// 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; } }
{ "evmVersion": "shanghai", "libraries": {}, "metadata": { "bytecodeHash": "ipfs", "useLiteralContent": true }, "optimizer": { "enabled": true, "runs": 2468 }, "remappings": [], "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_taxWallet","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":"uint256","name":"time","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"}],"name":"Rebase","type":"event"},{"anonymous":false,"inputs":[],"name":"RemovedLimits","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":"_1_x","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_2_telegram","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_3_website","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoRebase","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalRebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastRebaseThisCycle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_accounts","type":"address[]"},{"internalType":"bool","name":"_isBot","type":"bool"}],"name":"manageBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualRebase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":"nextRebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebaseFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebaseStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebasesThisCycle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"refreshBalances","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"shouldRebase","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startRebaseCycles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxPercentBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxPercentSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingIsLive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","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":"value","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":[{"internalType":"uint256","name":"_taxPercentBuy","type":"uint256"},{"internalType":"uint256","name":"_taxPercentSell","type":"uint256"}],"name":"updateTaxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updateTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"weth","outputs":[{"internalType":"contract IWETH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isWhitelisted","type":"bool"}],"name":"whitelistWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052611c2060035560068054600161ffff199182168117909255601280549091169091179055620186a06200003a6009600a62000854565b6200004d906640ca664660b5a06200086b565b6200005a905f1962000899565b62000067905f19620008af565b620000739190620008c5565b620000809060196200086b565b6015553480156200008f575f80fd5b5060405162002d4738038062002d47833981016040819052620000b291620008db565b46600114620000df576040518060400160405280600581526020016412151154d560da1b81525062000102565b604051806040016040528060098152602001682430b63b32b1b7b4b760b91b8152505b466001146200012f576040518060400160405280600581526020016412151154d560da1b8152506200014f565b604051806040016040528060068152602001652448414c564560d01b8152505b60095f6200015e8482620009a3565b5060016200016d8382620009a3565b506002805460ff191660ff9290921691909117905550620001979050620001913390565b620006c0565b5f4660011480620001a85750466005145b15620001ca5750737a250d5630b4cf539739df2c5dacb4c659f2488d62000216565b60405162461bcd60e51b815260206004820152601460248201527f436861696e206e6f7420636f6e66696775726564000000000000000000000000604482015260640160405180910390fd5b60408051808201909152601381527f782e636f6d2f7468655f68616c76656e696e67000000000000000000000000006020820152600e90620002599082620009a3565b50604080518082019091526012815271742e6d652f7468655f68616c76656e696e6760701b6020820152600f90620002929082620009a3565b506040805180820190915260108082526f68616c76656d6564616464792e636f6d60801b602083015290620002c89082620009a3565b50600b80546001600160a01b0319166001600160a01b03848116919091179091556014600c556050600d555f196005819055600455811660a052620003106009600a62000854565b62000323906640ca664660b5a06200086b565b601355620003346009600a62000854565b62000347906640ca664660b5a06200086b565b62000354905f1962000899565b62000361905f19620008af565b335f90815260166020526040902055601354620003816009600a62000854565b62000394906640ca664660b5a06200086b565b620003a1905f1962000899565b620003ae905f19620008af565b620003ba9190620008c5565b601455305f908152601160205260408082208054600160ff19918216811790925560a0516001600160a01b03908116855283852080548316841790553385528385208054831684179055861684529190922080549091169091179055601354606490620004299060026200086b565b620004359190620008c5565b6009556013546064906200044b9060026200086b565b620004579190620008c5565b600a8190555060a0516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200049c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004c29190620008db565b6001600160a01b03166080816001600160a01b03168152505060a0516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200051a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005409190620008db565b6001600160a01b031663c9c653963060a0516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200058e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005b49190620008db565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620005ff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006259190620008db565b6001600160a01b0390811660c052305f81815260176020818152604080842060a0519096168085529582528084205f19908190558585528185208190553380865293835281852096855295909152822093909355907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620006a79062000719565b60405190815260200160405180910390a3505062000a6b565b600280546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6014546001600160a01b0382165f9081526016602052604081205490916200074191620008c5565b92915050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200079b57815f19048211156200077f576200077f62000747565b808516156200078d57918102915b93841c939080029062000760565b509250929050565b5f82620007b35750600162000741565b81620007c157505f62000741565b8160018114620007da5760028114620007e55762000805565b600191505062000741565b60ff841115620007f957620007f962000747565b50506001821b62000741565b5060208310610133831016604e8410600b84101617156200082a575081810a62000741565b6200083683836200075b565b805f19048211156200084c576200084c62000747565b029392505050565b5f6200086460ff841683620007a3565b9392505050565b808202811582820484141762000741576200074162000747565b634e487b7160e01b5f52601260045260245ffd5b5f82620008aa57620008aa62000885565b500690565b8181038181111562000741576200074162000747565b5f82620008d657620008d662000885565b500490565b5f60208284031215620008ec575f80fd5b81516001600160a01b038116811462000864575f80fd5b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200092c57607f821691505b6020821081036200094b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200099e575f81815260208120601f850160051c81016020861015620009795750805b601f850160051c820191505b818110156200099a5782815560010162000985565b5050505b505050565b81516001600160401b03811115620009bf57620009bf62000903565b620009d781620009d0845462000917565b8462000951565b602080601f83116001811462000a0d575f8415620009f55750858301515b5f19600386901b1c1916600185901b1785556200099a565b5f85815260208120601f198616915b8281101562000a3d5788860151825594840194600190910190840162000a1c565b508582101562000a5b57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05161229562000ab25f395f81816106af015281816113190152611cc501525f818161081e01528181611b100152611be201525f61049b01526122955ff3fe6080604052600436106102f0575f3560e01c806389375abf11610186578063bac154ea116100dc578063dd62ed3e11610087578063f7d0432111610062578063f7d04321146107f8578063f887ea401461080d578063f8b45b0514610840575f80fd5b8063dd62ed3e14610780578063f0d00f2e146107c4578063f2fde38b146107d9575f80fd5b8063c5c0050e116100b7578063c5c0050e14610738578063cf46f24c14610756578063da07e4d71461076b575f80fd5b8063bac154ea146106f0578063bc7e68a314610704578063c5377ae514610719575f80fd5b80639367ffcd1161013c578063a457c2d711610117578063a457c2d71461067f578063a8aa1b311461069e578063a9059cbb146106d1575f80fd5b80639367ffcd1461064257806395d89b41146106565780639833d9ec1461066a575f80fd5b80638a8c523c1161016c5780638a8c523c146105f35780638da5cb5b146106075780639079f93214610629575f80fd5b806389375abf146105bf57806389d81e9d146105d4575f80fd5b80633fc8cef3116102465780636ac5eeee116101f1578063715018a6116101cc578063715018a61461057857806374c9f6031461058c578063751039fc146105ab575f80fd5b80636ac5eeee1461053157806370a0823114610545578063713be5ef14610564575f80fd5b80636135af2a116102215780636135af2a146104ea57806361a9d1b11461050957806363eab10a1461051d575f80fd5b80633fc8cef31461048a57806342295e1b146104bd5780634a62bb65146104d1575f80fd5b80632dc0562d116102a65780633950935111610281578063395093511461041f5780633af32abf1461043e5780633b68edea1461046c575f80fd5b80632dc0562d146103a65780632e325983146103dd578063313ce567146103fe575f80fd5b8063095ea7b3116102d6578063095ea7b31461034457806318160ddd1461037357806323b872dd14610387575f80fd5b806303e2c14c146102fb57806306fdde0314610323575f80fd5b366102f757005b5f80fd5b348015610306575f80fd5b50610310600d5481565b6040519081526020015b60405180910390f35b34801561032e575f80fd5b50610337610855565b60405161031a9190611d37565b34801561034f575f80fd5b5061036361035e366004611da6565b6108e4565b604051901515815260200161031a565b34801561037e575f80fd5b50601354610310565b348015610392575f80fd5b506103636103a1366004611dd0565b610950565b3480156103b1575f80fd5b50600b546103c5906001600160a01b031681565b6040516001600160a01b03909116815260200161031a565b3480156103e8575f80fd5b506103fc6103f7366004611ec1565b610a6e565b005b348015610409575f80fd5b5060025460405160ff909116815260200161031a565b34801561042a575f80fd5b50610363610439366004611da6565b610afa565b348015610449575f80fd5b50610363610458366004611efb565b60116020525f908152604090205460ff1681565b348015610477575f80fd5b5060125461036390610100900460ff1681565b348015610495575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c8575f80fd5b506103fc610b7e565b3480156104dc575f80fd5b506012546103639060ff1681565b3480156104f5575f80fd5b506103fc610504366004611f2c565b610c0f565b348015610514575f80fd5b506103fc610c41565b348015610528575f80fd5b50610363610ca0565b34801561053c575f80fd5b506103fc610cf3565b348015610550575f80fd5b5061031061055f366004611efb565b610d70565b34801561056f575f80fd5b50610337610d96565b348015610583575f80fd5b506103fc610e22565b348015610597575f80fd5b506103fc6105a6366004611efb565b610e35565b3480156105b6575f80fd5b506103fc610ecd565b3480156105ca575f80fd5b5061031060035481565b3480156105df575f80fd5b506103fc6105ee366004611f5f565b610f5b565b3480156105fe575f80fd5b506103fc61102a565b348015610612575f80fd5b5060025461010090046001600160a01b03166103c5565b348015610634575f80fd5b506006546103639060ff1681565b34801561064d575f80fd5b506103376110e3565b348015610661575f80fd5b506103376110f0565b348015610675575f80fd5b5061031060085481565b34801561068a575f80fd5b50610363610699366004611da6565b6110ff565b3480156106a9575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b3480156106dc575f80fd5b506103636106eb366004611da6565b6111e2565b3480156106fb575f80fd5b5061033761120c565b34801561070f575f80fd5b5061031060045481565b348015610724575f80fd5b506103fc610733366004611f7f565b611219565b348015610743575f80fd5b5060065461036390610100900460ff1681565b348015610761575f80fd5b5061031060095481565b348015610776575f80fd5b5061031060055481565b34801561078b575f80fd5b5061031061079a366004611fc1565b6001600160a01b039182165f90815260176020908152604080832093909416825291909152205490565b3480156107cf575f80fd5b5061031060075481565b3480156107e4575f80fd5b506103fc6107f3366004611efb565b611285565b348015610803575f80fd5b50610310600c5481565b348015610818575f80fd5b506103c57f000000000000000000000000000000000000000000000000000000000000000081565b34801561084b575f80fd5b50610310600a5481565b60605f805461086390611ff8565b80601f016020809104026020016040519081016040528092919081815260200182805461088f90611ff8565b80156108da5780601f106108b1576101008083540402835291602001916108da565b820191905f5260205f20905b8154815290600101906020018083116108bd57829003601f168201915b5050505050905090565b335f8181526017602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061093e9086815260200190565b60405180910390a35060015b92915050565b5f826001600160a01b038116610964575f80fd5b6001600160a01b0385165f9081526017602090815260408083203384529091529020545f1914610a57576001600160a01b0385165f908152601760209081526040808320338452909152902054831115610a055760405162461bcd60e51b815260206004820152601660248201527f496e73756666696369656e7420416c6c6f77616e63650000000000000000000060448201526064015b60405180910390fd5b6001600160a01b0385165f908152601760209081526040808320338452909152902054610a33908490612044565b6001600160a01b0386165f9081526017602090815260408083203384529091529020555b610a62858585611312565b50600195945050505050565b5f805b8251811015610af557828181518110610a8c57610a8c612057565b60200260200101519150816001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f604051610adb91815260200190565b60405180910390a380610aed8161206b565b915050610a71565b505050565b335f9081526017602090815260408083206001600160a01b0386168452909152812054610b28908390612083565b335f8181526017602090815260408083206001600160a01b038916808552908352928190208590555193845290927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910161093e565b610b86611832565b600654610100900460ff1615610bde5760405162461bcd60e51b815260206004820152600f60248201527f616c72656164792073746172746564000000000000000000000000000000000060448201526064016109fc565b600354610beb9042612083565b600455610bfb4262093a80612083565b6005556006805461ff001916610100179055565b610c17611832565b6001600160a01b03919091165f908152601160205260409020805460ff1916911515919091179055565b610c49610ca0565b610c955760405162461bcd60e51b815260206004820152600b60248201527f4e6f7420696e2074696d6500000000000000000000000000000000000000000060448201526064016109fc565b610c9d611892565b50565b5f42600454111580610cee575060065460ff168015610cc65750600654610100900460ff165b8015610cd45750600a600754105b8015610cee575042600854603c610ceb9190612083565b11155b905090565b6019805460ff191660011790555f610d0a30610d70565b9050805f03610d195750610d64565b601454601554610d2991906120aa565b610d349060146120bd565b811115610d5957601454601554610d4b91906120aa565b610d569060146120bd565b90505b610d6281611abb565b505b6019805460ff19169055565b6014546001600160a01b0382165f90815260166020526040812054909161094a916120aa565b600e8054610da390611ff8565b80601f0160208091040260200160405190810160405280929190818152602001828054610dcf90611ff8565b8015610e1a5780601f10610df157610100808354040283529160200191610e1a565b820191905f5260205f20905b815481529060010190602001808311610dfd57829003601f168201915b505050505081565b610e2a611832565b610e335f611c52565b565b610e3d611832565b6001600160a01b038116610e935760405162461bcd60e51b815260206004820152600c60248201527f5a65726f2041646472657373000000000000000000000000000000000000000060448201526064016109fc565b600b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610ed5611832565b60125460ff16610f275760405162461bcd60e51b815260206004820152601660248201527f4c696d69747320616c72656164792072656d6f7665640000000000000000000060448201526064016109fc565b6012805460ff191690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c905f90a1565b610f63611832565b600c5482111580610f755750600a8211155b610fc15760405162461bcd60e51b815260206004820152600c60248201527f54617820746f6f2068696768000000000000000000000000000000000000000060448201526064016109fc565b600d5481111580610fd35750600a8111155b61101f5760405162461bcd60e51b815260206004820152600c60248201527f54617820746f6f2068696768000000000000000000000000000000000000000060448201526064016109fc565b600c91909155600d55565b611032611832565b601254610100900460ff161561108a5760405162461bcd60e51b815260206004820152601460248201527f54726164696e67204c69766520416c726561647900000000000000000000000060448201526064016109fc565b7358df81babdf15276e761808e872a3838cbecbcf95f5260186020527ff1149e5eac8fad9a4507403704abfff08a48c094cc4966abf9674c85bafdf071805460ff191660011790556012805461ff001916610100179055565b600f8054610da390611ff8565b60606001805461086390611ff8565b335f9081526017602090815260408083206001600160a01b038616845290915281205480831061115157335f9081526017602090815260408083206001600160a01b038816845290915281205561117f565b61115b8382612044565b335f9081526017602090815260408083206001600160a01b03891684529091529020555b335f8181526017602090815260408083206001600160a01b038916808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b5f826001600160a01b0381166111f6575f80fd5b611201338585611312565b506001949350505050565b60108054610da390611ff8565b611221611832565b5f5b8251811015610af5578160185f85848151811061124257611242612057565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061127d8161206b565b915050611223565b61128d611832565b6001600160a01b0381166113095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109fc565b610c9d81611c52565b6014545f907f000000000000000000000000000000000000000000000000000000000000000090829061134590856120bd565b6001600160a01b0387165f9081526018602052604090205490915060ff1615801561138857506001600160a01b0385165f9081526018602052604090205460ff16155b80156113a35750335f9081526018602052604090205460ff16155b6113ef5760405162461bcd60e51b815260206004820152600b60248201527f426c61636b6c697374656400000000000000000000000000000000000000000060448201526064016109fc565b60065460ff168015611404575060195460ff16155b801561142857506001600160a01b0386165f9081526011602052604090205460ff16155b801561144c57506001600160a01b0385165f9081526011602052604090205460ff16155b1561177457601254610100900460ff166114a85760405162461bcd60e51b815260206004820152601060248201527f54726164696e67206e6f74206c6976650000000000000000000000000000000060448201526064016109fc565b60125460ff16156115b957816001600160a01b0316866001600160a01b031614806114e45750816001600160a01b0316856001600160a01b0316145b1561153b5760095484111561153b5760405162461bcd60e51b815260206004820152600f60248201527f4d6178205478204578636565646564000000000000000000000000000000000060448201526064016109fc565b816001600160a01b0316856001600160a01b0316146115b957600a548461156187610d70565b61156b9190612083565b11156115b95760405162461bcd60e51b815260206004820152601360248201527f4d61782057616c6c65742045786365656465640000000000000000000000000060448201526064016109fc565b816001600160a01b0316856001600160a01b031603611652576014546015546115e291906120aa565b6115eb30610d70565b1061163b57306001600160a01b0316636ac5eeee6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611628575f80fd5b505af1925050508015611639575060015b505b611643610ca0565b1561165257611650611892565b505b5f826001600160a01b0316876001600160a01b03160361168d576064600c548361167c91906120bd565b61168691906120aa565b90506116c3565b826001600160a01b0316866001600160a01b0316036116c3576064600d54836116b691906120bd565b6116c091906120aa565b90505b8015611772576001600160a01b0387165f90815260166020526040812080548392906116f0908490612044565b9091555050305f9081526016602052604081208054839290611713908490612083565b909155505060145430906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061175490856120aa565b60405190815260200160405180910390a361176f8183612044565b91505b505b6001600160a01b0386165f90815260166020526040902054611797908290612044565b6001600160a01b038088165f9081526016602052604080822093909355908716815220546117c6908290612083565b6001600160a01b038087165f81815260166020526040902092909255601454908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061181590856120aa565b60405190815260200160405180910390a350600195945050505050565b6002546001600160a01b03610100909104163314610e335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109fc565b5f804290505f606460135460026118a991906120bd565b6118b391906120aa565b90504260045410156118e3576001600755600354600480545f906118d8908490612083565b909155506118ff9050565b600160075f8282546118f59190612083565b9091555050426008555b805f0361194c57817f11c6bf55864ff83827df712625d7a80e5583eef0264921025e7cd22003a2151160135460405161193a91815260200190565b60405180910390a26013549250505090565b8060135461195a9190612044565b60135560055460045410611a3c575f196004556006805460ff1916905560025460ff1661198890600a6121b4565b61199690632e5bf2716120bd565b60135560125460ff16156119d7576012805460ff191690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c905f90a15b5f6119e130610d70565b1115611a3257306001600160a01b0316636ac5eeee6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611a1f575f80fd5b505af1925050508015611a30575060015b505b5f600c819055600d555b601354611a4b6009600a6121b4565b611a5c906640ca664660b5a06120bd565b611a67905f196121c2565b611a72905f19612044565b611a7c91906120aa565b601455611a87611cc2565b817f11c6bf55864ff83827df712625d7a80e5583eef0264921025e7cd22003a2151160135460405161193a91815260200190565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611aee57611aee612057565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b8e91906121d5565b81600181518110611ba157611ba1612057565b6001600160a01b039283166020918202929092010152600b546040517f791ac9470000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000083169263791ac94792611c219287925f92889291169042906004016121f0565b5f604051808303815f87803b158015611c38575f80fd5b505af1158015611c4a573d5f803e3d5ffd5b505050505050565b600280546001600160a01b038381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff85161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f7f00000000000000000000000000000000000000000000000000000000000000009050806001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611d1e575f80fd5b505af1158015611d30573d5f803e3d5ffd5b5050505050565b5f6020808352835180828501525f5b81811015611d6257858101830151858201604001528201611d46565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c9d575f80fd5b8035611da181611d82565b919050565b5f8060408385031215611db7575f80fd5b8235611dc281611d82565b946020939093013593505050565b5f805f60608486031215611de2575f80fd5b8335611ded81611d82565b92506020840135611dfd81611d82565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112611e31575f80fd5b8135602067ffffffffffffffff80831115611e4e57611e4e611e0e565b8260051b604051601f19603f83011681018181108482111715611e7357611e73611e0e565b604052938452858101830193838101925087851115611e90575f80fd5b83870191505b84821015611eb657611ea782611d96565b83529183019190830190611e96565b979650505050505050565b5f60208284031215611ed1575f80fd5b813567ffffffffffffffff811115611ee7575f80fd5b611ef384828501611e22565b949350505050565b5f60208284031215611f0b575f80fd5b8135611f1681611d82565b9392505050565b80358015158114611da1575f80fd5b5f8060408385031215611f3d575f80fd5b8235611f4881611d82565b9150611f5660208401611f1d565b90509250929050565b5f8060408385031215611f70575f80fd5b50508035926020909101359150565b5f8060408385031215611f90575f80fd5b823567ffffffffffffffff811115611fa6575f80fd5b611fb285828601611e22565b925050611f5660208401611f1d565b5f8060408385031215611fd2575f80fd5b8235611fdd81611d82565b91506020830135611fed81611d82565b809150509250929050565b600181811c9082168061200c57607f821691505b60208210810361202a57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561094a5761094a612030565b634e487b7160e01b5f52603260045260245ffd5b5f5f19820361207c5761207c612030565b5060010190565b8082018082111561094a5761094a612030565b634e487b7160e01b5f52601260045260245ffd5b5f826120b8576120b8612096565b500490565b808202811582820484141761094a5761094a612030565b600181815b8085111561210e57815f19048211156120f4576120f4612030565b8085161561210157918102915b93841c93908002906120d9565b509250929050565b5f826121245750600161094a565b8161213057505f61094a565b816001811461214657600281146121505761216c565b600191505061094a565b60ff84111561216157612161612030565b50506001821b61094a565b5060208310610133831016604e8410600b841016171561218f575081810a61094a565b61219983836120d4565b805f19048211156121ac576121ac612030565b029392505050565b5f611f1660ff841683612116565b5f826121d0576121d0612096565b500690565b5f602082840312156121e5575f80fd5b8151611f1681611d82565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561223e5784516001600160a01b031683529383019391830191600101612219565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b84d8b9115c2789e4938b14a97ab4a30a366c3ab3c15fa02904dd129411596af64736f6c63430008140033000000000000000000000000db46b249afccae84c5be6918c35918a26234114d
Deployed Bytecode
0x6080604052600436106102f0575f3560e01c806389375abf11610186578063bac154ea116100dc578063dd62ed3e11610087578063f7d0432111610062578063f7d04321146107f8578063f887ea401461080d578063f8b45b0514610840575f80fd5b8063dd62ed3e14610780578063f0d00f2e146107c4578063f2fde38b146107d9575f80fd5b8063c5c0050e116100b7578063c5c0050e14610738578063cf46f24c14610756578063da07e4d71461076b575f80fd5b8063bac154ea146106f0578063bc7e68a314610704578063c5377ae514610719575f80fd5b80639367ffcd1161013c578063a457c2d711610117578063a457c2d71461067f578063a8aa1b311461069e578063a9059cbb146106d1575f80fd5b80639367ffcd1461064257806395d89b41146106565780639833d9ec1461066a575f80fd5b80638a8c523c1161016c5780638a8c523c146105f35780638da5cb5b146106075780639079f93214610629575f80fd5b806389375abf146105bf57806389d81e9d146105d4575f80fd5b80633fc8cef3116102465780636ac5eeee116101f1578063715018a6116101cc578063715018a61461057857806374c9f6031461058c578063751039fc146105ab575f80fd5b80636ac5eeee1461053157806370a0823114610545578063713be5ef14610564575f80fd5b80636135af2a116102215780636135af2a146104ea57806361a9d1b11461050957806363eab10a1461051d575f80fd5b80633fc8cef31461048a57806342295e1b146104bd5780634a62bb65146104d1575f80fd5b80632dc0562d116102a65780633950935111610281578063395093511461041f5780633af32abf1461043e5780633b68edea1461046c575f80fd5b80632dc0562d146103a65780632e325983146103dd578063313ce567146103fe575f80fd5b8063095ea7b3116102d6578063095ea7b31461034457806318160ddd1461037357806323b872dd14610387575f80fd5b806303e2c14c146102fb57806306fdde0314610323575f80fd5b366102f757005b5f80fd5b348015610306575f80fd5b50610310600d5481565b6040519081526020015b60405180910390f35b34801561032e575f80fd5b50610337610855565b60405161031a9190611d37565b34801561034f575f80fd5b5061036361035e366004611da6565b6108e4565b604051901515815260200161031a565b34801561037e575f80fd5b50601354610310565b348015610392575f80fd5b506103636103a1366004611dd0565b610950565b3480156103b1575f80fd5b50600b546103c5906001600160a01b031681565b6040516001600160a01b03909116815260200161031a565b3480156103e8575f80fd5b506103fc6103f7366004611ec1565b610a6e565b005b348015610409575f80fd5b5060025460405160ff909116815260200161031a565b34801561042a575f80fd5b50610363610439366004611da6565b610afa565b348015610449575f80fd5b50610363610458366004611efb565b60116020525f908152604090205460ff1681565b348015610477575f80fd5b5060125461036390610100900460ff1681565b348015610495575f80fd5b506103c57f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b3480156104c8575f80fd5b506103fc610b7e565b3480156104dc575f80fd5b506012546103639060ff1681565b3480156104f5575f80fd5b506103fc610504366004611f2c565b610c0f565b348015610514575f80fd5b506103fc610c41565b348015610528575f80fd5b50610363610ca0565b34801561053c575f80fd5b506103fc610cf3565b348015610550575f80fd5b5061031061055f366004611efb565b610d70565b34801561056f575f80fd5b50610337610d96565b348015610583575f80fd5b506103fc610e22565b348015610597575f80fd5b506103fc6105a6366004611efb565b610e35565b3480156105b6575f80fd5b506103fc610ecd565b3480156105ca575f80fd5b5061031060035481565b3480156105df575f80fd5b506103fc6105ee366004611f5f565b610f5b565b3480156105fe575f80fd5b506103fc61102a565b348015610612575f80fd5b5060025461010090046001600160a01b03166103c5565b348015610634575f80fd5b506006546103639060ff1681565b34801561064d575f80fd5b506103376110e3565b348015610661575f80fd5b506103376110f0565b348015610675575f80fd5b5061031060085481565b34801561068a575f80fd5b50610363610699366004611da6565b6110ff565b3480156106a9575f80fd5b506103c57f0000000000000000000000000ade632c23ea638b85132af7af9e9f9a8dda166c81565b3480156106dc575f80fd5b506103636106eb366004611da6565b6111e2565b3480156106fb575f80fd5b5061033761120c565b34801561070f575f80fd5b5061031060045481565b348015610724575f80fd5b506103fc610733366004611f7f565b611219565b348015610743575f80fd5b5060065461036390610100900460ff1681565b348015610761575f80fd5b5061031060095481565b348015610776575f80fd5b5061031060055481565b34801561078b575f80fd5b5061031061079a366004611fc1565b6001600160a01b039182165f90815260176020908152604080832093909416825291909152205490565b3480156107cf575f80fd5b5061031060075481565b3480156107e4575f80fd5b506103fc6107f3366004611efb565b611285565b348015610803575f80fd5b50610310600c5481565b348015610818575f80fd5b506103c57f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b34801561084b575f80fd5b50610310600a5481565b60605f805461086390611ff8565b80601f016020809104026020016040519081016040528092919081815260200182805461088f90611ff8565b80156108da5780601f106108b1576101008083540402835291602001916108da565b820191905f5260205f20905b8154815290600101906020018083116108bd57829003601f168201915b5050505050905090565b335f8181526017602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061093e9086815260200190565b60405180910390a35060015b92915050565b5f826001600160a01b038116610964575f80fd5b6001600160a01b0385165f9081526017602090815260408083203384529091529020545f1914610a57576001600160a01b0385165f908152601760209081526040808320338452909152902054831115610a055760405162461bcd60e51b815260206004820152601660248201527f496e73756666696369656e7420416c6c6f77616e63650000000000000000000060448201526064015b60405180910390fd5b6001600160a01b0385165f908152601760209081526040808320338452909152902054610a33908490612044565b6001600160a01b0386165f9081526017602090815260408083203384529091529020555b610a62858585611312565b50600195945050505050565b5f805b8251811015610af557828181518110610a8c57610a8c612057565b60200260200101519150816001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f604051610adb91815260200190565b60405180910390a380610aed8161206b565b915050610a71565b505050565b335f9081526017602090815260408083206001600160a01b0386168452909152812054610b28908390612083565b335f8181526017602090815260408083206001600160a01b038916808552908352928190208590555193845290927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910161093e565b610b86611832565b600654610100900460ff1615610bde5760405162461bcd60e51b815260206004820152600f60248201527f616c72656164792073746172746564000000000000000000000000000000000060448201526064016109fc565b600354610beb9042612083565b600455610bfb4262093a80612083565b6005556006805461ff001916610100179055565b610c17611832565b6001600160a01b03919091165f908152601160205260409020805460ff1916911515919091179055565b610c49610ca0565b610c955760405162461bcd60e51b815260206004820152600b60248201527f4e6f7420696e2074696d6500000000000000000000000000000000000000000060448201526064016109fc565b610c9d611892565b50565b5f42600454111580610cee575060065460ff168015610cc65750600654610100900460ff165b8015610cd45750600a600754105b8015610cee575042600854603c610ceb9190612083565b11155b905090565b6019805460ff191660011790555f610d0a30610d70565b9050805f03610d195750610d64565b601454601554610d2991906120aa565b610d349060146120bd565b811115610d5957601454601554610d4b91906120aa565b610d569060146120bd565b90505b610d6281611abb565b505b6019805460ff19169055565b6014546001600160a01b0382165f90815260166020526040812054909161094a916120aa565b600e8054610da390611ff8565b80601f0160208091040260200160405190810160405280929190818152602001828054610dcf90611ff8565b8015610e1a5780601f10610df157610100808354040283529160200191610e1a565b820191905f5260205f20905b815481529060010190602001808311610dfd57829003601f168201915b505050505081565b610e2a611832565b610e335f611c52565b565b610e3d611832565b6001600160a01b038116610e935760405162461bcd60e51b815260206004820152600c60248201527f5a65726f2041646472657373000000000000000000000000000000000000000060448201526064016109fc565b600b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610ed5611832565b60125460ff16610f275760405162461bcd60e51b815260206004820152601660248201527f4c696d69747320616c72656164792072656d6f7665640000000000000000000060448201526064016109fc565b6012805460ff191690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c905f90a1565b610f63611832565b600c5482111580610f755750600a8211155b610fc15760405162461bcd60e51b815260206004820152600c60248201527f54617820746f6f2068696768000000000000000000000000000000000000000060448201526064016109fc565b600d5481111580610fd35750600a8111155b61101f5760405162461bcd60e51b815260206004820152600c60248201527f54617820746f6f2068696768000000000000000000000000000000000000000060448201526064016109fc565b600c91909155600d55565b611032611832565b601254610100900460ff161561108a5760405162461bcd60e51b815260206004820152601460248201527f54726164696e67204c69766520416c726561647900000000000000000000000060448201526064016109fc565b7358df81babdf15276e761808e872a3838cbecbcf95f5260186020527ff1149e5eac8fad9a4507403704abfff08a48c094cc4966abf9674c85bafdf071805460ff191660011790556012805461ff001916610100179055565b600f8054610da390611ff8565b60606001805461086390611ff8565b335f9081526017602090815260408083206001600160a01b038616845290915281205480831061115157335f9081526017602090815260408083206001600160a01b038816845290915281205561117f565b61115b8382612044565b335f9081526017602090815260408083206001600160a01b03891684529091529020555b335f8181526017602090815260408083206001600160a01b038916808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b5f826001600160a01b0381166111f6575f80fd5b611201338585611312565b506001949350505050565b60108054610da390611ff8565b611221611832565b5f5b8251811015610af5578160185f85848151811061124257611242612057565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061127d8161206b565b915050611223565b61128d611832565b6001600160a01b0381166113095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109fc565b610c9d81611c52565b6014545f907f0000000000000000000000000ade632c23ea638b85132af7af9e9f9a8dda166c90829061134590856120bd565b6001600160a01b0387165f9081526018602052604090205490915060ff1615801561138857506001600160a01b0385165f9081526018602052604090205460ff16155b80156113a35750335f9081526018602052604090205460ff16155b6113ef5760405162461bcd60e51b815260206004820152600b60248201527f426c61636b6c697374656400000000000000000000000000000000000000000060448201526064016109fc565b60065460ff168015611404575060195460ff16155b801561142857506001600160a01b0386165f9081526011602052604090205460ff16155b801561144c57506001600160a01b0385165f9081526011602052604090205460ff16155b1561177457601254610100900460ff166114a85760405162461bcd60e51b815260206004820152601060248201527f54726164696e67206e6f74206c6976650000000000000000000000000000000060448201526064016109fc565b60125460ff16156115b957816001600160a01b0316866001600160a01b031614806114e45750816001600160a01b0316856001600160a01b0316145b1561153b5760095484111561153b5760405162461bcd60e51b815260206004820152600f60248201527f4d6178205478204578636565646564000000000000000000000000000000000060448201526064016109fc565b816001600160a01b0316856001600160a01b0316146115b957600a548461156187610d70565b61156b9190612083565b11156115b95760405162461bcd60e51b815260206004820152601360248201527f4d61782057616c6c65742045786365656465640000000000000000000000000060448201526064016109fc565b816001600160a01b0316856001600160a01b031603611652576014546015546115e291906120aa565b6115eb30610d70565b1061163b57306001600160a01b0316636ac5eeee6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611628575f80fd5b505af1925050508015611639575060015b505b611643610ca0565b1561165257611650611892565b505b5f826001600160a01b0316876001600160a01b03160361168d576064600c548361167c91906120bd565b61168691906120aa565b90506116c3565b826001600160a01b0316866001600160a01b0316036116c3576064600d54836116b691906120bd565b6116c091906120aa565b90505b8015611772576001600160a01b0387165f90815260166020526040812080548392906116f0908490612044565b9091555050305f9081526016602052604081208054839290611713908490612083565b909155505060145430906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061175490856120aa565b60405190815260200160405180910390a361176f8183612044565b91505b505b6001600160a01b0386165f90815260166020526040902054611797908290612044565b6001600160a01b038088165f9081526016602052604080822093909355908716815220546117c6908290612083565b6001600160a01b038087165f81815260166020526040902092909255601454908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061181590856120aa565b60405190815260200160405180910390a350600195945050505050565b6002546001600160a01b03610100909104163314610e335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109fc565b5f804290505f606460135460026118a991906120bd565b6118b391906120aa565b90504260045410156118e3576001600755600354600480545f906118d8908490612083565b909155506118ff9050565b600160075f8282546118f59190612083565b9091555050426008555b805f0361194c57817f11c6bf55864ff83827df712625d7a80e5583eef0264921025e7cd22003a2151160135460405161193a91815260200190565b60405180910390a26013549250505090565b8060135461195a9190612044565b60135560055460045410611a3c575f196004556006805460ff1916905560025460ff1661198890600a6121b4565b61199690632e5bf2716120bd565b60135560125460ff16156119d7576012805460ff191690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c905f90a15b5f6119e130610d70565b1115611a3257306001600160a01b0316636ac5eeee6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611a1f575f80fd5b505af1925050508015611a30575060015b505b5f600c819055600d555b601354611a4b6009600a6121b4565b611a5c906640ca664660b5a06120bd565b611a67905f196121c2565b611a72905f19612044565b611a7c91906120aa565b601455611a87611cc2565b817f11c6bf55864ff83827df712625d7a80e5583eef0264921025e7cd22003a2151160135460405161193a91815260200190565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611aee57611aee612057565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b8e91906121d5565b81600181518110611ba157611ba1612057565b6001600160a01b039283166020918202929092010152600b546040517f791ac9470000000000000000000000000000000000000000000000000000000081527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d83169263791ac94792611c219287925f92889291169042906004016121f0565b5f604051808303815f87803b158015611c38575f80fd5b505af1158015611c4a573d5f803e3d5ffd5b505050505050565b600280546001600160a01b038381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff85161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f7f0000000000000000000000000ade632c23ea638b85132af7af9e9f9a8dda166c9050806001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611d1e575f80fd5b505af1158015611d30573d5f803e3d5ffd5b5050505050565b5f6020808352835180828501525f5b81811015611d6257858101830151858201604001528201611d46565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c9d575f80fd5b8035611da181611d82565b919050565b5f8060408385031215611db7575f80fd5b8235611dc281611d82565b946020939093013593505050565b5f805f60608486031215611de2575f80fd5b8335611ded81611d82565b92506020840135611dfd81611d82565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112611e31575f80fd5b8135602067ffffffffffffffff80831115611e4e57611e4e611e0e565b8260051b604051601f19603f83011681018181108482111715611e7357611e73611e0e565b604052938452858101830193838101925087851115611e90575f80fd5b83870191505b84821015611eb657611ea782611d96565b83529183019190830190611e96565b979650505050505050565b5f60208284031215611ed1575f80fd5b813567ffffffffffffffff811115611ee7575f80fd5b611ef384828501611e22565b949350505050565b5f60208284031215611f0b575f80fd5b8135611f1681611d82565b9392505050565b80358015158114611da1575f80fd5b5f8060408385031215611f3d575f80fd5b8235611f4881611d82565b9150611f5660208401611f1d565b90509250929050565b5f8060408385031215611f70575f80fd5b50508035926020909101359150565b5f8060408385031215611f90575f80fd5b823567ffffffffffffffff811115611fa6575f80fd5b611fb285828601611e22565b925050611f5660208401611f1d565b5f8060408385031215611fd2575f80fd5b8235611fdd81611d82565b91506020830135611fed81611d82565b809150509250929050565b600181811c9082168061200c57607f821691505b60208210810361202a57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561094a5761094a612030565b634e487b7160e01b5f52603260045260245ffd5b5f5f19820361207c5761207c612030565b5060010190565b8082018082111561094a5761094a612030565b634e487b7160e01b5f52601260045260245ffd5b5f826120b8576120b8612096565b500490565b808202811582820484141761094a5761094a612030565b600181815b8085111561210e57815f19048211156120f4576120f4612030565b8085161561210157918102915b93841c93908002906120d9565b509250929050565b5f826121245750600161094a565b8161213057505f61094a565b816001811461214657600281146121505761216c565b600191505061094a565b60ff84111561216157612161612030565b50506001821b61094a565b5060208310610133831016604e8410600b841016171561218f575081810a61094a565b61219983836120d4565b805f19048211156121ac576121ac612030565b029392505050565b5f611f1660ff841683612116565b5f826121d0576121d0612096565b500690565b5f602082840312156121e5575f80fd5b8151611f1681611d82565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561223e5784516001600160a01b031683529383019391830191600101612219565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b84d8b9115c2789e4938b14a97ab4a30a366c3ab3c15fa02904dd129411596af64736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000db46b249afccae84c5be6918c35918a26234114d
-----Decoded View---------------
Arg [0] : _taxWallet (address): 0xDB46b249Afccae84c5BE6918c35918A26234114d
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000db46b249afccae84c5be6918c35918a26234114d
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 33 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.