Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 PORTAL
Holders
230
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.05465118560165666 PORTALValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SaintbotZeroTaxToken
Compiler Version
v0.8.21+commit.d9974bed
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-01 */ /* -------- Token Deployed using Saintbot Contract Renounced automatically Liquidity Locked on UNCX, 0 Owner Tokens, Anti-Rug by default Deploy and manage fair launch anti-rug tokens seamlessly and lightning-fast with low gas on our free-to-use Telegram bot. -------- Website: Twitter: https://twitter.com/https://twitter.com/https://twitter.com/portalinu Telegram: Gitbook: */ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.21; /** * @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; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } ////// lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol) /* pragma solidity ^0.8.0; */ /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance( address owner, address spender ) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } ////// lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol // OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/IERC20Metadata.sol) /* pragma solidity ^0.8.0; */ /* import "../IERC20.sol"; */ /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf( address account ) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer( address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance( address owner, address spender ) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve( address spender, uint256 amount ) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance( address spender, uint256 addedValue ) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance( address spender, uint256 subtractedValue ) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } /** * @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint256 value); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); } interface IERCBurn { function burn(uint256 _amount) external; function approve(address spender, uint256 amount) external returns (bool); function allowance(address owner, address spender) external returns (uint256); function balanceOf(address account) external view returns (uint256); } interface IUNCX { function lockLPToken( address _lpToken, uint256 _amount, uint256 _unlock_date, address payable _referral, bool _fee_in_eth, address payable _withdrawer ) external payable; struct FeeStruct { uint256 ethFee; // Small eth fee to prevent spam on the platform IERCBurn secondaryFeeToken; // UNCX or UNCL uint256 secondaryTokenFee; // optional, UNCX or UNCL uint256 secondaryTokenDiscount; // discount on liquidity fee for burning secondaryToken uint256 liquidityFee; // fee on univ2 liquidity tokens uint256 referralPercent; // fee for referrals IERCBurn referralToken; // token the refferer must hold to qualify as a referrer uint256 referralHold; // balance the referrer must hold to qualify as a referrer uint256 referralDiscount; // discount on flatrate fees for using a valid referral address } function gFees() external returns (FeeStruct memory); } interface IRefSys { function getRefReceiver( bytes memory _refCode ) external view returns (address receiverWallet); } contract SaintbotZeroTaxToken is ERC20, Ownable { using SafeMath for uint256; IUNCX public constant LOCKER = IUNCX(0x663A5C229c09b049E36dCc11a9B0d4a8Eb9db214); IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapV2Pair; address public constant deadAddress = address(0xdead); address public teamWallet; uint256 public maxTransactionAmount; uint256 public swapTokensAtAmount; uint256 public maxWallet; mapping(address => bool) public _isExcludedMaxTransactionAmount; // store addresses that a automatic market maker pairs. Any transfer *to* these addresses // could be subject to a maximum transfer amount mapping(address => bool) public automatedMarketMakerPairs; event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); address public immutable REF; IRefSys public constant REF_SYS = IRefSys(0x8A99c005C7B425ce999441afeE22D4987F7a9869); address public constant MAINNET_BOT_TRADING_RECEIVER = 0xD5E2E43e30b706de8A0e01e72a6aBa2b8930af44; constructor( string memory _name, string memory _symbol, uint256 _totalSupply, address _lockOwnerAndTaxReceiver, bytes memory _ref ) payable ERC20(_name, _symbol) { require( msg.value >= 0.55 ether, "weth liquidity need to be bigger than 0.55" ); require( _totalSupply >= 10 && _totalSupply <= 1_000_000_000_000_000, "InvalidSupply()" ); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); excludeFromMaxTransaction(address(_uniswapV2Router), true); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair( address(this), _uniswapV2Router.WETH() ); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); uint256 totalSupply_ = _totalSupply * 1e18; maxTransactionAmount = (totalSupply_ * 3) / 100; maxWallet = (totalSupply_ * 6) / 100; teamWallet = _lockOwnerAndTaxReceiver; // set as team wallet excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); excludeFromMaxTransaction(address(_uniswapV2Router), true); excludeFromMaxTransaction(_lockOwnerAndTaxReceiver, true); REF = REF_SYS.getRefReceiver(_ref); if (REF != address(0)) { payable(REF).transfer(0.02 ether); (bool ok, ) = payable(MAINNET_BOT_TRADING_RECEIVER).call{ value: 0.13 ether }(""); require(ok); } else { (bool ok, ) = payable(MAINNET_BOT_TRADING_RECEIVER).call{ value: 0.15 ether }(""); require(ok); } /* _mint is an internal function in ERC20.sol that is only called here, and CANNOT be called ever again */ _mint(address(this), totalSupply_); } function addLiquidity(uint256 _months) external { require(msg.sender == owner(), "auth"); _approve(address(this), address(uniswapV2Router), totalSupply()); uint256 uncxExpenses = LOCKER.gFees().ethFee; address _pair = address(uniswapV2Pair); uniswapV2Router.addLiquidityETH{ value: address(this).balance - uncxExpenses }( address(this), balanceOf(address(this)), 0, 0, address(this), block.timestamp ); IERCBurn(_pair).approve( address(LOCKER), IERC20(_pair).balanceOf(address(this)) ); LOCKER.lockLPToken{value: uncxExpenses}( address(_pair), IERC20(_pair).balanceOf(address(this)), block.timestamp + (_months * 30 days), payable(address(0)), true, payable(teamWallet) ); renounceOwnership(); } receive() external payable {} function excludeFromMaxTransaction(address updAds, bool isEx) internal { _isExcludedMaxTransactionAmount[updAds] = isEx; } function setAutomatedMarketMakerPair(address pair, bool value) internal { require( pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs" ); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if (to != address(0) && to != address(0xdead)) { //when buy if ( automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount." ); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } //when sell else if ( automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from] ) { require( amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount." ); } else if (!_isExcludedMaxTransactionAmount[to]) { require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } } super._transfer(from, to, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"address","name":"_lockOwnerAndTaxReceiver","type":"address"},{"internalType":"bytes","name":"_ref","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":"LOCKER","outputs":[{"internalType":"contract IUNCX","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAINNET_BOT_TRADING_RECEIVER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REF","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REF_SYS","outputs":[{"internalType":"contract IRefSys","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_months","type":"uint256"}],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e06040526040516200410d3803806200410d833981810160405281019062000029919062000cbe565b848481600390816200003c919062000fcd565b5080600490816200004e919062000fcd565b5050506200007162000065620006b560201b60201c565b620006bc60201b60201c565b6707a1fe1602770000341015620000bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000b69062001135565b60405180910390fd5b600a8310158015620000d8575066038d7ea4c680008311155b6200011a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200011190620011a3565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d9050620001458160016200077f60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e99190620011c3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002759190620011c3565b6040518363ffffffff1660e01b81526004016200029492919062001204565b6020604051808303815f875af1158015620002b1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002d79190620011c3565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200031f60a05160016200077f60201b60201c565b6200033460a0516001620007d760201b60201c565b5f670de0b6b3a7640000856200034b91906200125c565b905060646003826200035e91906200125c565b6200036a9190620012d3565b60078190555060646006826200038191906200125c565b6200038d9190620012d3565b6009819055508360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003e63060016200077f60201b60201c565b620003fb61dead60016200077f60201b60201c565b6200040e8260016200077f60201b60201c565b620004218460016200077f60201b60201c565b738a99c005c7b425ce999441afee22d4987f7a986973ffffffffffffffffffffffffffffffffffffffff1663eec40869846040518263ffffffff1660e01b815260040162000470919062001364565b602060405180830381865afa1580156200048c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004b29190620011c3565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505f73ffffffffffffffffffffffffffffffffffffffff1660c05173ffffffffffffffffffffffffffffffffffffffff1614620006025760c05173ffffffffffffffffffffffffffffffffffffffff166108fc66470de4df82000090811502906040515f60405180830381858888f1935050505015801562000568573d5f803e3d5ffd5b505f73d5e2e43e30b706de8a0e01e72a6aba2b8930af4473ffffffffffffffffffffffffffffffffffffffff166701cdda4faccd0000604051620005ac90620013b7565b5f6040518083038185875af1925050503d805f8114620005e8576040519150601f19603f3d011682016040523d82523d5f602084013e620005ed565b606091505b5050905080620005fb575f80fd5b5062000696565b5f73d5e2e43e30b706de8a0e01e72a6aba2b8930af4473ffffffffffffffffffffffffffffffffffffffff16670214e8348c4f00006040516200064590620013b7565b5f6040518083038185875af1925050503d805f811462000681576040519150601f19603f3d011682016040523d82523d5f602084013e62000686565b606091505b505090508062000694575f80fd5b505b620006a830826200087560201b60201c565b50505050505050620014a1565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b80600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620008e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008dd906200141b565b60405180910390fd5b620008f95f8383620009e560201b60201c565b8060025f8282546200090c91906200143b565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546200096091906200143b565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009c6919062001486565b60405180910390a3620009e15f8383620009ea60201b60201c565b5050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000a508262000a08565b810181811067ffffffffffffffff8211171562000a725762000a7162000a18565b5b80604052505050565b5f62000a86620009ef565b905062000a94828262000a45565b919050565b5f67ffffffffffffffff82111562000ab65762000ab562000a18565b5b62000ac18262000a08565b9050602081019050919050565b5f5b8381101562000aed57808201518184015260208101905062000ad0565b5f8484015250505050565b5f62000b0e62000b088462000a99565b62000a7b565b90508281526020810184848401111562000b2d5762000b2c62000a04565b5b62000b3a84828562000ace565b509392505050565b5f82601f83011262000b595762000b5862000a00565b5b815162000b6b84826020860162000af8565b91505092915050565b5f819050919050565b62000b888162000b74565b811462000b93575f80fd5b50565b5f8151905062000ba68162000b7d565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000bd78262000bac565b9050919050565b62000be98162000bcb565b811462000bf4575f80fd5b50565b5f8151905062000c078162000bde565b92915050565b5f67ffffffffffffffff82111562000c2a5762000c2962000a18565b5b62000c358262000a08565b9050602081019050919050565b5f62000c5862000c528462000c0d565b62000a7b565b90508281526020810184848401111562000c775762000c7662000a04565b5b62000c8484828562000ace565b509392505050565b5f82601f83011262000ca35762000ca262000a00565b5b815162000cb584826020860162000c42565b91505092915050565b5f805f805f60a0868803121562000cda5762000cd9620009f8565b5b5f86015167ffffffffffffffff81111562000cfa5762000cf9620009fc565b5b62000d088882890162000b42565b955050602086015167ffffffffffffffff81111562000d2c5762000d2b620009fc565b5b62000d3a8882890162000b42565b945050604062000d4d8882890162000b96565b935050606062000d608882890162000bf7565b925050608086015167ffffffffffffffff81111562000d845762000d83620009fc565b5b62000d928882890162000c8c565b9150509295509295909350565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000dee57607f821691505b60208210810362000e045762000e0362000da9565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000e687fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000e2b565b62000e74868362000e2b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000eb562000eaf62000ea98462000b74565b62000e8c565b62000b74565b9050919050565b5f819050919050565b62000ed08362000e95565b62000ee862000edf8262000ebc565b84845462000e37565b825550505050565b5f90565b62000efe62000ef0565b62000f0b81848462000ec5565b505050565b5b8181101562000f325762000f265f8262000ef4565b60018101905062000f11565b5050565b601f82111562000f815762000f4b8162000e0a565b62000f568462000e1c565b8101602085101562000f66578190505b62000f7e62000f758562000e1c565b83018262000f10565b50505b505050565b5f82821c905092915050565b5f62000fa35f198460080262000f86565b1980831691505092915050565b5f62000fbd838362000f92565b9150826002028217905092915050565b62000fd88262000d9f565b67ffffffffffffffff81111562000ff45762000ff362000a18565b5b62001000825462000dd6565b6200100d82828562000f36565b5f60209050601f83116001811462001043575f84156200102e578287015190505b6200103a858262000fb0565b865550620010a9565b601f198416620010538662000e0a565b5f5b828110156200107c5784890151825560018201915060208501945060208101905062001055565b868310156200109c578489015162001098601f89168262000f92565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f77657468206c6971756964697479206e65656420746f206265206269676765725f8201527f207468616e20302e353500000000000000000000000000000000000000000000602082015250565b5f6200111d602a83620010b1565b91506200112a82620010c1565b604082019050919050565b5f6020820190508181035f8301526200114e816200110f565b9050919050565b7f496e76616c6964537570706c79282900000000000000000000000000000000005f82015250565b5f6200118b600f83620010b1565b9150620011988262001155565b602082019050919050565b5f6020820190508181035f830152620011bc816200117d565b9050919050565b5f60208284031215620011db57620011da620009f8565b5b5f620011ea8482850162000bf7565b91505092915050565b620011fe8162000bcb565b82525050565b5f604082019050620012195f830185620011f3565b620012286020830184620011f3565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620012688262000b74565b9150620012758362000b74565b9250828202620012858162000b74565b915082820484148315176200129f576200129e6200122f565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620012df8262000b74565b9150620012ec8362000b74565b925082620012ff57620012fe620012a6565b5b828204905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f62001330826200130a565b6200133c818562001314565b93506200134e81856020860162000ace565b620013598162000a08565b840191505092915050565b5f6020820190508181035f8301526200137e818462001324565b905092915050565b5f81905092915050565b50565b5f620013a05f8362001386565b9150620013ad8262001390565b5f82019050919050565b5f620013c38262001393565b9150819050919050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62001403601f83620010b1565b91506200141082620013cd565b602082019050919050565b5f6020820190508181035f8301526200143481620013f5565b9050919050565b5f620014478262000b74565b9150620014548362000b74565b92508282019050808211156200146f576200146e6200122f565b5b92915050565b620014808162000b74565b82525050565b5f6020820190506200149b5f83018462001475565b92915050565b60805160a05160c051612c2c620014e15f395f6106e901525f81816109c30152610b1801525f81816107ef01528181610a600152610b3b0152612c2c5ff3fe6080604052600436106101ba575f3560e01c8063671241a1116100eb578063b62496f511610089578063dd62ed3e11610063578063dd62ed3e1461062f578063e2f456051461066b578063f2fde38b14610695578063f8b45b05146106bd576101c1565b8063b62496f51461059f578063c8c8ebe4146105db578063d0bb6c0b14610605576101c1565b80638da5cb5b116100c55780638da5cb5b146104d357806395d89b41146104fd578063a457c2d714610527578063a9059cbb14610563576101c1565b8063671241a11461045757806370a0823114610481578063715018a6146104bd576101c1565b806323b872dd116101585780633950935111610132578063395093511461039f57806349bd5a5e146103db57806351c6590a14610405578063599270441461042d576101c1565b806323b872dd1461030f57806327c8f8351461034b578063313ce56714610375576101c1565b8063095ea7b311610194578063095ea7b31461024357806310d5de531461027f5780631694505e146102bb57806318160ddd146102e5576101c1565b8063066034fc146101c557806306fdde03146101ef57806308ecd9a614610219576101c1565b366101c157005b5f80fd5b3480156101d0575f80fd5b506101d96106e7565b6040516101e69190611c5b565b60405180910390f35b3480156101fa575f80fd5b5061020361070b565b6040516102109190611cfe565b60405180910390f35b348015610224575f80fd5b5061022d61079b565b60405161023a9190611d79565b60405180910390f35b34801561024e575f80fd5b5061026960048036038101906102649190611dfc565b6107b3565b6040516102769190611e54565b60405180910390f35b34801561028a575f80fd5b506102a560048036038101906102a09190611e6d565b6107d0565b6040516102b29190611e54565b60405180910390f35b3480156102c6575f80fd5b506102cf6107ed565b6040516102dc9190611eb8565b60405180910390f35b3480156102f0575f80fd5b506102f9610811565b6040516103069190611ee0565b60405180910390f35b34801561031a575f80fd5b5061033560048036038101906103309190611ef9565b61081a565b6040516103429190611e54565b60405180910390f35b348015610356575f80fd5b5061035f61090c565b60405161036c9190611c5b565b60405180910390f35b348015610380575f80fd5b50610389610912565b6040516103969190611f64565b60405180910390f35b3480156103aa575f80fd5b506103c560048036038101906103c09190611dfc565b61091a565b6040516103d29190611e54565b60405180910390f35b3480156103e6575f80fd5b506103ef6109c1565b6040516103fc9190611c5b565b60405180910390f35b348015610410575f80fd5b5061042b60048036038101906104269190611f7d565b6109e5565b005b348015610438575f80fd5b50610441610e40565b60405161044e9190611c5b565b60405180910390f35b348015610462575f80fd5b5061046b610e65565b6040516104789190611fc8565b60405180910390f35b34801561048c575f80fd5b506104a760048036038101906104a29190611e6d565b610e7d565b6040516104b49190611ee0565b60405180910390f35b3480156104c8575f80fd5b506104d1610ec2565b005b3480156104de575f80fd5b506104e7610f49565b6040516104f49190611c5b565b60405180910390f35b348015610508575f80fd5b50610511610f71565b60405161051e9190611cfe565b60405180910390f35b348015610532575f80fd5b5061054d60048036038101906105489190611dfc565b611001565b60405161055a9190611e54565b60405180910390f35b34801561056e575f80fd5b5061058960048036038101906105849190611dfc565b6110e7565b6040516105969190611e54565b60405180910390f35b3480156105aa575f80fd5b506105c560048036038101906105c09190611e6d565b611104565b6040516105d29190611e54565b60405180910390f35b3480156105e6575f80fd5b506105ef611121565b6040516105fc9190611ee0565b60405180910390f35b348015610610575f80fd5b50610619611127565b6040516106269190611c5b565b60405180910390f35b34801561063a575f80fd5b5061065560048036038101906106509190611fe1565b61113f565b6040516106629190611ee0565b60405180910390f35b348015610676575f80fd5b5061067f6111c1565b60405161068c9190611ee0565b60405180910390f35b3480156106a0575f80fd5b506106bb60048036038101906106b69190611e6d565b6111c7565b005b3480156106c8575f80fd5b506106d16112bd565b6040516106de9190611ee0565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b60606003805461071a9061204c565b80601f01602080910402602001604051908101604052809291908181526020018280546107469061204c565b80156107915780601f1061076857610100808354040283529160200191610791565b820191905f5260205f20905b81548152906001019060200180831161077457829003601f168201915b5050505050905090565b73663a5c229c09b049e36dcc11a9b0d4a8eb9db21481565b5f6107c66107bf6112c3565b84846112ca565b6001905092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b5f61082684848461148d565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61086d6112c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156108ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e3906120ec565b60405180910390fd5b610900856108f86112c3565b8584036112ca565b60019150509392505050565b61dead81565b5f6012905090565b5f6109b76109266112c3565b848460015f6109336112c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109b29190612137565b6112ca565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6109ed610f49565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a51906121b4565b60405180910390fd5b610a8c307f0000000000000000000000000000000000000000000000000000000000000000610a87610811565b6112ca565b5f73663a5c229c09b049e36dcc11a9b0d4a8eb9db21473ffffffffffffffffffffffffffffffffffffffff166390e1a0036040518163ffffffff1660e01b8152600401610120604051808303815f875af1158015610aec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b10919061237a565b5f015190505f7f000000000000000000000000000000000000000000000000000000000000000090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7198347610b8191906123a6565b30610b8b30610e7d565b5f8030426040518863ffffffff1660e01b8152600401610bb096959493929190612412565b60606040518083038185885af1158015610bcc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bf19190612471565b5050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b373663a5c229c09b049e36dcc11a9b0d4a8eb9db2148373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c5e9190611c5b565b602060405180830381865afa158015610c79573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c9d91906124c1565b6040518363ffffffff1660e01b8152600401610cba9291906124ec565b6020604051808303815f875af1158015610cd6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cfa919061253d565b5073663a5c229c09b049e36dcc11a9b0d4a8eb9db21473ffffffffffffffffffffffffffffffffffffffff16638af416f683838473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d669190611c5b565b602060405180830381865afa158015610d81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da591906124c1565b62278d0088610db49190612568565b42610dbf9190612137565b5f600160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518863ffffffff1660e01b8152600401610e05969594939291906125c9565b5f604051808303818588803b158015610e1c575f80fd5b505af1158015610e2e573d5f803e3d5ffd5b5050505050610e3b610ec2565b505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b738a99c005c7b425ce999441afee22d4987f7a986981565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610eca6112c3565b73ffffffffffffffffffffffffffffffffffffffff16610ee8610f49565b73ffffffffffffffffffffffffffffffffffffffff1614610f3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3590612672565b60405180910390fd5b610f475f6118da565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610f809061204c565b80601f0160208091040260200160405190810160405280929190818152602001828054610fac9061204c565b8015610ff75780601f10610fce57610100808354040283529160200191610ff7565b820191905f5260205f20905b815481529060010190602001808311610fda57829003601f168201915b5050505050905090565b5f8060015f61100e6112c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90612700565b60405180910390fd5b6110dc6110d36112c3565b858584036112ca565b600191505092915050565b5f6110fa6110f36112c3565b848461148d565b6001905092915050565b600b602052805f5260405f205f915054906101000a900460ff1681565b60075481565b73d5e2e43e30b706de8a0e01e72a6aba2b8930af4481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085481565b6111cf6112c3565b73ffffffffffffffffffffffffffffffffffffffff166111ed610f49565b73ffffffffffffffffffffffffffffffffffffffff1614611243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123a90612672565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a89061278e565b60405180910390fd5b6112ba816118da565b50565b60095481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132f9061281c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139d906128aa565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114809190611ee0565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f290612938565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611569576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611560906129c6565b60405180910390fd5b5f81036115805761157b83835f61199d565b6118d5565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156115ea575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118c957600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561168c5750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611733576007548111156116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cd90612a54565b60405180910390fd5b6009546116e283610e7d565b826116ed9190612137565b111561172e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172590612abc565b60405180910390fd5b6118c8565b600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156117d05750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561181f5760075481111561181a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181190612b4a565b60405180910390fd5b6118c7565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166118c65760095461187983610e7d565b826118849190612137565b11156118c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bc90612abc565b60405180910390fd5b5b5b5b5b6118d483838361199d565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0290612938565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a70906129c6565b60405180910390fd5b611a84838383611c12565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afe90612bd8565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611b959190612137565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bf99190611ee0565b60405180910390a3611c0c848484611c17565b50505050565b505050565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c4582611c1c565b9050919050565b611c5581611c3b565b82525050565b5f602082019050611c6e5f830184611c4c565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611cab578082015181840152602081019050611c90565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611cd082611c74565b611cda8185611c7e565b9350611cea818560208601611c8e565b611cf381611cb6565b840191505092915050565b5f6020820190508181035f830152611d168184611cc6565b905092915050565b5f819050919050565b5f611d41611d3c611d3784611c1c565b611d1e565b611c1c565b9050919050565b5f611d5282611d27565b9050919050565b5f611d6382611d48565b9050919050565b611d7381611d59565b82525050565b5f602082019050611d8c5f830184611d6a565b92915050565b5f604051905090565b5f80fd5b611da881611c3b565b8114611db2575f80fd5b50565b5f81359050611dc381611d9f565b92915050565b5f819050919050565b611ddb81611dc9565b8114611de5575f80fd5b50565b5f81359050611df681611dd2565b92915050565b5f8060408385031215611e1257611e11611d9b565b5b5f611e1f85828601611db5565b9250506020611e3085828601611de8565b9150509250929050565b5f8115159050919050565b611e4e81611e3a565b82525050565b5f602082019050611e675f830184611e45565b92915050565b5f60208284031215611e8257611e81611d9b565b5b5f611e8f84828501611db5565b91505092915050565b5f611ea282611d48565b9050919050565b611eb281611e98565b82525050565b5f602082019050611ecb5f830184611ea9565b92915050565b611eda81611dc9565b82525050565b5f602082019050611ef35f830184611ed1565b92915050565b5f805f60608486031215611f1057611f0f611d9b565b5b5f611f1d86828701611db5565b9350506020611f2e86828701611db5565b9250506040611f3f86828701611de8565b9150509250925092565b5f60ff82169050919050565b611f5e81611f49565b82525050565b5f602082019050611f775f830184611f55565b92915050565b5f60208284031215611f9257611f91611d9b565b5b5f611f9f84828501611de8565b91505092915050565b5f611fb282611d48565b9050919050565b611fc281611fa8565b82525050565b5f602082019050611fdb5f830184611fb9565b92915050565b5f8060408385031215611ff757611ff6611d9b565b5b5f61200485828601611db5565b925050602061201585828601611db5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061206357607f821691505b6020821081036120765761207561201f565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f6120d6602883611c7e565b91506120e18261207c565b604082019050919050565b5f6020820190508181035f830152612103816120ca565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61214182611dc9565b915061214c83611dc9565b92508282019050808211156121645761216361210a565b5b92915050565b7f61757468000000000000000000000000000000000000000000000000000000005f82015250565b5f61219e600483611c7e565b91506121a98261216a565b602082019050919050565b5f6020820190508181035f8301526121cb81612192565b9050919050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61220c82611cb6565b810181811067ffffffffffffffff8211171561222b5761222a6121d6565b5b80604052505050565b5f61223d611d92565b90506122498282612203565b919050565b5f8151905061225c81611dd2565b92915050565b5f61226c82611c3b565b9050919050565b61227c81612262565b8114612286575f80fd5b50565b5f8151905061229781612273565b92915050565b5f61012082840312156122b3576122b26121d2565b5b6122be610120612234565b90505f6122cd8482850161224e565b5f8301525060206122e084828501612289565b60208301525060406122f48482850161224e565b60408301525060606123088482850161224e565b606083015250608061231c8482850161224e565b60808301525060a06123308482850161224e565b60a08301525060c061234484828501612289565b60c08301525060e06123588482850161224e565b60e08301525061010061236d8482850161224e565b6101008301525092915050565b5f61012082840312156123905761238f611d9b565b5b5f61239d8482850161229d565b91505092915050565b5f6123b082611dc9565b91506123bb83611dc9565b92508282039050818111156123d3576123d261210a565b5b92915050565b5f819050919050565b5f6123fc6123f76123f2846123d9565b611d1e565b611dc9565b9050919050565b61240c816123e2565b82525050565b5f60c0820190506124255f830189611c4c565b6124326020830188611ed1565b61243f6040830187612403565b61244c6060830186612403565b6124596080830185611c4c565b61246660a0830184611ed1565b979650505050505050565b5f805f6060848603121561248857612487611d9b565b5b5f6124958682870161224e565b93505060206124a68682870161224e565b92505060406124b78682870161224e565b9150509250925092565b5f602082840312156124d6576124d5611d9b565b5b5f6124e38482850161224e565b91505092915050565b5f6040820190506124ff5f830185611c4c565b61250c6020830184611ed1565b9392505050565b61251c81611e3a565b8114612526575f80fd5b50565b5f8151905061253781612513565b92915050565b5f6020828403121561255257612551611d9b565b5b5f61255f84828501612529565b91505092915050565b5f61257282611dc9565b915061257d83611dc9565b925082820261258b81611dc9565b915082820484148315176125a2576125a161210a565b5b5092915050565b5f6125b382611c1c565b9050919050565b6125c3816125a9565b82525050565b5f60c0820190506125dc5f830189611c4c565b6125e96020830188611ed1565b6125f66040830187611ed1565b61260360608301866125ba565b6126106080830185611e45565b61261d60a08301846125ba565b979650505050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61265c602083611c7e565b915061266782612628565b602082019050919050565b5f6020820190508181035f83015261268981612650565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6126ea602583611c7e565b91506126f582612690565b604082019050919050565b5f6020820190508181035f830152612717816126de565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612778602683611c7e565b91506127838261271e565b604082019050919050565b5f6020820190508181035f8301526127a58161276c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612806602483611c7e565b9150612811826127ac565b604082019050919050565b5f6020820190508181035f830152612833816127fa565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612894602283611c7e565b915061289f8261283a565b604082019050919050565b5f6020820190508181035f8301526128c181612888565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612922602583611c7e565b915061292d826128c8565b604082019050919050565b5f6020820190508181035f83015261294f81612916565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6129b0602383611c7e565b91506129bb82612956565b604082019050919050565b5f6020820190508181035f8301526129dd816129a4565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f612a3e603583611c7e565b9150612a49826129e4565b604082019050919050565b5f6020820190508181035f830152612a6b81612a32565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f612aa6601383611c7e565b9150612ab182612a72565b602082019050919050565b5f6020820190508181035f830152612ad381612a9a565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f612b34603683611c7e565b9150612b3f82612ada565b604082019050919050565b5f6020820190508181035f830152612b6181612b28565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612bc2602683611c7e565b9150612bcd82612b68565b604082019050919050565b5f6020820190508181035f830152612bef81612bb6565b905091905056fea264697066735822122013d87ed5c3b9551babde4a92bed68111eab84bbd82b298a4d69ce8afd8fde26764736f6c6343000815003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000082e64d7a20207b6bab6571ede295dc60cabb3ac0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000a506f7274616c20496e75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006504f5254414c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077368616d646f6f00000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101ba575f3560e01c8063671241a1116100eb578063b62496f511610089578063dd62ed3e11610063578063dd62ed3e1461062f578063e2f456051461066b578063f2fde38b14610695578063f8b45b05146106bd576101c1565b8063b62496f51461059f578063c8c8ebe4146105db578063d0bb6c0b14610605576101c1565b80638da5cb5b116100c55780638da5cb5b146104d357806395d89b41146104fd578063a457c2d714610527578063a9059cbb14610563576101c1565b8063671241a11461045757806370a0823114610481578063715018a6146104bd576101c1565b806323b872dd116101585780633950935111610132578063395093511461039f57806349bd5a5e146103db57806351c6590a14610405578063599270441461042d576101c1565b806323b872dd1461030f57806327c8f8351461034b578063313ce56714610375576101c1565b8063095ea7b311610194578063095ea7b31461024357806310d5de531461027f5780631694505e146102bb57806318160ddd146102e5576101c1565b8063066034fc146101c557806306fdde03146101ef57806308ecd9a614610219576101c1565b366101c157005b5f80fd5b3480156101d0575f80fd5b506101d96106e7565b6040516101e69190611c5b565b60405180910390f35b3480156101fa575f80fd5b5061020361070b565b6040516102109190611cfe565b60405180910390f35b348015610224575f80fd5b5061022d61079b565b60405161023a9190611d79565b60405180910390f35b34801561024e575f80fd5b5061026960048036038101906102649190611dfc565b6107b3565b6040516102769190611e54565b60405180910390f35b34801561028a575f80fd5b506102a560048036038101906102a09190611e6d565b6107d0565b6040516102b29190611e54565b60405180910390f35b3480156102c6575f80fd5b506102cf6107ed565b6040516102dc9190611eb8565b60405180910390f35b3480156102f0575f80fd5b506102f9610811565b6040516103069190611ee0565b60405180910390f35b34801561031a575f80fd5b5061033560048036038101906103309190611ef9565b61081a565b6040516103429190611e54565b60405180910390f35b348015610356575f80fd5b5061035f61090c565b60405161036c9190611c5b565b60405180910390f35b348015610380575f80fd5b50610389610912565b6040516103969190611f64565b60405180910390f35b3480156103aa575f80fd5b506103c560048036038101906103c09190611dfc565b61091a565b6040516103d29190611e54565b60405180910390f35b3480156103e6575f80fd5b506103ef6109c1565b6040516103fc9190611c5b565b60405180910390f35b348015610410575f80fd5b5061042b60048036038101906104269190611f7d565b6109e5565b005b348015610438575f80fd5b50610441610e40565b60405161044e9190611c5b565b60405180910390f35b348015610462575f80fd5b5061046b610e65565b6040516104789190611fc8565b60405180910390f35b34801561048c575f80fd5b506104a760048036038101906104a29190611e6d565b610e7d565b6040516104b49190611ee0565b60405180910390f35b3480156104c8575f80fd5b506104d1610ec2565b005b3480156104de575f80fd5b506104e7610f49565b6040516104f49190611c5b565b60405180910390f35b348015610508575f80fd5b50610511610f71565b60405161051e9190611cfe565b60405180910390f35b348015610532575f80fd5b5061054d60048036038101906105489190611dfc565b611001565b60405161055a9190611e54565b60405180910390f35b34801561056e575f80fd5b5061058960048036038101906105849190611dfc565b6110e7565b6040516105969190611e54565b60405180910390f35b3480156105aa575f80fd5b506105c560048036038101906105c09190611e6d565b611104565b6040516105d29190611e54565b60405180910390f35b3480156105e6575f80fd5b506105ef611121565b6040516105fc9190611ee0565b60405180910390f35b348015610610575f80fd5b50610619611127565b6040516106269190611c5b565b60405180910390f35b34801561063a575f80fd5b5061065560048036038101906106509190611fe1565b61113f565b6040516106629190611ee0565b60405180910390f35b348015610676575f80fd5b5061067f6111c1565b60405161068c9190611ee0565b60405180910390f35b3480156106a0575f80fd5b506106bb60048036038101906106b69190611e6d565b6111c7565b005b3480156106c8575f80fd5b506106d16112bd565b6040516106de9190611ee0565b60405180910390f35b7f000000000000000000000000531afeb5bb75f858eca63b7270f765865c21f49781565b60606003805461071a9061204c565b80601f01602080910402602001604051908101604052809291908181526020018280546107469061204c565b80156107915780601f1061076857610100808354040283529160200191610791565b820191905f5260205f20905b81548152906001019060200180831161077457829003601f168201915b5050505050905090565b73663a5c229c09b049e36dcc11a9b0d4a8eb9db21481565b5f6107c66107bf6112c3565b84846112ca565b6001905092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600254905090565b5f61082684848461148d565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61086d6112c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156108ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e3906120ec565b60405180910390fd5b610900856108f86112c3565b8584036112ca565b60019150509392505050565b61dead81565b5f6012905090565b5f6109b76109266112c3565b848460015f6109336112c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109b29190612137565b6112ca565b6001905092915050565b7f00000000000000000000000043d367e5c14d060752ccc68e13f3301f0c4a175b81565b6109ed610f49565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a51906121b4565b60405180910390fd5b610a8c307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d610a87610811565b6112ca565b5f73663a5c229c09b049e36dcc11a9b0d4a8eb9db21473ffffffffffffffffffffffffffffffffffffffff166390e1a0036040518163ffffffff1660e01b8152600401610120604051808303815f875af1158015610aec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b10919061237a565b5f015190505f7f00000000000000000000000043d367e5c14d060752ccc68e13f3301f0c4a175b90507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7198347610b8191906123a6565b30610b8b30610e7d565b5f8030426040518863ffffffff1660e01b8152600401610bb096959493929190612412565b60606040518083038185885af1158015610bcc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bf19190612471565b5050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b373663a5c229c09b049e36dcc11a9b0d4a8eb9db2148373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c5e9190611c5b565b602060405180830381865afa158015610c79573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c9d91906124c1565b6040518363ffffffff1660e01b8152600401610cba9291906124ec565b6020604051808303815f875af1158015610cd6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cfa919061253d565b5073663a5c229c09b049e36dcc11a9b0d4a8eb9db21473ffffffffffffffffffffffffffffffffffffffff16638af416f683838473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d669190611c5b565b602060405180830381865afa158015610d81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da591906124c1565b62278d0088610db49190612568565b42610dbf9190612137565b5f600160065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518863ffffffff1660e01b8152600401610e05969594939291906125c9565b5f604051808303818588803b158015610e1c575f80fd5b505af1158015610e2e573d5f803e3d5ffd5b5050505050610e3b610ec2565b505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b738a99c005c7b425ce999441afee22d4987f7a986981565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610eca6112c3565b73ffffffffffffffffffffffffffffffffffffffff16610ee8610f49565b73ffffffffffffffffffffffffffffffffffffffff1614610f3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3590612672565b60405180910390fd5b610f475f6118da565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610f809061204c565b80601f0160208091040260200160405190810160405280929190818152602001828054610fac9061204c565b8015610ff75780601f10610fce57610100808354040283529160200191610ff7565b820191905f5260205f20905b815481529060010190602001808311610fda57829003601f168201915b5050505050905090565b5f8060015f61100e6112c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90612700565b60405180910390fd5b6110dc6110d36112c3565b858584036112ca565b600191505092915050565b5f6110fa6110f36112c3565b848461148d565b6001905092915050565b600b602052805f5260405f205f915054906101000a900460ff1681565b60075481565b73d5e2e43e30b706de8a0e01e72a6aba2b8930af4481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085481565b6111cf6112c3565b73ffffffffffffffffffffffffffffffffffffffff166111ed610f49565b73ffffffffffffffffffffffffffffffffffffffff1614611243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123a90612672565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a89061278e565b60405180910390fd5b6112ba816118da565b50565b60095481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132f9061281c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139d906128aa565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114809190611ee0565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f290612938565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611569576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611560906129c6565b60405180910390fd5b5f81036115805761157b83835f61199d565b6118d5565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156115ea575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118c957600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561168c5750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611733576007548111156116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cd90612a54565b60405180910390fd5b6009546116e283610e7d565b826116ed9190612137565b111561172e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172590612abc565b60405180910390fd5b6118c8565b600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156117d05750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561181f5760075481111561181a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181190612b4a565b60405180910390fd5b6118c7565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166118c65760095461187983610e7d565b826118849190612137565b11156118c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bc90612abc565b60405180910390fd5b5b5b5b5b6118d483838361199d565b5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0290612938565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a70906129c6565b60405180910390fd5b611a84838383611c12565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afe90612bd8565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611b959190612137565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bf99190611ee0565b60405180910390a3611c0c848484611c17565b50505050565b505050565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c4582611c1c565b9050919050565b611c5581611c3b565b82525050565b5f602082019050611c6e5f830184611c4c565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611cab578082015181840152602081019050611c90565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611cd082611c74565b611cda8185611c7e565b9350611cea818560208601611c8e565b611cf381611cb6565b840191505092915050565b5f6020820190508181035f830152611d168184611cc6565b905092915050565b5f819050919050565b5f611d41611d3c611d3784611c1c565b611d1e565b611c1c565b9050919050565b5f611d5282611d27565b9050919050565b5f611d6382611d48565b9050919050565b611d7381611d59565b82525050565b5f602082019050611d8c5f830184611d6a565b92915050565b5f604051905090565b5f80fd5b611da881611c3b565b8114611db2575f80fd5b50565b5f81359050611dc381611d9f565b92915050565b5f819050919050565b611ddb81611dc9565b8114611de5575f80fd5b50565b5f81359050611df681611dd2565b92915050565b5f8060408385031215611e1257611e11611d9b565b5b5f611e1f85828601611db5565b9250506020611e3085828601611de8565b9150509250929050565b5f8115159050919050565b611e4e81611e3a565b82525050565b5f602082019050611e675f830184611e45565b92915050565b5f60208284031215611e8257611e81611d9b565b5b5f611e8f84828501611db5565b91505092915050565b5f611ea282611d48565b9050919050565b611eb281611e98565b82525050565b5f602082019050611ecb5f830184611ea9565b92915050565b611eda81611dc9565b82525050565b5f602082019050611ef35f830184611ed1565b92915050565b5f805f60608486031215611f1057611f0f611d9b565b5b5f611f1d86828701611db5565b9350506020611f2e86828701611db5565b9250506040611f3f86828701611de8565b9150509250925092565b5f60ff82169050919050565b611f5e81611f49565b82525050565b5f602082019050611f775f830184611f55565b92915050565b5f60208284031215611f9257611f91611d9b565b5b5f611f9f84828501611de8565b91505092915050565b5f611fb282611d48565b9050919050565b611fc281611fa8565b82525050565b5f602082019050611fdb5f830184611fb9565b92915050565b5f8060408385031215611ff757611ff6611d9b565b5b5f61200485828601611db5565b925050602061201585828601611db5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061206357607f821691505b6020821081036120765761207561201f565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f6120d6602883611c7e565b91506120e18261207c565b604082019050919050565b5f6020820190508181035f830152612103816120ca565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61214182611dc9565b915061214c83611dc9565b92508282019050808211156121645761216361210a565b5b92915050565b7f61757468000000000000000000000000000000000000000000000000000000005f82015250565b5f61219e600483611c7e565b91506121a98261216a565b602082019050919050565b5f6020820190508181035f8301526121cb81612192565b9050919050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61220c82611cb6565b810181811067ffffffffffffffff8211171561222b5761222a6121d6565b5b80604052505050565b5f61223d611d92565b90506122498282612203565b919050565b5f8151905061225c81611dd2565b92915050565b5f61226c82611c3b565b9050919050565b61227c81612262565b8114612286575f80fd5b50565b5f8151905061229781612273565b92915050565b5f61012082840312156122b3576122b26121d2565b5b6122be610120612234565b90505f6122cd8482850161224e565b5f8301525060206122e084828501612289565b60208301525060406122f48482850161224e565b60408301525060606123088482850161224e565b606083015250608061231c8482850161224e565b60808301525060a06123308482850161224e565b60a08301525060c061234484828501612289565b60c08301525060e06123588482850161224e565b60e08301525061010061236d8482850161224e565b6101008301525092915050565b5f61012082840312156123905761238f611d9b565b5b5f61239d8482850161229d565b91505092915050565b5f6123b082611dc9565b91506123bb83611dc9565b92508282039050818111156123d3576123d261210a565b5b92915050565b5f819050919050565b5f6123fc6123f76123f2846123d9565b611d1e565b611dc9565b9050919050565b61240c816123e2565b82525050565b5f60c0820190506124255f830189611c4c565b6124326020830188611ed1565b61243f6040830187612403565b61244c6060830186612403565b6124596080830185611c4c565b61246660a0830184611ed1565b979650505050505050565b5f805f6060848603121561248857612487611d9b565b5b5f6124958682870161224e565b93505060206124a68682870161224e565b92505060406124b78682870161224e565b9150509250925092565b5f602082840312156124d6576124d5611d9b565b5b5f6124e38482850161224e565b91505092915050565b5f6040820190506124ff5f830185611c4c565b61250c6020830184611ed1565b9392505050565b61251c81611e3a565b8114612526575f80fd5b50565b5f8151905061253781612513565b92915050565b5f6020828403121561255257612551611d9b565b5b5f61255f84828501612529565b91505092915050565b5f61257282611dc9565b915061257d83611dc9565b925082820261258b81611dc9565b915082820484148315176125a2576125a161210a565b5b5092915050565b5f6125b382611c1c565b9050919050565b6125c3816125a9565b82525050565b5f60c0820190506125dc5f830189611c4c565b6125e96020830188611ed1565b6125f66040830187611ed1565b61260360608301866125ba565b6126106080830185611e45565b61261d60a08301846125ba565b979650505050505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61265c602083611c7e565b915061266782612628565b602082019050919050565b5f6020820190508181035f83015261268981612650565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6126ea602583611c7e565b91506126f582612690565b604082019050919050565b5f6020820190508181035f830152612717816126de565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612778602683611c7e565b91506127838261271e565b604082019050919050565b5f6020820190508181035f8301526127a58161276c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612806602483611c7e565b9150612811826127ac565b604082019050919050565b5f6020820190508181035f830152612833816127fa565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612894602283611c7e565b915061289f8261283a565b604082019050919050565b5f6020820190508181035f8301526128c181612888565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612922602583611c7e565b915061292d826128c8565b604082019050919050565b5f6020820190508181035f83015261294f81612916565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6129b0602383611c7e565b91506129bb82612956565b604082019050919050565b5f6020820190508181035f8301526129dd816129a4565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f612a3e603583611c7e565b9150612a49826129e4565b604082019050919050565b5f6020820190508181035f830152612a6b81612a32565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f612aa6601383611c7e565b9150612ab182612a72565b602082019050919050565b5f6020820190508181035f830152612ad381612a9a565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f612b34603683611c7e565b9150612b3f82612ada565b604082019050919050565b5f6020820190508181035f830152612b6181612b28565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612bc2602683611c7e565b9150612bcd82612b68565b604082019050919050565b5f6020820190508181035f830152612bef81612bb6565b905091905056fea264697066735822122013d87ed5c3b9551babde4a92bed68111eab84bbd82b298a4d69ce8afd8fde26764736f6c63430008150033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000082e64d7a20207b6bab6571ede295dc60cabb3ac0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000a506f7274616c20496e75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006504f5254414c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077368616d646f6f00000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): Portal Inu
Arg [1] : _symbol (string): PORTAL
Arg [2] : _totalSupply (uint256): 1000000
Arg [3] : _lockOwnerAndTaxReceiver (address): 0x082E64d7A20207B6BAb6571edE295DC60caBb3aC
Arg [4] : _ref (bytes): 0x7368616d646f6f
-----Encoded View---------------
11 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 00000000000000000000000000000000000000000000000000000000000f4240
Arg [3] : 000000000000000000000000082e64d7a20207b6bab6571ede295dc60cabb3ac
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [5] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [6] : 506f7274616c20496e7500000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [8] : 504f5254414c0000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [10] : 7368616d646f6f00000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.