More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 66 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 21130353 | 67 days ago | IN | 0 ETH | 0.00080021 | ||||
Approve | 21130343 | 67 days ago | IN | 0 ETH | 0.00087386 | ||||
Transfer | 21130328 | 67 days ago | IN | 0 ETH | 0.00229731 | ||||
Approve | 21130289 | 67 days ago | IN | 0 ETH | 0.00089053 | ||||
Renounce Ownersh... | 21130286 | 67 days ago | IN | 0 ETH | 0.0003395 | ||||
Approve | 21130284 | 67 days ago | IN | 0 ETH | 0.00084296 | ||||
Approve | 21130281 | 67 days ago | IN | 0 ETH | 0.00081994 | ||||
Approve | 21130280 | 67 days ago | IN | 0 ETH | 0.00073189 | ||||
Update Fees | 21130278 | 67 days ago | IN | 0 ETH | 0.00043574 | ||||
Approve | 21130270 | 67 days ago | IN | 0 ETH | 0.00081062 | ||||
Remove Limits | 21130266 | 67 days ago | IN | 0 ETH | 0.00047865 | ||||
Approve | 21130266 | 67 days ago | IN | 0 ETH | 0.00087839 | ||||
Approve | 21130265 | 67 days ago | IN | 0 ETH | 0.00087356 | ||||
Transfer | 21130262 | 67 days ago | IN | 0 ETH | 0.00229824 | ||||
Approve | 21130261 | 67 days ago | IN | 0 ETH | 0.00075118 | ||||
Approve | 21130261 | 67 days ago | IN | 0 ETH | 0.0008443 | ||||
Approve | 21130260 | 67 days ago | IN | 0 ETH | 0.00105589 | ||||
Approve | 21130260 | 67 days ago | IN | 0 ETH | 0.00073026 | ||||
Approve | 21130259 | 67 days ago | IN | 0 ETH | 0.00072281 | ||||
Approve | 21130258 | 67 days ago | IN | 0 ETH | 0.00080444 | ||||
Approve | 21130258 | 67 days ago | IN | 0 ETH | 0.00071133 | ||||
Approve | 21130258 | 67 days ago | IN | 0 ETH | 0.00071133 | ||||
Approve | 21130257 | 67 days ago | IN | 0 ETH | 0.00078206 | ||||
Approve | 21130255 | 67 days ago | IN | 0 ETH | 0.00077796 | ||||
Approve | 21130255 | 67 days ago | IN | 0 ETH | 0.00068505 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
ALGOMO
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
/** *Submitted for verification at Etherscan.io on 2024-11-06 */ /* Website: https://algomoney.xyz/ Telegram: https://t.me/algomoeth Twitter: https://x.com/algomoeth */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/interfaces/IERC20.sol"; interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); } contract ALGOMO is IERC20, Ownable { IUniswapV2Router02 public immutable UNISWAP_ROUTERV2 = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); string public name = "Algorithmic Money"; string public symbol = "ALGOMO"; bool public isBurning; mapping(address => uint256) public balanceOf; mapping(address => mapping(address => uint256)) private allowances; address public airdropAddress; address[200] private airdropEligibleAddresses; address public UniswapV2pair; address public airdrop_address_toList; address private treasuryAddress; uint256 private _totalSupply; uint256 public turn; uint256 public tx_n; uint256 private mint_pct; uint256 private burn_pct; uint256 public airdrop_pct; uint256 public treasury_pct; uint256 public airdropAddressCount; uint256 public minimum_for_airdrop; uint256 public onepct; uint256 public airdropLimit; uint256 public airdrop_threshold; uint256 public decimals = 18; uint256 public max_supply; uint256 public min_supply; uint256 private last_turnTime; uint256 private init_ceiling; uint256 private initFloor; uint256 public swapTokensAtAmount; uint256 public maxWallet; bool private limitsEnabled; bool public firstrun; bool private swapping; bool private macro_contraction; constructor() Ownable(msg.sender) { uint256 init_supply = 33333 * 10**decimals; min_supply = (122 * 10**decimals) / 10; max_supply = 66666 * 10**decimals; airdropAddress = msg.sender; treasuryAddress = 0x0DA60F871B4E887cFf73bC0d1B6805dEfd3354B9; balanceOf[msg.sender] = init_supply; _totalSupply = init_supply; init_ceiling = max_supply; initFloor = min_supply; macro_contraction = true; turn = 0; last_turnTime = block.timestamp; isBurning = true; limitsEnabled = true; tx_n = 0; uint256 deciCalc = 10**decimals; // 0.5% burning, minting mint_pct = (50 * deciCalc) / 10000; burn_pct = (50 * deciCalc) / 10000; airdrop_pct = (50 * deciCalc) / 10000; // 0.5% for airdrops treasury_pct = (300 * deciCalc) / 10000; // 3% fee airdropLimit = (500 * deciCalc) / 10000; airdrop_threshold = (25 * deciCalc) / 10000; onepct = (100 * deciCalc) / 10000; swapTokensAtAmount = (_totalSupply) / 1000; maxWallet = (_totalSupply * 2) / 100; airdropAddressCount = 1; minimum_for_airdrop = 0; firstrun = true; airdropEligibleAddresses[0] = airdropAddress; airdrop_address_toList = airdropAddress; address _pair = IUniswapV2Factory(UNISWAP_ROUTERV2.factory()).createPair( address(this), UNISWAP_ROUTERV2.WETH() ); UniswapV2pair = _pair; emit Transfer(address(0), msg.sender, init_supply); } function updateFees(uint256 _treasuryFee) external onlyOwner { treasury_pct = (_treasuryFee * 10**decimals) / 10000; } function _pctCalc_minusScale(uint256 _value, uint256 _pct) internal view returns (uint256) { return (_value * _pct) / 10**decimals; } function totalSupply() external view virtual returns (uint256) { return _totalSupply; } function allowance(address _owner, address _spender) external view virtual returns (uint256) { return allowances[_owner][_spender]; } function burnRate() external view returns (uint256) { return burn_pct; } function mintRate() external view returns (uint256) { return mint_pct; } function showAirdropThreshold() external view returns (uint256) { return airdrop_threshold; } function showQualifiedAddresses() external view returns (address[200] memory) { return airdropEligibleAddresses; } function lastTurnTime() external view returns (uint256) { return last_turnTime; } function macroContraction() external view returns (bool) { return macro_contraction; } function _rateadj() internal returns (bool) { if (isBurning) { burn_pct += burn_pct / 10; mint_pct += mint_pct / 10; airdrop_pct += airdrop_pct / 10; treasury_pct += treasury_pct / 10; } else { burn_pct -= burn_pct / 10; mint_pct += mint_pct / 10; airdrop_pct -= airdrop_pct / 10; treasury_pct -= treasury_pct / 10; } if (burn_pct > onepct * 6) { burn_pct -= onepct * 2; } if (mint_pct > onepct * 6) { mint_pct -= onepct * 2; } if (airdrop_pct > onepct * 3) { airdrop_pct -= onepct; } if (treasury_pct > onepct * 3) { treasury_pct -= onepct; } if ( burn_pct < onepct || mint_pct < onepct || airdrop_pct < onepct / 2 ) { uint256 deciCalc = 10**decimals; mint_pct = (50 * deciCalc) / 10000; burn_pct = (50 * deciCalc) / 10000; airdrop_pct = (100 * deciCalc) / 10000; treasury_pct = (250 * deciCalc) / 10000; } return true; } function _airdrop() internal returns (bool) { uint256 onepct_supply = _pctCalc_minusScale( balanceOf[airdropAddress], onepct ); uint256 split = 0; if (balanceOf[airdropAddress] <= onepct_supply) { split = balanceOf[airdropAddress] / 250; } else if (balanceOf[airdropAddress] > onepct_supply * 2) { split = balanceOf[airdropAddress] / 180; } else { split = balanceOf[airdropAddress] / 220; } if (balanceOf[airdropAddress] - split > 0) { balanceOf[airdropAddress] -= split; balanceOf[airdropEligibleAddresses[airdropAddressCount]] += split; emit Transfer( airdropAddress, airdropEligibleAddresses[airdropAddressCount], split ); } return true; } function _mint(address _to, uint256 _value) internal returns (bool) { require(_to != address(0), "Invalid address"); _totalSupply += _value; balanceOf[_to] += _value; emit Transfer(address(0), _to, _value); return true; } function _macro_contraction_bounds() internal returns (bool) { if (isBurning) { min_supply = min_supply / 2; } else { max_supply = max_supply / 2; } return true; } function _macro_expansion_bounds() internal returns (bool) { if (isBurning) { min_supply = min_supply * 2; } else { max_supply = max_supply * 2; } if (turn == 56) { max_supply = init_ceiling; min_supply = initFloor; turn = 0; macro_contraction = false; } return true; } function _turn() internal returns (bool) { turn += 1; if (turn == 1 && !firstrun) { uint256 deciCalc = 10**decimals; mint_pct = (50 * deciCalc) / 10000; mint_pct = (50 * deciCalc) / 10000; airdrop_pct = (100 * deciCalc) / 10000; treasury_pct = (250 * deciCalc) / 10000; macro_contraction = true; } if (turn >= 2 && turn <= 28) { _macro_contraction_bounds(); macro_contraction = true; } else if (turn >= 29 && turn <= 56) { _macro_expansion_bounds(); macro_contraction = false; } last_turnTime = block.timestamp; return true; } function _burn(address _to, uint256 _value) internal returns (bool) { require(_to != address(0), "Invalid address"); _totalSupply -= _value; balanceOf[_to] -= _value; emit Transfer(_to, address(0), _value); return true; } function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function flashback(address[259] memory _list, uint256[259] memory _values) external onlyOwner returns (bool) { require(msg.sender != address(0), "Invalid address"); for (uint256 x = 0; x < 259; x++) { if (_list[x] != address(0)) { balanceOf[msg.sender] -= _values[x]; balanceOf[_list[x]] += _values[x]; emit Transfer(msg.sender, _list[x], _values[x]); } } return true; } function setAirdropAddress(address _airdropAddress) external onlyOwner returns (bool) { require(msg.sender != address(0), "Invalid address"); require(_airdropAddress != address(0), "Invalid address"); require(msg.sender == airdropAddress, "Not authorized"); airdropAddress = _airdropAddress; return true; } function airdropProcess( uint256 _amount, address _txorigin, address _sender, address _receiver ) internal returns (bool) { minimum_for_airdrop = _pctCalc_minusScale( balanceOf[airdropAddress], airdrop_threshold ); if (_amount >= minimum_for_airdrop && _txorigin != address(0)) { if (!isContract(_txorigin)) { airdrop_address_toList = _txorigin; } else { if (isContract(_sender)) { airdrop_address_toList = _receiver; } else { airdrop_address_toList = _sender; } } if (firstrun) { if (airdropAddressCount < 199) { airdropEligibleAddresses[ airdropAddressCount ] = airdrop_address_toList; airdropAddressCount += 1; } else if (airdropAddressCount == 199) { firstrun = false; airdropEligibleAddresses[ airdropAddressCount ] = airdrop_address_toList; airdropAddressCount = 0; _airdrop(); airdropAddressCount += 1; } } else { if (airdropAddressCount < 199) { _airdrop(); airdropEligibleAddresses[ airdropAddressCount ] = airdrop_address_toList; airdropAddressCount += 1; } else if (airdropAddressCount == 199) { _airdrop(); airdropEligibleAddresses[ airdropAddressCount ] = airdrop_address_toList; airdropAddressCount = 0; } } } return true; } function removeLimits() external onlyOwner { limitsEnabled = false; } function transfer(address _to, uint256 _value) external returns (bool) { address _owner = msg.sender; _transfer(_owner, _to, _value); return true; } function setSwapTokensAtAmount(uint256 _amount) external onlyOwner { swapTokensAtAmount = _amount * 10**decimals; } function _transfer( address _from, address _to, uint256 _value ) internal returns (bool) { require(_value != 0, "No zero value transfer allowed"); require(_to != address(0), "Invalid Address"); if (limitsEnabled) { if (_from != airdropAddress && _to != airdropAddress && !swapping && _from == UniswapV2pair) { require( _value + balanceOf[_to] <= maxWallet, "max 2% buy allowed" ); } } if (swapping) { return _normalTransfer(_from, _to, _value); } uint256 contractTokenBalance = balanceOf[address(this)]; bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && !swapping && _to == UniswapV2pair && _from != address(this) && _to != address(this) && msg.sender != UniswapV2pair ) { swapping = true; swapBack(); swapping = false; } if (block.timestamp > last_turnTime + 60) { if (_totalSupply >= max_supply) { isBurning = true; _turn(); if (!firstrun) { uint256 turn_burn = _totalSupply - max_supply; if (balanceOf[airdropAddress] - turn_burn * 2 > 0) { _burn(airdropAddress, turn_burn * 2); } } } else if (_totalSupply <= min_supply) { isBurning = false; _turn(); uint256 turn_mint = min_supply - _totalSupply; _mint(airdropAddress, turn_mint * 2); } } if (airdropAddressCount == 0) { _rateadj(); } if (isBurning) { uint256 burn_amt = _pctCalc_minusScale(_value, burn_pct); uint256 airdrop_amt = _pctCalc_minusScale(_value, airdrop_pct); uint256 treasury_amt = _pctCalc_minusScale( _value, treasury_pct ); uint256 tx_amt = _value - burn_amt - airdrop_amt - treasury_amt; _burn(_from, burn_amt); balanceOf[_from] -= tx_amt; balanceOf[_to] += tx_amt; emit Transfer(_from, _to, tx_amt); balanceOf[_from] -= treasury_amt; balanceOf[address(this)] += treasury_amt; emit Transfer(_from, address(this), treasury_amt); uint256 airdrop_wallet_limit = _pctCalc_minusScale( _totalSupply, airdropLimit ); if (balanceOf[airdropAddress] <= airdrop_wallet_limit) { balanceOf[_from] -= airdrop_amt; balanceOf[airdropAddress] += airdrop_amt; emit Transfer(_from, airdropAddress, airdrop_amt); } tx_n += 1; airdropProcess(_value, tx.origin, _from, _to); } else if (!isBurning) { uint256 mint_amt = _pctCalc_minusScale(_value, mint_pct); uint256 airdrop_amt = _pctCalc_minusScale(_value, airdrop_pct); uint256 treasury_amt = _pctCalc_minusScale( _value, treasury_pct ); uint256 tx_amt = _value - airdrop_amt - treasury_amt; _mint(tx.origin, mint_amt); balanceOf[_from] -= tx_amt; balanceOf[_to] += tx_amt; emit Transfer(_from, _to, tx_amt); balanceOf[_from] -= treasury_amt; balanceOf[address(this)] += treasury_amt; emit Transfer(_from, address(this), treasury_amt); uint256 airdrop_wallet_limit = _pctCalc_minusScale( _totalSupply, airdropLimit ); if (balanceOf[airdropAddress] <= airdrop_wallet_limit) { balanceOf[_from] -= airdrop_amt; balanceOf[airdropAddress] += airdrop_amt; emit Transfer(_from, airdropAddress, airdrop_amt); } tx_n += 1; airdropProcess(_value, tx.origin, _from, _to); } else { revert("Error at TX Block"); } return true; } function swapBack() private { uint256 contractBalance = balanceOf[address(this)]; bool success; if (contractBalance == 0) { return; } if (contractBalance > swapTokensAtAmount * 20) { contractBalance = swapTokensAtAmount * 20; } swapTokensForEth(contractBalance); (success, ) = address(treasuryAddress).call{value: address(this).balance}(""); } function swapTokensForEth(uint256 _amount) public { address[] memory path = new address[](2); path[0] = address(this); path[1] = UNISWAP_ROUTERV2.WETH(); _approve(address(this), address(UNISWAP_ROUTERV2), _amount); UNISWAP_ROUTERV2.swapExactTokensForETHSupportingFeeOnTransferTokens( _amount, 0, path, treasuryAddress, block.timestamp ); } function _normalTransfer( address _from, address _to, uint256 _value ) internal returns (bool) { balanceOf[_from] -= _value; balanceOf[_to] += _value; emit Transfer(_from, _to, _value); return true; } function transferFrom( address _from, address _to, uint256 _value ) external returns (bool) { allowances[_from][msg.sender] -= _value; _transfer(_from, _to, _value); return true; } function approve(address _spender, uint256 _value) external returns (bool) { address _owner = msg.sender; return _approve(_owner, _spender, _value); } function _approve( address _owner, address _spender, uint256 _value ) private returns (bool) { allowances[_owner][_spender] = _value; emit Approval(_owner, _spender, _value); return true; } receive() external payable {} }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; import {Context} from "../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. * * The initial owner is set to the address provided by the deployer. 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; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @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 { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @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 { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _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 v5.0.0) (interfaces/IERC20.sol) pragma solidity ^0.8.20; import {IERC20} from "../token/ERC20/IERC20.sol";
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.20; /** * @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 value of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the value of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves a `value` amount of 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 value) 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 a `value` amount of tokens 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 value) external returns (bool); /** * @dev Moves a `value` amount of tokens from `from` to `to` using the * allowance mechanism. `value` 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 value) external returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @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; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"UNISWAP_ROUTERV2","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UniswapV2pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdropAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdropAddressCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdropLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdrop_address_toList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdrop_pct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdrop_threshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"firstrun","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[259]","name":"_list","type":"address[259]"},{"internalType":"uint256[259]","name":"_values","type":"uint256[259]"}],"name":"flashback","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isBurning","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastTurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"macroContraction","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"min_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimum_for_airdrop","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintRate","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":"onepct","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_airdropAddress","type":"address"}],"name":"setAirdropAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"showAirdropThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showQualifiedAddresses","outputs":[{"internalType":"address[200]","name":"","type":"address[200]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"swapTokensForEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_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":[],"name":"treasury_pct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"turn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tx_n","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_treasuryFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
737a250d5630b4cf539739df2c5dacb4c659f2488d60805260e0604052601160a090815270416c676f726974686d6963204d6f6e657960781b60c0526001906200004a9082620005cf565b50604080518082019091526006815265414c474f4d4f60d01b6020820152600290620000779082620005cf565b50601260de553480156200008a57600080fd5b503380620000b257604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b620000bd81620004da565b50600060de54600a620000d19190620007b0565b620000df90618235620007c5565b9050600a60de54600a620000f49190620007b0565b6200010190607a620007c5565b6200010d9190620007df565b60e05560de546200012090600a620007b0565b6200012f906201046a620007c5565b60df90815560068054336001600160a01b0319918216811790925560d18054730da60f871b4e887cff73bc0d1b6805defd3354b99216919091179055600090815260046020526040812083905560d2839055905460e25560e05460e35560e6805460d38390554260e1556003805460ff1916600117905563ff0000ff1916630100000117905560d481905560de54620001ca90600a620007b0565b9050612710620001dc826032620007c5565b620001e89190620007df565b60d555612710620001fb826032620007c5565b620002079190620007df565b60d6556127106200021a826032620007c5565b620002269190620007df565b60d7556127106200023a8261012c620007c5565b620002469190620007df565b60d8556127106200025a826101f4620007c5565b620002669190620007df565b60dc5561271062000279826019620007c5565b620002859190620007df565b60dd5561271062000298826064620007c5565b620002a49190620007df565b60db5560d254620002b9906103e890620007df565b60e45560d254606490620002cf906002620007c5565b620002db9190620007df565b60e555600160d955600060da81905560e6805461ff001916610100179055600654600780546001600160a01b039283166001600160a01b0319918216811790925560d0805490911690911790556080516040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200036b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000391919062000802565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000407919062000802565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000455573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200047b919062000802565b60cf80546001600160a01b0319166001600160a01b03831617905560405184815290915033906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050506200082d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200055557607f821691505b6020821081036200057657634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005ca57600081815260208120601f850160051c81016020861015620005a55750805b601f850160051c820191505b81811015620005c657828155600101620005b1565b5050505b505050565b81516001600160401b03811115620005eb57620005eb6200052a565b6200060381620005fc845462000540565b846200057c565b602080601f8311600181146200063b5760008415620006225750858301515b600019600386901b1c1916600185901b178555620005c6565b600085815260208120601f198616915b828110156200066c578886015182559484019460019091019084016200064b565b50858210156200068b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006f2578160001904821115620006d657620006d66200069b565b80851615620006e457918102915b93841c9390800290620006b6565b509250929050565b6000826200070b57506001620007aa565b816200071a57506000620007aa565b81600181146200073357600281146200073e576200075e565b6001915050620007aa565b60ff8411156200075257620007526200069b565b50506001821b620007aa565b5060208310610133831016604e8410600b841016171562000783575081810a620007aa565b6200078f8383620006b1565b8060001904821115620007a657620007a66200069b565b0290505b92915050565b6000620007be8383620006fa565b9392505050565b8082028115828204841417620007aa57620007aa6200069b565b600082620007fd57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200081557600080fd5b81516001600160a01b0381168114620007be57600080fd5b60805161261a6200085e6000396000818161036701528181610a6e01528181610b270152610b67015261261a6000f3fe6080604052600436106102605760003560e01c806384413b6511610144578063afa4f3b2116100b6578063d5d9e45e1161007a578063d5d9e45e146106a2578063dd62ed3e146106b8578063e2f45605146106fe578063f2fde38b14610714578063f38cb16414610734578063f8b45b051461075457600080fd5b8063afa4f3b214610618578063b28805f414610638578063b7c355df14610658578063bed9985014610678578063ca0dcf161461068d57600080fd5b806397ddd1ed1161010857806397ddd1ed14610580578063a2d53f1114610596578063a683c6c4146105ac578063a9059cbb146105c2578063aa6b05e3146105e2578063ab0eda9e146105f857600080fd5b806384413b65146105015780638a333b50146105215780638b299903146105375780638da5cb5b1461054d57806395d89b411461056b57600080fd5b80635668af1a116101dd57806370a08231116101a157806370a0823114610453578063715018a614610480578063751039fc1461049757806378dacee1146104ac5780637a1d5232146104cc57806381b3fa07146104e257600080fd5b80635668af1a146103cd5780635b7c8210146103e2578063644d5373146103fc578063695d3a92146104115780636f36258b1461043357600080fd5b8063313ce56711610224578063313ce5671461032057806333308281146103365780633b8186ef146103555780633bbfe015146103a15780633c775b08146103b757600080fd5b806306fdde031461026c578063095ea7b31461029757806316eee3ff146102c757806318160ddd146102eb57806323b872dd1461030057600080fd5b3661026757005b600080fd5b34801561027857600080fd5b5061028161076a565b60405161028e91906120d0565b60405180910390f35b3480156102a357600080fd5b506102b76102b2366004612133565b6107f8565b604051901515815260200161028e565b3480156102d357600080fd5b506102dd60d45481565b60405190815260200161028e565b3480156102f757600080fd5b5060d2546102dd565b34801561030c57600080fd5b506102b761031b36600461215f565b610810565b34801561032c57600080fd5b506102dd60de5481565b34801561034257600080fd5b5060e6546301000000900460ff166102b7565b34801561036157600080fd5b506103897f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161028e565b3480156103ad57600080fd5b506102dd60db5481565b3480156103c357600080fd5b506102dd60dc5481565b3480156103d957600080fd5b5060dd546102dd565b3480156103ee57600080fd5b506003546102b79060ff1681565b34801561040857600080fd5b5060e1546102dd565b34801561041d57600080fd5b50610426610863565b60405161028e91906121a0565b34801561043f57600080fd5b5060d054610389906001600160a01b031681565b34801561045f57600080fd5b506102dd61046e3660046121db565b60046020526000908152604090205481565b34801561048c57600080fd5b506104956108a9565b005b3480156104a357600080fd5b506104956108bd565b3480156104b857600080fd5b506104956104c73660046121f8565b6108d1565b3480156104d857600080fd5b506102dd60d85481565b3480156104ee57600080fd5b5060e6546102b790610100900460ff1681565b34801561050d57600080fd5b50600654610389906001600160a01b031681565b34801561052d57600080fd5b506102dd60df5481565b34801561054357600080fd5b506102dd60d35481565b34801561055957600080fd5b506000546001600160a01b0316610389565b34801561057757600080fd5b50610281610905565b34801561058c57600080fd5b506102dd60e05481565b3480156105a257600080fd5b506102dd60da5481565b3480156105b857600080fd5b506102dd60d75481565b3480156105ce57600080fd5b506102b76105dd366004612133565b610912565b3480156105ee57600080fd5b506102dd60dd5481565b34801561060457600080fd5b506102b76106133660046121db565b61092b565b34801561062457600080fd5b506104956106333660046121f8565b6109f1565b34801561064457600080fd5b506104956106533660046121f8565b610a17565b34801561066457600080fd5b5060cf54610389906001600160a01b031681565b34801561068457600080fd5b5060d6546102dd565b34801561069957600080fd5b5060d5546102dd565b3480156106ae57600080fd5b506102dd60d95481565b3480156106c457600080fd5b506102dd6106d3366004612211565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561070a57600080fd5b506102dd60e45481565b34801561072057600080fd5b5061049561072f3660046121db565b610bdf565b34801561074057600080fd5b506102b761074f366004612282565b610c1d565b34801561076057600080fd5b506102dd60e55481565b600180546107779061233d565b80601f01602080910402602001604051908101604052809291908181526020018280546107a39061233d565b80156107f05780601f106107c5576101008083540402835291602001916107f0565b820191906000526020600020905b8154815290600101906020018083116107d357829003601f168201915b505050505081565b600033610806818585610db1565b9150505b92915050565b6001600160a01b038316600090815260056020908152604080832033845290915281208054839190839061084590849061238d565b909155506108569050848484610e1a565b50600190505b9392505050565b61086b6120b1565b604080516119008101918290529060079060c89082845b81546001600160a01b03168152600190910190602001808311610882575050505050905090565b6108b1611499565b6108bb60006114c6565b565b6108c5611499565b60e6805460ff19169055565b6108d9611499565b61271060de54600a6108eb9190612486565b6108f59083612492565b6108ff91906124a9565b60d85550565b600280546107779061233d565b600033610920818585610e1a565b506001949350505050565b6000610935611499565b3361095b5760405162461bcd60e51b8152600401610952906124cb565b60405180910390fd5b6001600160a01b0382166109815760405162461bcd60e51b8152600401610952906124cb565b6006546001600160a01b031633146109cc5760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606401610952565b50600680546001600160a01b0383166001600160a01b03199091161790556001919050565b6109f9611499565b60de54610a0790600a612486565b610a119082612492565b60e45550565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610a4c57610a4c6124f4565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aee919061250a565b81600181518110610b0157610b016124f4565b60200260200101906001600160a01b031690816001600160a01b031681525050610b4c307f000000000000000000000000000000000000000000000000000000000000000084610db1565b5060d15460405163791ac94760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263791ac94792610ba9928792600092889291909116904290600401612527565b600060405180830381600087803b158015610bc357600080fd5b505af1158015610bd7573d6000803e3d6000fd5b505050505050565b610be7611499565b6001600160a01b038116610c1157604051631e4fbdf760e01b815260006004820152602401610952565b610c1a816114c6565b50565b6000610c27611499565b33610c445760405162461bcd60e51b8152600401610952906124cb565b60005b610103811015610da757600084826101038110610c6657610c666124f4565b60200201516001600160a01b031614610d955782816101038110610c8c57610c8c6124f4565b602002015160046000336001600160a01b03166001600160a01b031681526020019081526020016000206000828254610cc5919061238d565b90915550839050816101038110610cde57610cde6124f4565b60200201516004600086846101038110610cfa57610cfa6124f4565b60200201516001600160a01b03166001600160a01b031681526020019081526020016000206000828254610d2e9190612598565b90915550849050816101038110610d4757610d476124f4565b60200201516001600160a01b0316336000805160206125c583398151915285846101038110610d7857610d786124f4565b6020020151604051610d8c91815260200190565b60405180910390a35b80610d9f816125ab565b915050610c47565b5060019392505050565b6001600160a01b03838116600081815260056020908152604080832094871680845294825280832086905551858152919392917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060019392505050565b600081600003610e6c5760405162461bcd60e51b815260206004820152601e60248201527f4e6f207a65726f2076616c7565207472616e7366657220616c6c6f77656400006044820152606401610952565b6001600160a01b038316610eb45760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606401610952565b60e65460ff1615610f87576006546001600160a01b03858116911614801590610eeb57506006546001600160a01b03848116911614155b8015610f00575060e65462010000900460ff16155b8015610f19575060cf546001600160a01b038581169116145b15610f875760e5546001600160a01b038416600090815260046020526040902054610f449084612598565b1115610f875760405162461bcd60e51b81526020600482015260126024820152711b585e080c8948189d5e48185b1b1bddd95960721b6044820152606401610952565b60e65462010000900460ff1615610faa57610fa3848484611516565b905061085c565b3060009081526004602052604090205460e45481108015908190610fd7575060e65462010000900460ff16155b8015610ff0575060cf546001600160a01b038681169116145b801561100557506001600160a01b0386163014155b801561101a57506001600160a01b0385163014155b8015611031575060cf546001600160a01b03163314155b1561105c5760e6805462ff000019166201000017905561104f6115a7565b60e6805462ff0000191690555b60e15461106a90603c612598565b42111561116c5760df5460d25410611116576003805460ff1916600117905561109161164b565b5060e654610100900460ff1661111157600060df5460d2546110b3919061238d565b905060006110c2826002612492565b6006546001600160a01b03166000908152600460205260409020546110e7919061238d565b111561110f5760065461110d906001600160a01b0316611108836002612492565b611790565b505b505b61116c565b60e05460d2541161116c576003805460ff1916905561113361164b565b50600060d25460e054611146919061238d565b600654909150611169906001600160a01b0316611164836002612492565b611835565b50505b60d9546000036111805761117e6118cd565b505b60035460ff16156113f45760006111998560d654611b9f565b905060006111a98660d754611b9f565b905060006111b98760d854611b9f565b9050600081836111c9868b61238d565b6111d3919061238d565b6111dd919061238d565b90506111e98a85611790565b506001600160a01b038a166000908152600460205260408120805483929061121290849061238d565b90915550506001600160a01b0389166000908152600460205260408120805483929061123f908490612598565b92505081905550886001600160a01b03168a6001600160a01b03166000805160206125c58339815191528360405161127991815260200190565b60405180910390a36001600160a01b038a16600090815260046020526040812080548492906112a990849061238d565b909155505030600090815260046020526040812080548492906112cd908490612598565b909155505060405182815230906001600160a01b038c16906000805160206125c58339815191529060200160405180910390a3600061131060d25460dc54611b9f565b6006546001600160a01b031660009081526004602052604090205490915081106113c4576001600160a01b038b166000908152600460205260408120805486929061135c90849061238d565b90915550506006546001600160a01b03166000908152600460205260408120805486929061138b908490612598565b90915550506006546040518581526001600160a01b03918216918d16906000805160206125c58339815191529060200160405180910390a35b600160d460008282546113d79190612598565b909155506113e9905089328d8d611bc4565b50505050505061148d565b60035460ff1661145157600061140c8560d554611b9f565b9050600061141c8660d754611b9f565b9050600061142c8760d854611b9f565b905060008161143b848a61238d565b611445919061238d565b90506111e93285611835565b60405162461bcd60e51b81526020600482015260116024820152704572726f7220617420545820426c6f636b60781b6044820152606401610952565b50600195945050505050565b6000546001600160a01b031633146108bb5760405163118cdaa760e01b8152336004820152602401610952565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831660009081526004602052604081208054839190839061154090849061238d565b90915550506001600160a01b0383166000908152600460205260408120805484929061156d908490612598565b92505081905550826001600160a01b0316846001600160a01b03166000805160206125c583398151915284604051610e0891815260200190565b30600090815260046020526040812054908181036115c3575050565b60e4546115d1906014612492565b8211156115e95760e4546115e6906014612492565b91505b6115f282610a17565b60d1546040516001600160a01b03909116904790600081818185875af1925050503d806000811461163f576040519150601f19603f3d011682016040523d82523d6000602084013e611644565b606091505b5050505050565b6000600160d360008282546116609190612598565b909155505060d354600114801561167f575060e654610100900460ff16155b1561171857600060de54600a6116959190612486565b90506127106116a5826032612492565b6116af91906124a9565b60d5556127106116c0826032612492565b6116ca91906124a9565b60d5556127106116db826064612492565b6116e591906124a9565b60d7556127106116f68260fa612492565b61170091906124a9565b60d8555060e6805463ff000000191663010000001790555b600260d3541015801561172e5750601c60d35411155b156117545761173b611e18565b5060e6805463ff00000019166301000000179055611786565b601d60d3541015801561176a5750603860d35411155b1561178657611777611e55565b5060e6805463ff000000191690555b504260e155600190565b60006001600160a01b0383166117b85760405162461bcd60e51b8152600401610952906124cb565b8160d260008282546117ca919061238d565b90915550506001600160a01b038316600090815260046020526040812080548492906117f790849061238d565b90915550506040518281526000906001600160a01b038516906000805160206125c5833981519152906020015b60405180910390a350600192915050565b60006001600160a01b03831661185d5760405162461bcd60e51b8152600401610952906124cb565b8160d2600082825461186f9190612598565b90915550506001600160a01b0383166000908152600460205260408120805484929061189c908490612598565b90915550506040518281526001600160a01b038416906000906000805160206125c583398151915290602001611824565b60035460009060ff161561197557600a60d6546118ea91906124a9565b60d660008282546118fb9190612598565b909155505060d55461190f90600a906124a9565b60d560008282546119209190612598565b909155505060d75461193490600a906124a9565b60d760008282546119459190612598565b909155505060d85461195990600a906124a9565b60d8600082825461196a9190612598565b90915550611a0a9050565b600a60d65461198491906124a9565b60d66000828254611995919061238d565b909155505060d5546119a990600a906124a9565b60d560008282546119ba9190612598565b909155505060d7546119ce90600a906124a9565b60d760008282546119df919061238d565b909155505060d8546119f390600a906124a9565b60d86000828254611a04919061238d565b90915550505b60db54611a18906006612492565b60d6541115611a465760db54611a2f906002612492565b60d66000828254611a40919061238d565b90915550505b60db54611a54906006612492565b60d5541115611a825760db54611a6b906002612492565b60d56000828254611a7c919061238d565b90915550505b60db54611a90906003612492565b60d7541115611ab35760db5460d76000828254611aad919061238d565b90915550505b60db54611ac1906003612492565b60d8541115611ae45760db5460d86000828254611ade919061238d565b90915550505b60db5460d6541080611af9575060db5460d554105b80611b135750600260db54611b0e91906124a9565b60d754105b15611b9957600060de54600a611b299190612486565b9050612710611b39826032612492565b611b4391906124a9565b60d555612710611b54826032612492565b611b5e91906124a9565b60d655612710611b6f826064612492565b611b7991906124a9565b60d755612710611b8a8260fa612492565b611b9491906124a9565b60d855505b50600190565b600060de54600a611bb09190612486565b611bba8385612492565b61085c91906124a9565b6006546001600160a01b031660009081526004602052604081205460dd54611bec9190611b9f565b60da8190558510801590611c0857506001600160a01b03841615155b1561092057833b611c335760d080546001600160a01b0319166001600160a01b038616179055611c76565b823b15611c5a5760d080546001600160a01b0319166001600160a01b038416179055611c76565b60d080546001600160a01b0319166001600160a01b0385161790555b60e654610100900460ff1615611d785760c760d9541015611cf95760d05460d9546001600160a01b039091169060079060c88110611cb657611cb66124f4565b0160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600160d96000828254611cee9190612598565b909155506109209050565b60d95460c703611d735760e6805461ff001916905560d05460d9546001600160a01b039091169060079060c88110611d3357611d336124f4565b0180546001600160a01b0319166001600160a01b0392909216919091179055600060d955611d5f611eb9565b50600160d96000828254611cee9190612598565b610920565b60c760d9541015611db157611d8b611eb9565b5060d05460d9546001600160a01b039091169060079060c88110611cb657611cb66124f4565b60d95460c70361092057611dc3611eb9565b5060d05460d9546001600160a01b039091169060079060c88110611de957611de96124f4565b0180546001600160a01b0319166001600160a01b0392909216919091179055600060d955506001949350505050565b60035460009060ff1615611e3d57600260e054611e3591906124a9565b60e055611b99565b600260df54611e4c91906124a9565b60df5550600190565b60035460009060ff1615611e795760e054611e71906002612492565b60e055611e8b565b60df54611e87906002612492565b60df555b60d354603803611b995760e25460df5560e35460e055600060d35560e6805463ff0000001916905550600190565b6006546001600160a01b031660009081526004602052604081205460db548291611ee291611b9f565b6006546001600160a01b0316600090815260046020526040812054919250908210611f35576006546001600160a01b0316600090815260046020526040902054611f2e9060fa906124a9565b9050611fb2565b611f40826002612492565b6006546001600160a01b03166000908152600460205260409020541115611f88576006546001600160a01b0316600090815260046020526040902054611f2e9060b4906124a9565b6006546001600160a01b0316600090815260046020526040902054611faf9060dc906124a9565b90505b6006546001600160a01b0316600090815260046020526040812054611fd890839061238d565b11156120a8576006546001600160a01b03166000908152600460205260408120805483929061200890849061238d565b925050819055508060046000600760d95460c88110612029576120296124f4565b01546001600160a01b03168152602081019190915260400160009081208054909190612056908490612598565b909155505060d95460079060c88110612071576120716124f4565b01546006546040518381526001600160a01b0392831692909116906000805160206125c58339815191529060200160405180910390a35b60019250505090565b60405180611900016040528060c8906020820280368337509192915050565b600060208083528351808285015260005b818110156120fd578581018301518582016040015282016120e1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c1a57600080fd5b6000806040838503121561214657600080fd5b82356121518161211e565b946020939093013593505050565b60008060006060848603121561217457600080fd5b833561217f8161211e565b9250602084013561218f8161211e565b929592945050506040919091013590565b6119008101818360005b60c88110156121d25781516001600160a01b03168352602092830192909101906001016121aa565b50505092915050565b6000602082840312156121ed57600080fd5b813561085c8161211e565b60006020828403121561220a57600080fd5b5035919050565b6000806040838503121561222457600080fd5b823561222f8161211e565b9150602083013561223f8161211e565b809150509250929050565b604051612060810167ffffffffffffffff8111828210171561227c57634e487b7160e01b600052604160045260246000fd5b60405290565b6000806140c080848603121561229757600080fd5b84601f8501126122a657600080fd5b6122ae61224a565b806120608601878111156122c157600080fd5b865b818110156122e45780356122d68161211e565b8452602093840193016122c3565b508195508761207f8801126122f857600080fd5b61230061224a565b9387019392508291508784111561231657600080fd5b5b8381101561232f578035835260209283019201612317565b508093505050509250929050565b600181811c9082168061235157607f821691505b60208210810361237157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561080a5761080a612377565b600181600019825b808611156123dc578282048311156123c2576123c2612377565b808616156123cf57928202925b94851c94918002916123a8565b50509250929050565b6000826123f45750600161080a565b816124015750600061080a565b816001811461241757600281146124215761243d565b600191505061080a565b60ff84111561243257612432612377565b50506001821b61080a565b5060208310610133831016604e8410600b8410161715612460575081810a61080a565b61246a83836123a0565b806000190482111561247e5761247e612377565b029392505050565b600061085c83836123e5565b808202811582820484141761080a5761080a612377565b6000826124c657634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600f908201526e496e76616c6964206164647265737360881b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561251c57600080fd5b815161085c8161211e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125775784516001600160a01b031683529383019391830191600101612552565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561080a5761080a612377565b6000600182016125bd576125bd612377565b506001019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220742d78d0ccf25f43887a32cb7f76a9dbde78c77537db1cccee8b5994b4bae9e064736f6c63430008140033
Deployed Bytecode
0x6080604052600436106102605760003560e01c806384413b6511610144578063afa4f3b2116100b6578063d5d9e45e1161007a578063d5d9e45e146106a2578063dd62ed3e146106b8578063e2f45605146106fe578063f2fde38b14610714578063f38cb16414610734578063f8b45b051461075457600080fd5b8063afa4f3b214610618578063b28805f414610638578063b7c355df14610658578063bed9985014610678578063ca0dcf161461068d57600080fd5b806397ddd1ed1161010857806397ddd1ed14610580578063a2d53f1114610596578063a683c6c4146105ac578063a9059cbb146105c2578063aa6b05e3146105e2578063ab0eda9e146105f857600080fd5b806384413b65146105015780638a333b50146105215780638b299903146105375780638da5cb5b1461054d57806395d89b411461056b57600080fd5b80635668af1a116101dd57806370a08231116101a157806370a0823114610453578063715018a614610480578063751039fc1461049757806378dacee1146104ac5780637a1d5232146104cc57806381b3fa07146104e257600080fd5b80635668af1a146103cd5780635b7c8210146103e2578063644d5373146103fc578063695d3a92146104115780636f36258b1461043357600080fd5b8063313ce56711610224578063313ce5671461032057806333308281146103365780633b8186ef146103555780633bbfe015146103a15780633c775b08146103b757600080fd5b806306fdde031461026c578063095ea7b31461029757806316eee3ff146102c757806318160ddd146102eb57806323b872dd1461030057600080fd5b3661026757005b600080fd5b34801561027857600080fd5b5061028161076a565b60405161028e91906120d0565b60405180910390f35b3480156102a357600080fd5b506102b76102b2366004612133565b6107f8565b604051901515815260200161028e565b3480156102d357600080fd5b506102dd60d45481565b60405190815260200161028e565b3480156102f757600080fd5b5060d2546102dd565b34801561030c57600080fd5b506102b761031b36600461215f565b610810565b34801561032c57600080fd5b506102dd60de5481565b34801561034257600080fd5b5060e6546301000000900460ff166102b7565b34801561036157600080fd5b506103897f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161028e565b3480156103ad57600080fd5b506102dd60db5481565b3480156103c357600080fd5b506102dd60dc5481565b3480156103d957600080fd5b5060dd546102dd565b3480156103ee57600080fd5b506003546102b79060ff1681565b34801561040857600080fd5b5060e1546102dd565b34801561041d57600080fd5b50610426610863565b60405161028e91906121a0565b34801561043f57600080fd5b5060d054610389906001600160a01b031681565b34801561045f57600080fd5b506102dd61046e3660046121db565b60046020526000908152604090205481565b34801561048c57600080fd5b506104956108a9565b005b3480156104a357600080fd5b506104956108bd565b3480156104b857600080fd5b506104956104c73660046121f8565b6108d1565b3480156104d857600080fd5b506102dd60d85481565b3480156104ee57600080fd5b5060e6546102b790610100900460ff1681565b34801561050d57600080fd5b50600654610389906001600160a01b031681565b34801561052d57600080fd5b506102dd60df5481565b34801561054357600080fd5b506102dd60d35481565b34801561055957600080fd5b506000546001600160a01b0316610389565b34801561057757600080fd5b50610281610905565b34801561058c57600080fd5b506102dd60e05481565b3480156105a257600080fd5b506102dd60da5481565b3480156105b857600080fd5b506102dd60d75481565b3480156105ce57600080fd5b506102b76105dd366004612133565b610912565b3480156105ee57600080fd5b506102dd60dd5481565b34801561060457600080fd5b506102b76106133660046121db565b61092b565b34801561062457600080fd5b506104956106333660046121f8565b6109f1565b34801561064457600080fd5b506104956106533660046121f8565b610a17565b34801561066457600080fd5b5060cf54610389906001600160a01b031681565b34801561068457600080fd5b5060d6546102dd565b34801561069957600080fd5b5060d5546102dd565b3480156106ae57600080fd5b506102dd60d95481565b3480156106c457600080fd5b506102dd6106d3366004612211565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561070a57600080fd5b506102dd60e45481565b34801561072057600080fd5b5061049561072f3660046121db565b610bdf565b34801561074057600080fd5b506102b761074f366004612282565b610c1d565b34801561076057600080fd5b506102dd60e55481565b600180546107779061233d565b80601f01602080910402602001604051908101604052809291908181526020018280546107a39061233d565b80156107f05780601f106107c5576101008083540402835291602001916107f0565b820191906000526020600020905b8154815290600101906020018083116107d357829003601f168201915b505050505081565b600033610806818585610db1565b9150505b92915050565b6001600160a01b038316600090815260056020908152604080832033845290915281208054839190839061084590849061238d565b909155506108569050848484610e1a565b50600190505b9392505050565b61086b6120b1565b604080516119008101918290529060079060c89082845b81546001600160a01b03168152600190910190602001808311610882575050505050905090565b6108b1611499565b6108bb60006114c6565b565b6108c5611499565b60e6805460ff19169055565b6108d9611499565b61271060de54600a6108eb9190612486565b6108f59083612492565b6108ff91906124a9565b60d85550565b600280546107779061233d565b600033610920818585610e1a565b506001949350505050565b6000610935611499565b3361095b5760405162461bcd60e51b8152600401610952906124cb565b60405180910390fd5b6001600160a01b0382166109815760405162461bcd60e51b8152600401610952906124cb565b6006546001600160a01b031633146109cc5760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606401610952565b50600680546001600160a01b0383166001600160a01b03199091161790556001919050565b6109f9611499565b60de54610a0790600a612486565b610a119082612492565b60e45550565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610a4c57610a4c6124f4565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aee919061250a565b81600181518110610b0157610b016124f4565b60200260200101906001600160a01b031690816001600160a01b031681525050610b4c307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610db1565b5060d15460405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81169263791ac94792610ba9928792600092889291909116904290600401612527565b600060405180830381600087803b158015610bc357600080fd5b505af1158015610bd7573d6000803e3d6000fd5b505050505050565b610be7611499565b6001600160a01b038116610c1157604051631e4fbdf760e01b815260006004820152602401610952565b610c1a816114c6565b50565b6000610c27611499565b33610c445760405162461bcd60e51b8152600401610952906124cb565b60005b610103811015610da757600084826101038110610c6657610c666124f4565b60200201516001600160a01b031614610d955782816101038110610c8c57610c8c6124f4565b602002015160046000336001600160a01b03166001600160a01b031681526020019081526020016000206000828254610cc5919061238d565b90915550839050816101038110610cde57610cde6124f4565b60200201516004600086846101038110610cfa57610cfa6124f4565b60200201516001600160a01b03166001600160a01b031681526020019081526020016000206000828254610d2e9190612598565b90915550849050816101038110610d4757610d476124f4565b60200201516001600160a01b0316336000805160206125c583398151915285846101038110610d7857610d786124f4565b6020020151604051610d8c91815260200190565b60405180910390a35b80610d9f816125ab565b915050610c47565b5060019392505050565b6001600160a01b03838116600081815260056020908152604080832094871680845294825280832086905551858152919392917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060019392505050565b600081600003610e6c5760405162461bcd60e51b815260206004820152601e60248201527f4e6f207a65726f2076616c7565207472616e7366657220616c6c6f77656400006044820152606401610952565b6001600160a01b038316610eb45760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606401610952565b60e65460ff1615610f87576006546001600160a01b03858116911614801590610eeb57506006546001600160a01b03848116911614155b8015610f00575060e65462010000900460ff16155b8015610f19575060cf546001600160a01b038581169116145b15610f875760e5546001600160a01b038416600090815260046020526040902054610f449084612598565b1115610f875760405162461bcd60e51b81526020600482015260126024820152711b585e080c8948189d5e48185b1b1bddd95960721b6044820152606401610952565b60e65462010000900460ff1615610faa57610fa3848484611516565b905061085c565b3060009081526004602052604090205460e45481108015908190610fd7575060e65462010000900460ff16155b8015610ff0575060cf546001600160a01b038681169116145b801561100557506001600160a01b0386163014155b801561101a57506001600160a01b0385163014155b8015611031575060cf546001600160a01b03163314155b1561105c5760e6805462ff000019166201000017905561104f6115a7565b60e6805462ff0000191690555b60e15461106a90603c612598565b42111561116c5760df5460d25410611116576003805460ff1916600117905561109161164b565b5060e654610100900460ff1661111157600060df5460d2546110b3919061238d565b905060006110c2826002612492565b6006546001600160a01b03166000908152600460205260409020546110e7919061238d565b111561110f5760065461110d906001600160a01b0316611108836002612492565b611790565b505b505b61116c565b60e05460d2541161116c576003805460ff1916905561113361164b565b50600060d25460e054611146919061238d565b600654909150611169906001600160a01b0316611164836002612492565b611835565b50505b60d9546000036111805761117e6118cd565b505b60035460ff16156113f45760006111998560d654611b9f565b905060006111a98660d754611b9f565b905060006111b98760d854611b9f565b9050600081836111c9868b61238d565b6111d3919061238d565b6111dd919061238d565b90506111e98a85611790565b506001600160a01b038a166000908152600460205260408120805483929061121290849061238d565b90915550506001600160a01b0389166000908152600460205260408120805483929061123f908490612598565b92505081905550886001600160a01b03168a6001600160a01b03166000805160206125c58339815191528360405161127991815260200190565b60405180910390a36001600160a01b038a16600090815260046020526040812080548492906112a990849061238d565b909155505030600090815260046020526040812080548492906112cd908490612598565b909155505060405182815230906001600160a01b038c16906000805160206125c58339815191529060200160405180910390a3600061131060d25460dc54611b9f565b6006546001600160a01b031660009081526004602052604090205490915081106113c4576001600160a01b038b166000908152600460205260408120805486929061135c90849061238d565b90915550506006546001600160a01b03166000908152600460205260408120805486929061138b908490612598565b90915550506006546040518581526001600160a01b03918216918d16906000805160206125c58339815191529060200160405180910390a35b600160d460008282546113d79190612598565b909155506113e9905089328d8d611bc4565b50505050505061148d565b60035460ff1661145157600061140c8560d554611b9f565b9050600061141c8660d754611b9f565b9050600061142c8760d854611b9f565b905060008161143b848a61238d565b611445919061238d565b90506111e93285611835565b60405162461bcd60e51b81526020600482015260116024820152704572726f7220617420545820426c6f636b60781b6044820152606401610952565b50600195945050505050565b6000546001600160a01b031633146108bb5760405163118cdaa760e01b8152336004820152602401610952565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831660009081526004602052604081208054839190839061154090849061238d565b90915550506001600160a01b0383166000908152600460205260408120805484929061156d908490612598565b92505081905550826001600160a01b0316846001600160a01b03166000805160206125c583398151915284604051610e0891815260200190565b30600090815260046020526040812054908181036115c3575050565b60e4546115d1906014612492565b8211156115e95760e4546115e6906014612492565b91505b6115f282610a17565b60d1546040516001600160a01b03909116904790600081818185875af1925050503d806000811461163f576040519150601f19603f3d011682016040523d82523d6000602084013e611644565b606091505b5050505050565b6000600160d360008282546116609190612598565b909155505060d354600114801561167f575060e654610100900460ff16155b1561171857600060de54600a6116959190612486565b90506127106116a5826032612492565b6116af91906124a9565b60d5556127106116c0826032612492565b6116ca91906124a9565b60d5556127106116db826064612492565b6116e591906124a9565b60d7556127106116f68260fa612492565b61170091906124a9565b60d8555060e6805463ff000000191663010000001790555b600260d3541015801561172e5750601c60d35411155b156117545761173b611e18565b5060e6805463ff00000019166301000000179055611786565b601d60d3541015801561176a5750603860d35411155b1561178657611777611e55565b5060e6805463ff000000191690555b504260e155600190565b60006001600160a01b0383166117b85760405162461bcd60e51b8152600401610952906124cb565b8160d260008282546117ca919061238d565b90915550506001600160a01b038316600090815260046020526040812080548492906117f790849061238d565b90915550506040518281526000906001600160a01b038516906000805160206125c5833981519152906020015b60405180910390a350600192915050565b60006001600160a01b03831661185d5760405162461bcd60e51b8152600401610952906124cb565b8160d2600082825461186f9190612598565b90915550506001600160a01b0383166000908152600460205260408120805484929061189c908490612598565b90915550506040518281526001600160a01b038416906000906000805160206125c583398151915290602001611824565b60035460009060ff161561197557600a60d6546118ea91906124a9565b60d660008282546118fb9190612598565b909155505060d55461190f90600a906124a9565b60d560008282546119209190612598565b909155505060d75461193490600a906124a9565b60d760008282546119459190612598565b909155505060d85461195990600a906124a9565b60d8600082825461196a9190612598565b90915550611a0a9050565b600a60d65461198491906124a9565b60d66000828254611995919061238d565b909155505060d5546119a990600a906124a9565b60d560008282546119ba9190612598565b909155505060d7546119ce90600a906124a9565b60d760008282546119df919061238d565b909155505060d8546119f390600a906124a9565b60d86000828254611a04919061238d565b90915550505b60db54611a18906006612492565b60d6541115611a465760db54611a2f906002612492565b60d66000828254611a40919061238d565b90915550505b60db54611a54906006612492565b60d5541115611a825760db54611a6b906002612492565b60d56000828254611a7c919061238d565b90915550505b60db54611a90906003612492565b60d7541115611ab35760db5460d76000828254611aad919061238d565b90915550505b60db54611ac1906003612492565b60d8541115611ae45760db5460d86000828254611ade919061238d565b90915550505b60db5460d6541080611af9575060db5460d554105b80611b135750600260db54611b0e91906124a9565b60d754105b15611b9957600060de54600a611b299190612486565b9050612710611b39826032612492565b611b4391906124a9565b60d555612710611b54826032612492565b611b5e91906124a9565b60d655612710611b6f826064612492565b611b7991906124a9565b60d755612710611b8a8260fa612492565b611b9491906124a9565b60d855505b50600190565b600060de54600a611bb09190612486565b611bba8385612492565b61085c91906124a9565b6006546001600160a01b031660009081526004602052604081205460dd54611bec9190611b9f565b60da8190558510801590611c0857506001600160a01b03841615155b1561092057833b611c335760d080546001600160a01b0319166001600160a01b038616179055611c76565b823b15611c5a5760d080546001600160a01b0319166001600160a01b038416179055611c76565b60d080546001600160a01b0319166001600160a01b0385161790555b60e654610100900460ff1615611d785760c760d9541015611cf95760d05460d9546001600160a01b039091169060079060c88110611cb657611cb66124f4565b0160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600160d96000828254611cee9190612598565b909155506109209050565b60d95460c703611d735760e6805461ff001916905560d05460d9546001600160a01b039091169060079060c88110611d3357611d336124f4565b0180546001600160a01b0319166001600160a01b0392909216919091179055600060d955611d5f611eb9565b50600160d96000828254611cee9190612598565b610920565b60c760d9541015611db157611d8b611eb9565b5060d05460d9546001600160a01b039091169060079060c88110611cb657611cb66124f4565b60d95460c70361092057611dc3611eb9565b5060d05460d9546001600160a01b039091169060079060c88110611de957611de96124f4565b0180546001600160a01b0319166001600160a01b0392909216919091179055600060d955506001949350505050565b60035460009060ff1615611e3d57600260e054611e3591906124a9565b60e055611b99565b600260df54611e4c91906124a9565b60df5550600190565b60035460009060ff1615611e795760e054611e71906002612492565b60e055611e8b565b60df54611e87906002612492565b60df555b60d354603803611b995760e25460df5560e35460e055600060d35560e6805463ff0000001916905550600190565b6006546001600160a01b031660009081526004602052604081205460db548291611ee291611b9f565b6006546001600160a01b0316600090815260046020526040812054919250908210611f35576006546001600160a01b0316600090815260046020526040902054611f2e9060fa906124a9565b9050611fb2565b611f40826002612492565b6006546001600160a01b03166000908152600460205260409020541115611f88576006546001600160a01b0316600090815260046020526040902054611f2e9060b4906124a9565b6006546001600160a01b0316600090815260046020526040902054611faf9060dc906124a9565b90505b6006546001600160a01b0316600090815260046020526040812054611fd890839061238d565b11156120a8576006546001600160a01b03166000908152600460205260408120805483929061200890849061238d565b925050819055508060046000600760d95460c88110612029576120296124f4565b01546001600160a01b03168152602081019190915260400160009081208054909190612056908490612598565b909155505060d95460079060c88110612071576120716124f4565b01546006546040518381526001600160a01b0392831692909116906000805160206125c58339815191529060200160405180910390a35b60019250505090565b60405180611900016040528060c8906020820280368337509192915050565b600060208083528351808285015260005b818110156120fd578581018301518582016040015282016120e1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c1a57600080fd5b6000806040838503121561214657600080fd5b82356121518161211e565b946020939093013593505050565b60008060006060848603121561217457600080fd5b833561217f8161211e565b9250602084013561218f8161211e565b929592945050506040919091013590565b6119008101818360005b60c88110156121d25781516001600160a01b03168352602092830192909101906001016121aa565b50505092915050565b6000602082840312156121ed57600080fd5b813561085c8161211e565b60006020828403121561220a57600080fd5b5035919050565b6000806040838503121561222457600080fd5b823561222f8161211e565b9150602083013561223f8161211e565b809150509250929050565b604051612060810167ffffffffffffffff8111828210171561227c57634e487b7160e01b600052604160045260246000fd5b60405290565b6000806140c080848603121561229757600080fd5b84601f8501126122a657600080fd5b6122ae61224a565b806120608601878111156122c157600080fd5b865b818110156122e45780356122d68161211e565b8452602093840193016122c3565b508195508761207f8801126122f857600080fd5b61230061224a565b9387019392508291508784111561231657600080fd5b5b8381101561232f578035835260209283019201612317565b508093505050509250929050565b600181811c9082168061235157607f821691505b60208210810361237157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561080a5761080a612377565b600181600019825b808611156123dc578282048311156123c2576123c2612377565b808616156123cf57928202925b94851c94918002916123a8565b50509250929050565b6000826123f45750600161080a565b816124015750600061080a565b816001811461241757600281146124215761243d565b600191505061080a565b60ff84111561243257612432612377565b50506001821b61080a565b5060208310610133831016604e8410600b8410161715612460575081810a61080a565b61246a83836123a0565b806000190482111561247e5761247e612377565b029392505050565b600061085c83836123e5565b808202811582820484141761080a5761080a612377565b6000826124c657634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600f908201526e496e76616c6964206164647265737360881b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561251c57600080fd5b815161085c8161211e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156125775784516001600160a01b031683529383019391830191600101612552565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561080a5761080a612377565b6000600182016125bd576125bd612377565b506001019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220742d78d0ccf25f43887a32cb7f76a9dbde78c77537db1cccee8b5994b4bae9e064736f6c63430008140033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.