ERC-20
Overview
Max Total Supply
10,000,000 TFY
Holders
248
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000008226934 TFYValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Transferly
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/* TRANSFERLY Website: https://www.transferly.tech/ */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.18; interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Permit is IERC20 { function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; } contract Ownable { address private _owner; address private _previousOwner; 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 transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require(newOwner != address(0), 'Ownable: new owner is the zero address'); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); } interface ITransferly { error AmountExceedAllowance(); error ExpiredDeadline(); error InvalidSignature(); error ZeroAddress(); error TradingClose(); error MaxTx(); } contract Transferly is ITransferly, IERC20Permit, Ownable { /*/////////////////////////////////////////////////////////////// Mappings //////////////////////////////////////////////////////////////*/ mapping(address => uint256) private _balance; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _walletExcluded; mapping(address => uint256) public nonces; /*/////////////////////////////////////////////////////////////// Constants //////////////////////////////////////////////////////////////*/ string public constant name = "Transferly"; string public constant symbol = "TFY"; uint8 public constant decimals = 18; uint256 public constant totalSupply = 10 ** 7 * 10 ** decimals; uint256 public constant MIN_SWAP = 4000 * 10 ** decimals; // MINSWAP = 0,04% uint256 private constant _ONE_PERCENT = 100_000 * 10 ** decimals; bytes32 public constant PERMIT_TYPEHASH = keccak256('Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)'); /*/////////////////////////////////////////////////////////////// Private State Variables //////////////////////////////////////////////////////////////*/ address payable private _treasuryAddress; IUniswapV2Router02 private _uniswapV2Router; uint256 private _launchBlock; uint256 private _tax; bool private _launch = false; uint256 private _buyValue = 0; /*/////////////////////////////////////////////////////////////// Public State Variables //////////////////////////////////////////////////////////////*/ uint256 public buyTax = 25; uint256 public sellTax = 60; uint256 public maxTxAmount = _ONE_PERCENT * 2; address public uniswapV2Pair; bytes32 public DOMAIN_SEPARATOR; /*/////////////////////////////////////////////////////////////// Constructor //////////////////////////////////////////////////////////////*/ constructor(address[] memory _wallets) { // Uni info _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); // Treasury address logic _treasuryAddress = payable(_wallets[0]); for (uint256 _i; _i < _wallets.length;) { _walletExcluded[_wallets[_i]] = true; unchecked { ++_i; } } // Total supply _balance[msg.sender] = totalSupply; _walletExcluded[msg.sender] = true; _walletExcluded[address(this)] = true; // Emit emit Transfer(address(0), _msgSender(), totalSupply); // Assembly low gas get chain uint256 _chainId; assembly { _chainId := chainid() } // Domain separator hash DOMAIN_SEPARATOR = keccak256( abi.encode( keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'), keccak256(bytes(name)), keccak256('1'), _chainId, address(this) ) ); } /*/////////////////////////////////////////////////////////////// External Functions //////////////////////////////////////////////////////////////*/ function balanceOf(address _account) public view override returns (uint256 _amount) { _amount = _balance[_account]; } function transfer(address _recipient, uint256 _amount) public override returns (bool _result) { _transfer(_msgSender(), _recipient, _amount); _result = true; } function allowance(address _owner, address _spender) public view override returns (uint256 _amount) { _amount = _allowances[_owner][_spender]; } function approve(address _spender, uint256 _amount) public override returns (bool _result) { _approve(_msgSender(), _spender, _amount); _result = true; } function transferFrom(address _sender, address _recipient, uint256 _amount) public override returns (bool _result) { _transfer(_sender, _recipient, _amount); if (_amount > _allowances[_sender][_msgSender()]) revert AmountExceedAllowance(); _approve(_sender, _msgSender(), _amount); _result = true; } function permit( address _owner, address _spender, uint256 _value, uint256 _deadline, uint8 _v, bytes32 _r, bytes32 _s ) external override { if (block.timestamp > _deadline) revert ExpiredDeadline(); bytes32 _structHash = keccak256(abi.encode(PERMIT_TYPEHASH, _owner, _spender, _value, nonces[_owner]++, _deadline)); bytes32 _hash = keccak256(abi.encodePacked('\x19\x01', DOMAIN_SEPARATOR, _structHash)); address _signer = ecrecover(_hash, _v, _r, _s); if (_signer != _owner) revert InvalidSignature(); _approve(_owner, _spender, _value); } function enableTrading() external onlyOwner { _launch = true; _launchBlock = block.number; } function addExcludedWallet(address _wallet) external onlyOwner { _walletExcluded[_wallet] = true; } function removeLimits() external onlyOwner { maxTxAmount = totalSupply; } function changeTax(uint256 _newBuyTax, uint256 _newSellTax) external onlyOwner { buyTax = _newBuyTax; sellTax = _newSellTax; } function changeBuyValue(uint256 newBuyValue) external onlyOwner { _buyValue = newBuyValue; } function manualSendBalance() external { if (msg.sender != _treasuryAddress) revert(); uint256 _contractETHBalance = address(this).balance; _treasuryAddress.transfer(_contractETHBalance); uint256 _contractBalance = balanceOf(address(this)); _treasuryAddress.transfer(_contractBalance); } function manualSwapTokens() external { if (msg.sender != _treasuryAddress) revert(); uint256 _contractBalance = balanceOf(address(this)); _swapTokensForEth(_contractBalance); } /*/////////////////////////////////////////////////////////////// Private Functions //////////////////////////////////////////////////////////////*/ function _approve(address _owner, address _spender, uint256 _amount) private { if (_owner == address(0) || _spender == address(0)) revert ZeroAddress(); _allowances[_owner][_spender] = _amount; emit Approval(_owner, _spender, _amount); } function _tokenTransfer(address _from, address _to, uint256 _amount) private { uint256 _taxTokens = (_amount * _tax) / 100; uint256 _transferAmount = _amount - _taxTokens; _balance[_from] = _balance[_from] - _amount; _balance[_to] = _balance[_to] + _transferAmount; _balance[address(this)] = _balance[address(this)] + _taxTokens; emit Transfer(_from, _to, _transferAmount); } function _transfer(address _from, address _to, uint256 _amount) private { if (_from == address(0)) revert ZeroAddress(); if (_walletExcluded[_from] || _walletExcluded[_to]) { _tax = 0; } else { require(_launch, "Trading not open"); require(_amount <= maxTxAmount, "MaxTx Enabled at launch"); // DEATHBLOCKS 3 BLOCKS AFTER LAUNCH if (block.number < _launchBlock + _buyValue + 2) { _tax = 99; } else { if (_from == uniswapV2Pair) { _tax = buyTax; } else if (_to == uniswapV2Pair) { uint256 _tokensToSwap = balanceOf(address(this)); if (_tokensToSwap > MIN_SWAP) { if (_tokensToSwap > _ONE_PERCENT * 4) { _tokensToSwap = _ONE_PERCENT * 4; } _swapTokensForEth(_tokensToSwap); } _tax = sellTax; } else { _tax = 0; } } } _tokenTransfer(_from, _to, _amount); } function _swapTokensForEth(uint256 _tokenAmount) private { 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, _treasuryAddress, block.timestamp ); } receive() external payable {} }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address[]","name":"_wallets","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AmountExceedAllowance","type":"error"},{"inputs":[],"name":"ExpiredDeadline","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"MaxTx","type":"error"},{"inputs":[],"name":"TradingClose","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_SWAP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"addExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"_amount","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":"_result","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyValue","type":"uint256"}],"name":"changeBuyValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuyTax","type":"uint256"},{"internalType":"uint256","name":"_newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSendBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwapTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_deadline","type":"uint256"},{"internalType":"uint8","name":"_v","type":"uint8"},{"internalType":"bytes32","name":"_r","type":"bytes32"},{"internalType":"bytes32","name":"_s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"_result","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":"_result","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600a60006101000a81548160ff0219169083151502179055506000600b556019600c55603c600d5560026012600a62000040919062000879565b620186a0620000509190620008ca565b6200005c9190620008ca565b600e553480156200006c57600080fd5b50604051620037af380380620037af833981810160405281019062000092919062000b03565b6000620000a4620006d760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022b919062000b54565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db919062000b54565b6040518363ffffffff1660e01b8152600401620002fa92919062000b97565b6020604051808303816000875af11580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000340919062000b54565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060008151811062000397576200039662000bc4565b5b6020026020010151600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060005b81518110156200046d5760016004600084848151811062000408576200040762000bc4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550806001019050620003e2565b506012600a6200047e919062000879565b629896806200048e9190620008ca565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000591620006d760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620005f0919062000879565b62989680620006009190620008ca565b6040516200060f919062000c04565b60405180910390a360004690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600a81526020017f5472616e736665726c7900000000000000000000000000000000000000000000815250805190602001207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc68330604051602001620006b395949392919062000c3c565b60405160208183030381529060405280519060200120601081905550505062000c99565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200076d57808604811115620007455762000744620006df565b5b6001851615620007555780820291505b808102905062000765856200070e565b945062000725565b94509492505050565b6000826200078857600190506200085b565b816200079857600090506200085b565b8160018114620007b15760028114620007bc57620007f2565b60019150506200085b565b60ff841115620007d157620007d0620006df565b5b8360020a915084821115620007eb57620007ea620006df565b5b506200085b565b5060208310610133831016604e8410600b84101617156200082c5782820a905083811115620008265762000825620006df565b5b6200085b565b6200083b84848460016200071b565b92509050818404811115620008555762000854620006df565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008868262000862565b915062000893836200086c565b9250620008c27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000776565b905092915050565b6000620008d78262000862565b9150620008e48362000862565b9250828202620008f48162000862565b915082820484148315176200090e576200090d620006df565b5b5092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000979826200092e565b810181811067ffffffffffffffff821117156200099b576200099a6200093f565b5b80604052505050565b6000620009b062000915565b9050620009be82826200096e565b919050565b600067ffffffffffffffff821115620009e157620009e06200093f565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a2482620009f7565b9050919050565b62000a368162000a17565b811462000a4257600080fd5b50565b60008151905062000a568162000a2b565b92915050565b600062000a7362000a6d84620009c3565b620009a4565b9050808382526020820190506020840283018581111562000a995762000a98620009f2565b5b835b8181101562000ac6578062000ab1888262000a45565b84526020840193505060208101905062000a9b565b5050509392505050565b600082601f83011262000ae85762000ae762000929565b5b815162000afa84826020860162000a5c565b91505092915050565b60006020828403121562000b1c5762000b1b6200091f565b5b600082015167ffffffffffffffff81111562000b3d5762000b3c62000924565b5b62000b4b8482850162000ad0565b91505092915050565b60006020828403121562000b6d5762000b6c6200091f565b5b600062000b7d8482850162000a45565b91505092915050565b62000b918162000a17565b82525050565b600060408201905062000bae600083018562000b86565b62000bbd602083018462000b86565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b62000bfe8162000862565b82525050565b600060208201905062000c1b600083018462000bf3565b92915050565b6000819050919050565b62000c368162000c21565b82525050565b600060a08201905062000c53600083018862000c2b565b62000c62602083018762000c2b565b62000c71604083018662000c2b565b62000c80606083018562000bf3565b62000c8f608083018462000b86565b9695505050505050565b612b068062000ca96000396000f3fe6080604052600436106101bb5760003560e01c80637c4c75eb116100ec57806395d89b411161008a578063d505accf11610064578063d505accf146105c1578063dba9d420146105ea578063dd62ed3e14610613578063f2fde38b14610650576101c2565b806395d89b411461052e578063a9059cbb14610559578063cc1776d314610596576101c2565b80638a8c523c116100c65780638a8c523c146104985780638c0b5e22146104af5780638da5cb5b146104da5780639036ed4d14610505576101c2565b80637c4c75eb1461041b5780637ecebe001461043257806389112cdb1461046f576101c2565b80633644e5151161015957806370a082311161013357806370a0823114610385578063715018a6146103c2578063751039fc146103d95780637b5dbbdd146103f0576101c2565b80633644e5151461030457806349bd5a5e1461032f5780634f7041a51461035a576101c2565b806323b872dd1161019557806323b872dd1461025a57806328176f891461029757806330adf81f146102ae578063313ce567146102d9576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610679565b6040516101e99190611e3d565b60405180910390f35b3480156101fe57600080fd5b5061021960048036038101906102149190611ef8565b6106b2565b6040516102269190611f53565b60405180910390f35b34801561023b57600080fd5b506102446106d0565b6040516102519190611f7d565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c9190611f98565b6106ef565b60405161028e9190611f53565b60405180910390f35b3480156102a357600080fd5b506102ac6107d6565b005b3480156102ba57600080fd5b506102c3610918565b6040516102d09190612004565b60405180910390f35b3480156102e557600080fd5b506102ee61093c565b6040516102fb919061203b565b60405180910390f35b34801561031057600080fd5b50610319610941565b6040516103269190612004565b60405180910390f35b34801561033b57600080fd5b50610344610947565b6040516103519190612065565b60405180910390f35b34801561036657600080fd5b5061036f61096d565b60405161037c9190611f7d565b60405180910390f35b34801561039157600080fd5b506103ac60048036038101906103a79190612080565b610973565b6040516103b99190611f7d565b60405180910390f35b3480156103ce57600080fd5b506103d76109bc565b005b3480156103e557600080fd5b506103ee610b0f565b005b3480156103fc57600080fd5b50610405610bc8565b6040516104129190611f7d565b60405180910390f35b34801561042757600080fd5b50610430610be6565b005b34801561043e57600080fd5b5061045960048036038101906104549190612080565b610c59565b6040516104669190611f7d565b60405180910390f35b34801561047b57600080fd5b50610496600480360381019061049191906120ad565b610c71565b005b3480156104a457600080fd5b506104ad610d10565b005b3480156104bb57600080fd5b506104c4610dc9565b6040516104d19190611f7d565b60405180910390f35b3480156104e657600080fd5b506104ef610dcf565b6040516104fc9190612065565b60405180910390f35b34801561051157600080fd5b5061052c600480360381019061052791906120da565b610df8565b005b34801561053a57600080fd5b50610543610e9f565b6040516105509190611e3d565b60405180910390f35b34801561056557600080fd5b50610580600480360381019061057b9190611ef8565b610ed8565b60405161058d9190611f53565b60405180910390f35b3480156105a257600080fd5b506105ab610ef6565b6040516105b89190611f7d565b60405180910390f35b3480156105cd57600080fd5b506105e860048036038101906105e39190612172565b610efc565b005b3480156105f657600080fd5b50610611600480360381019061060c9190612080565b6110dc565b005b34801561061f57600080fd5b5061063a60048036038101906106359190612214565b6111cc565b6040516106479190611f7d565b60405180910390f35b34801561065c57600080fd5b5061067760048036038101906106729190612080565b611253565b005b6040518060400160405280600a81526020017f5472616e736665726c790000000000000000000000000000000000000000000081525081565b60006106c66106bf6112f4565b84846112fc565b6001905092915050565b6012600a6106de91906123b6565b629896806106ec9190612401565b81565b60006106fc848484611485565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107456112f4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156107b9576040517f394be44f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107cb846107c56112f4565b846112fc565b600190509392505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461083057600080fd5b6000479050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561089d573d6000803e3d6000fd5b5060006108a930610973565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610913573d6000803e3d6000fd5b505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60105481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109c46112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a489061248f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b176112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ba4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9b9061248f565b60405180910390fd5b6012600a610bb291906123b6565b62989680610bc09190612401565b600e81905550565b6012600a610bd691906123b6565b610fa0610be39190612401565b81565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c4057600080fd5b6000610c4b30610973565b9050610c56816117d8565b50565b60056020528060005260406000206000915090505481565b610c796112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfd9061248f565b60405180910390fd5b80600b8190555050565b610d186112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9c9061248f565b60405180910390fd5b6001600a60006101000a81548160ff02191690831515021790555043600881905550565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e006112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e849061248f565b60405180910390fd5b81600c8190555080600d819055505050565b6040518060400160405280600381526020017f544659000000000000000000000000000000000000000000000000000000000081525081565b6000610eec610ee56112f4565b8484611485565b6001905092915050565b600d5481565b83421115610f36576040517ff87d927100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888600560008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610fac906124af565b9190505589604051602001610fc6969594939291906124f7565b604051602081830303815290604052805190602001209050600060105482604051602001610ff59291906125d0565b6040516020818303038152906040528051906020012090506000600182878787604051600081526020016040526040516110329493929190612607565b6020604051602081039080840390855afa158015611054573d6000803e3d6000fd5b5050506020604051035190508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146110c5576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110d08a8a8a6112fc565b50505050505050505050565b6110e46112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611171576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111689061248f565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61125b6112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112df9061248f565b60405180910390fd5b6112f181611a3d565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806113635750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561139a576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114789190611f7d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114eb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061158c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561159e5760006009819055506117c8565b600a60009054906101000a900460ff166115ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e490612698565b60405180910390fd5b600e54811115611632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162990612704565b60405180910390fd5b6002600b546008546116449190612724565b61164e9190612724565b4310156116625760636009819055506117c7565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116c557600c546009819055506117c6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117bc57600061172530610973565b90506012600a61173591906123b6565b610fa06117429190612401565b8111156117ad5760046012600a61175991906123b6565b620186a06117679190612401565b6117719190612401565b8111156117a35760046012600a61178891906123b6565b620186a06117969190612401565b6117a09190612401565b90505b6117ac816117d8565b5b600d54600981905550506117c5565b60006009819055505b5b5b5b6117d3838383611b69565b505050565b6000600267ffffffffffffffff8111156117f5576117f4612758565b5b6040519080825280602002602001820160405280156118235781602001602082028036833780820191505090505b509050308160008151811061183b5761183a612787565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190691906127cb565b8160018151811061191a57611919612787565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061198130600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112fc565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611a07959493929190612950565b600060405180830381600087803b158015611a2157600080fd5b505af1158015611a35573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa390612a1c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000606460095483611b7b9190612401565b611b859190612a6b565b905060008183611b959190612a9c565b905082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611be29190612a9c565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c709190612724565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cfe9190612724565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d9e9190611f7d565b60405180910390a35050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611de7578082015181840152602081019050611dcc565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e0f82611dad565b611e198185611db8565b9350611e29818560208601611dc9565b611e3281611df3565b840191505092915050565b60006020820190508181036000830152611e578184611e04565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e8f82611e64565b9050919050565b611e9f81611e84565b8114611eaa57600080fd5b50565b600081359050611ebc81611e96565b92915050565b6000819050919050565b611ed581611ec2565b8114611ee057600080fd5b50565b600081359050611ef281611ecc565b92915050565b60008060408385031215611f0f57611f0e611e5f565b5b6000611f1d85828601611ead565b9250506020611f2e85828601611ee3565b9150509250929050565b60008115159050919050565b611f4d81611f38565b82525050565b6000602082019050611f686000830184611f44565b92915050565b611f7781611ec2565b82525050565b6000602082019050611f926000830184611f6e565b92915050565b600080600060608486031215611fb157611fb0611e5f565b5b6000611fbf86828701611ead565b9350506020611fd086828701611ead565b9250506040611fe186828701611ee3565b9150509250925092565b6000819050919050565b611ffe81611feb565b82525050565b60006020820190506120196000830184611ff5565b92915050565b600060ff82169050919050565b6120358161201f565b82525050565b6000602082019050612050600083018461202c565b92915050565b61205f81611e84565b82525050565b600060208201905061207a6000830184612056565b92915050565b60006020828403121561209657612095611e5f565b5b60006120a484828501611ead565b91505092915050565b6000602082840312156120c3576120c2611e5f565b5b60006120d184828501611ee3565b91505092915050565b600080604083850312156120f1576120f0611e5f565b5b60006120ff85828601611ee3565b925050602061211085828601611ee3565b9150509250929050565b6121238161201f565b811461212e57600080fd5b50565b6000813590506121408161211a565b92915050565b61214f81611feb565b811461215a57600080fd5b50565b60008135905061216c81612146565b92915050565b600080600080600080600060e0888a03121561219157612190611e5f565b5b600061219f8a828b01611ead565b97505060206121b08a828b01611ead565b96505060406121c18a828b01611ee3565b95505060606121d28a828b01611ee3565b94505060806121e38a828b01612131565b93505060a06121f48a828b0161215d565b92505060c06122058a828b0161215d565b91505092959891949750929550565b6000806040838503121561222b5761222a611e5f565b5b600061223985828601611ead565b925050602061224a85828601611ead565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156122da578086048111156122b6576122b5612254565b5b60018516156122c55780820291505b80810290506122d385612283565b945061229a565b94509492505050565b6000826122f357600190506123af565b8161230157600090506123af565b8160018114612317576002811461232157612350565b60019150506123af565b60ff84111561233357612332612254565b5b8360020a91508482111561234a57612349612254565b5b506123af565b5060208310610133831016604e8410600b84101617156123855782820a9050838111156123805761237f612254565b5b6123af565b6123928484846001612290565b925090508184048111156123a9576123a8612254565b5b81810290505b9392505050565b60006123c182611ec2565b91506123cc8361201f565b92506123f97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122e3565b905092915050565b600061240c82611ec2565b915061241783611ec2565b925082820261242581611ec2565b9150828204841483151761243c5761243b612254565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612479602083611db8565b915061248482612443565b602082019050919050565b600060208201905081810360008301526124a88161246c565b9050919050565b60006124ba82611ec2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036124ec576124eb612254565b5b600182019050919050565b600060c08201905061250c6000830189611ff5565b6125196020830188612056565b6125266040830187612056565b6125336060830186611f6e565b6125406080830185611f6e565b61254d60a0830184611f6e565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000612599600283612558565b91506125a482612563565b600282019050919050565b6000819050919050565b6125ca6125c582611feb565b6125af565b82525050565b60006125db8261258c565b91506125e782856125b9565b6020820191506125f782846125b9565b6020820191508190509392505050565b600060808201905061261c6000830187611ff5565b612629602083018661202c565b6126366040830185611ff5565b6126436060830184611ff5565b95945050505050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612682601083611db8565b915061268d8261264c565b602082019050919050565b600060208201905081810360008301526126b181612675565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b60006126ee601783611db8565b91506126f9826126b8565b602082019050919050565b6000602082019050818103600083015261271d816126e1565b9050919050565b600061272f82611ec2565b915061273a83611ec2565b925082820190508082111561275257612751612254565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506127c581611e96565b92915050565b6000602082840312156127e1576127e0611e5f565b5b60006127ef848285016127b6565b91505092915050565b6000819050919050565b6000819050919050565b600061282761282261281d846127f8565b612802565b611ec2565b9050919050565b6128378161280c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61287281611e84565b82525050565b60006128848383612869565b60208301905092915050565b6000602082019050919050565b60006128a88261283d565b6128b28185612848565b93506128bd83612859565b8060005b838110156128ee5781516128d58882612878565b97506128e083612890565b9250506001810190506128c1565b5085935050505092915050565b600061291661291161290c84611e64565b612802565b611e64565b9050919050565b6000612928826128fb565b9050919050565b600061293a8261291d565b9050919050565b61294a8161292f565b82525050565b600060a0820190506129656000830188611f6e565b612972602083018761282e565b8181036040830152612984818661289d565b90506129936060830185612941565b6129a06080830184611f6e565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612a06602683611db8565b9150612a11826129aa565b604082019050919050565b60006020820190508181036000830152612a35816129f9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a7682611ec2565b9150612a8183611ec2565b925082612a9157612a90612a3c565b5b828204905092915050565b6000612aa782611ec2565b9150612ab283611ec2565b9250828203905081811115612aca57612ac9612254565b5b9291505056fea264697066735822122081ed2e51b944fae192596e7b4f6ef00f864e8f935fcbeb301447052a524b924664736f6c6343000812003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e1786547ee7baead68d609d0bdddac6d9adfdc7a
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c80637c4c75eb116100ec57806395d89b411161008a578063d505accf11610064578063d505accf146105c1578063dba9d420146105ea578063dd62ed3e14610613578063f2fde38b14610650576101c2565b806395d89b411461052e578063a9059cbb14610559578063cc1776d314610596576101c2565b80638a8c523c116100c65780638a8c523c146104985780638c0b5e22146104af5780638da5cb5b146104da5780639036ed4d14610505576101c2565b80637c4c75eb1461041b5780637ecebe001461043257806389112cdb1461046f576101c2565b80633644e5151161015957806370a082311161013357806370a0823114610385578063715018a6146103c2578063751039fc146103d95780637b5dbbdd146103f0576101c2565b80633644e5151461030457806349bd5a5e1461032f5780634f7041a51461035a576101c2565b806323b872dd1161019557806323b872dd1461025a57806328176f891461029757806330adf81f146102ae578063313ce567146102d9576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610679565b6040516101e99190611e3d565b60405180910390f35b3480156101fe57600080fd5b5061021960048036038101906102149190611ef8565b6106b2565b6040516102269190611f53565b60405180910390f35b34801561023b57600080fd5b506102446106d0565b6040516102519190611f7d565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c9190611f98565b6106ef565b60405161028e9190611f53565b60405180910390f35b3480156102a357600080fd5b506102ac6107d6565b005b3480156102ba57600080fd5b506102c3610918565b6040516102d09190612004565b60405180910390f35b3480156102e557600080fd5b506102ee61093c565b6040516102fb919061203b565b60405180910390f35b34801561031057600080fd5b50610319610941565b6040516103269190612004565b60405180910390f35b34801561033b57600080fd5b50610344610947565b6040516103519190612065565b60405180910390f35b34801561036657600080fd5b5061036f61096d565b60405161037c9190611f7d565b60405180910390f35b34801561039157600080fd5b506103ac60048036038101906103a79190612080565b610973565b6040516103b99190611f7d565b60405180910390f35b3480156103ce57600080fd5b506103d76109bc565b005b3480156103e557600080fd5b506103ee610b0f565b005b3480156103fc57600080fd5b50610405610bc8565b6040516104129190611f7d565b60405180910390f35b34801561042757600080fd5b50610430610be6565b005b34801561043e57600080fd5b5061045960048036038101906104549190612080565b610c59565b6040516104669190611f7d565b60405180910390f35b34801561047b57600080fd5b50610496600480360381019061049191906120ad565b610c71565b005b3480156104a457600080fd5b506104ad610d10565b005b3480156104bb57600080fd5b506104c4610dc9565b6040516104d19190611f7d565b60405180910390f35b3480156104e657600080fd5b506104ef610dcf565b6040516104fc9190612065565b60405180910390f35b34801561051157600080fd5b5061052c600480360381019061052791906120da565b610df8565b005b34801561053a57600080fd5b50610543610e9f565b6040516105509190611e3d565b60405180910390f35b34801561056557600080fd5b50610580600480360381019061057b9190611ef8565b610ed8565b60405161058d9190611f53565b60405180910390f35b3480156105a257600080fd5b506105ab610ef6565b6040516105b89190611f7d565b60405180910390f35b3480156105cd57600080fd5b506105e860048036038101906105e39190612172565b610efc565b005b3480156105f657600080fd5b50610611600480360381019061060c9190612080565b6110dc565b005b34801561061f57600080fd5b5061063a60048036038101906106359190612214565b6111cc565b6040516106479190611f7d565b60405180910390f35b34801561065c57600080fd5b5061067760048036038101906106729190612080565b611253565b005b6040518060400160405280600a81526020017f5472616e736665726c790000000000000000000000000000000000000000000081525081565b60006106c66106bf6112f4565b84846112fc565b6001905092915050565b6012600a6106de91906123b6565b629896806106ec9190612401565b81565b60006106fc848484611485565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107456112f4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156107b9576040517f394be44f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107cb846107c56112f4565b846112fc565b600190509392505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461083057600080fd5b6000479050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561089d573d6000803e3d6000fd5b5060006108a930610973565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610913573d6000803e3d6000fd5b505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60105481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109c46112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a489061248f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b176112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ba4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9b9061248f565b60405180910390fd5b6012600a610bb291906123b6565b62989680610bc09190612401565b600e81905550565b6012600a610bd691906123b6565b610fa0610be39190612401565b81565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c4057600080fd5b6000610c4b30610973565b9050610c56816117d8565b50565b60056020528060005260406000206000915090505481565b610c796112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfd9061248f565b60405180910390fd5b80600b8190555050565b610d186112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9c9061248f565b60405180910390fd5b6001600a60006101000a81548160ff02191690831515021790555043600881905550565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e006112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e849061248f565b60405180910390fd5b81600c8190555080600d819055505050565b6040518060400160405280600381526020017f544659000000000000000000000000000000000000000000000000000000000081525081565b6000610eec610ee56112f4565b8484611485565b6001905092915050565b600d5481565b83421115610f36576040517ff87d927100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888600560008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610fac906124af565b9190505589604051602001610fc6969594939291906124f7565b604051602081830303815290604052805190602001209050600060105482604051602001610ff59291906125d0565b6040516020818303038152906040528051906020012090506000600182878787604051600081526020016040526040516110329493929190612607565b6020604051602081039080840390855afa158015611054573d6000803e3d6000fd5b5050506020604051035190508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146110c5576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110d08a8a8a6112fc565b50505050505050505050565b6110e46112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611171576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111689061248f565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61125b6112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112df9061248f565b60405180910390fd5b6112f181611a3d565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806113635750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561139a576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114789190611f7d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114eb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061158c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561159e5760006009819055506117c8565b600a60009054906101000a900460ff166115ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e490612698565b60405180910390fd5b600e54811115611632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162990612704565b60405180910390fd5b6002600b546008546116449190612724565b61164e9190612724565b4310156116625760636009819055506117c7565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116c557600c546009819055506117c6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117bc57600061172530610973565b90506012600a61173591906123b6565b610fa06117429190612401565b8111156117ad5760046012600a61175991906123b6565b620186a06117679190612401565b6117719190612401565b8111156117a35760046012600a61178891906123b6565b620186a06117969190612401565b6117a09190612401565b90505b6117ac816117d8565b5b600d54600981905550506117c5565b60006009819055505b5b5b5b6117d3838383611b69565b505050565b6000600267ffffffffffffffff8111156117f5576117f4612758565b5b6040519080825280602002602001820160405280156118235781602001602082028036833780820191505090505b509050308160008151811061183b5761183a612787565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190691906127cb565b8160018151811061191a57611919612787565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061198130600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112fc565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611a07959493929190612950565b600060405180830381600087803b158015611a2157600080fd5b505af1158015611a35573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa390612a1c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000606460095483611b7b9190612401565b611b859190612a6b565b905060008183611b959190612a9c565b905082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611be29190612a9c565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c709190612724565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cfe9190612724565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d9e9190611f7d565b60405180910390a35050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611de7578082015181840152602081019050611dcc565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e0f82611dad565b611e198185611db8565b9350611e29818560208601611dc9565b611e3281611df3565b840191505092915050565b60006020820190508181036000830152611e578184611e04565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e8f82611e64565b9050919050565b611e9f81611e84565b8114611eaa57600080fd5b50565b600081359050611ebc81611e96565b92915050565b6000819050919050565b611ed581611ec2565b8114611ee057600080fd5b50565b600081359050611ef281611ecc565b92915050565b60008060408385031215611f0f57611f0e611e5f565b5b6000611f1d85828601611ead565b9250506020611f2e85828601611ee3565b9150509250929050565b60008115159050919050565b611f4d81611f38565b82525050565b6000602082019050611f686000830184611f44565b92915050565b611f7781611ec2565b82525050565b6000602082019050611f926000830184611f6e565b92915050565b600080600060608486031215611fb157611fb0611e5f565b5b6000611fbf86828701611ead565b9350506020611fd086828701611ead565b9250506040611fe186828701611ee3565b9150509250925092565b6000819050919050565b611ffe81611feb565b82525050565b60006020820190506120196000830184611ff5565b92915050565b600060ff82169050919050565b6120358161201f565b82525050565b6000602082019050612050600083018461202c565b92915050565b61205f81611e84565b82525050565b600060208201905061207a6000830184612056565b92915050565b60006020828403121561209657612095611e5f565b5b60006120a484828501611ead565b91505092915050565b6000602082840312156120c3576120c2611e5f565b5b60006120d184828501611ee3565b91505092915050565b600080604083850312156120f1576120f0611e5f565b5b60006120ff85828601611ee3565b925050602061211085828601611ee3565b9150509250929050565b6121238161201f565b811461212e57600080fd5b50565b6000813590506121408161211a565b92915050565b61214f81611feb565b811461215a57600080fd5b50565b60008135905061216c81612146565b92915050565b600080600080600080600060e0888a03121561219157612190611e5f565b5b600061219f8a828b01611ead565b97505060206121b08a828b01611ead565b96505060406121c18a828b01611ee3565b95505060606121d28a828b01611ee3565b94505060806121e38a828b01612131565b93505060a06121f48a828b0161215d565b92505060c06122058a828b0161215d565b91505092959891949750929550565b6000806040838503121561222b5761222a611e5f565b5b600061223985828601611ead565b925050602061224a85828601611ead565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156122da578086048111156122b6576122b5612254565b5b60018516156122c55780820291505b80810290506122d385612283565b945061229a565b94509492505050565b6000826122f357600190506123af565b8161230157600090506123af565b8160018114612317576002811461232157612350565b60019150506123af565b60ff84111561233357612332612254565b5b8360020a91508482111561234a57612349612254565b5b506123af565b5060208310610133831016604e8410600b84101617156123855782820a9050838111156123805761237f612254565b5b6123af565b6123928484846001612290565b925090508184048111156123a9576123a8612254565b5b81810290505b9392505050565b60006123c182611ec2565b91506123cc8361201f565b92506123f97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122e3565b905092915050565b600061240c82611ec2565b915061241783611ec2565b925082820261242581611ec2565b9150828204841483151761243c5761243b612254565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612479602083611db8565b915061248482612443565b602082019050919050565b600060208201905081810360008301526124a88161246c565b9050919050565b60006124ba82611ec2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036124ec576124eb612254565b5b600182019050919050565b600060c08201905061250c6000830189611ff5565b6125196020830188612056565b6125266040830187612056565b6125336060830186611f6e565b6125406080830185611f6e565b61254d60a0830184611f6e565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000612599600283612558565b91506125a482612563565b600282019050919050565b6000819050919050565b6125ca6125c582611feb565b6125af565b82525050565b60006125db8261258c565b91506125e782856125b9565b6020820191506125f782846125b9565b6020820191508190509392505050565b600060808201905061261c6000830187611ff5565b612629602083018661202c565b6126366040830185611ff5565b6126436060830184611ff5565b95945050505050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b6000612682601083611db8565b915061268d8261264c565b602082019050919050565b600060208201905081810360008301526126b181612675565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b60006126ee601783611db8565b91506126f9826126b8565b602082019050919050565b6000602082019050818103600083015261271d816126e1565b9050919050565b600061272f82611ec2565b915061273a83611ec2565b925082820190508082111561275257612751612254565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506127c581611e96565b92915050565b6000602082840312156127e1576127e0611e5f565b5b60006127ef848285016127b6565b91505092915050565b6000819050919050565b6000819050919050565b600061282761282261281d846127f8565b612802565b611ec2565b9050919050565b6128378161280c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61287281611e84565b82525050565b60006128848383612869565b60208301905092915050565b6000602082019050919050565b60006128a88261283d565b6128b28185612848565b93506128bd83612859565b8060005b838110156128ee5781516128d58882612878565b97506128e083612890565b9250506001810190506128c1565b5085935050505092915050565b600061291661291161290c84611e64565b612802565b611e64565b9050919050565b6000612928826128fb565b9050919050565b600061293a8261291d565b9050919050565b61294a8161292f565b82525050565b600060a0820190506129656000830188611f6e565b612972602083018761282e565b8181036040830152612984818661289d565b90506129936060830185612941565b6129a06080830184611f6e565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612a06602683611db8565b9150612a11826129aa565b604082019050919050565b60006020820190508181036000830152612a35816129f9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a7682611ec2565b9150612a8183611ec2565b925082612a9157612a90612a3c565b5b828204905092915050565b6000612aa782611ec2565b9150612ab283611ec2565b9250828203905081811115612aca57612ac9612254565b5b9291505056fea264697066735822122081ed2e51b944fae192596e7b4f6ef00f864e8f935fcbeb301447052a524b924664736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e1786547ee7baead68d609d0bdddac6d9adfdc7a
-----Decoded View---------------
Arg [0] : _wallets (address[]): 0xE1786547eE7BaeAd68D609d0bDddaC6D9ADfdC7A
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [2] : 000000000000000000000000e1786547ee7baead68d609d0bdddac6d9adfdc7a
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.