Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 29 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 22474623 | 25 days ago | IN | 0 ETH | 0.00024333 | ||||
Approve | 22474609 | 25 days ago | IN | 0 ETH | 0.00041703 | ||||
Approve | 22474577 | 25 days ago | IN | 0 ETH | 0.00028894 | ||||
Approve | 22474560 | 25 days ago | IN | 0 ETH | 0.0004147 | ||||
Approve | 22474560 | 25 days ago | IN | 0 ETH | 0.0004147 | ||||
Approve | 22474560 | 25 days ago | IN | 0 ETH | 0.0004147 | ||||
Approve | 22474560 | 25 days ago | IN | 0 ETH | 0.0004147 | ||||
Approve | 22474560 | 25 days ago | IN | 0 ETH | 0.0004147 | ||||
Approve | 22474560 | 25 days ago | IN | 0 ETH | 0.0004147 | ||||
Approve | 22474560 | 25 days ago | IN | 0 ETH | 0.0004147 | ||||
Approve | 22474554 | 25 days ago | IN | 0 ETH | 0.00041383 | ||||
Approve | 22474554 | 25 days ago | IN | 0 ETH | 0.00041383 | ||||
Approve | 22474550 | 25 days ago | IN | 0 ETH | 0.00032402 | ||||
Approve | 22474548 | 25 days ago | IN | 0 ETH | 0.00039481 | ||||
Approve | 22474548 | 25 days ago | IN | 0 ETH | 0.00039481 | ||||
Approve | 22474548 | 25 days ago | IN | 0 ETH | 0.00039481 | ||||
Approve | 22474548 | 25 days ago | IN | 0 ETH | 0.00039481 | ||||
Approve | 22474548 | 25 days ago | IN | 0 ETH | 0.00039481 | ||||
Approve | 22474548 | 25 days ago | IN | 0 ETH | 0.00039481 | ||||
Approve | 22474542 | 25 days ago | IN | 0 ETH | 0.00037963 | ||||
Approve | 22474542 | 25 days ago | IN | 0 ETH | 0.00037963 | ||||
Approve | 22474490 | 25 days ago | IN | 0 ETH | 0.00028672 | ||||
Approve | 22474482 | 25 days ago | IN | 0 ETH | 0.000408 | ||||
Change Wallet Li... | 22474466 | 25 days ago | IN | 0 ETH | 0.00013209 | ||||
Change Tax | 22474463 | 25 days ago | IN | 0 ETH | 0.00012384 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
SapphireSwap
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-05-13 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.26; /* Telegram: https://t.me/sapphireswapofficial Twitter: https://x.com/SapphireSwap Website: https://sapphireswap.com/ */ 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; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { 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 SapphireSwap is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedFromFee; address payable public _DevWallet = payable(0x5406dEa2328f056799379e5A42B2A1219AdE245B); // tax wallet uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1000000000 * 10**_decimals; string private constant _name = unicode"Sapphire Swap"; string private constant _symbol = unicode"SFT"; uint256 public _taxSwapThreshold= 500000 * 10**_decimals; uint256 public _BuyTax = 20; uint256 public _SellTax = 25; uint256 public MaxWallet = 20000000 * 10 ** decimals(); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private inSwap = false; bool private swapEnabled = true; bool public tradeActivated = false; modifier lockTheSwap { inSwap = true; _; inSwap = false; } event TransactionRevert(address indexed taxWallet, uint256 amount); constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // mainnet router address // IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); // test router address // Create a uniswap pair for this new token uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); // set the rest of the contract variables uniswapV2Router = _uniswapV2Router; _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_DevWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } 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 _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { require(tradeActivated, "Trading need to be activated"); if(to != uniswapV2Pair){ require(balanceOf(to) + amount <= MaxWallet, "Cannot exceed Auto AI max wallet amount"); } if(_BuyTax > 0) { if (from == uniswapV2Pair && to != address(uniswapV2Router)) { taxAmount = amount.mul(_BuyTax).div(100); } } if(_SellTax > 0) { if(to == uniswapV2Pair){ taxAmount = amount.mul(_SellTax).div(100); } } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { if(tokenAmount==0){return;} address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { (bool callSuccess, ) = payable(_DevWallet).call{value: amount}(""); if (!callSuccess) { // Log the failure but do not revert the transaction emit TransactionRevert(_DevWallet, amount); } } receive() external payable {} function updateTaxSwapThreshold(uint256 _taxLimit) public onlyOwner{ require(_taxLimit > 0, "Threshold cannot be 0"); _taxSwapThreshold = _taxLimit; } function excludeFromTaxes(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInTaxes(address account) public onlyOwner { _isExcludedFromFee[account] = false; } function changeTax(uint256 buyFee, uint256 sellFee) public onlyOwner { _BuyTax = buyFee; _SellTax = sellFee; } function manualSwap() external { require(_msgSender()==_DevWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function changeWalletLimit(uint256 _maxLimit) public onlyOwner{ require(_maxLimit > totalSupply().div(200),"Limit cannot be too low"); MaxWallet = _maxLimit; } function openTrading() public onlyOwner { require(tradeActivated != true, "Activated already"); tradeActivated = true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":"taxWallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TransactionRevert","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":"MaxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_BuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_DevWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_SellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxLimit","type":"uint256"}],"name":"changeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"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":[],"name":"tradeActivated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxLimit","type":"uint256"}],"name":"updateTaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600480546001600160a01b031916735406dea2328f056799379e5a42b2a1219ade245b1790556100366012600a61045e565b610043906207a120610473565b6005556014600655601960075561005c6012600a61045e565b61006a906301312d00610473565b600855600a805462ffffff60a01b1916600160a81b17905534801561008d575f80fd5b5061009733610316565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061010f919061048a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561015a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017e919061048a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156101c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ec919061048a565b600a80546001600160a01b03199081166001600160a01b0393841617825560098054909116928416929092179091556102279060129061045e565b61023590633b9aca00610473565b335f90815260016020819052604082209290925560039061025d5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004549091168352912080549092161790556102ba3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102f16012600a61045e565b6102ff90633b9aca00610473565b60405190815260200160405180910390a3506104b0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156103b45780850481111561039857610398610365565b60018416156103a657908102905b60019390931c92800261037d565b935093915050565b5f826103ca57506001610458565b816103d657505f610458565b81600181146103ec57600281146103f657610412565b6001915050610458565b60ff84111561040757610407610365565b50506001821b610458565b5060208310610133831016604e8410600b8410161715610435575081810a610458565b6104415f198484610379565b805f190482111561045457610454610365565b0290505b92915050565b5f61046c60ff8416836103bc565b9392505050565b808202811582820484141761045857610458610365565b5f6020828403121561049a575f80fd5b81516001600160a01b038116811461046c575f80fd5b611618806104bd5f395ff3fe60806040526004361061017e575f3560e01c8063768dc710116100cd57806395d89b4111610087578063bf474bed11610062578063bf474bed1461047e578063c9567bf914610493578063dd62ed3e146104a7578063f2fde38b146104eb575f80fd5b806395d89b4114610415578063983e915814610440578063a9059cbb1461045f575f80fd5b8063768dc710146103585780637a88f5dc146103865780637db1342c146103a65780638da5cb5b146103c5578063901849d6146103e15780639036ed4d146103f6575f80fd5b806323b872dd116101385780634a4a9a68116101135780634a4a9a68146102e757806351bc3c85146102fc57806370a0823114610310578063715018a614610344575f80fd5b806323b872dd14610298578063313ce567146102b757806343b8fe04146102d2575f80fd5b8063034832bd1461018957806306fdde03146101aa578063095ea7b3146101f1578063131e00b71461022057806315436a531461023f57806318160ddd14610276575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b506101a86101a3366004611280565b61050a565b005b3480156101b5575f80fd5b5060408051808201909152600d81526c05361707068697265205377617609c1b60208201525b6040516101e89190611297565b60405180910390f35b3480156101fc575f80fd5b5061021061020b3660046112e0565b610563565b60405190151581526020016101e8565b34801561022b575f80fd5b506101a861023a36600461130a565b610579565b34801561024a575f80fd5b5060045461025e906001600160a01b031681565b6040516001600160a01b0390911681526020016101e8565b348015610281575f80fd5b5061028a6105a4565b6040519081526020016101e8565b3480156102a3575f80fd5b506102106102b2366004611325565b6105c4565b3480156102c2575f80fd5b50604051601281526020016101e8565b3480156102dd575f80fd5b5061028a60075481565b3480156102f2575f80fd5b5061028a60085481565b348015610307575f80fd5b506101a861062b565b34801561031b575f80fd5b5061028a61032a36600461130a565b6001600160a01b03165f9081526001602052604090205490565b34801561034f575f80fd5b506101a861067c565b348015610363575f80fd5b5061021061037236600461130a565b60036020525f908152604090205460ff1681565b348015610391575f80fd5b50600a5461021090600160b01b900460ff1681565b3480156103b1575f80fd5b506101a86103c0366004611280565b61068f565b3480156103d0575f80fd5b505f546001600160a01b031661025e565b3480156103ec575f80fd5b5061028a60065481565b348015610401575f80fd5b506101a8610410366004611363565b6106fd565b348015610420575f80fd5b5060408051808201909152600381526214d19560ea1b60208201526101db565b34801561044b575f80fd5b506101a861045a36600461130a565b610710565b34801561046a575f80fd5b506102106104793660046112e0565b610738565b348015610489575f80fd5b5061028a60055481565b34801561049e575f80fd5b506101a8610744565b3480156104b2575f80fd5b5061028a6104c1366004611383565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104f6575f80fd5b506101a861050536600461130a565b6107b3565b61051261082c565b5f811161055e5760405162461bcd60e51b815260206004820152601560248201527405468726573686f6c642063616e6e6f74206265203605c1b60448201526064015b60405180910390fd5b600555565b5f61056f338484610885565b5060015b92915050565b61058161082c565b6001600160a01b03165f908152600360205260409020805460ff19166001179055565b5f6105b16012600a6114b1565b6105bf90633b9aca006114bf565b905090565b5f6105d08484846109a8565b610621843361061c856040518060600160405280602881526020016115bb602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610e53565b610885565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461064a575f80fd5b305f9081526001602052604090205480156106685761066881610e8b565b4780156106785761067881611002565b5050565b61068461082c565b61068d5f6110a0565b565b61069761082c565b6106aa60c86106a46105a4565b906110ef565b81116106f85760405162461bcd60e51b815260206004820152601760248201527f4c696d69742063616e6e6f7420626520746f6f206c6f770000000000000000006044820152606401610555565b600855565b61070561082c565b600691909155600755565b61071861082c565b6001600160a01b03165f908152600360205260409020805460ff19169055565b5f61056f3384846109a8565b61074c61082c565b600a54600160b01b900460ff16151560010361079e5760405162461bcd60e51b815260206004820152601160248201527041637469766174656420616c726561647960781b6044820152606401610555565b600a805460ff60b01b1916600160b01b179055565b6107bb61082c565b6001600160a01b0381166108205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610555565b610829816110a0565b50565b5f546001600160a01b0316331461068d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610555565b6001600160a01b0383166108e75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610555565b6001600160a01b0382166109485760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610555565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a0c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610555565b6001600160a01b038216610a6e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610555565b5f8111610acf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610555565b6001600160a01b0383165f9081526003602052604081205460ff16158015610b0f57506001600160a01b0383165f9081526003602052604090205460ff16155b15610d1657600a54600160b01b900460ff16610b6d5760405162461bcd60e51b815260206004820152601c60248201527f54726164696e67206e65656420746f20626520616374697661746564000000006044820152606401610555565b600a546001600160a01b03848116911614610c0c5760085482610ba4856001600160a01b03165f9081526001602052604090205490565b610bae91906114d6565b1115610c0c5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f7420657863656564204175746f204149206d61782077616c6c657460448201526608185b5bdd5b9d60ca1b6064820152608401610555565b60065415610c6157600a546001600160a01b038581169116148015610c3f57506009546001600160a01b03848116911614155b15610c6157610c5e60646106a46006548561113790919063ffffffff16565b90505b60075415610c9c57600a546001600160a01b0390811690841603610c9c57610c9960646106a46007548561113790919063ffffffff16565b90505b305f90815260016020526040902054600a54600160a01b900460ff16158015610cd25750600a546001600160a01b038581169116145b8015610ce75750600a54600160a81b900460ff165b8015610cf4575060055481115b15610d1457610d0281610e8b565b478015610d1257610d1247611002565b505b505b8015610d8e57305f90815260016020526040902054610d3590826111b5565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d859085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610db09083611213565b6001600160a01b0385165f90815260016020526040902055610df3610dd58383611213565b6001600160a01b0385165f90815260016020526040902054906111b5565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e3c8585611213565b60405190815260200160405180910390a350505050565b5f8184841115610e765760405162461bcd60e51b81526004016105559190611297565b505f610e8284866114e9565b95945050505050565b600a805460ff60a01b1916600160a01b1790558015610ff2576040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ed757610ed76114fc565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f529190611510565b81600181518110610f6557610f656114fc565b6001600160a01b039283166020918202929092010152600954610f8b9130911684610885565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fc39085905f9086903090429060040161152b565b5f604051808303815f87803b158015610fda575f80fd5b505af1158015610fec573d5f803e3d5ffd5b50505050505b50600a805460ff60a01b19169055565b6004546040515f916001600160a01b03169083908381818185875af1925050503d805f811461104c576040519150601f19603f3d011682016040523d82523d5f602084013e611051565b606091505b5050905080610678576004546040518381526001600160a01b03909116907faa3a2b0832056fde3df798858c2c8612cf899b18536f53f5c1a7ff0e3bfa8a179060200160405180910390a25050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f61113083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611254565b9392505050565b5f825f0361114657505f610573565b5f61115183856114bf565b90508261115e858361159b565b146111305760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610555565b5f806111c183856114d6565b9050838110156111305760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610555565b5f61113083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e53565b5f81836112745760405162461bcd60e51b81526004016105559190611297565b505f610e82848661159b565b5f60208284031215611290575f80fd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610829575f80fd5b5f80604083850312156112f1575f80fd5b82356112fc816112cc565b946020939093013593505050565b5f6020828403121561131a575f80fd5b8135611130816112cc565b5f805f60608486031215611337575f80fd5b8335611342816112cc565b92506020840135611352816112cc565b929592945050506040919091013590565b5f8060408385031215611374575f80fd5b50508035926020909101359150565b5f8060408385031215611394575f80fd5b823561139f816112cc565b915060208301356113af816112cc565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115611409578085048111156113ed576113ed6113ba565b60018416156113fb57908102905b60019390931c9280026113d2565b935093915050565b5f8261141f57506001610573565b8161142b57505f610573565b8160018114611441576002811461144b57611467565b6001915050610573565b60ff84111561145c5761145c6113ba565b50506001821b610573565b5060208310610133831016604e8410600b841016171561148a575081810a610573565b6114965f1984846113ce565b805f19048211156114a9576114a96113ba565b029392505050565b5f61113060ff841683611411565b8082028115828204841417610573576105736113ba565b80820180821115610573576105736113ba565b81810381811115610573576105736113ba565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611520575f80fd5b8151611130816112cc565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561157b5783516001600160a01b0316835260209384019390920191600101611554565b50506001600160a01b039590951660608401525050608001529392505050565b5f826115b557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b9274d629525ffbd4706977e01c4f1c48a04390b1b4fbde2eef265526fea4c2764736f6c634300081a0033
Deployed Bytecode
0x60806040526004361061017e575f3560e01c8063768dc710116100cd57806395d89b4111610087578063bf474bed11610062578063bf474bed1461047e578063c9567bf914610493578063dd62ed3e146104a7578063f2fde38b146104eb575f80fd5b806395d89b4114610415578063983e915814610440578063a9059cbb1461045f575f80fd5b8063768dc710146103585780637a88f5dc146103865780637db1342c146103a65780638da5cb5b146103c5578063901849d6146103e15780639036ed4d146103f6575f80fd5b806323b872dd116101385780634a4a9a68116101135780634a4a9a68146102e757806351bc3c85146102fc57806370a0823114610310578063715018a614610344575f80fd5b806323b872dd14610298578063313ce567146102b757806343b8fe04146102d2575f80fd5b8063034832bd1461018957806306fdde03146101aa578063095ea7b3146101f1578063131e00b71461022057806315436a531461023f57806318160ddd14610276575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b506101a86101a3366004611280565b61050a565b005b3480156101b5575f80fd5b5060408051808201909152600d81526c05361707068697265205377617609c1b60208201525b6040516101e89190611297565b60405180910390f35b3480156101fc575f80fd5b5061021061020b3660046112e0565b610563565b60405190151581526020016101e8565b34801561022b575f80fd5b506101a861023a36600461130a565b610579565b34801561024a575f80fd5b5060045461025e906001600160a01b031681565b6040516001600160a01b0390911681526020016101e8565b348015610281575f80fd5b5061028a6105a4565b6040519081526020016101e8565b3480156102a3575f80fd5b506102106102b2366004611325565b6105c4565b3480156102c2575f80fd5b50604051601281526020016101e8565b3480156102dd575f80fd5b5061028a60075481565b3480156102f2575f80fd5b5061028a60085481565b348015610307575f80fd5b506101a861062b565b34801561031b575f80fd5b5061028a61032a36600461130a565b6001600160a01b03165f9081526001602052604090205490565b34801561034f575f80fd5b506101a861067c565b348015610363575f80fd5b5061021061037236600461130a565b60036020525f908152604090205460ff1681565b348015610391575f80fd5b50600a5461021090600160b01b900460ff1681565b3480156103b1575f80fd5b506101a86103c0366004611280565b61068f565b3480156103d0575f80fd5b505f546001600160a01b031661025e565b3480156103ec575f80fd5b5061028a60065481565b348015610401575f80fd5b506101a8610410366004611363565b6106fd565b348015610420575f80fd5b5060408051808201909152600381526214d19560ea1b60208201526101db565b34801561044b575f80fd5b506101a861045a36600461130a565b610710565b34801561046a575f80fd5b506102106104793660046112e0565b610738565b348015610489575f80fd5b5061028a60055481565b34801561049e575f80fd5b506101a8610744565b3480156104b2575f80fd5b5061028a6104c1366004611383565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104f6575f80fd5b506101a861050536600461130a565b6107b3565b61051261082c565b5f811161055e5760405162461bcd60e51b815260206004820152601560248201527405468726573686f6c642063616e6e6f74206265203605c1b60448201526064015b60405180910390fd5b600555565b5f61056f338484610885565b5060015b92915050565b61058161082c565b6001600160a01b03165f908152600360205260409020805460ff19166001179055565b5f6105b16012600a6114b1565b6105bf90633b9aca006114bf565b905090565b5f6105d08484846109a8565b610621843361061c856040518060600160405280602881526020016115bb602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610e53565b610885565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461064a575f80fd5b305f9081526001602052604090205480156106685761066881610e8b565b4780156106785761067881611002565b5050565b61068461082c565b61068d5f6110a0565b565b61069761082c565b6106aa60c86106a46105a4565b906110ef565b81116106f85760405162461bcd60e51b815260206004820152601760248201527f4c696d69742063616e6e6f7420626520746f6f206c6f770000000000000000006044820152606401610555565b600855565b61070561082c565b600691909155600755565b61071861082c565b6001600160a01b03165f908152600360205260409020805460ff19169055565b5f61056f3384846109a8565b61074c61082c565b600a54600160b01b900460ff16151560010361079e5760405162461bcd60e51b815260206004820152601160248201527041637469766174656420616c726561647960781b6044820152606401610555565b600a805460ff60b01b1916600160b01b179055565b6107bb61082c565b6001600160a01b0381166108205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610555565b610829816110a0565b50565b5f546001600160a01b0316331461068d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610555565b6001600160a01b0383166108e75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610555565b6001600160a01b0382166109485760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610555565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a0c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610555565b6001600160a01b038216610a6e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610555565b5f8111610acf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610555565b6001600160a01b0383165f9081526003602052604081205460ff16158015610b0f57506001600160a01b0383165f9081526003602052604090205460ff16155b15610d1657600a54600160b01b900460ff16610b6d5760405162461bcd60e51b815260206004820152601c60248201527f54726164696e67206e65656420746f20626520616374697661746564000000006044820152606401610555565b600a546001600160a01b03848116911614610c0c5760085482610ba4856001600160a01b03165f9081526001602052604090205490565b610bae91906114d6565b1115610c0c5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f7420657863656564204175746f204149206d61782077616c6c657460448201526608185b5bdd5b9d60ca1b6064820152608401610555565b60065415610c6157600a546001600160a01b038581169116148015610c3f57506009546001600160a01b03848116911614155b15610c6157610c5e60646106a46006548561113790919063ffffffff16565b90505b60075415610c9c57600a546001600160a01b0390811690841603610c9c57610c9960646106a46007548561113790919063ffffffff16565b90505b305f90815260016020526040902054600a54600160a01b900460ff16158015610cd25750600a546001600160a01b038581169116145b8015610ce75750600a54600160a81b900460ff165b8015610cf4575060055481115b15610d1457610d0281610e8b565b478015610d1257610d1247611002565b505b505b8015610d8e57305f90815260016020526040902054610d3590826111b5565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d859085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610db09083611213565b6001600160a01b0385165f90815260016020526040902055610df3610dd58383611213565b6001600160a01b0385165f90815260016020526040902054906111b5565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e3c8585611213565b60405190815260200160405180910390a350505050565b5f8184841115610e765760405162461bcd60e51b81526004016105559190611297565b505f610e8284866114e9565b95945050505050565b600a805460ff60a01b1916600160a01b1790558015610ff2576040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ed757610ed76114fc565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f529190611510565b81600181518110610f6557610f656114fc565b6001600160a01b039283166020918202929092010152600954610f8b9130911684610885565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fc39085905f9086903090429060040161152b565b5f604051808303815f87803b158015610fda575f80fd5b505af1158015610fec573d5f803e3d5ffd5b50505050505b50600a805460ff60a01b19169055565b6004546040515f916001600160a01b03169083908381818185875af1925050503d805f811461104c576040519150601f19603f3d011682016040523d82523d5f602084013e611051565b606091505b5050905080610678576004546040518381526001600160a01b03909116907faa3a2b0832056fde3df798858c2c8612cf899b18536f53f5c1a7ff0e3bfa8a179060200160405180910390a25050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f61113083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611254565b9392505050565b5f825f0361114657505f610573565b5f61115183856114bf565b90508261115e858361159b565b146111305760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610555565b5f806111c183856114d6565b9050838110156111305760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610555565b5f61113083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e53565b5f81836112745760405162461bcd60e51b81526004016105559190611297565b505f610e82848661159b565b5f60208284031215611290575f80fd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610829575f80fd5b5f80604083850312156112f1575f80fd5b82356112fc816112cc565b946020939093013593505050565b5f6020828403121561131a575f80fd5b8135611130816112cc565b5f805f60608486031215611337575f80fd5b8335611342816112cc565b92506020840135611352816112cc565b929592945050506040919091013590565b5f8060408385031215611374575f80fd5b50508035926020909101359150565b5f8060408385031215611394575f80fd5b823561139f816112cc565b915060208301356113af816112cc565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115611409578085048111156113ed576113ed6113ba565b60018416156113fb57908102905b60019390931c9280026113d2565b935093915050565b5f8261141f57506001610573565b8161142b57505f610573565b8160018114611441576002811461144b57611467565b6001915050610573565b60ff84111561145c5761145c6113ba565b50506001821b610573565b5060208310610133831016604e8410600b841016171561148a575081810a610573565b6114965f1984846113ce565b805f19048211156114a9576114a96113ba565b029392505050565b5f61113060ff841683611411565b8082028115828204841417610573576105736113ba565b80820180821115610573576105736113ba565b81810381811115610573576105736113ba565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611520575f80fd5b8151611130816112cc565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561157b5783516001600160a01b0316835260209384019390920191600101611554565b50506001600160a01b039590951660608401525050608001529392505050565b5f826115b557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b9274d629525ffbd4706977e01c4f1c48a04390b1b4fbde2eef265526fea4c2764736f6c634300081a0033
Deployed Bytecode Sourcemap
4942:7774:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11451:173;;;;;;;;;;-1:-1:-1;11451:173:0;;;;;:::i;:::-;;:::i;:::-;;6989:83;;;;;;;;;;-1:-1:-1;7059:5:0;;;;;;;;;;;;-1:-1:-1;;;7059:5:0;;;;6989:83;;;;;;;:::i;:::-;;;;;;;;7822:161;;;;;;;;;;-1:-1:-1;7822:161:0;;;;;:::i;:::-;;:::i;:::-;;;1341:14:1;;1334:22;1316:41;;1304:2;1289:18;7822:161:0;1176:187:1;11632:113:0;;;;;;;;;;-1:-1:-1;11632:113:0;;;;;:::i;:::-;;:::i;5221:87::-;;;;;;;;;;-1:-1:-1;5221:87:0;;;;-1:-1:-1;;;;;5221:87:0;;;;;;-1:-1:-1;;;;;1800:32:1;;;1782:51;;1770:2;1755:18;5221:87:0;1620:219:1;7266:95:0;;;;;;;;;;;;;:::i;:::-;;;1990:25:1;;;1978:2;1963:18;7266:95:0;1844:177:1;7991:313:0;;;;;;;;;;-1:-1:-1;7991:313:0;;;;;:::i;:::-;;:::i;7175:83::-;;;;;;;;;;-1:-1:-1;7175:83:0;;5369:2;2681:36:1;;2669:2;2654:18;7175:83:0;2539:184:1;5659:28:0;;;;;;;;;;;;;;;;5694:54;;;;;;;;;;;;;;;;12014:348;;;;;;;;;;;;;:::i;7369:119::-;;;;;;;;;;-1:-1:-1;7369:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7462:18:0;7435:7;7462:18;;;:9;:18;;;;;;;7369:119;3363:103;;;;;;;;;;;;;:::i;5163:51::-;;;;;;;;;;-1:-1:-1;5163:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5918:34;;;;;;;;;;-1:-1:-1;5918:34:0;;;;-1:-1:-1;;;5918:34:0;;;;;;12370:182;;;;;;;;;;-1:-1:-1;12370:182:0;;;;;:::i;:::-;;:::i;2722:87::-;;;;;;;;;;-1:-1:-1;2768:7:0;2795:6;-1:-1:-1;;;;;2795:6:0;2722:87;;5625:27;;;;;;;;;;;;;;;;11873:133;;;;;;;;;;-1:-1:-1;11873:133:0;;;;;:::i;:::-;;:::i;7080:87::-;;;;;;;;;;-1:-1:-1;7152:7:0;;;;;;;;;;;;-1:-1:-1;;;7152:7:0;;;;7080:87;;11753:112;;;;;;;;;;-1:-1:-1;11753:112:0;;;;;:::i;:::-;;:::i;7496:167::-;;;;;;;;;;-1:-1:-1;7496:167:0;;;;;:::i;:::-;;:::i;5560:56::-;;;;;;;;;;;;;;;;12560:143;;;;;;;;;;;;;:::i;7671:::-;;;;;;;;;;-1:-1:-1;7671:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7779:18:0;;;7752:7;7779:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7671:143;3621:201;;;;;;;;;;-1:-1:-1;3621:201:0;;;;;:::i;:::-;;:::i;11451:173::-;2608:13;:11;:13::i;:::-;11549:1:::1;11537:9;:13;11529:47;;;::::0;-1:-1:-1;;;11529:47:0;;3882:2:1;11529:47:0::1;::::0;::::1;3864:21:1::0;3921:2;3901:18;;;3894:30;-1:-1:-1;;;3940:18:1;;;3933:51;4001:18;;11529:47:0::1;;;;;;;;;11587:17;:29:::0;11451:173::o;7822:161::-;7897:4;7914:39;305:10;7937:7;7946:6;7914:8;:39::i;:::-;-1:-1:-1;7971:4:0;7822:161;;;;;:::o;11632:113::-;2608:13;:11;:13::i;:::-;-1:-1:-1;;;;;11703:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;11703:34:0::1;11733:4;11703:34;::::0;;11632:113::o;7266:95::-;7319:7;5426:13;5369:2;5426;:13;:::i;:::-;5413:26;;:10;:26;:::i;:::-;7339:14;;7266:95;:::o;7991:313::-;8089:4;8106:36;8116:6;8124:9;8135:6;8106:9;:36::i;:::-;8153:121;8162:6;305:10;8184:89;8222:6;8184:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8184:19:0;;;;;;:11;:19;;;;;;;;305:10;8184:33;;;;;;;;;;:37;:89::i;:::-;8153:8;:121::i;:::-;-1:-1:-1;8292:4:0;7991:313;;;;;:::o;12014:348::-;12078:10;;-1:-1:-1;;;;;12078:10:0;305;-1:-1:-1;;;;;12064:24:0;;12056:33;;;;;;12139:4;12100:20;7462:18;;;:9;:18;;;;;;12159:14;;12156:73;;12187:30;12204:12;12187:16;:30::i;:::-;12258:21;12293:12;;12290:65;;12319:24;12332:10;12319:12;:24::i;:::-;12045:317;;12014:348::o;3363:103::-;2608:13;:11;:13::i;:::-;3428:30:::1;3455:1;3428:18;:30::i;:::-;3363:103::o:0;12370:182::-;2608:13;:11;:13::i;:::-;12463:22:::1;12481:3;12463:13;:11;:13::i;:::-;:17:::0;::::1;:22::i;:::-;12451:9;:34;12443:69;;;::::0;-1:-1:-1;;;12443:69:0;;5969:2:1;12443:69:0::1;::::0;::::1;5951:21:1::0;6008:2;5988:18;;;5981:30;6047:25;6027:18;;;6020:53;6090:18;;12443:69:0::1;5767:347:1::0;12443:69:0::1;12523:9;:21:::0;12370:182::o;11873:133::-;2608:13;:11;:13::i;:::-;11953:7:::1;:16:::0;;;;11980:8:::1;:18:::0;11873:133::o;11753:112::-;2608:13;:11;:13::i;:::-;-1:-1:-1;;;;;11822:27:0::1;11852:5;11822:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;11822:35:0::1;::::0;;11753:112::o;7496:167::-;7574:4;7591:42;305:10;7615:9;7626:6;7591:9;:42::i;12560:143::-;2608:13;:11;:13::i;:::-;12619:14:::1;::::0;-1:-1:-1;;;12619:14:0;::::1;;;:22;;12637:4;12619:22:::0;12611:52:::1;;;::::0;-1:-1:-1;;;12611:52:0;;6321:2:1;12611:52:0::1;::::0;::::1;6303:21:1::0;6360:2;6340:18;;;6333:30;-1:-1:-1;;;6379:18:1;;;6372:47;6436:18;;12611:52:0::1;6119:341:1::0;12611:52:0::1;12674:14;:21:::0;;-1:-1:-1;;;;12674:21:0::1;-1:-1:-1::0;;;12674:21:0::1;::::0;;12560:143::o;3621:201::-;2608:13;:11;:13::i;:::-;-1:-1:-1;;;;;3710:22:0;::::1;3702:73;;;::::0;-1:-1:-1;;;3702:73:0;;6667:2:1;3702:73:0::1;::::0;::::1;6649:21:1::0;6706:2;6686:18;;;6679:30;6745:34;6725:18;;;6718:62;-1:-1:-1;;;6796:18:1;;;6789:36;6842:19;;3702:73:0::1;6465:402:1::0;3702:73:0::1;3786:28;3805:8;3786:18;:28::i;:::-;3621:201:::0;:::o;2887:132::-;2768:7;2795:6;-1:-1:-1;;;;;2795:6:0;305:10;2951:23;2943:68;;;;-1:-1:-1;;;2943:68:0;;7074:2:1;2943:68:0;;;7056:21:1;;;7093:18;;;7086:30;7152:34;7132:18;;;7125:62;7204:18;;2943:68:0;6872:356:1;8312:335:0;-1:-1:-1;;;;;8405:19:0;;8397:68;;;;-1:-1:-1;;;8397:68:0;;7435:2:1;8397:68:0;;;7417:21:1;7474:2;7454:18;;;7447:30;7513:34;7493:18;;;7486:62;-1:-1:-1;;;7564:18:1;;;7557:34;7608:19;;8397:68:0;7233:400:1;8397:68:0;-1:-1:-1;;;;;8484:21:0;;8476:68;;;;-1:-1:-1;;;8476:68:0;;7840:2:1;8476:68:0;;;7822:21:1;7879:2;7859:18;;;7852:30;7918:34;7898:18;;;7891:62;-1:-1:-1;;;7969:18:1;;;7962:32;8011:19;;8476:68:0;7638:398:1;8476:68:0;-1:-1:-1;;;;;8555:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8607:32;;1990:25:1;;;8607:32:0;;1963:18:1;8607:32:0;;;;;;;8312:335;;;:::o;8655:1819::-;-1:-1:-1;;;;;8743:18:0;;8735:68;;;;-1:-1:-1;;;8735:68:0;;8243:2:1;8735:68:0;;;8225:21:1;8282:2;8262:18;;;8255:30;8321:34;8301:18;;;8294:62;-1:-1:-1;;;8372:18:1;;;8365:35;8417:19;;8735:68:0;8041:401:1;8735:68:0;-1:-1:-1;;;;;8822:16:0;;8814:64;;;;-1:-1:-1;;;8814:64:0;;8649:2:1;8814:64:0;;;8631:21:1;8688:2;8668:18;;;8661:30;8727:34;8707:18;;;8700:62;-1:-1:-1;;;8778:18:1;;;8771:33;8821:19;;8814:64:0;8447:399:1;8814:64:0;8906:1;8897:6;:10;8889:64;;;;-1:-1:-1;;;8889:64:0;;9053:2:1;8889:64:0;;;9035:21:1;9092:2;9072:18;;;9065:30;9131:34;9111:18;;;9104:62;-1:-1:-1;;;9182:18:1;;;9175:39;9231:19;;8889:64:0;8851:405:1;8889:64:0;-1:-1:-1;;;;;8999:24:0;;8964:17;8999:24;;;:18;:24;;;;;;;;8998:25;:52;;;;-1:-1:-1;;;;;;9028:22:0;;;;;;:18;:22;;;;;;;;9027:23;8998:52;8994:1124;;;9077:14;;-1:-1:-1;;;9077:14:0;;;;9069:55;;;;-1:-1:-1;;;9069:55:0;;9463:2:1;9069:55:0;;;9445:21:1;9502:2;9482:18;;;9475:30;9541;9521:18;;;9514:58;9589:18;;9069:55:0;9261:352:1;9069:55:0;9150:13;;-1:-1:-1;;;;;9144:19:0;;;9150:13;;9144:19;9141:144;;9216:9;;9206:6;9190:13;9200:2;-1:-1:-1;;;;;7462:18:0;7435:7;7462:18;;;:9;:18;;;;;;;7369:119;9190:13;:22;;;;:::i;:::-;:35;;9182:87;;;;-1:-1:-1;;;9182:87:0;;9950:2:1;9182:87:0;;;9932:21:1;9989:2;9969:18;;;9962:30;10028:34;10008:18;;;10001:62;-1:-1:-1;;;10079:18:1;;;10072:37;10126:19;;9182:87:0;9748:403:1;9182:87:0;9304:7;;:11;9301:200;;9344:13;;-1:-1:-1;;;;;9336:21:0;;;9344:13;;9336:21;:55;;;;-1:-1:-1;9375:15:0;;-1:-1:-1;;;;;9361:30:0;;;9375:15;;9361:30;;9336:55;9332:154;;;9442:28;9466:3;9442:19;9453:7;;9442:6;:10;;:19;;;;:::i;:28::-;9430:40;;9332:154;9520:8;;:12;9517:146;;9558:13;;-1:-1:-1;;;;;9558:13:0;;;9552:19;;;;9549:99;;9603:29;9628:3;9603:20;9614:8;;9603:6;:10;;:20;;;;:::i;:29::-;9591:41;;9549:99;9728:4;9679:28;7462:18;;;:9;:18;;;;;;9754:6;;-1:-1:-1;;;9754:6:0;;;;9753:7;:30;;;;-1:-1:-1;9770:13:0;;-1:-1:-1;;;;;9764:19:0;;;9770:13;;9764:19;9753:30;:45;;;;-1:-1:-1;9787:11:0;;-1:-1:-1;;;9787:11:0;;;;9753:45;:87;;;;;9823:17;;9802:20;:38;9753:87;9749:358;;;9861:38;9878:20;9861:16;:38::i;:::-;9947:21;9990:22;;9987:105;;10037:35;10050:21;10037:12;:35::i;:::-;9842:265;9749:358;9052:1066;8994:1124;10133:11;;10130:161;;10201:4;10183:24;;;;:9;:24;;;;;;:39;;10212:9;10183:28;:39::i;:::-;10176:4;10158:24;;;;:9;:24;;;;;;;:64;;;;10240:39;;-1:-1:-1;;;;;10240:39:0;;;;;;;10269:9;1990:25:1;;1978:2;1963:18;;1844:177;10240:39:0;;;;;;;;10130:161;-1:-1:-1;;;;;10317:15:0;;;;;;:9;:15;;;;;;:27;;10337:6;10317:19;:27::i;:::-;-1:-1:-1;;;;;10301:15:0;;;;;;:9;:15;;;;;:43;10369:40;10387:21;:6;10398:9;10387:10;:21::i;:::-;-1:-1:-1;;;;;10369:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10355:13:0;;;;;;;:9;:13;;;;;:54;;;;10425:41;;;10444:21;:6;10455:9;10444:10;:21::i;:::-;10425:41;;1990:25:1;;;1978:2;1963:18;10425:41:0;;;;;;;8724:1750;8655:1819;;;:::o;1362:190::-;1448:7;1484:12;1476:6;;;;1468:29;;;;-1:-1:-1;;;1468:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1508:9:0;1520:5;1524:1;1520;:5;:::i;:::-;1508:17;1362:190;-1:-1:-1;;;;;1362:190:0:o;10590:520::-;5993:6;:13;;-1:-1:-1;;;;5993:13:0;-1:-1:-1;;;5993:13:0;;;10668:27;;10687:7:::1;10668:27;10729:16;::::0;;10743:1:::1;10729:16:::0;;;;;::::1;::::0;;10705:21:::1;::::0;10729:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10729:16:0::1;10705:40;;10774:4;10756;10761:1;10756:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10756:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10800:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10800:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10756:7;;10800:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10790:4;10795:1;10790:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10790:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10865:15:::1;::::0;10833:62:::1;::::0;10850:4:::1;::::0;10865:15:::1;10883:11:::0;10833:8:::1;:62::i;:::-;10906:15;::::0;:196:::1;::::0;-1:-1:-1;;;10906:196:0;;-1:-1:-1;;;;;10906:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10987:11;;10906:15:::1;::::0;11029:4;;11056::::1;::::0;11076:15:::1;::::0;10906:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10657:453;6017:1;-1:-1:-1::0;6029:6:0;:14;;-1:-1:-1;;;;6029:14:0;;;10590:520::o;11118:286::-;11206:10;;11198:43;;11176:16;;-1:-1:-1;;;;;11206:10:0;;11230:6;;11176:16;11198:43;11176:16;11198:43;11230:6;11206:10;11198:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11175:66;;;11259:11;11254:141;;11368:10;;11350:37;;1990:25:1;;;-1:-1:-1;;;;;11368:10:0;;;;11350:37;;1978:2:1;1963:18;11350:37:0;;;;;;;11164:240;11118:286;:::o;3982:191::-;4056:16;4075:6;;-1:-1:-1;;;;;4092:17:0;;;-1:-1:-1;;;;;;4092:17:0;;;;;;4125:40;;4075:6;;;;;;;4125:40;;4056:16;4125:40;4045:128;3982:191;:::o;1814:132::-;1872:7;1899:39;1903:1;1906;1899:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1892:46;1814:132;-1:-1:-1;;;1814:132:0:o;1560:246::-;1618:7;1642:1;1647;1642:6;1638:47;;-1:-1:-1;1672:1:0;1665:8;;1638:47;1695:9;1707:5;1711:1;1707;:5;:::i;:::-;1695:17;-1:-1:-1;1740:1:0;1731:5;1735:1;1695:17;1731:5;:::i;:::-;:10;1723:56;;;;-1:-1:-1;;;1723:56:0;;12407:2:1;1723:56:0;;;12389:21:1;12446:2;12426:18;;;12419:30;12485:34;12465:18;;;12458:62;-1:-1:-1;;;12536:18:1;;;12529:31;12577:19;;1723:56:0;12205:397:1;1031:179:0;1089:7;;1121:5;1125:1;1121;:5;:::i;:::-;1109:17;;1150:1;1145;:6;;1137:46;;;;-1:-1:-1;;;1137:46:0;;12809:2:1;1137:46:0;;;12791:21:1;12848:2;12828:18;;;12821:30;12887:29;12867:18;;;12860:57;12934:18;;1137:46:0;12607:351:1;1218:136:0;1276:7;1303:43;1307:1;1310;1303:43;;;;;;;;;;;;;;;;;:3;:43::i;1954:189::-;2040:7;2075:12;2068:5;2060:28;;;;-1:-1:-1;;;2060:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2099:9:0;2111:5;2115:1;2111;:5;:::i;14:226:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;187:23:1;;14:226;-1:-1:-1;14:226:1:o;245:418::-;394:2;383:9;376:21;357:4;426:6;420:13;469:6;464:2;453:9;449:18;442:34;528:6;523:2;515:6;511:15;506:2;495:9;491:18;485:50;584:1;579:2;570:6;559:9;555:22;551:31;544:42;654:2;647;643:7;638:2;630:6;626:15;622:29;611:9;607:45;603:54;595:62;;;245:418;;;;:::o;668:131::-;-1:-1:-1;;;;;743:31:1;;733:42;;723:70;;789:1;786;779:12;804:367;872:6;880;933:2;921:9;912:7;908:23;904:32;901:52;;;949:1;946;939:12;901:52;988:9;975:23;1007:31;1032:5;1007:31;:::i;:::-;1057:5;1135:2;1120:18;;;;1107:32;;-1:-1:-1;;;804:367:1:o;1368:247::-;1427:6;1480:2;1468:9;1459:7;1455:23;1451:32;1448:52;;;1496:1;1493;1486:12;1448:52;1535:9;1522:23;1554:31;1579:5;1554:31;:::i;2026:508::-;2103:6;2111;2119;2172:2;2160:9;2151:7;2147:23;2143:32;2140:52;;;2188:1;2185;2178:12;2140:52;2227:9;2214:23;2246:31;2271:5;2246:31;:::i;:::-;2296:5;-1:-1:-1;2353:2:1;2338:18;;2325:32;2366:33;2325:32;2366:33;:::i;:::-;2026:508;;2418:7;;-1:-1:-1;;;2498:2:1;2483:18;;;;2470:32;;2026:508::o;2936:346::-;3004:6;3012;3065:2;3053:9;3044:7;3040:23;3036:32;3033:52;;;3081:1;3078;3071:12;3033:52;-1:-1:-1;;3126:23:1;;;3246:2;3231:18;;;3218:32;;-1:-1:-1;2936:346:1:o;3287:388::-;3355:6;3363;3416:2;3404:9;3395:7;3391:23;3387:32;3384:52;;;3432:1;3429;3422:12;3384:52;3471:9;3458:23;3490:31;3515:5;3490:31;:::i;:::-;3540:5;-1:-1:-1;3597:2:1;3582:18;;3569:32;3610:33;3569:32;3610:33;:::i;:::-;3662:7;3652:17;;;3287:388;;;;;:::o;4030:127::-;4091:10;4086:3;4082:20;4079:1;4072:31;4122:4;4119:1;4112:15;4146:4;4143:1;4136:15;4162:375;4250:1;4268:5;4282:249;4303:1;4293:8;4290:15;4282:249;;;4353:4;4348:3;4344:14;4338:4;4335:24;4332:50;;;4362:18;;:::i;:::-;4412:1;4402:8;4398:16;4395:49;;;4426:16;;;;4395:49;4509:1;4505:16;;;;;4465:15;;4282:249;;;4162:375;;;;;;:::o;4542:902::-;4591:5;4621:8;4611:80;;-1:-1:-1;4662:1:1;4676:5;;4611:80;4710:4;4700:76;;-1:-1:-1;4747:1:1;4761:5;;4700:76;4792:4;4810:1;4805:59;;;;4878:1;4873:174;;;;4785:262;;4805:59;4835:1;4826:10;;4849:5;;;4873:174;4910:3;4900:8;4897:17;4894:43;;;4917:18;;:::i;:::-;-1:-1:-1;;4973:1:1;4959:16;;5032:5;;4785:262;;5131:2;5121:8;5118:16;5112:3;5106:4;5103:13;5099:36;5093:2;5083:8;5080:16;5075:2;5069:4;5066:12;5062:35;5059:77;5056:203;;;-1:-1:-1;5168:19:1;;;5244:5;;5056:203;5291:42;-1:-1:-1;;5316:8:1;5310:4;5291:42;:::i;:::-;5369:6;5365:1;5361:6;5357:19;5348:7;5345:32;5342:58;;;5380:18;;:::i;:::-;5418:20;;4542:902;-1:-1:-1;;;4542:902:1:o;5449:140::-;5507:5;5536:47;5577:4;5567:8;5563:19;5557:4;5536:47;:::i;5594:168::-;5667:9;;;5698;;5715:15;;;5709:22;;5695:37;5685:71;;5736:18;;:::i;9618:125::-;9683:9;;;9704:10;;;9701:36;;;9717:18;;:::i;10156:128::-;10223:9;;;10244:11;;;10241:37;;;10258:18;;:::i;10421:127::-;10482:10;10477:3;10473:20;10470:1;10463:31;10513:4;10510:1;10503:15;10537:4;10534:1;10527:15;10553:251;10623:6;10676:2;10664:9;10655:7;10651:23;10647:32;10644:52;;;10692:1;10689;10682:12;10644:52;10724:9;10718:16;10743:31;10768:5;10743:31;:::i;10809:959::-;11071:4;11119:3;11108:9;11104:19;11150:6;11139:9;11132:25;11193:6;11188:2;11177:9;11173:18;11166:34;11236:3;11231:2;11220:9;11216:18;11209:31;11260:6;11295;11289:13;11326:6;11318;11311:22;11364:3;11353:9;11349:19;11342:26;;11403:2;11395:6;11391:15;11377:29;;11424:1;11434:195;11448:6;11445:1;11442:13;11434:195;;;11513:13;;-1:-1:-1;;;;;11509:39:1;11497:52;;11578:2;11604:15;;;;11569:12;;;;11545:1;11463:9;11434:195;;;-1:-1:-1;;;;;;;11685:32:1;;;;11680:2;11665:18;;11658:60;-1:-1:-1;;11749:3:1;11734:19;11727:35;11646:3;10809:959;-1:-1:-1;;;10809:959:1:o;11983:217::-;12023:1;12049;12039:132;;12093:10;12088:3;12084:20;12081:1;12074:31;12128:4;12125:1;12118:15;12156:4;12153:1;12146:15;12039:132;-1:-1:-1;12185:9:1;;11983:217::o
Swarm Source
ipfs://b9274d629525ffbd4706977e01c4f1c48a04390b1b4fbde2eef265526fea4c27
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.