Feature Tip: Add private address tag to any address under My Name Tag !
Latest 25 from a total of 1,947 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 21465115 | 3 days ago | IN | 0 ETH | 0.00045259 | ||||
Transfer | 21465089 | 3 days ago | IN | 0 ETH | 0.00041849 | ||||
Transfer | 21465079 | 3 days ago | IN | 0 ETH | 0.00046768 | ||||
Transfer | 21465073 | 3 days ago | IN | 0 ETH | 0.00037092 | ||||
Transfer | 21465045 | 3 days ago | IN | 0 ETH | 0.00032714 | ||||
Transfer | 21464996 | 3 days ago | IN | 0 ETH | 0.00051538 | ||||
Transfer | 21464850 | 3 days ago | IN | 0 ETH | 0.00035664 | ||||
Transfer | 21464842 | 3 days ago | IN | 0 ETH | 0.00036805 | ||||
Transfer | 21464835 | 3 days ago | IN | 0 ETH | 0.000481 | ||||
Approve | 21455812 | 4 days ago | IN | 0 ETH | 0.00026388 | ||||
Approve | 21452846 | 4 days ago | IN | 0 ETH | 0.00053626 | ||||
Approve | 21451809 | 4 days ago | IN | 0 ETH | 0.0004728 | ||||
Approve | 21437589 | 6 days ago | IN | 0 ETH | 0.00142949 | ||||
Approve | 21437390 | 6 days ago | IN | 0 ETH | 0.00112058 | ||||
Approve | 21437390 | 6 days ago | IN | 0 ETH | 0.00112058 | ||||
Approve | 21437390 | 6 days ago | IN | 0 ETH | 0.00112058 | ||||
Approve | 21437390 | 6 days ago | IN | 0 ETH | 0.00112058 | ||||
Approve | 21437390 | 6 days ago | IN | 0 ETH | 0.00112058 | ||||
Approve | 21437390 | 6 days ago | IN | 0 ETH | 0.00112058 | ||||
Approve | 21437390 | 6 days ago | IN | 0 ETH | 0.00112058 | ||||
Approve | 21437390 | 6 days ago | IN | 0 ETH | 0.00112058 | ||||
Approve | 21427821 | 8 days ago | IN | 0 ETH | 0.00054288 | ||||
Approve | 21427636 | 8 days ago | IN | 0 ETH | 0.00045157 | ||||
Approve | 21419445 | 9 days ago | IN | 0 ETH | 0.00049733 | ||||
Approve | 21418894 | 9 days ago | IN | 0 ETH | 0.00043578 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
||||
---|---|---|---|---|---|---|---|
21471501 | 2 days ago | 0 ETH | |||||
21455814 | 4 days ago | 0 ETH | |||||
21455807 | 4 days ago | 0 ETH | |||||
21455807 | 4 days ago | 0 ETH | |||||
21455807 | 4 days ago | 0 ETH | |||||
21455807 | 4 days ago | 0 ETH | |||||
21455807 | 4 days ago | 0 ETH | |||||
21455807 | 4 days ago | 0 ETH | |||||
21455807 | 4 days ago | 0 ETH | |||||
21455807 | 4 days ago | 0 ETH | |||||
21453538 | 4 days ago | 0 ETH | |||||
21453538 | 4 days ago | 0 ETH | |||||
21453538 | 4 days ago | 0 ETH | |||||
21453538 | 4 days ago | 0 ETH | |||||
21453538 | 4 days ago | 0 ETH | |||||
21453538 | 4 days ago | 0 ETH | |||||
21453538 | 4 days ago | 0 ETH | |||||
21453538 | 4 days ago | 0 ETH | |||||
21453523 | 4 days ago | 0 ETH | |||||
21453523 | 4 days ago | 0 ETH | |||||
21453523 | 4 days ago | 0 ETH | |||||
21453523 | 4 days ago | 0 ETH | |||||
21453523 | 4 days ago | 0 ETH | |||||
21453523 | 4 days ago | 0 ETH | |||||
21453523 | 4 days ago | 0 ETH |
Loading...
Loading
Contract Name:
AISignalToken
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-11 */ //SPDX-License-Identifier: MIT interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB, uint256 liquidity); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint256); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][msg.sender]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, msg.sender, currentAllowance - amount); } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[msg.sender][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(msg.sender, spender, currentAllowance - subtractedValue); } return true; } 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); } 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); } 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); } 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); } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {} function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {} } pragma solidity ^0.8.17; /// @notice Simple single owner authorization mixin. /// @author Solady (https://github.com/vectorized/solady/blob/main/src/auth/Ownable.sol) /// /// @dev Note: /// This implementation does NOT auto-initialize the owner to `msg.sender`. /// You MUST call the `_initializeOwner` in the constructor / initializer. /// /// While the ownable portion follows /// [EIP-173](https://eips.ethereum.org/EIPS/eip-173) for compatibility, /// the nomenclature for the 2-step ownership handover may be unique to this codebase. abstract contract Ownable { /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* CUSTOM ERRORS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev The caller is not authorized to call the function. error Unauthorized(); /// @dev The `newOwner` cannot be the zero address. error NewOwnerIsZeroAddress(); /// @dev The `pendingOwner` does not have a valid handover request. error NoHandoverRequest(); /// @dev Cannot double-initialize. error AlreadyInitialized(); /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* EVENTS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev The ownership is transferred from `oldOwner` to `newOwner`. /// This event is intentionally kept the same as OpenZeppelin's Ownable to be /// compatible with indexers and [EIP-173](https://eips.ethereum.org/EIPS/eip-173), /// despite it not being as lightweight as a single argument event. event OwnershipTransferred(address indexed oldOwner, address indexed newOwner); /// @dev An ownership handover to `pendingOwner` has been requested. event OwnershipHandoverRequested(address indexed pendingOwner); /// @dev The ownership handover to `pendingOwner` has been canceled. event OwnershipHandoverCanceled(address indexed pendingOwner); /// @dev `keccak256(bytes("OwnershipTransferred(address,address)"))`. uint256 private constant _OWNERSHIP_TRANSFERRED_EVENT_SIGNATURE = 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0; /// @dev `keccak256(bytes("OwnershipHandoverRequested(address)"))`. uint256 private constant _OWNERSHIP_HANDOVER_REQUESTED_EVENT_SIGNATURE = 0xdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d; /// @dev `keccak256(bytes("OwnershipHandoverCanceled(address)"))`. uint256 private constant _OWNERSHIP_HANDOVER_CANCELED_EVENT_SIGNATURE = 0xfa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92; /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* STORAGE */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev The owner slot is given by: /// `bytes32(~uint256(uint32(bytes4(keccak256("_OWNER_SLOT_NOT")))))`. /// It is intentionally chosen to be a high value /// to avoid collision with lower slots. /// The choice of manual storage layout is to enable compatibility /// with both regular and upgradeable contracts. bytes32 internal constant _OWNER_SLOT = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927; /// The ownership handover slot of `newOwner` is given by: /// ``` /// mstore(0x00, or(shl(96, user), _HANDOVER_SLOT_SEED)) /// let handoverSlot := keccak256(0x00, 0x20) /// ``` /// It stores the expiry timestamp of the two-step ownership handover. uint256 private constant _HANDOVER_SLOT_SEED = 0x389a75e1; /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* INTERNAL FUNCTIONS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev Override to return true to make `_initializeOwner` prevent double-initialization. function _guardInitializeOwner() internal pure virtual returns (bool guard) {} /// @dev Initializes the owner directly without authorization guard. /// This function must be called upon initialization, /// regardless of whether the contract is upgradeable or not. /// This is to enable generalization to both regular and upgradeable contracts, /// and to save gas in case the initial owner is not the caller. /// For performance reasons, this function will not check if there /// is an existing owner. function _initializeOwner(address newOwner) internal virtual { if (_guardInitializeOwner()) { /// @solidity memory-safe-assembly assembly { let ownerSlot := _OWNER_SLOT if sload(ownerSlot) { mstore(0x00, 0x0dc149f0) // `AlreadyInitialized()`. revert(0x1c, 0x04) } // Clean the upper 96 bits. newOwner := shr(96, shl(96, newOwner)) // Store the new value. sstore(ownerSlot, or(newOwner, shl(255, iszero(newOwner)))) // Emit the {OwnershipTransferred} event. log3(0, 0, _OWNERSHIP_TRANSFERRED_EVENT_SIGNATURE, 0, newOwner) } } else { /// @solidity memory-safe-assembly assembly { // Clean the upper 96 bits. newOwner := shr(96, shl(96, newOwner)) // Store the new value. sstore(_OWNER_SLOT, newOwner) // Emit the {OwnershipTransferred} event. log3(0, 0, _OWNERSHIP_TRANSFERRED_EVENT_SIGNATURE, 0, newOwner) } } } /// @dev Sets the owner directly without authorization guard. function _setOwner(address newOwner) internal virtual { if (_guardInitializeOwner()) { /// @solidity memory-safe-assembly assembly { let ownerSlot := _OWNER_SLOT // Clean the upper 96 bits. newOwner := shr(96, shl(96, newOwner)) // Emit the {OwnershipTransferred} event. log3(0, 0, _OWNERSHIP_TRANSFERRED_EVENT_SIGNATURE, sload(ownerSlot), newOwner) // Store the new value. sstore(ownerSlot, or(newOwner, shl(255, iszero(newOwner)))) } } else { /// @solidity memory-safe-assembly assembly { let ownerSlot := _OWNER_SLOT // Clean the upper 96 bits. newOwner := shr(96, shl(96, newOwner)) // Emit the {OwnershipTransferred} event. log3(0, 0, _OWNERSHIP_TRANSFERRED_EVENT_SIGNATURE, sload(ownerSlot), newOwner) // Store the new value. sstore(ownerSlot, newOwner) } } } /// @dev Throws if the sender is not the owner. function _checkOwner() internal view virtual { /// @solidity memory-safe-assembly assembly { // If the caller is not the stored owner, revert. if iszero(eq(caller(), sload(_OWNER_SLOT))) { mstore(0x00, 0x82b42900) // `Unauthorized()`. revert(0x1c, 0x04) } } } /// @dev Returns how long a two-step ownership handover is valid for in seconds. /// Override to return a different value if needed. /// Made internal to conserve bytecode. Wrap it in a public function if needed. function _ownershipHandoverValidFor() internal view virtual returns (uint64) { return 48 * 3600; } /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* PUBLIC UPDATE FUNCTIONS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev Allows the owner to transfer the ownership to `newOwner`. function transferOwnership(address newOwner) public payable virtual onlyOwner { /// @solidity memory-safe-assembly assembly { if iszero(shl(96, newOwner)) { mstore(0x00, 0x7448fbae) // `NewOwnerIsZeroAddress()`. revert(0x1c, 0x04) } } _setOwner(newOwner); } /// @dev Allows the owner to renounce their ownership. function renounceOwnership() public payable virtual onlyOwner { _setOwner(address(0)); } /// @dev Request a two-step ownership handover to the caller. /// The request will automatically expire in 48 hours (172800 seconds) by default. function requestOwnershipHandover() public payable virtual { unchecked { uint256 expires = block.timestamp + _ownershipHandoverValidFor(); /// @solidity memory-safe-assembly assembly { // Compute and set the handover slot to `expires`. mstore(0x0c, _HANDOVER_SLOT_SEED) mstore(0x00, caller()) sstore(keccak256(0x0c, 0x20), expires) // Emit the {OwnershipHandoverRequested} event. log2(0, 0, _OWNERSHIP_HANDOVER_REQUESTED_EVENT_SIGNATURE, caller()) } } } /// @dev Cancels the two-step ownership handover to the caller, if any. function cancelOwnershipHandover() public payable virtual { /// @solidity memory-safe-assembly assembly { // Compute and set the handover slot to 0. mstore(0x0c, _HANDOVER_SLOT_SEED) mstore(0x00, caller()) sstore(keccak256(0x0c, 0x20), 0) // Emit the {OwnershipHandoverCanceled} event. log2(0, 0, _OWNERSHIP_HANDOVER_CANCELED_EVENT_SIGNATURE, caller()) } } /// @dev Allows the owner to complete the two-step ownership handover to `pendingOwner`. /// Reverts if there is no existing ownership handover requested by `pendingOwner`. function completeOwnershipHandover(address pendingOwner) public payable virtual onlyOwner { /// @solidity memory-safe-assembly assembly { // Compute and set the handover slot to 0. mstore(0x0c, _HANDOVER_SLOT_SEED) mstore(0x00, pendingOwner) let handoverSlot := keccak256(0x0c, 0x20) // If the handover does not exist, or has expired. if gt(timestamp(), sload(handoverSlot)) { mstore(0x00, 0x6f5e8818) // `NoHandoverRequest()`. revert(0x1c, 0x04) } // Set the handover slot to 0. sstore(handoverSlot, 0) } _setOwner(pendingOwner); } /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* PUBLIC READ FUNCTIONS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev Returns the owner of the contract. function owner() public view virtual returns (address result) { /// @solidity memory-safe-assembly assembly { result := sload(_OWNER_SLOT) } } /// @dev Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`. function ownershipHandoverExpiresAt(address pendingOwner) public view virtual returns (uint256 result) { /// @solidity memory-safe-assembly assembly { // Compute the handover slot. mstore(0x0c, _HANDOVER_SLOT_SEED) mstore(0x00, pendingOwner) // Load the handover slot. result := sload(keccak256(0x0c, 0x20)) } } /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* MODIFIERS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev Marks a function as only callable by the owner. modifier onlyOwner() virtual { _checkOwner(); _; } } contract AISignalToken is ERC20, Ownable { event TradingIsLive(); event TotalSupplyReached(); event StakingInitiated(address); event NewAutoSwapThreshold(uint256); event TokenBurned(address,uint256); address private immutable marketingWallet; address public immutable presale; address public staking; bool public live; bool public set; uint64 private start; uint64 private timeend; uint256 private max; bool private swapping; uint256 private swapTokensAtAmount; address private immutable deadAddress = address(0xdead); uint256 private immutable maxSwap; mapping (address => bool) private isExcluded; mapping (address => bool) private isPair; mapping (uint256 => uint256) private blockSwaps; IUniswapV2Router02 private immutable uniswapV2Router; constructor ( address _presale, uint256 _totalSup, uint8 _lpAllo, address _team ) ERC20("AISignal","aisig") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; address uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); presale = _presale; max = _totalSup; maxSwap = _totalSup * 25 / 1000; //2.5% swapTokensAtAmount = max / 20000; //0.005% marketingWallet = _team; exclude(uniswapV2Pair, true); isPair[uniswapV2Pair] = true; exclude(address(this),true); _mint(_presale, _totalSup * _lpAllo / 100); _initializeOwner(msg.sender); } error token__notLive(); error token__maxHolding(); error token__invalidPool(); error token__swapping(); /// @dev initiates trading and specifies the main liquidity pool. function beginTrading() external onlyOwner { require(!live, "Already begun"); start = uint64(block.timestamp); timeend = start + uint64(15 minutes); live = true; emit TradingIsLive(); } function beginStaking(address _staking) external { require(msg.sender == marketingWallet, "Unauthorized"); staking = _staking; exclude(staking, true); emit StakingInitiated(_staking); } /// @dev marketingWallet changes the threshold at which the contract autoswaps function editSwapThreshold(uint256 amount) external { require(msg.sender == marketingWallet, "Unauthorized"); require(amount > max / 20000000 && amount < maxSwap); //%.000005 - %2.5 swapTokensAtAmount = amount; emit NewAutoSwapThreshold(amount); } function manualswap(uint256 amount) external { require(msg.sender == marketingWallet, "Unauthorized"); require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount"); if(!swapping){ swapping = true; swapTokensForEth(amount); swapping = false; }else{ revert token__swapping(); } } /// @dev used by presale contract to mint tokens to claimants in order to avoid presale contract holding more than 2.5% supply function presaleDon(address recip, uint256 value ) external returns (bool){ require(msg.sender == presale, "unauthorized"); require(set == false, "no more minting"); require(totalSupply() + value <= max, "exceeds supply"); _mint(recip,value); if(totalSupply() == max){ complete(); } return true; } function burn(uint256 value) external { _burn(msg.sender, value); emit TokenBurned(msg.sender, value); } function autoSwap(uint256 contractBalance) private { if (contractBalance == 0) { return; } if (contractBalance > maxSwap) { contractBalance = maxSwap; } uint256 amountToSwapForETH = contractBalance; swapTokensForEth(amountToSwapForETH); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, marketingWallet, block.timestamp ); } /// @dev excluded addresses may hold larger than 2.5% and are not taxed on swaps function exclude(address add, bool exc) internal { isExcluded[add] = exc; } function complete() internal { set = true; emit TotalSupplyReached(); } function _calculateTax(uint256 amount, bool isSell) internal view returns (uint256) { uint64 end = timeend; uint64 time = uint64(block.timestamp); uint256 fee = 0; if(time < end){ uint256 bracket = (((end - time) * 100) / (end - start)); // 100 to 0 to determine tax bracket if(bracket >= 66){ fee = amount * 30 / 100; } else if (bracket < 66 && bracket > 33){ if(isSell){ fee = amount * 20 / 100; }else { fee = amount * 10 / 100; } } else if (bracket <= 33) { if(isSell){ fee = amount * 10 / 100; }else { fee = amount * 5 / 100; } } return fee; } else { fee = amount * 5 / 100; return fee; } } /* // @dev overrides transfer function to tax the liquidity pool swaps linearly from 30% to 5% over the cool down period to prevent bot abuse // also enforces 2.5% holding cap per wallet */ function _transfer(address from,address to,uint256 amount) internal override { if (amount == 0) { super._transfer(from, to, 0); return; } if(live){ bool excludedTo = isExcluded[to]; bool isSell = isPair[to]; //maximum 2.5% of supply per wallet enforced if(!excludedTo && balanceOf(to) + amount > totalSupply() * 25 / 1000){ revert token__maxHolding(); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && !swapping && isSell //buyers dont pay for autoswap gg ) { if (blockSwaps[block.number] < 3) { swapping = true; autoSwap(contractTokenBalance); swapping = false; blockSwaps[block.number] = blockSwaps[block.number] + 1; } } if((isSell && !isExcluded[from]) || (isPair[from] && !excludedTo)){ uint256 fee = _calculateTax(amount, isSell); super._transfer(from, address(this), fee); amount -= fee; super._transfer(from, to, amount); }else{ super._transfer(from, to, amount); } }else{ if(from == address(0) || from == presale || to == presale || to == deadAddress ){ super._transfer(from, to, amount); }else{ revert token__notLive(); } } return; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_presale","type":"address"},{"internalType":"uint256","name":"_totalSup","type":"uint256"},{"internalType":"uint8","name":"_lpAllo","type":"uint8"},{"internalType":"address","name":"_team","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"inputs":[],"name":"NewOwnerIsZeroAddress","type":"error"},{"inputs":[],"name":"NoHandoverRequest","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"token__invalidPool","type":"error"},{"inputs":[],"name":"token__maxHolding","type":"error"},{"inputs":[],"name":"token__notLive","type":"error"},{"inputs":[],"name":"token__swapping","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"NewAutoSwapThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pendingOwner","type":"address"}],"name":"OwnershipHandoverCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pendingOwner","type":"address"}],"name":"OwnershipHandoverRequested","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"}],"name":"StakingInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"TokenBurned","type":"event"},{"anonymous":false,"inputs":[],"name":"TotalSupplyReached","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingIsLive","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_staking","type":"address"}],"name":"beginStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"beginTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelOwnershipHandover","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"name":"completeOwnershipHandover","outputs":[],"stateMutability":"payable","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":"uint256","name":"amount","type":"uint256"}],"name":"editSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"live","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"result","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"name":"ownershipHandoverExpiresAt","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"presale","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recip","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"presaleDon","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"requestOwnershipHandover","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"set","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"staking","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"payable","type":"function"}]
Contract Creation Code
61012060405261dead60c0523480156200001857600080fd5b5060405162002ca138038062002ca18339810160408190526200003b91620003c9565b60405180604001604052806008815260200167105254da59db985b60c21b81525060405180604001604052806005815260200164616973696760d81b81525081600390816200008b9190620004c8565b5060046200009a8282620004c8565b5050737a250d5630b4cf539739df2c5dacb4c659f2488d6101008190526040805163c45a015560e01b81529051919250600091839163c45a01559160048083019260209291908290030181865afa158015620000fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000120919062000594565b6040516364e329cb60e11b815230600482015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260248201526001600160a01b03919091169063c9c65396906044016020604051808303816000875af115801562000183573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a9919062000594565b6001600160a01b03871660a052600786905590506103e8620001cd866019620005cf565b620001d99190620005ef565b60e052600754620001ee90614e2090620005ef565b6009556001600160a01b0383811660805281166000908152600a602081815260408084208054600160ff199182168117909255600b8452828620805482168317905530865293909252909220805490911690911790556200026c8660646200025a60ff881689620005cf565b620002669190620005ef565b62000283565b62000277336200036b565b50505050505062000628565b6001600160a01b038216620002de5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620002f2919062000612565b90915550506001600160a01b038216600090815260208190526040812080548392906200032190849062000612565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b505050565b80516001600160a01b0381168114620003c457600080fd5b919050565b60008060008060808587031215620003e057600080fd5b620003eb85620003ac565b935060208501519250604085015160ff811681146200040957600080fd5b91506200041960608601620003ac565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200044f57607f821691505b6020821081036200047057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003a757600081815260208120601f850160051c810160208610156200049f5750805b601f850160051c820191505b81811015620004c057828155600101620004ab565b505050505050565b81516001600160401b03811115620004e457620004e462000424565b620004fc81620004f584546200043a565b8462000476565b602080601f8311600181146200053457600084156200051b5750858301515b600019600386901b1c1916600185901b178555620004c0565b600085815260208120601f198616915b82811015620005655788860151825594840194600190910190840162000544565b5085821015620005845787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620005a757600080fd5b620005b282620003ac565b9392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620005e957620005e9620005b9565b92915050565b6000826200060d57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620005e957620005e9620005b9565b60805160a05160c05160e051610100516125ee620006b360003960008181611a2001528181611b000152611b6201526000818161068501528181612043015261206c0152600061169601526000818161056f01528181610dc6015281816115ea01526116400152600081816105dc015281816108e301528181610b1b0152611b9601526125ee6000f3fe6080604052600436106101b75760003560e01c8063881dce60116100ec578063b8e010de1161008a578063f04e283e11610064578063f04e283e14610537578063f2fde38b1461054a578063fdea8e0b1461055d578063fee81cf41461059157600080fd5b8063b8e010de1461049c578063c408c245146104cf578063dd62ed3e146104e457600080fd5b806395d89b41116100c657806395d89b4114610427578063a457c2d71461043c578063a7862c561461045c578063a9059cbb1461047c57600080fd5b8063881dce60146103a15780638da5cb5b146103c1578063957aa58c146103f557600080fd5b8063313ce567116101595780634cf088d9116101335780634cf088d9146102fc57806354d1f13d1461034e57806370a0823114610356578063715018a61461039957600080fd5b8063313ce567146102a057806339509351146102bc57806342966c68146102dc57600080fd5b806318160ddd1161019557806318160ddd1461023957806323b872dd14610258578063256929621461027857806329e6b5861461028057600080fd5b806304c2754d146101bc57806306fdde03146101de578063095ea7b314610209575b600080fd5b3480156101c857600080fd5b506101dc6101d73660046121d2565b6105c4565b005b3480156101ea57600080fd5b506101f36106ec565b60405161020091906121eb565b60405180910390f35b34801561021557600080fd5b50610229610224366004612279565b61077e565b6040519015158152602001610200565b34801561024557600080fd5b506002545b604051908152602001610200565b34801561026457600080fd5b506102296102733660046122a5565b610795565b6101dc61087b565b34801561028c57600080fd5b506101dc61029b3660046122e6565b6108cb565b3480156102ac57600080fd5b5060405160128152602001610200565b3480156102c857600080fd5b506102296102d7366004612279565b610a2a565b3480156102e857600080fd5b506101dc6102f73660046121d2565b610a73565b34801561030857600080fd5b506005546103299073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610200565b6101dc610ab3565b34801561036257600080fd5b5061024a6103713660046122e6565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101dc610aef565b3480156103ad57600080fd5b506101dc6103bc3660046121d2565b610b03565b3480156103cd57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610329565b34801561040157600080fd5b506005546102299074010000000000000000000000000000000000000000900460ff1681565b34801561043357600080fd5b506101f3610cc5565b34801561044857600080fd5b50610229610457366004612279565b610cd4565b34801561046857600080fd5b50610229610477366004612279565b610dac565b34801561048857600080fd5b50610229610497366004612279565b610f6f565b3480156104a857600080fd5b50600554610229907501000000000000000000000000000000000000000000900460ff1681565b3480156104db57600080fd5b506101dc610f7c565b3480156104f057600080fd5b5061024a6104ff36600461230a565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101dc6105453660046122e6565b611114565b6101dc6105583660046122e6565b611151565b34801561056957600080fd5b506103297f000000000000000000000000000000000000000000000000000000000000000081565b34801561059d57600080fd5b5061024a6105ac3660046122e6565b63389a75e1600c908152600091909152602090205490565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a6564000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6301312d0060075461067a91906123a1565b811180156106a757507f000000000000000000000000000000000000000000000000000000000000000081105b6106b057600080fd5b60098190556040518181527f9b974812a379eb5931633dc2560f78ae5fadaabeee527fcc2a22e8c9fbe40b74906020015b60405180910390a150565b6060600380546106fb906123b5565b80601f0160208091040260200160405190810160405280929190818152602001828054610727906123b5565b80156107745780601f1061074957610100808354040283529160200191610774565b820191906000526020600020905b81548152906001019060200180831161075757829003601f168201915b5050505050905090565b600061078b338484611178565b5060015b92915050565b60006107a284848461132b565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482811015610863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606482015260840161065f565b6108708533858403611178565b506001949350505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461096a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a65640000000000000000000000000000000000000000604482015260640161065f565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556000908152600a6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560405173ffffffffffffffffffffffffffffffffffffffff821681527f9df2188765ac379366bdf3bf48f56bb4f96e2b5b7148371f88cf7149b7742cdd906020016106e1565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161078b918590610a6e908690612408565b611178565b610a7d3382611726565b60408051338152602081018390527f1af5163f80e79b5e554f61e1d052084d3a3fe1166e42a265798c4e2ddce8ffa291016106e1565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610af7611913565b610b016000611949565b565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ba2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a65640000000000000000000000000000000000000000604482015260640161065f565b306000908152602081905260409020548111158015610bc15750600081115b610c27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f57726f6e6720616d6f756e740000000000000000000000000000000000000000604482015260640161065f565b60085460ff16610c9057600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610c65816119af565b600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905550565b6040517fc958536a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b6060600480546106fb906123b5565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915281205482811015610d95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161065f565b610da23385858403611178565b5060019392505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a65640000000000000000000000000000000000000000604482015260640161065f565b6005547501000000000000000000000000000000000000000000900460ff1615610ed3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6e6f206d6f7265206d696e74696e670000000000000000000000000000000000604482015260640161065f565b60075482610ee060025490565b610eea9190612408565b1115610f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f6578636565647320737570706c79000000000000000000000000000000000000604482015260640161065f565b610f5c8383611bf6565b6007546002540361078b5761078b611d17565b600061078b33848461132b565b610f84611913565b60055474010000000000000000000000000000000000000000900460ff1615611009576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f416c726561647920626567756e00000000000000000000000000000000000000604482015260640161065f565b600580547fffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffff167601000000000000000000000000000000000000000000004267ffffffffffffffff9081168202929092179283905561106f92610384929190041661241b565b6006805467ffffffffffffffff929092167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216919091179055600580547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f19eb523ff0a66e6c369d2a0c1e54c8b7d856b16ff8029f75280cf9f65bfc02cd90600090a1565b61111c611913565b63389a75e1600c52806000526020600c20805442111561114457636f5e88186000526004601cfd5b60009055610cc281611949565b611159611913565b8060601b61116f57637448fbae6000526004601cfd5b610cc281611949565b73ffffffffffffffffffffffffffffffffffffffff831661121a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff82166112bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b806000036113445761133f83836000611d82565b505050565b60055474010000000000000000000000000000000000000000900460ff16156115ca5773ffffffffffffffffffffffffffffffffffffffff82166000908152600a6020908152604080832054600b9092529091205460ff91821691168115801561140357506103e86113b560025490565b6113c0906019612443565b6113ca91906123a1565b836113f78673ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6114019190612408565b115b1561143a576040517f424d6cc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3060009081526020819052604090205460095481108015908190611461575060085460ff16155b801561146a5750825b1561150f57436000908152600c60205260409020546003111561150f57600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556114bb82612036565b600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055436000908152600c60205260409020546114fe906001612408565b436000908152600c60205260409020555b828015611542575073ffffffffffffffffffffffffffffffffffffffff87166000908152600a602052604090205460ff16155b8061157b575073ffffffffffffffffffffffffffffffffffffffff87166000908152600b602052604090205460ff16801561157b575083155b156115b657600061158c8685612096565b9050611599883083611d82565b6115a3818761245a565b95506115b0888888611d82565b506115c1565b6115c1878787611d82565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316158061163857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061168e57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806116e457507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156116f45761133f838383611d82565b6040517f16d684f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166117c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020548181101561187f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604081208383039055600280548492906118bb90849061245a565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610b01576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106119e4576119e461246d565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aad919061249c565b81600181518110611ac057611ac061246d565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b25307f000000000000000000000000000000000000000000000000000000000000000084611178565b6040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790611bc090859060009086907f00000000000000000000000000000000000000000000000000000000000000009042906004016124b9565b600060405180830381600087803b158015611bda57600080fd5b505af1158015611bee573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216611c73576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161065f565b8060026000828254611c859190612408565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290611cbf908490612408565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b5050565b600580547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790556040517f7be9badbf9fba52cc4d59989c81f80d9dd24cef9b8e9ef16c469274ae3809a8790600090a1565b73ffffffffffffffffffffffffffffffffffffffff8316611e25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff8216611ec8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015611f7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220858503905591851681529081208054849290611fc2908490612408565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161202891815260200190565b60405180910390a350505050565b806000036120415750565b7f000000000000000000000000000000000000000000000000000000000000000081111561208c57507f00000000000000000000000000000000000000000000000000000000000000005b80611d13816119af565b60065460009067ffffffffffffffff908116904290839082168311156121b0576005546000906120ea90760100000000000000000000000000000000000000000000900467ffffffffffffffff1685612544565b6120f48486612544565b6120ff906064612565565b6121099190612591565b67ffffffffffffffff1690506042811061213b57606461212a88601e612443565b61213491906123a1565b91506121a5565b60428110801561214b5750602181115b1561217057851561216357606461212a886014612443565b606461212a88600a612443565b602181116121a557851561218b57606461212a88600a612443565b6064612198886005612443565b6121a291906123a1565b91505b50925061078f915050565b60646121bd876005612443565b6121c791906123a1565b935061078f92505050565b6000602082840312156121e457600080fd5b5035919050565b600060208083528351808285015260005b81811015612218578581018301518582016040015282016121fc565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cc257600080fd5b6000806040838503121561228c57600080fd5b823561229781612257565b946020939093013593505050565b6000806000606084860312156122ba57600080fd5b83356122c581612257565b925060208401356122d581612257565b929592945050506040919091013590565b6000602082840312156122f857600080fd5b813561230381612257565b9392505050565b6000806040838503121561231d57600080fd5b823561232881612257565b9150602083013561233881612257565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000826123b0576123b0612343565b500490565b600181811c908216806123c957607f821691505b602082108103612402577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8082018082111561078f5761078f612372565b67ffffffffffffffff81811683821601908082111561243c5761243c612372565b5092915050565b808202811582820484141761078f5761078f612372565b8181038181111561078f5761078f612372565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156124ae57600080fd5b815161230381612257565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561251657845173ffffffffffffffffffffffffffffffffffffffff16835293830193918301916001016124e4565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b67ffffffffffffffff82811682821603908082111561243c5761243c612372565b67ffffffffffffffff81811683821602808216919082811461258957612589612372565b505092915050565b600067ffffffffffffffff808416806125ac576125ac612343565b9216919091049291505056fea264697066735822122083762292e5bbbb22085b4757a4cafbdf4be034af262aa316e72d42a948cda45264736f6c63430008140033000000000000000000000000c8b612fa3e2670c4355d510fa572dec1285f86400000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000000000000000000000000034000000000000000000000000321847122142b1ec20df45821464157a0d1cafe4
Deployed Bytecode
0x6080604052600436106101b75760003560e01c8063881dce60116100ec578063b8e010de1161008a578063f04e283e11610064578063f04e283e14610537578063f2fde38b1461054a578063fdea8e0b1461055d578063fee81cf41461059157600080fd5b8063b8e010de1461049c578063c408c245146104cf578063dd62ed3e146104e457600080fd5b806395d89b41116100c657806395d89b4114610427578063a457c2d71461043c578063a7862c561461045c578063a9059cbb1461047c57600080fd5b8063881dce60146103a15780638da5cb5b146103c1578063957aa58c146103f557600080fd5b8063313ce567116101595780634cf088d9116101335780634cf088d9146102fc57806354d1f13d1461034e57806370a0823114610356578063715018a61461039957600080fd5b8063313ce567146102a057806339509351146102bc57806342966c68146102dc57600080fd5b806318160ddd1161019557806318160ddd1461023957806323b872dd14610258578063256929621461027857806329e6b5861461028057600080fd5b806304c2754d146101bc57806306fdde03146101de578063095ea7b314610209575b600080fd5b3480156101c857600080fd5b506101dc6101d73660046121d2565b6105c4565b005b3480156101ea57600080fd5b506101f36106ec565b60405161020091906121eb565b60405180910390f35b34801561021557600080fd5b50610229610224366004612279565b61077e565b6040519015158152602001610200565b34801561024557600080fd5b506002545b604051908152602001610200565b34801561026457600080fd5b506102296102733660046122a5565b610795565b6101dc61087b565b34801561028c57600080fd5b506101dc61029b3660046122e6565b6108cb565b3480156102ac57600080fd5b5060405160128152602001610200565b3480156102c857600080fd5b506102296102d7366004612279565b610a2a565b3480156102e857600080fd5b506101dc6102f73660046121d2565b610a73565b34801561030857600080fd5b506005546103299073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610200565b6101dc610ab3565b34801561036257600080fd5b5061024a6103713660046122e6565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101dc610aef565b3480156103ad57600080fd5b506101dc6103bc3660046121d2565b610b03565b3480156103cd57600080fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610329565b34801561040157600080fd5b506005546102299074010000000000000000000000000000000000000000900460ff1681565b34801561043357600080fd5b506101f3610cc5565b34801561044857600080fd5b50610229610457366004612279565b610cd4565b34801561046857600080fd5b50610229610477366004612279565b610dac565b34801561048857600080fd5b50610229610497366004612279565b610f6f565b3480156104a857600080fd5b50600554610229907501000000000000000000000000000000000000000000900460ff1681565b3480156104db57600080fd5b506101dc610f7c565b3480156104f057600080fd5b5061024a6104ff36600461230a565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101dc6105453660046122e6565b611114565b6101dc6105583660046122e6565b611151565b34801561056957600080fd5b506103297f000000000000000000000000c8b612fa3e2670c4355d510fa572dec1285f864081565b34801561059d57600080fd5b5061024a6105ac3660046122e6565b63389a75e1600c908152600091909152602090205490565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000321847122142b1ec20df45821464157a0d1cafe41614610668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a6564000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6301312d0060075461067a91906123a1565b811180156106a757507f00000000000000000000000000000000000000000014adf4b7320334b900000081105b6106b057600080fd5b60098190556040518181527f9b974812a379eb5931633dc2560f78ae5fadaabeee527fcc2a22e8c9fbe40b74906020015b60405180910390a150565b6060600380546106fb906123b5565b80601f0160208091040260200160405190810160405280929190818152602001828054610727906123b5565b80156107745780601f1061074957610100808354040283529160200191610774565b820191906000526020600020905b81548152906001019060200180831161075757829003601f168201915b5050505050905090565b600061078b338484611178565b5060015b92915050565b60006107a284848461132b565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482811015610863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606482015260840161065f565b6108708533858403611178565b506001949350505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000321847122142b1ec20df45821464157a0d1cafe4161461096a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a65640000000000000000000000000000000000000000604482015260640161065f565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556000908152600a6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560405173ffffffffffffffffffffffffffffffffffffffff821681527f9df2188765ac379366bdf3bf48f56bb4f96e2b5b7148371f88cf7149b7742cdd906020016106e1565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161078b918590610a6e908690612408565b611178565b610a7d3382611726565b60408051338152602081018390527f1af5163f80e79b5e554f61e1d052084d3a3fe1166e42a265798c4e2ddce8ffa291016106e1565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610af7611913565b610b016000611949565b565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000321847122142b1ec20df45821464157a0d1cafe41614610ba2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a65640000000000000000000000000000000000000000604482015260640161065f565b306000908152602081905260409020548111158015610bc15750600081115b610c27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f57726f6e6720616d6f756e740000000000000000000000000000000000000000604482015260640161065f565b60085460ff16610c9057600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610c65816119af565b600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905550565b6040517fc958536a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b6060600480546106fb906123b5565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915281205482811015610d95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161065f565b610da23385858403611178565b5060019392505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c8b612fa3e2670c4355d510fa572dec1285f86401614610e4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a65640000000000000000000000000000000000000000604482015260640161065f565b6005547501000000000000000000000000000000000000000000900460ff1615610ed3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6e6f206d6f7265206d696e74696e670000000000000000000000000000000000604482015260640161065f565b60075482610ee060025490565b610eea9190612408565b1115610f52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f6578636565647320737570706c79000000000000000000000000000000000000604482015260640161065f565b610f5c8383611bf6565b6007546002540361078b5761078b611d17565b600061078b33848461132b565b610f84611913565b60055474010000000000000000000000000000000000000000900460ff1615611009576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f416c726561647920626567756e00000000000000000000000000000000000000604482015260640161065f565b600580547fffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffff167601000000000000000000000000000000000000000000004267ffffffffffffffff9081168202929092179283905561106f92610384929190041661241b565b6006805467ffffffffffffffff929092167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216919091179055600580547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f19eb523ff0a66e6c369d2a0c1e54c8b7d856b16ff8029f75280cf9f65bfc02cd90600090a1565b61111c611913565b63389a75e1600c52806000526020600c20805442111561114457636f5e88186000526004601cfd5b60009055610cc281611949565b611159611913565b8060601b61116f57637448fbae6000526004601cfd5b610cc281611949565b73ffffffffffffffffffffffffffffffffffffffff831661121a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff82166112bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b806000036113445761133f83836000611d82565b505050565b60055474010000000000000000000000000000000000000000900460ff16156115ca5773ffffffffffffffffffffffffffffffffffffffff82166000908152600a6020908152604080832054600b9092529091205460ff91821691168115801561140357506103e86113b560025490565b6113c0906019612443565b6113ca91906123a1565b836113f78673ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6114019190612408565b115b1561143a576040517f424d6cc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3060009081526020819052604090205460095481108015908190611461575060085460ff16155b801561146a5750825b1561150f57436000908152600c60205260409020546003111561150f57600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556114bb82612036565b600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055436000908152600c60205260409020546114fe906001612408565b436000908152600c60205260409020555b828015611542575073ffffffffffffffffffffffffffffffffffffffff87166000908152600a602052604090205460ff16155b8061157b575073ffffffffffffffffffffffffffffffffffffffff87166000908152600b602052604090205460ff16801561157b575083155b156115b657600061158c8685612096565b9050611599883083611d82565b6115a3818761245a565b95506115b0888888611d82565b506115c1565b6115c1878787611d82565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316158061163857507f000000000000000000000000c8b612fa3e2670c4355d510fa572dec1285f864073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8061168e57507f000000000000000000000000c8b612fa3e2670c4355d510fa572dec1285f864073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806116e457507f000000000000000000000000000000000000000000000000000000000000dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156116f45761133f838383611d82565b6040517f16d684f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166117c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020548181101561187f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604081208383039055600280548492906118bb90849061245a565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610b01576382b429006000526004601cfd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106119e4576119e461246d565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aad919061249c565b81600181518110611ac057611ac061246d565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b25307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611178565b6040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790611bc090859060009086907f000000000000000000000000321847122142b1ec20df45821464157a0d1cafe49042906004016124b9565b600060405180830381600087803b158015611bda57600080fd5b505af1158015611bee573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216611c73576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161065f565b8060026000828254611c859190612408565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290611cbf908490612408565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b5050565b600580547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790556040517f7be9badbf9fba52cc4d59989c81f80d9dd24cef9b8e9ef16c469274ae3809a8790600090a1565b73ffffffffffffffffffffffffffffffffffffffff8316611e25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff8216611ec8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015611f7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161065f565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220858503905591851681529081208054849290611fc2908490612408565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161202891815260200190565b60405180910390a350505050565b806000036120415750565b7f00000000000000000000000000000000000000000014adf4b7320334b900000081111561208c57507f00000000000000000000000000000000000000000014adf4b7320334b90000005b80611d13816119af565b60065460009067ffffffffffffffff908116904290839082168311156121b0576005546000906120ea90760100000000000000000000000000000000000000000000900467ffffffffffffffff1685612544565b6120f48486612544565b6120ff906064612565565b6121099190612591565b67ffffffffffffffff1690506042811061213b57606461212a88601e612443565b61213491906123a1565b91506121a5565b60428110801561214b5750602181115b1561217057851561216357606461212a886014612443565b606461212a88600a612443565b602181116121a557851561218b57606461212a88600a612443565b6064612198886005612443565b6121a291906123a1565b91505b50925061078f915050565b60646121bd876005612443565b6121c791906123a1565b935061078f92505050565b6000602082840312156121e457600080fd5b5035919050565b600060208083528351808285015260005b81811015612218578581018301518582016040015282016121fc565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cc257600080fd5b6000806040838503121561228c57600080fd5b823561229781612257565b946020939093013593505050565b6000806000606084860312156122ba57600080fd5b83356122c581612257565b925060208401356122d581612257565b929592945050506040919091013590565b6000602082840312156122f857600080fd5b813561230381612257565b9392505050565b6000806040838503121561231d57600080fd5b823561232881612257565b9150602083013561233881612257565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000826123b0576123b0612343565b500490565b600181811c908216806123c957607f821691505b602082108103612402577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8082018082111561078f5761078f612372565b67ffffffffffffffff81811683821601908082111561243c5761243c612372565b5092915050565b808202811582820484141761078f5761078f612372565b8181038181111561078f5761078f612372565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156124ae57600080fd5b815161230381612257565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561251657845173ffffffffffffffffffffffffffffffffffffffff16835293830193918301916001016124e4565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b67ffffffffffffffff82811682821603908082111561243c5761243c612372565b67ffffffffffffffff81811683821602808216919082811461258957612589612372565b505092915050565b600067ffffffffffffffff808416806125ac576125ac612343565b9216919091049291505056fea264697066735822122083762292e5bbbb22085b4757a4cafbdf4be034af262aa316e72d42a948cda45264736f6c63430008140033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c8b612fa3e2670c4355d510fa572dec1285f86400000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000000000000000000000000034000000000000000000000000321847122142b1ec20df45821464157a0d1cafe4
-----Decoded View---------------
Arg [0] : _presale (address): 0xc8b612fa3E2670c4355d510Fa572dEc1285f8640
Arg [1] : _totalSup (uint256): 1000000000000000000000000000
Arg [2] : _lpAllo (uint8): 52
Arg [3] : _team (address): 0x321847122142b1eC20Df45821464157A0d1cAfE4
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000c8b612fa3e2670c4355d510fa572dec1285f8640
Arg [1] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000034
Arg [3] : 000000000000000000000000321847122142b1ec20df45821464157a0d1cafe4
Deployed Bytecode Sourcemap
20460:7967:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22964:288;;;;;;;;;;-1:-1:-1;22964:288:0;;;;;:::i;:::-;;:::i;:::-;;3213:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4125:167;;;;;;;;;;-1:-1:-1;4125:167:0;;;;;:::i;:::-;;:::i;:::-;;;1455:14:1;;1448:22;1430:41;;1418:2;1403:18;4125:167:0;1290:187:1;3534:108:0;;;;;;;;;;-1:-1:-1;3622:12:0;;3534:108;;;1628:25:1;;;1616:2;1601:18;3534:108:0;1482:177:1;4300:454:0;;;;;;;;;;-1:-1:-1;4300:454:0;;;;;:::i;:::-;;:::i;16841:630::-;;;:::i;22646:226::-;;;;;;;;;;-1:-1:-1;22646:226:0;;;;;:::i;:::-;;:::i;3433:93::-;;;;;;;;;;-1:-1:-1;3433:93:0;;3516:2;2519:36:1;;2507:2;2492:18;3433:93:0;2377:184:1;4762:211:0;;;;;;;;;;-1:-1:-1;4762:211:0;;;;;:::i;:::-;;:::i;24178:127::-;;;;;;;;;;-1:-1:-1;24178:127:0;;;;;:::i;:::-;;:::i;20781:22::-;;;;;;;;;;-1:-1:-1;20781:22:0;;;;;;;;;;;2742:42:1;2730:55;;;2712:74;;2700:2;2685:18;20781:22:0;2566:226:1;17556:466:0;;;:::i;3650:127::-;;;;;;;;;;-1:-1:-1;3650:127:0;;;;;:::i;:::-;3751:18;;3724:7;3751:18;;;;;;;;;;;;3650:127;16576:102;;;:::i;23260:392::-;;;;;;;;;;-1:-1:-1;23260:392:0;;;;;:::i;:::-;;:::i;19281:187::-;;;;;;;;;;-1:-1:-1;19438:11:0;19432:18;19281:187;;20810:16;;;;;;;;;;-1:-1:-1;20810:16:0;;;;;;;;;;;3321:104;;;;;;;;;;;;;:::i;4981:409::-;;;;;;;;;;-1:-1:-1;4981:409:0;;;;;:::i;:::-;;:::i;23792:378::-;;;;;;;;;;-1:-1:-1;23792:378:0;;;;;:::i;:::-;;:::i;3785:173::-;;;;;;;;;;-1:-1:-1;3785:173:0;;;;;:::i;:::-;;:::i;20833:15::-;;;;;;;;;;-1:-1:-1;20833:15:0;;;;;;;;;;;22403:235;;;;;;;;;;;;;:::i;3966:151::-;;;;;;;;;;-1:-1:-1;3966:151:0;;;;;:::i;:::-;4082:18;;;;4055:7;4082:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3966:151;18213:724;;;;;;:::i;:::-;;:::i;16150:358::-;;;;;;:::i;:::-;;:::i;20742:32::-;;;;;;;;;;;;;;;19574:449;;;;;;;;;;-1:-1:-1;19574:449:0;;;;;:::i;:::-;19853:19;19847:4;19840:33;;;19697:14;19887:26;;;;19999:4;19983:21;;19977:28;;19574:449;22964:288;23035:10;:29;23049:15;23035:29;;23027:54;;;;;;;3392:2:1;23027:54:0;;;3374:21:1;3431:2;3411:18;;;3404:30;3470:14;3450:18;;;3443:42;3502:18;;23027:54:0;;;;;;;;;23115:8;23109:3;;:14;;;;:::i;:::-;23100:6;:23;:43;;;;;23136:7;23127:6;:16;23100:43;23092:52;;;;;;23173:18;:27;;;23216:28;;1628:25:1;;;23216:28:0;;1616:2:1;1601:18;23216:28:0;;;;;;;;22964:288;:::o;3213:100::-;3267:13;3300:5;3293:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3213:100;:::o;4125:167::-;4208:4;4225:37;4234:10;4246:7;4255:6;4225:8;:37::i;:::-;-1:-1:-1;4280:4:0;4125:167;;;;;:::o;4300:454::-;4406:4;4423:36;4433:6;4441:9;4452:6;4423:9;:36::i;:::-;4499:19;;;4472:24;4499:19;;;:11;:19;;;;;;;;4519:10;4499:31;;;;;;;;4549:26;;;;4541:79;;;;;;;4678:2:1;4541:79:0;;;4660:21:1;4717:2;4697:18;;;4690:30;4756:34;4736:18;;;4729:62;4827:10;4807:18;;;4800:38;4855:19;;4541:79:0;4476:404:1;4541:79:0;4656:55;4665:6;4673:10;4704:6;4685:16;:25;4656:8;:55::i;:::-;-1:-1:-1;4742:4:0;;4300:454;-1:-1:-1;;;;4300:454:0:o;16841:630::-;16936:15;15766:9;16954:46;;:15;:46;16936:64;;17172:19;17166:4;17159:33;17223:8;17217:4;17210:22;17280:7;17273:4;17267;17257:21;17250:38;17429:8;17382:45;17379:1;17376;17371:67;17072:381;16841:630::o;22646:226::-;22714:10;:29;22728:15;22714:29;;22706:54;;;;;;;3392:2:1;22706:54:0;;;3374:21:1;3431:2;3411:18;;;3404:30;3470:14;3450:18;;;3443:42;3502:18;;22706:54:0;3190:336:1;22706:54:0;22771:7;:18;;;;;;;;;;;;;-1:-1:-1;25389:15:0;;;:10;:15;;;;;:21;;;;-1:-1:-1;25389:21:0;;;22838:26;;2742:42:1;2730:55;;2712:74;;22838:26:0;;2700:2:1;2685:18;22838:26:0;2566:226:1;4762:211:0;4876:10;4850:4;4897:23;;;:11;:23;;;;;;;;;:32;;;;;;;;;;4850:4;;4867:76;;4888:7;;4897:45;;4932:10;;4897:45;:::i;:::-;4867:8;:76::i;24178:127::-;24227:24;24233:10;24245:5;24227;:24::i;:::-;24267:30;;;24279:10;5189:74:1;;5294:2;5279:18;;5272:34;;;24267:30:0;;5162:18:1;24267:30:0;5015:297:1;17556:466:0;17762:19;17756:4;17749:33;17809:8;17803:4;17796:22;17862:1;17855:4;17849;17839:21;17832:32;17995:8;17949:44;17946:1;17943;17938:66;17556:466::o;16576:102::-;20420:13;:11;:13::i;:::-;16649:21:::1;16667:1;16649:9;:21::i;:::-;16576:102::o:0;23260:392::-;23324:10;:29;23338:15;23324:29;;23316:54;;;;;;;3392:2:1;23316:54:0;;;3374:21:1;3431:2;3411:18;;;3404:30;3470:14;3450:18;;;3443:42;3502:18;;23316:54:0;3190:336:1;23316:54:0;23417:4;3724:7;3751:18;;;;;;;;;;;23389:6;:34;;:48;;;;;23436:1;23427:6;:10;23389:48;23381:73;;;;;;;5519:2:1;23381:73:0;;;5501:21:1;5558:2;5538:18;;;5531:30;5597:14;5577:18;;;5570:42;5629:18;;23381:73:0;5317:336:1;23381:73:0;23469:8;;;;23465:180;;23493:8;:15;;;;23504:4;23493:15;;;23523:24;23540:6;23523:16;:24::i;:::-;23562:8;:16;;;;;;23260:392;:::o;23465:180::-;23616:17;;;;;;;;;;;;;;23465:180;23260:392;:::o;3321:104::-;3377:13;3410:7;3403:14;;;;;:::i;4981:409::-;5130:10;5074:4;5118:23;;;:11;:23;;;;;;;;;:32;;;;;;;;;;5169:35;;;;5161:85;;;;;;;5860:2:1;5161:85:0;;;5842:21:1;5899:2;5879:18;;;5872:30;5938:34;5918:18;;;5911:62;6009:7;5989:18;;;5982:35;6034:19;;5161:85:0;5658:401:1;5161:85:0;5282:65;5291:10;5303:7;5331:15;5312:16;:34;5282:8;:65::i;:::-;-1:-1:-1;5378:4:0;;4981:409;-1:-1:-1;;;4981:409:0:o;23792:378::-;23861:4;23885:10;:21;23899:7;23885:21;;23877:46;;;;;;;6266:2:1;23877:46:0;;;6248:21:1;6305:2;6285:18;;;6278:30;6344:14;6324:18;;;6317:42;6376:18;;23877:46:0;6064:336:1;23877:46:0;23942:3;;;;;;;:12;23934:40;;;;;;;6607:2:1;23934:40:0;;;6589:21:1;6646:2;6626:18;;;6619:30;6685:17;6665:18;;;6658:45;6720:18;;23934:40:0;6405:339:1;23934:40:0;24018:3;;24009:5;23993:13;3622:12;;;3534:108;23993:13;:21;;;;:::i;:::-;:28;;23985:55;;;;;;;6951:2:1;23985:55:0;;;6933:21:1;6990:2;6970:18;;;6963:30;7029:16;7009:18;;;7002:44;7063:18;;23985:55:0;6749:338:1;23985:55:0;24051:18;24057:5;24063;24051;:18::i;:::-;24100:3;;3622:12;;24083:20;24080:61;;24119:10;:8;:10::i;3785:173::-;3871:4;3888:40;3898:10;3910:9;3921:6;3888:9;:40::i;22403:235::-;20420:13;:11;:13::i;:::-;22466:4:::1;::::0;;;::::1;;;22465:5;22457:31;;;::::0;::::1;::::0;;7294:2:1;22457:31:0::1;::::0;::::1;7276:21:1::0;7333:2;7313:18;;;7306:30;7372:15;7352:18;;;7345:43;7405:18;;22457:31:0::1;7092:337:1::0;22457:31:0::1;22499:5;:31:::0;;;::::1;::::0;22514:15:::1;22499:31;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;22551:26:::1;::::0;22566:10:::1;::::0;22551:5;;::::1;;:26;:::i;:::-;22541:7;:36:::0;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;22588:4:::1;:11:::0;;;::::1;::::0;::::1;::::0;;22615:15:::1;::::0;::::1;::::0;22541:7:::1;::::0;22615:15:::1;22403:235::o:0;18213:724::-;20420:13;:11;:13::i;:::-;18451:19:::1;18445:4;18438:33;18498:12;18492:4;18485:26;18561:4;18555;18545:21;18669:12;18663:19;18650:11;18647:36;18644:160;;;18716:10;18710:4;18703:24;18784:4;18778;18771:18;18644:160;18883:1;18862:23:::0;;18906::::1;18916:12:::0;18906:9:::1;:23::i;16150:358::-:0;20420:13;:11;:13::i;:::-;16325:8:::1;16321:2;16317:17;16307:153;;16368:10;16362:4;16355:24;16440:4;16434;16427:18;16307:153;16481:19;16491:8;16481:9;:19::i;7111:346::-:0;7213:19;;;7205:68;;;;;;;7821:2:1;7205:68:0;;;7803:21:1;7860:2;7840:18;;;7833:30;7899:34;7879:18;;;7872:62;7970:6;7950:18;;;7943:34;7994:19;;7205:68:0;7619:400:1;7205:68:0;7292:21;;;7284:68;;;;;;;8226:2:1;7284:68:0;;;8208:21:1;8265:2;8245:18;;;8238:30;8304:34;8284:18;;;8277:62;8375:4;8355:18;;;8348:32;8397:19;;7284:68:0;8024:398:1;7284:68:0;7365:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7417:32;;1628:25:1;;;7417:32:0;;1601:18:1;7417:32:0;;;;;;;7111:346;;;:::o;26714:1710::-;26808:6;26818:1;26808:11;26804:93;;26836:28;26852:4;26858:2;26862:1;26836:15;:28::i;:::-;26714:1710;;;:::o;26804:93::-;26920:4;;;;;;;26917:1483;;;26958:14;;;26940:15;26958:14;;;:10;:14;;;;;;;;;27001:6;:10;;;;;;;26958:14;;;;;27001:10;27089:11;;:66;;;;;27151:4;27130:13;3622:12;;;3534:108;27130:13;:18;;27146:2;27130:18;:::i;:::-;:25;;;;:::i;:::-;27120:6;27104:13;27114:2;3751:18;;3724:7;3751:18;;;;;;;;;;;;3650:127;27104:13;:22;;;;:::i;:::-;:51;27089:66;27086:131;;;27182:19;;;;;;;;;;;;;;27086:131;27282:4;27233:28;3751:18;;;;;;;;;;;27342;;27318:42;;;;;;;27397:20;;-1:-1:-1;27409:8:0;;;;27408:9;27397:20;:30;;;;;27421:6;27397:30;27375:398;;;27511:12;27500:24;;;;:10;:24;;;;;;27527:1;-1:-1:-1;27496:262:0;;;27553:8;:15;;;;27564:4;27553:15;;;27591:30;27600:20;27591:8;:30::i;:::-;27644:8;:16;;;;;;27721:12;27655:5;27710:24;;;:10;:24;;;;;;:28;;27644:16;27710:28;:::i;:::-;27694:12;27683:24;;;;:10;:24;;;;;:55;27496:262;27793:6;:27;;;;-1:-1:-1;27804:16:0;;;;;;;:10;:16;;;;;;;;27803:17;27793:27;27792:62;;;-1:-1:-1;27826:12:0;;;;;;;:6;:12;;;;;;;;:27;;;;;27843:10;27842:11;27826:27;27789:360;;;27874:11;27888:29;27902:6;27910;27888:13;:29::i;:::-;27874:43;;27936:41;27952:4;27966;27973:3;27936:15;:41::i;:::-;27996:13;28006:3;27996:13;;:::i;:::-;;;28028:33;28044:4;28050:2;28054:6;28028:15;:33::i;:::-;27855:222;27789:360;;;28100:33;28116:4;28122:2;28126:6;28100:15;:33::i;:::-;26925:1235;;;;26714:1710;;;:::o;26917:1483::-;28182:18;;;;;:37;;;28212:7;28204:15;;:4;:15;;;28182:37;:54;;;;28229:7;28223:13;;:2;:13;;;28182:54;:75;;;;28246:11;28240:17;;:2;:17;;;28182:75;28179:210;;;28278:33;28294:4;28300:2;28304:6;28278:15;:33::i;28179:210::-;28357:16;;;;;;;;;;;;;;6512:591;6596:21;;;6588:67;;;;;;;8935:2:1;6588:67:0;;;8917:21:1;8974:2;8954:18;;;8947:30;9013:34;8993:18;;;8986:62;9084:3;9064:18;;;9057:31;9105:19;;6588:67:0;8733:397:1;6588:67:0;6755:18;;;6730:22;6755:18;;;;;;;;;;;6792:24;;;;6784:71;;;;;;;9337:2:1;6784:71:0;;;9319:21:1;9376:2;9356:18;;;9349:30;9415:34;9395:18;;;9388:62;9486:4;9466:18;;;9459:32;9508:19;;6784:71:0;9135:398:1;6784:71:0;6891:18;;;:9;:18;;;;;;;;;;6912:23;;;6891:44;;6957:12;:22;;6929:6;;6891:9;6957:22;;6929:6;;6957:22;:::i;:::-;;;;-1:-1:-1;;6997:37:0;;1628:25:1;;;7023:1:0;;6997:37;;;;;;1616:2:1;1601:18;6997:37:0;;;;;;;26714:1710;;;:::o;15071:364::-;15287:11;15281:18;15271:8;15268:32;15258:159;;15334:10;15328:4;15321:24;15397:4;15391;15384:18;13897:1113;14624:11;14864:16;;14710:26;;;;;;;14824:38;14821:1;;14813:78;14950:27;13897:1113::o;24644:591::-;24794:16;;;24808:1;24794:16;;;;;;;;24770:21;;24794:16;;;;;;;;;;-1:-1:-1;24794:16:0;24770:40;;24839:4;24821;24826:1;24821:7;;;;;;;;:::i;:::-;;;;;;:23;;;;;;;;;;;24865:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24855:4;24860:1;24855:7;;;;;;;;:::i;:::-;;;;;;:32;;;;;;;;;;;24900:62;24917:4;24932:15;24950:11;24900:8;:62::i;:::-;25001:226;;;;;:66;:15;:66;;;;:226;;25082:11;;25108:1;;25152:4;;25171:15;;25201;;25001:226;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24699:536;24644:591;:::o;6105:399::-;6189:21;;;6181:65;;;;;;;11405:2:1;6181:65:0;;;11387:21:1;11444:2;11424:18;;;11417:30;11483:33;11463:18;;;11456:61;11534:18;;6181:65:0;11203:355:1;6181:65:0;6337:6;6321:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;6354:18:0;;;:9;:18;;;;;;;;;;:28;;6376:6;;6354:9;:28;;6376:6;;6354:28;:::i;:::-;;;;-1:-1:-1;;6398:37:0;;1628:25:1;;;6398:37:0;;;;6415:1;;6398:37;;1616:2:1;1601:18;6398:37:0;;;;;;;6448:48;6105:399;;:::o;25426:94::-;25466:3;:10;;;;;;;;25492:20;;;;25466:10;;25492:20;25426:94::o;5398:699::-;5504:20;;;5496:70;;;;;;;11765:2:1;5496:70:0;;;11747:21:1;11804:2;11784:18;;;11777:30;11843:34;11823:18;;;11816:62;11914:7;11894:18;;;11887:35;11939:19;;5496:70:0;11563:401:1;5496:70:0;5585:23;;;5577:71;;;;;;;12171:2:1;5577:71:0;;;12153:21:1;12210:2;12190:18;;;12183:30;12249:34;12229:18;;;12222:62;12320:5;12300:18;;;12293:33;12343:19;;5577:71:0;11969:399:1;5577:71:0;5745:17;;;5721:21;5745:17;;;;;;;;;;;5781:23;;;;5773:74;;;;;;;12575:2:1;5773:74:0;;;12557:21:1;12614:2;12594:18;;;12587:30;12653:34;12633:18;;;12626:62;12724:8;12704:18;;;12697:36;12750:19;;5773:74:0;12373:402:1;5773:74:0;5883:17;;;;:9;:17;;;;;;;;;;;5903:22;;;5883:42;;5947:20;;;;;;;;:30;;5919:6;;5883:9;5947:30;;5919:6;;5947:30;:::i;:::-;;;;;;;;6012:9;5995:35;;6004:6;5995:35;;;6023:6;5995:35;;;;1628:25:1;;1616:2;1601:18;;1482:177;5995:35:0;;;;;;;;5485:612;5398:699;;;:::o;24313:323::-;24379:15;24398:1;24379:20;24375:59;;24313:323;:::o;24375:59::-;24466:7;24448:15;:25;24444:83;;;-1:-1:-1;24508:7:0;24444:83;24566:15;24592:36;24566:15;24592:16;:36::i;25528:960::-;25636:7;;25603;;25636;;;;;25675:15;;25603:7;;25731:10;;;-1:-1:-1;25728:753:0;;;25806:5;;25757:15;;25800:11;;25806:5;;;;;25800:3;:11;:::i;:::-;25778:10;25784:4;25778:3;:10;:::i;:::-;25777:18;;25792:3;25777:18;:::i;:::-;25776:36;;;;:::i;:::-;25757:56;;;;25879:2;25868:7;:13;25865:500;;25921:3;25907:11;:6;25916:2;25907:11;:::i;:::-;:17;;;;:::i;:::-;25901:23;;25865:500;;;25960:2;25950:7;:12;:28;;;;;25976:2;25966:7;:12;25950:28;25946:419;;;26001:6;25998:147;;;26051:3;26037:11;:6;26046:2;26037:11;:::i;25998:147::-;26122:3;26108:11;:6;26117:2;26108:11;:::i;25946:419::-;26181:2;26170:7;:13;26166:199;;26207:6;26204:146;;;26257:3;26243:11;:6;26252:2;26243:11;:::i;26204:146::-;26327:3;26314:10;:6;26323:1;26314:10;:::i;:::-;:16;;;;:::i;:::-;26308:22;;26204:146;-1:-1:-1;26386:3:0;-1:-1:-1;26379:10:0;;-1:-1:-1;;26379:10:0;25728:753;26441:3;26428:10;:6;26437:1;26428:10;:::i;:::-;:16;;;;:::i;:::-;26422:22;-1:-1:-1;26459:10:0;;-1:-1:-1;;;26459:10:0;14:180:1;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:607::-;311:4;340:2;369;358:9;351:21;401:6;395:13;444:6;439:2;428:9;424:18;417:34;469:1;479:140;493:6;490:1;487:13;479:140;;;588:14;;;584:23;;578:30;554:17;;;573:2;550:26;543:66;508:10;;479:140;;;483:3;668:1;663:2;654:6;643:9;639:22;635:31;628:42;797:2;727:66;722:2;714:6;710:15;706:88;695:9;691:104;687:113;679:121;;;;199:607;;;;:::o;811:154::-;897:42;890:5;886:54;879:5;876:65;866:93;;955:1;952;945:12;970:315;1038:6;1046;1099:2;1087:9;1078:7;1074:23;1070:32;1067:52;;;1115:1;1112;1105:12;1067:52;1154:9;1141:23;1173:31;1198:5;1173:31;:::i;:::-;1223:5;1275:2;1260:18;;;;1247:32;;-1:-1:-1;;;970:315:1:o;1664:456::-;1741:6;1749;1757;1810:2;1798:9;1789:7;1785:23;1781:32;1778:52;;;1826:1;1823;1816:12;1778:52;1865:9;1852:23;1884:31;1909:5;1884:31;:::i;:::-;1934:5;-1:-1:-1;1991:2:1;1976:18;;1963:32;2004:33;1963:32;2004:33;:::i;:::-;1664:456;;2056:7;;-1:-1:-1;;;2110:2:1;2095:18;;;;2082:32;;1664:456::o;2125:247::-;2184:6;2237:2;2225:9;2216:7;2212:23;2208:32;2205:52;;;2253:1;2250;2243:12;2205:52;2292:9;2279:23;2311:31;2336:5;2311:31;:::i;:::-;2361:5;2125:247;-1:-1:-1;;;2125:247:1:o;2797:388::-;2865:6;2873;2926:2;2914:9;2905:7;2901:23;2897:32;2894:52;;;2942:1;2939;2932:12;2894:52;2981:9;2968:23;3000:31;3025:5;3000:31;:::i;:::-;3050:5;-1:-1:-1;3107:2:1;3092:18;;3079:32;3120:33;3079:32;3120:33;:::i;:::-;3172:7;3162:17;;;2797:388;;;;;:::o;3531:184::-;3583:77;3580:1;3573:88;3680:4;3677:1;3670:15;3704:4;3701:1;3694:15;3720:184;3772:77;3769:1;3762:88;3869:4;3866:1;3859:15;3893:4;3890:1;3883:15;3909:120;3949:1;3975;3965:35;;3980:18;;:::i;:::-;-1:-1:-1;4014:9:1;;3909:120::o;4034:437::-;4113:1;4109:12;;;;4156;;;4177:61;;4231:4;4223:6;4219:17;4209:27;;4177:61;4284:2;4276:6;4273:14;4253:18;4250:38;4247:218;;4321:77;4318:1;4311:88;4422:4;4419:1;4412:15;4450:4;4447:1;4440:15;4247:218;;4034:437;;;:::o;4885:125::-;4950:9;;;4971:10;;;4968:36;;;4984:18;;:::i;7434:180::-;7501:18;7539:10;;;7551;;;7535:27;;7574:11;;;7571:37;;;7588:18;;:::i;:::-;7571:37;7434:180;;;;:::o;8427:168::-;8500:9;;;8531;;8548:15;;;8542:22;;8528:37;8518:71;;8569:18;;:::i;8600:128::-;8667:9;;;8688:11;;;8685:37;;;8702:18;;:::i;9727:184::-;9779:77;9776:1;9769:88;9876:4;9873:1;9866:15;9900:4;9897:1;9890:15;9916:251;9986:6;10039:2;10027:9;10018:7;10014:23;10010:32;10007:52;;;10055:1;10052;10045:12;10007:52;10087:9;10081:16;10106:31;10131:5;10106:31;:::i;10172:1026::-;10434:4;10482:3;10471:9;10467:19;10513:6;10502:9;10495:25;10539:2;10577:6;10572:2;10561:9;10557:18;10550:34;10620:3;10615:2;10604:9;10600:18;10593:31;10644:6;10679;10673:13;10710:6;10702;10695:22;10748:3;10737:9;10733:19;10726:26;;10787:2;10779:6;10775:15;10761:29;;10808:1;10818:218;10832:6;10829:1;10826:13;10818:218;;;10897:13;;10912:42;10893:62;10881:75;;11011:15;;;;10976:12;;;;10854:1;10847:9;10818:218;;;-1:-1:-1;;11104:42:1;11092:55;;;;11087:2;11072:18;;11065:83;-1:-1:-1;;;11179:3:1;11164:19;11157:35;11053:3;10172:1026;-1:-1:-1;;;10172:1026:1:o;12780:183::-;12848:18;12899:10;;;12887;;;12883:27;;12922:12;;;12919:38;;;12937:18;;:::i;12968:257::-;13039:18;13089:10;;;13101;;;13085:27;13132:20;;;;13039:18;13171:24;;;13161:58;;13199:18;;:::i;:::-;13161:58;;12968:257;;;;:::o;13230:199::-;13269:1;13295:18;13340:2;13337:1;13333:10;13362:3;13352:37;;13369:18;;:::i;:::-;13407:10;;13403:20;;;;;13230:199;-1:-1:-1;;13230:199:1:o
Swarm Source
ipfs://83762292e5bbbb22085b4757a4cafbdf4be034af262aa316e72d42a948cda452
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.000672 | 544,477.3006 | $366.12 |
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.