Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 DWINGS
Holders
17
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
822,088.653319320544658562 DWINGSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DecentralWings
Compiler Version
v0.8.21+commit.d9974bed
Optimization Enabled:
Yes with 1000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/* Discover an innovative take on a timeless classic, delivering immersive gameplay, crypto incentives, and exclusive NFT assets. Join us on an odyssey and capture the excitement of reaping rewards in the universe of Decentral Wings! Telegram: https://t.me/decentralwings Website: https://decentralwings.com Twitter: https://twitter.com/DecentralWings */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.21; import "./IERC20.sol"; import "./SafeMath.sol"; import "./Context.sol"; import "./Ownable.sol"; import "./IUniswapV2Factory.sol"; import "./IUniswapV2Router02.sol"; interface IUniswapV2Pair { function sync() external; } contract DecentralWings is Context, IERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public router; address public pair; mapping(address => uint256) private balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; string private constant _name = "Decentral Wings"; string private constant _symbol = "DWINGS"; uint8 private constant _decimals = 18; uint256 private _maxSupply = 1000000000 * 10 ** _decimals; uint256 public _maxWalletAmount = 20000000 * 10 ** _decimals; uint256 public _maxTransactionAmount = 20000000 * 10 ** _decimals; uint256 public _sThreshold = 10000000 * 10 ** _decimals; uint256 public _doForceSwap; address public liqAddressWallet; address public stkAddressContract; address public mAddressWallet; bool public _isTradingEnabled = false; struct BuyFeeStruct { uint256 liqPercentage; uint256 markPercentage; } struct SellFeeStruct { uint256 liqPercentage; uint256 markPercentage; } BuyFeeStruct public bFeeConfig; SellFeeStruct public sFeeConfig; uint256 private percentageLiquidityFee; uint256 private percentageMarketingFee; bool private _isSwapping; event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity); constructor (address markAddress, address liqAddress) { mAddressWallet = markAddress; liqAddressWallet = liqAddress; balances[_msgSender()] = _maxSupply; bFeeConfig.liqPercentage = 2; bFeeConfig.markPercentage = 2; sFeeConfig.liqPercentage = 2; sFeeConfig.markPercentage = 2; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _uniPair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); router = _uniswapV2Router; pair = _uniPair; _isExcludedFromFee[msg.sender] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[address(0x00)] = true; _isExcludedFromFee[address(0xdead)] = true; emit Transfer(address(0), _msgSender(), _maxSupply); } function enableTrading() external onlyOwner { _isTradingEnabled = true; } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _maxSupply; } function balanceOf(address account) public view override returns (uint256) { return balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue); return true; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFee[address(account)] = excluded; } receive() external payable {} function dFeesFromBuy(uint256 amount, address from) private returns (uint256) { uint256 liquidityFeeToken = amount * bFeeConfig.liqPercentage / 100; uint256 marketingFeeTokens = amount * bFeeConfig.markPercentage / 100; balances[address(this)] += liquidityFeeToken + marketingFeeTokens; emit Transfer(from, address(this), marketingFeeTokens + liquidityFeeToken); return (amount - liquidityFeeToken - marketingFeeTokens); } function dFeesFromSell(uint256 amount, address from) private returns (uint256) { uint256 liquidityFeeToken = amount * sFeeConfig.liqPercentage / 100; uint256 marketingFeeTokens = amount * sFeeConfig.markPercentage / 100; balances[address(this)] += liquidityFeeToken + marketingFeeTokens; emit Transfer(from, address(this), marketingFeeTokens + liquidityFeeToken); return (amount - liquidityFeeToken - marketingFeeTokens); } function isExcludedFromFee(address account) public view returns (bool) { return _isExcludedFromFee[account]; } function setFeeCfg(uint256 _buyMarketingFee, uint256 _buyLiquidityFee, uint256 _sellMarketingFee, uint256 _sellLiquidityFee) public onlyOwner { require(_buyMarketingFee + _buyLiquidityFee < 500 || _sellLiquidityFee + _sellMarketingFee < 500, "Can't change fee higher than 24%"); bFeeConfig.liqPercentage = _buyLiquidityFee; bFeeConfig.markPercentage = _buyMarketingFee; sFeeConfig.liqPercentage = _sellLiquidityFee; sFeeConfig.markPercentage = _sellMarketingFee; } function setMaximumTransactionAmt(uint256 _maxTx, uint256 _maxWallet) public onlyOwner { require(_maxTx + _maxWallet > _maxSupply / 1000, "Should be bigger than 0,1%"); _maxTransactionAmount = _maxTx; _maxWalletAmount = _maxWallet; } function setStakingContract(address stakingContract) public onlyOwner { stkAddressContract = stakingContract; } 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); } 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 amount must be greater than zero"); balances[from] -= amount; uint256 transferAmount = amount; bool takeFee; if (!_isTradingEnabled) { require(_isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading is not active."); } if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { takeFee = true; } if (takeFee) { if (to != pair) { require(amount <= _maxTransactionAmount, "Transfer Amount exceeds the maxTxnsAmount"); require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount."); transferAmount = dFeesFromBuy(amount, to); } if (from != pair) { require(amount <= _maxTransactionAmount, "Transfer Amount exceeds the maxTxnsAmount"); transferAmount = dFeesFromSell(amount, from); _doForceSwap += 1; if (balanceOf(address(this)) >= _sThreshold && !_isSwapping) { _isSwapping = true; swapAndAddLiquidity(_sThreshold); _isSwapping = false; _doForceSwap = 0; } if (_doForceSwap > 5 && !_isSwapping) { _isSwapping = true; swapAndAddLiquidity(balanceOf(address(this))); _isSwapping = false; _doForceSwap = 0; } } if (to != pair && from != pair) { require(amount <= _maxTransactionAmount, "Transfer Amount exceeds the maxTxnsAmount"); require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount."); } } balances[to] += transferAmount; emit Transfer(from, to, transferAmount); } function swapAndAddLiquidity(uint256 amount) private { uint256 contractBalance = amount; uint256 liquidityTokens = contractBalance * (bFeeConfig.liqPercentage + sFeeConfig.liqPercentage) / (bFeeConfig.markPercentage + bFeeConfig.liqPercentage + sFeeConfig.markPercentage + sFeeConfig.liqPercentage); uint256 marketingTokens = contractBalance * (bFeeConfig.markPercentage + sFeeConfig.markPercentage) / (bFeeConfig.markPercentage + bFeeConfig.liqPercentage + sFeeConfig.markPercentage + sFeeConfig.liqPercentage); uint256 totalTokensToSwap = liquidityTokens + marketingTokens; uint256 tokensForLiquidity = liquidityTokens.div(2); uint256 amountToSwapForETH = contractBalance.sub(tokensForLiquidity); uint256 initialETHBalance = address(this).balance; swapTokensForEth(amountToSwapForETH); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForLiquidity = ethBalance.mul(liquidityTokens).div(totalTokensToSwap); addLiquidity(tokensForLiquidity, ethForLiquidity); payable(mAddressWallet).transfer(address(this).balance); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { _approve(address(this), address(router), tokenAmount); router.addLiquidityETH{value: ethAmount} ( address(this), tokenAmount, 0, 0, liqAddressWallet, block.timestamp ); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.21; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.21; 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); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.21; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function createPair(address tokenA, address tokenB) external returns (address pair); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.21; interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.21; import "./Context.sol"; contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.21; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } 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; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
{ "optimizer": { "enabled": true, "runs": 1000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"markAddress","type":"address"},{"internalType":"address","name":"liqAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_doForceSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTransactionAmount","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":"_sThreshold","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":[],"name":"bFeeConfig","outputs":[{"internalType":"uint256","name":"liqPercentage","type":"uint256"},{"internalType":"uint256","name":"markPercentage","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","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":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liqAddressWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mAddressWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sFeeConfig","outputs":[{"internalType":"uint256","name":"liqPercentage","type":"uint256"},{"internalType":"uint256","name":"markPercentage","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyMarketingFee","type":"uint256"},{"internalType":"uint256","name":"_buyLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"_sellMarketingFee","type":"uint256"},{"internalType":"uint256","name":"_sellLiquidityFee","type":"uint256"}],"name":"setFeeCfg","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTx","type":"uint256"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"setMaximumTransactionAmt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"stakingContract","type":"address"}],"name":"setStakingContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stkAddressContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126012600a620004ed565b6200002290633b9aca0062000504565b600655620000336012600a620004ed565b62000043906301312d0062000504565b600755620000546012600a620004ed565b62000064906301312d0062000504565b600855620000756012600a620004ed565b62000084906298968062000504565b600955600d805460ff60a01b19169055348015620000a0575f80fd5b506040516200231338038062002313833981016040819052620000c3916200053a565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d80546001600160a01b038085166001600160a01b031992831617909255600b80549284169290911691909117905560065460035f620001413390565b6001600160a01b0316815260208082019290925260409081015f908120939093556002600e819055600f8190556010819055601155805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9392849263c45a015592600480830193928290030181865afa158015620001c2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e8919062000570565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000234573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200025a919062000570565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002a5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002cb919062000570565b600180546001600160a01b038086166001600160a01b03199283161783556002805491851691909216179055335f90815260056020526040808220805460ff19908116851790915530835290822080548216841790557f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc805482168417905561dead9091527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba805490911690911790559050620003853390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620003cc91815260200190565b60405180910390a3505050506200058c565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200043257815f1904821115620004165762000416620003de565b808516156200042457918102915b93841c9390800290620003f7565b509250929050565b5f826200044a57506001620004e7565b816200045857505f620004e7565b81600181146200047157600281146200047c576200049c565b6001915050620004e7565b60ff841115620004905762000490620003de565b50506001821b620004e7565b5060208310610133831016604e8410600b8410161715620004c1575081810a620004e7565b620004cd8383620003f2565b805f1904821115620004e357620004e3620003de565b0290505b92915050565b5f620004fd60ff8416836200043a565b9392505050565b8082028115828204841417620004e757620004e7620003de565b80516001600160a01b038116811462000535575f80fd5b919050565b5f80604083850312156200054c575f80fd5b62000557836200051e565b915062000567602084016200051e565b90509250929050565b5f6020828403121562000581575f80fd5b620004fd826200051e565b611d79806200059a5f395ff3fe6080604052600436106101de575f3560e01c80638a8c523c116100fd578063bb7381cf11610092578063d6a2c9e211610062578063d6a2c9e2146105c8578063dd62ed3e146105e7578063f2fde38b1461062b578063f887ea401461064a575f80fd5b8063bb7381cf1461055b578063bce8c71014610570578063c02466681461058a578063c5597f0b146105a9575f80fd5b80639dd373b9116100cd5780639dd373b9146104df578063a457c2d7146104fe578063a8aa1b311461051d578063a9059cbb1461053c575f80fd5b80638a8c523c1461044a5780638da5cb5b1461045e57806395d89b411461047a5780639c83c378146104bf575f80fd5b806352c6430b116101735780636c0a24eb116101435780636c0a24eb146103be57806370a08231146103d3578063715018a61461040757806371a536a81461041b575f80fd5b806352c6430b1461033257806352cd01ae146103475780635342acb41461036657806353e20d7e1461039d575f80fd5b806318160ddd116101ae57806318160ddd146102c557806323b872dd146102d9578063313ce567146102f85780633950935114610313575f80fd5b806304beaeb8146101e957806306fdde0314610211578063095ea7b31461025f57806316710b171461028e575f80fd5b366101e557005b5f80fd5b3480156101f4575f80fd5b506101fe60085481565b6040519081526020015b60405180910390f35b34801561021c575f80fd5b5060408051808201909152600f81527f446563656e7472616c2057696e6773000000000000000000000000000000000060208201525b6040516102089190611a6f565b34801561026a575f80fd5b5061027e610279366004611ad1565b610669565b6040519015158152602001610208565b348015610299575f80fd5b50600b546102ad906001600160a01b031681565b6040516001600160a01b039091168152602001610208565b3480156102d0575f80fd5b506006546101fe565b3480156102e4575f80fd5b5061027e6102f3366004611afb565b61067f565b348015610303575f80fd5b5060405160128152602001610208565b34801561031e575f80fd5b5061027e61032d366004611ad1565b6106cf565b34801561033d575f80fd5b506101fe60095481565b348015610352575f80fd5b50600d546102ad906001600160a01b031681565b348015610371575f80fd5b5061027e610380366004611b39565b6001600160a01b03165f9081526005602052604090205460ff1690565b3480156103a8575f80fd5b506103bc6103b7366004611b54565b610705565b005b3480156103c9575f80fd5b506101fe60075481565b3480156103de575f80fd5b506101fe6103ed366004611b39565b6001600160a01b03165f9081526003602052604090205490565b348015610412575f80fd5b506103bc6107d5565b348015610426575f80fd5b50600e54600f54610435919082565b60408051928352602083019190915201610208565b348015610455575f80fd5b506103bc610883565b348015610469575f80fd5b505f546001600160a01b03166102ad565b348015610485575f80fd5b5060408051808201909152600681527f4457494e475300000000000000000000000000000000000000000000000000006020820152610252565b3480156104ca575f80fd5b50600d5461027e90600160a01b900460ff1681565b3480156104ea575f80fd5b506103bc6104f9366004611b39565b61090c565b348015610509575f80fd5b5061027e610518366004611ad1565b610994565b348015610528575f80fd5b506002546102ad906001600160a01b031681565b348015610547575f80fd5b5061027e610556366004611ad1565b6109ca565b348015610566575f80fd5b506101fe600a5481565b34801561057b575f80fd5b50601054601154610435919082565b348015610595575f80fd5b506103bc6105a4366004611b74565b6109d6565b3480156105b4575f80fd5b50600c546102ad906001600160a01b031681565b3480156105d3575f80fd5b506103bc6105e2366004611baf565b610a59565b3480156105f2575f80fd5b506101fe610601366004611bde565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b348015610636575f80fd5b506103bc610645366004611b39565b610b35565b348015610655575f80fd5b506001546102ad906001600160a01b031681565b5f610675338484610c70565b5060015b92915050565b5f61068b848484610dc7565b6001600160a01b0384165f908152600460209081526040808320338085529252909120546106c59186916106c0908690611c1e565b610c70565b5060019392505050565b335f8181526004602090815260408083206001600160a01b038716845290915281205490916106759185906106c0908690611c31565b5f546001600160a01b031633146107635760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6103e86006546107739190611c44565b61077d8284611c31565b116107ca5760405162461bcd60e51b815260206004820152601a60248201527f53686f756c6420626520626967676572207468616e20302c3125000000000000604482015260640161075a565b600891909155600755565b5f546001600160a01b0316331461082e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f805473ffffffffffffffffffffffffffffffffffffffff19169055565b5f546001600160a01b031633146108dc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075a565b600d80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b179055565b5f546001600160a01b031633146109655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075a565b600c805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b335f8181526004602090815260408083206001600160a01b038716845290915281205490916106759185906106c0908690611c1e565b5f610675338484610dc7565b5f546001600160a01b03163314610a2f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075a565b6001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610ab25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075a565b6101f4610abf8486611c31565b1080610ad557506101f4610ad38383611c31565b105b610b215760405162461bcd60e51b815260206004820181905260248201527f43616e2774206368616e67652066656520686967686572207468616e20323425604482015260640161075a565b600e92909255600f92909255601055601155565b5f546001600160a01b03163314610b8e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075a565b6001600160a01b038116610c0a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161075a565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b038316610ceb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161075a565b6001600160a01b038216610d675760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161075a565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161075a565b6001600160a01b038216610ebf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161075a565b5f8111610f345760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f0000000000000000000000000000000000000000000000606482015260840161075a565b6001600160a01b0383165f9081526003602052604081208054839290610f5b908490611c1e565b9091555050600d5481905f90600160a01b900460ff16610ffe576001600160a01b0385165f9081526005602052604090205460ff1680610fb257506001600160a01b0384165f9081526005602052604090205460ff165b610ffe5760405162461bcd60e51b815260206004820152601660248201527f54726164696e67206973206e6f74206163746976652e00000000000000000000604482015260640161075a565b6001600160a01b0385165f9081526005602052604090205460ff1615801561103e57506001600160a01b0384165f9081526005602052604090205460ff16155b15611047575060015b80156113ce576002546001600160a01b03858116911614611162576008548311156110c65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546044820152681e1b9cd05b5bdd5b9d60ba1b606482015260840161075a565b600754836110e8866001600160a01b03165f9081526003602052604090205490565b6110f29190611c31565b11156111555760405162461bcd60e51b815260206004820152602c60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526b30b63632ba20b6b7bab73a1760a11b606482015260840161075a565b61115f8385611450565b91505b6002546001600160a01b038681169116146112aa576008548311156111db5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546044820152681e1b9cd05b5bdd5b9d60ba1b606482015260840161075a565b6111e58386611523565b91506001600a5f8282546111f99190611c31565b9091555050600954305f9081526003602052604090205410158015611221575060145460ff16155b1561124e576014805460ff1916600117905560095461123f90611557565b6014805460ff191690555f600a555b6005600a54118015611263575060145460ff16155b156112aa576014805460ff1916600117905561129b611296306001600160a01b03165f9081526003602052604090205490565b611557565b6014805460ff191690555f600a555b6002546001600160a01b038581169116148015906112d657506002546001600160a01b03868116911614155b156113ce5760085483111561133f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546044820152681e1b9cd05b5bdd5b9d60ba1b606482015260840161075a565b60075483611361866001600160a01b03165f9081526003602052604090205490565b61136b9190611c31565b11156113ce5760405162461bcd60e51b815260206004820152602c60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526b30b63632ba20b6b7bab73a1760a11b606482015260840161075a565b6001600160a01b0384165f90815260036020526040812080548492906113f5908490611c31565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161144191815260200190565b60405180910390a35050505050565b5f806064600e5f0154856114649190611c63565b61146e9190611c44565b90505f6064600e60010154866114849190611c63565b61148e9190611c44565b905061149a8183611c31565b305f90815260036020526040812080549091906114b8908490611c31565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114f48585611c31565b60405190815260200160405180910390a3806115108387611c1e565b61151a9190611c1e565b95945050505050565b5f80606460105f0154856115379190611c63565b6115419190611c44565b90505f6064601060010154866114849190611c63565b601054601154600e54600f5484935f93909290916115759190611c31565b61157f9190611c31565b6115899190611c31565b601054600e546115999190611c31565b6115a39084611c63565b6115ad9190611c44565b601054601154600e54600f549394505f936115c89190611c31565b6115d29190611c31565b6115dc9190611c31565b601154600f546115ec9190611c31565b6115f69085611c63565b6116009190611c44565b90505f61160d8284611c31565b90505f61161b8460026116a5565b90505f61162886836116ed565b9050476116348261172e565b5f61163f47836116ed565b90505f61165686611650848b6118b0565b906116a5565b9050611662858261194a565b600d546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611698573d5f803e3d5ffd5b5050505050505050505050565b5f6116e683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a14565b9392505050565b5f6116e683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a40565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061176157611761611c7a565b6001600160a01b03928316602091820292909201810191909152600154604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa1580156117d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117f59190611c8e565b8160018151811061180857611808611c7a565b6001600160a01b03928316602091820292909201015260015461182e9130911684610c70565b6001546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac9479061187f9085905f90869030904290600401611ca9565b5f604051808303815f87803b158015611896575f80fd5b505af11580156118a8573d5f803e3d5ffd5b505050505050565b5f825f036118bf57505f610679565b5f6118ca8385611c63565b9050826118d78583611c44565b146116e65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015260840161075a565b6001546119629030906001600160a01b031684610c70565b600154600b546040517ff305d719000000000000000000000000000000000000000000000000000000008152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156119e8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a0d9190611d18565b5050505050565b5f8183611a345760405162461bcd60e51b815260040161075a9190611a6f565b505f61151a8486611c44565b5f8184841115611a635760405162461bcd60e51b815260040161075a9190611a6f565b505f61151a8486611c1e565b5f6020808352835180828501525f5b81811015611a9a57858101830151858201604001528201611a7e565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611ace575f80fd5b50565b5f8060408385031215611ae2575f80fd5b8235611aed81611aba565b946020939093013593505050565b5f805f60608486031215611b0d575f80fd5b8335611b1881611aba565b92506020840135611b2881611aba565b929592945050506040919091013590565b5f60208284031215611b49575f80fd5b81356116e681611aba565b5f8060408385031215611b65575f80fd5b50508035926020909101359150565b5f8060408385031215611b85575f80fd5b8235611b9081611aba565b915060208301358015158114611ba4575f80fd5b809150509250929050565b5f805f8060808587031215611bc2575f80fd5b5050823594602084013594506040840135936060013592509050565b5f8060408385031215611bef575f80fd5b8235611bfa81611aba565b91506020830135611ba481611aba565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561067957610679611c0a565b8082018082111561067957610679611c0a565b5f82611c5e57634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761067957610679611c0a565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611c9e575f80fd5b81516116e681611aba565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611cf75784516001600160a01b031683529383019391830191600101611cd2565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611d2a575f80fd5b835192506020840151915060408401519050925092509256fea26469706673582212208da631de7c59a4b633e0c8fb403f7820bbf2770fafcf6aeaa0f448003cc7ea5164736f6c6343000815003300000000000000000000000011ae238c017cd65714c170a05039c12aedc0132900000000000000000000000011ae238c017cd65714c170a05039c12aedc01329
Deployed Bytecode
0x6080604052600436106101de575f3560e01c80638a8c523c116100fd578063bb7381cf11610092578063d6a2c9e211610062578063d6a2c9e2146105c8578063dd62ed3e146105e7578063f2fde38b1461062b578063f887ea401461064a575f80fd5b8063bb7381cf1461055b578063bce8c71014610570578063c02466681461058a578063c5597f0b146105a9575f80fd5b80639dd373b9116100cd5780639dd373b9146104df578063a457c2d7146104fe578063a8aa1b311461051d578063a9059cbb1461053c575f80fd5b80638a8c523c1461044a5780638da5cb5b1461045e57806395d89b411461047a5780639c83c378146104bf575f80fd5b806352c6430b116101735780636c0a24eb116101435780636c0a24eb146103be57806370a08231146103d3578063715018a61461040757806371a536a81461041b575f80fd5b806352c6430b1461033257806352cd01ae146103475780635342acb41461036657806353e20d7e1461039d575f80fd5b806318160ddd116101ae57806318160ddd146102c557806323b872dd146102d9578063313ce567146102f85780633950935114610313575f80fd5b806304beaeb8146101e957806306fdde0314610211578063095ea7b31461025f57806316710b171461028e575f80fd5b366101e557005b5f80fd5b3480156101f4575f80fd5b506101fe60085481565b6040519081526020015b60405180910390f35b34801561021c575f80fd5b5060408051808201909152600f81527f446563656e7472616c2057696e6773000000000000000000000000000000000060208201525b6040516102089190611a6f565b34801561026a575f80fd5b5061027e610279366004611ad1565b610669565b6040519015158152602001610208565b348015610299575f80fd5b50600b546102ad906001600160a01b031681565b6040516001600160a01b039091168152602001610208565b3480156102d0575f80fd5b506006546101fe565b3480156102e4575f80fd5b5061027e6102f3366004611afb565b61067f565b348015610303575f80fd5b5060405160128152602001610208565b34801561031e575f80fd5b5061027e61032d366004611ad1565b6106cf565b34801561033d575f80fd5b506101fe60095481565b348015610352575f80fd5b50600d546102ad906001600160a01b031681565b348015610371575f80fd5b5061027e610380366004611b39565b6001600160a01b03165f9081526005602052604090205460ff1690565b3480156103a8575f80fd5b506103bc6103b7366004611b54565b610705565b005b3480156103c9575f80fd5b506101fe60075481565b3480156103de575f80fd5b506101fe6103ed366004611b39565b6001600160a01b03165f9081526003602052604090205490565b348015610412575f80fd5b506103bc6107d5565b348015610426575f80fd5b50600e54600f54610435919082565b60408051928352602083019190915201610208565b348015610455575f80fd5b506103bc610883565b348015610469575f80fd5b505f546001600160a01b03166102ad565b348015610485575f80fd5b5060408051808201909152600681527f4457494e475300000000000000000000000000000000000000000000000000006020820152610252565b3480156104ca575f80fd5b50600d5461027e90600160a01b900460ff1681565b3480156104ea575f80fd5b506103bc6104f9366004611b39565b61090c565b348015610509575f80fd5b5061027e610518366004611ad1565b610994565b348015610528575f80fd5b506002546102ad906001600160a01b031681565b348015610547575f80fd5b5061027e610556366004611ad1565b6109ca565b348015610566575f80fd5b506101fe600a5481565b34801561057b575f80fd5b50601054601154610435919082565b348015610595575f80fd5b506103bc6105a4366004611b74565b6109d6565b3480156105b4575f80fd5b50600c546102ad906001600160a01b031681565b3480156105d3575f80fd5b506103bc6105e2366004611baf565b610a59565b3480156105f2575f80fd5b506101fe610601366004611bde565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b348015610636575f80fd5b506103bc610645366004611b39565b610b35565b348015610655575f80fd5b506001546102ad906001600160a01b031681565b5f610675338484610c70565b5060015b92915050565b5f61068b848484610dc7565b6001600160a01b0384165f908152600460209081526040808320338085529252909120546106c59186916106c0908690611c1e565b610c70565b5060019392505050565b335f8181526004602090815260408083206001600160a01b038716845290915281205490916106759185906106c0908690611c31565b5f546001600160a01b031633146107635760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6103e86006546107739190611c44565b61077d8284611c31565b116107ca5760405162461bcd60e51b815260206004820152601a60248201527f53686f756c6420626520626967676572207468616e20302c3125000000000000604482015260640161075a565b600891909155600755565b5f546001600160a01b0316331461082e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f805473ffffffffffffffffffffffffffffffffffffffff19169055565b5f546001600160a01b031633146108dc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075a565b600d80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b179055565b5f546001600160a01b031633146109655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075a565b600c805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b335f8181526004602090815260408083206001600160a01b038716845290915281205490916106759185906106c0908690611c1e565b5f610675338484610dc7565b5f546001600160a01b03163314610a2f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075a565b6001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610ab25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075a565b6101f4610abf8486611c31565b1080610ad557506101f4610ad38383611c31565b105b610b215760405162461bcd60e51b815260206004820181905260248201527f43616e2774206368616e67652066656520686967686572207468616e20323425604482015260640161075a565b600e92909255600f92909255601055601155565b5f546001600160a01b03163314610b8e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075a565b6001600160a01b038116610c0a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161075a565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b038316610ceb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161075a565b6001600160a01b038216610d675760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161075a565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161075a565b6001600160a01b038216610ebf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161075a565b5f8111610f345760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f0000000000000000000000000000000000000000000000606482015260840161075a565b6001600160a01b0383165f9081526003602052604081208054839290610f5b908490611c1e565b9091555050600d5481905f90600160a01b900460ff16610ffe576001600160a01b0385165f9081526005602052604090205460ff1680610fb257506001600160a01b0384165f9081526005602052604090205460ff165b610ffe5760405162461bcd60e51b815260206004820152601660248201527f54726164696e67206973206e6f74206163746976652e00000000000000000000604482015260640161075a565b6001600160a01b0385165f9081526005602052604090205460ff1615801561103e57506001600160a01b0384165f9081526005602052604090205460ff16155b15611047575060015b80156113ce576002546001600160a01b03858116911614611162576008548311156110c65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546044820152681e1b9cd05b5bdd5b9d60ba1b606482015260840161075a565b600754836110e8866001600160a01b03165f9081526003602052604090205490565b6110f29190611c31565b11156111555760405162461bcd60e51b815260206004820152602c60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526b30b63632ba20b6b7bab73a1760a11b606482015260840161075a565b61115f8385611450565b91505b6002546001600160a01b038681169116146112aa576008548311156111db5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546044820152681e1b9cd05b5bdd5b9d60ba1b606482015260840161075a565b6111e58386611523565b91506001600a5f8282546111f99190611c31565b9091555050600954305f9081526003602052604090205410158015611221575060145460ff16155b1561124e576014805460ff1916600117905560095461123f90611557565b6014805460ff191690555f600a555b6005600a54118015611263575060145460ff16155b156112aa576014805460ff1916600117905561129b611296306001600160a01b03165f9081526003602052604090205490565b611557565b6014805460ff191690555f600a555b6002546001600160a01b038581169116148015906112d657506002546001600160a01b03868116911614155b156113ce5760085483111561133f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546044820152681e1b9cd05b5bdd5b9d60ba1b606482015260840161075a565b60075483611361866001600160a01b03165f9081526003602052604090205490565b61136b9190611c31565b11156113ce5760405162461bcd60e51b815260206004820152602c60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526b30b63632ba20b6b7bab73a1760a11b606482015260840161075a565b6001600160a01b0384165f90815260036020526040812080548492906113f5908490611c31565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161144191815260200190565b60405180910390a35050505050565b5f806064600e5f0154856114649190611c63565b61146e9190611c44565b90505f6064600e60010154866114849190611c63565b61148e9190611c44565b905061149a8183611c31565b305f90815260036020526040812080549091906114b8908490611c31565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114f48585611c31565b60405190815260200160405180910390a3806115108387611c1e565b61151a9190611c1e565b95945050505050565b5f80606460105f0154856115379190611c63565b6115419190611c44565b90505f6064601060010154866114849190611c63565b601054601154600e54600f5484935f93909290916115759190611c31565b61157f9190611c31565b6115899190611c31565b601054600e546115999190611c31565b6115a39084611c63565b6115ad9190611c44565b601054601154600e54600f549394505f936115c89190611c31565b6115d29190611c31565b6115dc9190611c31565b601154600f546115ec9190611c31565b6115f69085611c63565b6116009190611c44565b90505f61160d8284611c31565b90505f61161b8460026116a5565b90505f61162886836116ed565b9050476116348261172e565b5f61163f47836116ed565b90505f61165686611650848b6118b0565b906116a5565b9050611662858261194a565b600d546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611698573d5f803e3d5ffd5b5050505050505050505050565b5f6116e683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a14565b9392505050565b5f6116e683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a40565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061176157611761611c7a565b6001600160a01b03928316602091820292909201810191909152600154604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa1580156117d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117f59190611c8e565b8160018151811061180857611808611c7a565b6001600160a01b03928316602091820292909201015260015461182e9130911684610c70565b6001546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac9479061187f9085905f90869030904290600401611ca9565b5f604051808303815f87803b158015611896575f80fd5b505af11580156118a8573d5f803e3d5ffd5b505050505050565b5f825f036118bf57505f610679565b5f6118ca8385611c63565b9050826118d78583611c44565b146116e65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015260840161075a565b6001546119629030906001600160a01b031684610c70565b600154600b546040517ff305d719000000000000000000000000000000000000000000000000000000008152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156119e8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611a0d9190611d18565b5050505050565b5f8183611a345760405162461bcd60e51b815260040161075a9190611a6f565b505f61151a8486611c44565b5f8184841115611a635760405162461bcd60e51b815260040161075a9190611a6f565b505f61151a8486611c1e565b5f6020808352835180828501525f5b81811015611a9a57858101830151858201604001528201611a7e565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611ace575f80fd5b50565b5f8060408385031215611ae2575f80fd5b8235611aed81611aba565b946020939093013593505050565b5f805f60608486031215611b0d575f80fd5b8335611b1881611aba565b92506020840135611b2881611aba565b929592945050506040919091013590565b5f60208284031215611b49575f80fd5b81356116e681611aba565b5f8060408385031215611b65575f80fd5b50508035926020909101359150565b5f8060408385031215611b85575f80fd5b8235611b9081611aba565b915060208301358015158114611ba4575f80fd5b809150509250929050565b5f805f8060808587031215611bc2575f80fd5b5050823594602084013594506040840135936060013592509050565b5f8060408385031215611bef575f80fd5b8235611bfa81611aba565b91506020830135611ba481611aba565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561067957610679611c0a565b8082018082111561067957610679611c0a565b5f82611c5e57634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761067957610679611c0a565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611c9e575f80fd5b81516116e681611aba565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611cf75784516001600160a01b031683529383019391830191600101611cd2565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611d2a575f80fd5b835192506020840151915060408401519050925092509256fea26469706673582212208da631de7c59a4b633e0c8fb403f7820bbf2770fafcf6aeaa0f448003cc7ea5164736f6c63430008150033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000011ae238c017cd65714c170a05039c12aedc0132900000000000000000000000011ae238c017cd65714c170a05039c12aedc01329
-----Decoded View---------------
Arg [0] : markAddress (address): 0x11Ae238C017cd65714c170A05039C12aedc01329
Arg [1] : liqAddress (address): 0x11Ae238C017cd65714c170A05039C12aedc01329
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000011ae238c017cd65714c170a05039c12aedc01329
Arg [1] : 00000000000000000000000011ae238c017cd65714c170a05039c12aedc01329
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.