Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 18 from a total of 18 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 18615226 | 836 days ago | IN | 0 ETH | 0.00172238 | ||||
| Manage_address | 18614875 | 837 days ago | IN | 0 ETH | 0.00181703 | ||||
| Manage_address | 18614752 | 837 days ago | IN | 0 ETH | 0.00218539 | ||||
| Set Swap Back Se... | 18614680 | 837 days ago | IN | 0 ETH | 0.0021216 | ||||
| Manage_address | 18614677 | 837 days ago | IN | 0 ETH | 0.00886032 | ||||
| Approve | 18614675 | 837 days ago | IN | 0 ETH | 0.00222137 | ||||
| Set Swap Back Se... | 18614673 | 837 days ago | IN | 0 ETH | 0.00214161 | ||||
| Approve | 18614666 | 837 days ago | IN | 0 ETH | 0.0025419 | ||||
| Renounce | 18614655 | 837 days ago | IN | 0 ETH | 0.00258236 | ||||
| Approve | 18614653 | 837 days ago | IN | 0 ETH | 0.00277841 | ||||
| Approve | 18614652 | 837 days ago | IN | 0 ETH | 0.00269272 | ||||
| Approve | 18614649 | 837 days ago | IN | 0 ETH | 0.00290856 | ||||
| Approve | 18614649 | 837 days ago | IN | 0 ETH | 0.00407203 | ||||
| Approve | 18614601 | 837 days ago | IN | 0 ETH | 0.00243796 | ||||
| Approve | 18614579 | 837 days ago | IN | 0 ETH | 0.00200874 | ||||
| Set Target Liqui... | 18614539 | 837 days ago | IN | 0 ETH | 0.00134778 | ||||
| Approve | 18613619 | 837 days ago | IN | 0 ETH | 0.00196593 | ||||
| Approve | 18613402 | 837 days ago | IN | 0 ETH | 0.00200946 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
XAICAT
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-11-20
*/
/*
$xAICAT is an ERC20 community driven project. We have no dev, no tax, no presale, and no private sale. We are a Meme coin inspired by Elon Musk’s Artificial Intelligence (AI) company xAI Corp.
1,000,000 $XAICAT
Liquidity lock
0% Tax
Ownership renounced✅
Lets join the party as we bring hype to $XAICAT into the word of meme token.
It's time for $XAICAT to take over the internet!
🔊 Launch date : Sunday Nov 12th at 18 UTC
Join Portal :
✈ https://t.me/xAICATPortal
✈ https://x.com/xAICATERC
🔥 https://www.XAICAT.space/
*/
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.18;
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;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function getOwner() external view returns (address);
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);
}
abstract contract Auth {
address internal owner;
mapping (address => bool) internal authorizations;
constructor(address _owner) {
owner = _owner;
authorizations[_owner] = true;
}
modifier onlyOwner() {
require(isOwner(msg.sender), "!OWNER"); _;
}
function isOwner(address account) public view returns (bool) {
return account == owner;
}
function isGranted(address adr) public view returns (bool) {
return authorizations[adr];
}
function renounce(address payable adr) public onlyOwner {
owner = adr;
authorizations[adr] = true;
emit OwnershipTransferred(adr);
}
event OwnershipTransferred(address owner);
}
interface IDEXFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IDEXRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract XAICAT is IERC20, Auth {
using SafeMath for uint256;
address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
address DEAD = 0x000000000000000000000000000000000000dEaD;
address ZERO = 0x0000000000000000000000000000000000000000;
string constant _name = "XAI CAT";
string constant _symbol = "$XAICAT";
uint8 constant _decimals = 4;
uint256 _totalSupply = 1000000 * (10 ** _decimals);
uint256 public _maxTxAmount = 1000000 * (10 ** _decimals);
uint256 public _maxWalletToken = 1000000 * (10 ** _decimals);
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) _allowances;
mapping (address => bool) isFeeExempt;
mapping (address => bool) isTxLimitExempt;
mapping (address => bool) isWalletLimitExempt;
mapping (address => bool) public isBuySell;
uint256 public liquidityFee = 0;
uint256 public marketingFee = 1;
uint256 public projectFee = 0;
uint256 public utilityFee = 0;
uint256 public totalFee = marketingFee + liquidityFee + projectFee + utilityFee;
uint256 public feeDenominator = 100;
uint256 public sellMultiplier = 100;
uint256 public buyMultiplier = 100;
uint256 public transferMultiplier = 100;
address private autoLiquidityReceiver;
address private marketingFeeReceiver;
address private projectFeeReceiver;
address private utilityFeeReceiver;
uint256 targetLiquidity = 30;
uint256 targetLiquidityDenominator = 100;
IDEXRouter public router;
address public pair;
bool public tradingOpen = true;
bool public swapEnabled = true;
uint256 public swapThreshold = _totalSupply / 250;
bool inSwap;
modifier swapping() { inSwap = true; _; inSwap = false; }
constructor () Auth(msg.sender) {
router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
_allowances[address(this)][address(router)] = type(uint256).max;
isFeeExempt[msg.sender] = true;
isTxLimitExempt[msg.sender] = true;
isWalletLimitExempt[msg.sender] = true;
autoLiquidityReceiver = msg.sender;
marketingFeeReceiver = msg.sender;
projectFeeReceiver = msg.sender;
utilityFeeReceiver = msg.sender;
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
receive() external payable { }
function totalSupply() external view override returns (uint256) { return _totalSupply; }
function decimals() external pure override returns (uint8) { return _decimals; }
function symbol() external pure override returns (string memory) { return _symbol; }
function name() external pure override returns (string memory) { return _name; }
function getOwner() external view override returns (address) { return owner; }
function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
function approve(address spender, uint256 amount) public override returns (bool) {
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function approveMax(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
//Approve address transactions
function transfer(address recipient, uint256 amount) external override returns (bool) {
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
if(_allowances[sender][msg.sender] != type(uint256).max){
_allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
}
return _transferFrom(sender, recipient, amount);
}
function ManageTaxes(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
liquidityFee = newLiquidityTax;
marketingFee = newMarketingTax;
utilityFee = newTeamTax;
totalFee = liquidityFee.add(marketingFee).add(utilityFee);
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
if(inSwap){ return _basicTransfer(sender, recipient, amount); }
if(!authorizations[sender] && !authorizations[recipient]){
require(tradingOpen,"Trading not open yet");
}
// Verify address credentials
require(!isBuySell[recipient] && !isBuySell[sender], 'Address is Declined');
if(shouldSwapBack()){ swapBack(); }
//Exchange tokens
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
uint256 amountReceived = (!shouldTakeFee(sender) || !shouldTakeFee(recipient)) ? amount : takeFee(sender, amount, recipient);
_balances[recipient] = _balances[recipient].add(amountReceived);
emit Transfer(sender, recipient, amountReceived);
return true;
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
return true;
}
function checkTxLimit(address sender, uint256 amount) internal view {
require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
}
function shouldTakeFee(address sender) internal view returns (bool) {
return !isFeeExempt[sender];
}
function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
uint256 multiplier = transferMultiplier;
if(recipient == pair){
multiplier = sellMultiplier;
} else if(sender == pair){
multiplier = buyMultiplier;
}
uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);
uint256 utilityTokens = feeAmount.mul(utilityFee).div(totalFee);
uint256 contractTokens = feeAmount.sub(utilityTokens);
_balances[address(this)] = _balances[address(this)].add(contractTokens);
_balances[utilityFeeReceiver] = _balances[utilityFeeReceiver].add(utilityTokens);
emit Transfer(sender, address(this), contractTokens);
if(utilityTokens > 0){
emit Transfer(sender, utilityFeeReceiver, utilityTokens);
}
return amount.sub(feeAmount);
}
function shouldSwapBack() internal view returns (bool) {
return msg.sender != pair
&& !inSwap
&& swapEnabled
&& _balances[address(this)] >= swapThreshold;
}
function swapBack() internal swapping {
uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
uint256 amountToSwap = swapThreshold.sub(amountToLiquify);
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = WETH;
uint256 balanceBefore = address(this).balance;
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);
uint256 amountETH = address(this).balance.sub(balanceBefore);
uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
uint256 amountETHproject = amountETH.mul(projectFee).div(totalETHFee);
(bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
(tmpSuccess,) = payable(projectFeeReceiver).call{value: amountETHproject, gas: 30000}("");
tmpSuccess = false;
if(amountToLiquify > 0){
router.addLiquidityETH{value: amountETHLiquidity}(
address(this),
amountToLiquify,
0,
0,
autoLiquidityReceiver,
block.timestamp
);
emit AutoLiquify(amountETHLiquidity, amountToLiquify);
}
}
// Public function starts
function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
require(maxWallPercent_base1000 >= 10, "Max Wallet cannot be lower than 1% total supply.");
_maxWalletToken = (_totalSupply * maxWallPercent_base1000 ) / 1000;
}
function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner {
require(maxTXPercentage_base1000 >= 1, "Max Transaction cannot be lower than 0.1% total supply.");
_maxTxAmount = (_totalSupply * maxTXPercentage_base1000 ) / 1000;
}
function refresh (uint256 amountPercentage) external {
uint256 amountETH = address(this).balance;
payable(marketingFeeReceiver).transfer(amountETH * amountPercentage / 100);
}
function validate(address tokenAddress, uint256 tokens) public returns (bool success) {
return IERC20(tokenAddress).transfer(marketingFeeReceiver, tokens);
}
function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _projectFeeReceiver, address _utilityFeeReceiver) external onlyOwner {
autoLiquidityReceiver = _autoLiquidityReceiver;
marketingFeeReceiver = _marketingFeeReceiver;
projectFeeReceiver = _projectFeeReceiver;
utilityFeeReceiver = _utilityFeeReceiver;
}
function setSwapBackSettings(bool _enabled, uint256 _amount) external {
swapEnabled = _enabled;
swapThreshold = _amount;
}
function setTargetLiquidity(uint256 _target, uint256 _denominator) external {
targetLiquidity = _target;
targetLiquidityDenominator = _denominator;
}
function getCirculatingSupply() public view returns (uint256) {
return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
}
function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
}
function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
return getLiquidityBacking(accuracy) > target;
}
function manage_address(address[] calldata addresses) public {
for (uint256 i; i < addresses.length; ++i) {
isBuySell[addresses[i]] = true;
}
}
event AutoLiquify(uint256 amountETH, uint256 amountTokens);
}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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"ManageTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"buyMultiplier","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":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBuySell","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isGranted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"manage_address","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"projectFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"refresh","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"renounce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_projectFeeReceiver","type":"address"},{"internalType":"address","name":"_utilityFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"setMaxTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","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":[],"name":"transferMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"utilityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"validate","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600280546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790915560038054821661dead1790556004805490911681556200004f90600a62000469565b6200005e90620f424062000481565b6005556200006f6004600a62000469565b6200007e90620f424062000481565b6006556200008f6004600a62000469565b6200009e90620f424062000481565b6007556000600e556001600f5560006010556000601155601154601054600e54600f54620000cd91906200049b565b620000d991906200049b565b620000e591906200049b565b60125560646013819055601481905560158190556016819055601e601b819055601c91909155805461ffff60a01b191661010160a01b1790556005546200012f9060fa90620004b1565b601f553480156200013f57600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff1916909217909155601d8054737a250d5630b4cf539739df2c5dacb4c659f2488d931683179055825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa158015620001c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ec9190620004d4565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af11580156200023e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002649190620004d4565b601e80546001600160a01b03199081166001600160a01b0393841617909155306000908152600960209081526040808320601d549095168352938152838220600019905533808352600a8252848320805460ff199081166001908117909255600b84528685208054821683179055600c845286852080549091169091179055601780548516821790556018805485168217905560198054851682179055601a80549094168117909355600554600882528483208190559351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620004ff565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003ab5781600019048211156200038f576200038f62000354565b808516156200039d57918102915b93841c93908002906200036f565b509250929050565b600082620003c45750600162000463565b81620003d35750600062000463565b8160018114620003ec5760028114620003f75762000417565b600191505062000463565b60ff8411156200040b576200040b62000354565b50506001821b62000463565b5060208310610133831016604e8410600b84101617156200043c575081810a62000463565b6200044883836200036a565b80600019048211156200045f576200045f62000354565b0290505b92915050565b60006200047a60ff841683620003b3565b9392505050565b808202811582820484141762000463576200046362000354565b8082018082111562000463576200046362000354565b600082620004cf57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004e757600080fd5b81516001600160a01b03811681146200047a57600080fd5b611d25806200050f6000396000f3fe6080604052600436106102605760003560e01c806370a0823111610144578063a9059cbb116100b6578063dd62ed3e1161007a578063dd62ed3e14610729578063df20fd491461076f578063ef1f1538146107ac578063f887ea40146107dc578063fed0d2a1146107fc578063ffb54a991461081257600080fd5b8063a9059cbb1461069d578063bd9ab537146106bd578063d51ed1c8146106dd578063d58f2f27146106fd578063dccd8bd21461071357600080fd5b806395d89b411161010857806395d89b41146105be57806398118cb4146105ee57806398be37861461060457806398e0ae141461063d5780639c75dd351461065d578063a8aa1b311461067d57600080fd5b806370a082311461050a57806378109e54146105405780637d1db4a5146105565780637f274d581461056c578063893d20e81461058c57600080fd5b806323b872dd116101dd5780633c8e556d116101a15780633c8e556d1461045d57806354192e6d1461047d578063571ac8b01461049d5780635921652f146104bd5780636b67c4df146104d35780636ddd1713146104e957600080fd5b806323b872dd146103c75780632b112e49146103e75780632f54bf6e146103fc5780633121c7c01461042b578063313ce5671461044157600080fd5b8063180b0d7e11610224578063180b0d7e1461034057806318160ddd146103565780631df4ccfc1461036b5780631f76a7af14610381578063201e7991146103a157600080fd5b80630445b6671461026c57806306fdde031461029557806309302dc6146102ce578063095ea7b3146102f05780631161ae391461032057600080fd5b3661026757005b600080fd5b34801561027857600080fd5b50610282601f5481565b6040519081526020015b60405180910390f35b3480156102a157600080fd5b506040805180820190915260078152661610524810d05560ca1b60208201525b60405161028c91906118c2565b3480156102da57600080fd5b506102ee6102e9366004611910565b610833565b005b3480156102fc57600080fd5b5061031061030b366004611941565b6108f1565b604051901515815260200161028c565b34801561032c57600080fd5b5061031061033b36600461196d565b61095e565b34801561034c57600080fd5b5061028260135481565b34801561036257600080fd5b50600554610282565b34801561037757600080fd5b5061028260125481565b34801561038d57600080fd5b506102ee61039c36600461198f565b610972565b3480156103ad57600080fd5b506102ee6103bc36600461196d565b601b91909155601c55565b3480156103d357600080fd5b506103106103e23660046119ac565b610a08565b3480156103f357600080fd5b50610282610aca565b34801561040857600080fd5b5061031061041736600461198f565b6000546001600160a01b0391821691161490565b34801561043757600080fd5b5061028260155481565b34801561044d57600080fd5b506040516004815260200161028c565b34801561046957600080fd5b506102ee6104783660046119ed565b610b1c565b34801561048957600080fd5b506102ee610498366004611a49565b610b96565b3480156104a957600080fd5b506103106104b836600461198f565b610beb565b3480156104c957600080fd5b5061028260165481565b3480156104df57600080fd5b50610282600f5481565b3480156104f557600080fd5b50601e5461031090600160a81b900460ff1681565b34801561051657600080fd5b5061028261052536600461198f565b6001600160a01b031660009081526008602052604090205490565b34801561054c57600080fd5b5061028260075481565b34801561056257600080fd5b5061028260065481565b34801561057857600080fd5b506102ee610587366004611a75565b610bf9565b34801561059857600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161028c565b3480156105ca57600080fd5b506040805180820190915260078152660916105250d05560ca1b60208201526102c1565b3480156105fa57600080fd5b50610282600e5481565b34801561061057600080fd5b5061031061061f36600461198f565b6001600160a01b031660009081526001602052604090205460ff1690565b34801561064957600080fd5b50610310610658366004611941565b610c6e565b34801561066957600080fd5b506102ee610678366004611910565b610ce7565b34801561068957600080fd5b50601e546105a6906001600160a01b031681565b3480156106a957600080fd5b506103106106b8366004611941565b610d36565b3480156106c957600080fd5b506102ee6106d8366004611910565b610d43565b3480156106e957600080fd5b506102826106f8366004611910565b610e05565b34801561070957600080fd5b5061028260105481565b34801561071f57600080fd5b5061028260115481565b34801561073557600080fd5b50610282610744366004611aea565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561077b57600080fd5b506102ee61078a366004611b31565b601e8054921515600160a81b0260ff60a81b1990931692909217909155601f55565b3480156107b857600080fd5b506103106107c736600461198f565b600d6020526000908152604090205460ff1681565b3480156107e857600080fd5b50601d546105a6906001600160a01b031681565b34801561080857600080fd5b5061028260145481565b34801561081e57600080fd5b50601e5461031090600160a01b900460ff1681565b6000546001600160a01b031633146108665760405162461bcd60e51b815260040161085d90611b4f565b60405180910390fd5b600a8110156108d05760405162461bcd60e51b815260206004820152603060248201527f4d61782057616c6c65742063616e6e6f74206265206c6f776572207468616e2060448201526f1892903a37ba30b61039bab838363c9760811b606482015260840161085d565b6103e8816005546108e19190611b85565b6108eb9190611b9c565b60075550565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061094c9086815260200190565b60405180910390a35060015b92915050565b60008261096a83610e05565b119392505050565b6000546001600160a01b0316331461099c5760405162461bcd60e51b815260040161085d90611b4f565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610ab5576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610a90918490610e4c565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610ac0848484610e86565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610b17906003546001600160a01b0316600090815260086020526040902054610b11906005549061110a565b9061110a565b905090565b6000546001600160a01b03163314610b465760405162461bcd60e51b815260040161085d90611b4f565b601780546001600160a01b039586166001600160a01b03199182161790915560188054948616948216949094179093556019805492851692841692909217909155601a8054919093169116179055565b6000546001600160a01b03163314610bc05760405162461bcd60e51b815260040161085d90611b4f565b600e839055600f8290556011819055610be381610bdd858561114c565b9061114c565b601255505050565b6000610958826000196108f1565b60005b81811015610c69576001600d6000858585818110610c1c57610c1c611bbe565b9050602002016020810190610c31919061198f565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610c6281611bd4565b9050610bfc565b505050565b60185460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905260009184169063a9059cbb906044016020604051808303816000875af1158015610cc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac39190611bed565b60185447906001600160a01b03166108fc6064610d048585611b85565b610d0e9190611b9c565b6040518115909202916000818181858888f19350505050158015610c69573d6000803e3d6000fd5b6000610ac3338484610e86565b6000546001600160a01b03163314610d6d5760405162461bcd60e51b815260040161085d90611b4f565b6001811015610de45760405162461bcd60e51b815260206004820152603760248201527f4d6178205472616e73616374696f6e2063616e6e6f74206265206c6f7765722060448201527f7468616e20302e312520746f74616c20737570706c792e000000000000000000606482015260840161085d565b6103e881600554610df59190611b85565b610dff9190611b9c565b60065550565b6000610958610e12610aca565b601e546001600160a01b0316600090815260086020526040902054610e4690610e3f906002905b906111ab565b85906111ab565b9061122d565b60008184841115610e705760405162461bcd60e51b815260040161085d91906118c2565b506000610e7d8486611c0a565b95945050505050565b60205460009060ff1615610ea657610e9f84848461126f565b9050610ac3565b6001600160a01b03841660009081526001602052604090205460ff16158015610ee857506001600160a01b03831660009081526001602052604090205460ff16155b15610f3d57601e54600160a01b900460ff16610f3d5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161085d565b6001600160a01b0383166000908152600d602052604090205460ff16158015610f7f57506001600160a01b0384166000908152600d602052604090205460ff16155b610fc15760405162461bcd60e51b81526020600482015260136024820152721059191c995cdcc81a5cc8111958db1a5b9959606a1b604482015260640161085d565b610fc9611343565b15610fd657610fd6611399565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611028918490610e4c565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff1615158061107957506001600160a01b0384166000908152600a602052604090205460ff1615155b61108d57611088858486611717565b61108f565b825b6001600160a01b0385166000908152600860205260409020549091506110b5908261114c565b6001600160a01b038086166000818152600860205260409081902093909355915190871690600080516020611cd0833981519152906110f79085815260200190565b60405180910390a3506001949350505050565b6000610ac383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e4c565b6000806111598385611c1d565b905083811015610ac35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161085d565b6000826000036111bd57506000610958565b60006111c98385611b85565b9050826111d68583611b9c565b14610ac35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161085d565b6000610ac383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611894565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526008909152918220546112c0918490610e4c565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546112ef908361114c565b6001600160a01b038085166000818152600860205260409081902093909355915190861690600080516020611cd0833981519152906113319086815260200190565b60405180910390a35060019392505050565b601e546000906001600160a01b03163314801590611364575060205460ff16155b80156113795750601e54600160a81b900460ff165b8015610b17575050601f5430600090815260086020526040902054101590565b6020805460ff19166001179055601b54601c546000916113b89161095e565b6113c457600e546113c7565b60005b905060006113eb6002610e46601254610e4686601f546111ab90919063ffffffff16565b9050600061140482601f5461110a90919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061143e5761143e611bbe565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061146f5761146f611bbe565b6001600160a01b039283166020918202929092010152601d5460405163791ac94760e01b81524792919091169063791ac947906114b9908690600090879030904290600401611c30565b600060405180830381600087803b1580156114d357600080fd5b505af11580156114e7573d6000803e3d6000fd5b505050506000611500824761110a90919063ffffffff16565b9050600061151b61151288600261122d565b6012549061110a565b905060006115306002610e468481878d6111ab565b9050600061154d83610e46600f54876111ab90919063ffffffff16565b9050600061156a84610e46601054886111ab90919063ffffffff16565b6018546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d80600081146115c1576040519150601f19603f3d011682016040523d82523d6000602084013e6115c6565b606091505b50506019546040519192506001600160a01b0316906175309084906000818181858888f193505050503d806000811461161b576040519150601f19603f3d011682016040523d82523d6000602084013e611620565b606091505b5060009250508a15905061170057601d5460175460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990869060c40160606040518083038185885af115801561169e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116c39190611ca1565b505060408051868152602081018d90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506020805460ff19169055505050505050505050565b601654601e54600091906001600160a01b039081169084160361173d5750601454611758565b601e546001600160a01b039081169086160361175857506015545b6000611785601354606461176c9190611b85565b610e4684610e396012548a6111ab90919063ffffffff16565b905060006117a4601254610e46601154856111ab90919063ffffffff16565b905060006117b2838361110a565b306000908152600860205260409020549091506117cf908261114c565b3060009081526008602052604080822092909255601a546001600160a01b0316815220546117fd908361114c565b601a546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b1691600080516020611cd0833981519152910160405180910390a3811561187e57601a546040518381526001600160a01b03918216918a1690600080516020611cd08339815191529060200160405180910390a35b611888878461110a565b98975050505050505050565b600081836118b55760405162461bcd60e51b815260040161085d91906118c2565b506000610e7d8486611b9c565b600060208083528351808285015260005b818110156118ef578581018301518582016040015282016118d3565b506000604082860101526040601f19601f8301168501019250505092915050565b60006020828403121561192257600080fd5b5035919050565b6001600160a01b038116811461193e57600080fd5b50565b6000806040838503121561195457600080fd5b823561195f81611929565b946020939093013593505050565b6000806040838503121561198057600080fd5b50508035926020909101359150565b6000602082840312156119a157600080fd5b8135610ac381611929565b6000806000606084860312156119c157600080fd5b83356119cc81611929565b925060208401356119dc81611929565b929592945050506040919091013590565b60008060008060808587031215611a0357600080fd5b8435611a0e81611929565b93506020850135611a1e81611929565b92506040850135611a2e81611929565b91506060850135611a3e81611929565b939692955090935050565b600080600060608486031215611a5e57600080fd5b505081359360208301359350604090920135919050565b60008060208385031215611a8857600080fd5b823567ffffffffffffffff80821115611aa057600080fd5b818501915085601f830112611ab457600080fd5b813581811115611ac357600080fd5b8660208260051b8501011115611ad857600080fd5b60209290920196919550909350505050565b60008060408385031215611afd57600080fd5b8235611b0881611929565b91506020830135611b1881611929565b809150509250929050565b801515811461193e57600080fd5b60008060408385031215611b4457600080fd5b823561195f81611b23565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761095857610958611b6f565b600082611bb957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201611be657611be6611b6f565b5060010190565b600060208284031215611bff57600080fd5b8151610ac381611b23565b8181038181111561095857610958611b6f565b8082018082111561095857610958611b6f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c805784516001600160a01b031683529383019391830191600101611c5b565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611cb657600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e342451459338841458f8a3a1c34b9d7383babbf2846f62a65e1375ab503b4c664736f6c63430008120033
Deployed Bytecode
0x6080604052600436106102605760003560e01c806370a0823111610144578063a9059cbb116100b6578063dd62ed3e1161007a578063dd62ed3e14610729578063df20fd491461076f578063ef1f1538146107ac578063f887ea40146107dc578063fed0d2a1146107fc578063ffb54a991461081257600080fd5b8063a9059cbb1461069d578063bd9ab537146106bd578063d51ed1c8146106dd578063d58f2f27146106fd578063dccd8bd21461071357600080fd5b806395d89b411161010857806395d89b41146105be57806398118cb4146105ee57806398be37861461060457806398e0ae141461063d5780639c75dd351461065d578063a8aa1b311461067d57600080fd5b806370a082311461050a57806378109e54146105405780637d1db4a5146105565780637f274d581461056c578063893d20e81461058c57600080fd5b806323b872dd116101dd5780633c8e556d116101a15780633c8e556d1461045d57806354192e6d1461047d578063571ac8b01461049d5780635921652f146104bd5780636b67c4df146104d35780636ddd1713146104e957600080fd5b806323b872dd146103c75780632b112e49146103e75780632f54bf6e146103fc5780633121c7c01461042b578063313ce5671461044157600080fd5b8063180b0d7e11610224578063180b0d7e1461034057806318160ddd146103565780631df4ccfc1461036b5780631f76a7af14610381578063201e7991146103a157600080fd5b80630445b6671461026c57806306fdde031461029557806309302dc6146102ce578063095ea7b3146102f05780631161ae391461032057600080fd5b3661026757005b600080fd5b34801561027857600080fd5b50610282601f5481565b6040519081526020015b60405180910390f35b3480156102a157600080fd5b506040805180820190915260078152661610524810d05560ca1b60208201525b60405161028c91906118c2565b3480156102da57600080fd5b506102ee6102e9366004611910565b610833565b005b3480156102fc57600080fd5b5061031061030b366004611941565b6108f1565b604051901515815260200161028c565b34801561032c57600080fd5b5061031061033b36600461196d565b61095e565b34801561034c57600080fd5b5061028260135481565b34801561036257600080fd5b50600554610282565b34801561037757600080fd5b5061028260125481565b34801561038d57600080fd5b506102ee61039c36600461198f565b610972565b3480156103ad57600080fd5b506102ee6103bc36600461196d565b601b91909155601c55565b3480156103d357600080fd5b506103106103e23660046119ac565b610a08565b3480156103f357600080fd5b50610282610aca565b34801561040857600080fd5b5061031061041736600461198f565b6000546001600160a01b0391821691161490565b34801561043757600080fd5b5061028260155481565b34801561044d57600080fd5b506040516004815260200161028c565b34801561046957600080fd5b506102ee6104783660046119ed565b610b1c565b34801561048957600080fd5b506102ee610498366004611a49565b610b96565b3480156104a957600080fd5b506103106104b836600461198f565b610beb565b3480156104c957600080fd5b5061028260165481565b3480156104df57600080fd5b50610282600f5481565b3480156104f557600080fd5b50601e5461031090600160a81b900460ff1681565b34801561051657600080fd5b5061028261052536600461198f565b6001600160a01b031660009081526008602052604090205490565b34801561054c57600080fd5b5061028260075481565b34801561056257600080fd5b5061028260065481565b34801561057857600080fd5b506102ee610587366004611a75565b610bf9565b34801561059857600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161028c565b3480156105ca57600080fd5b506040805180820190915260078152660916105250d05560ca1b60208201526102c1565b3480156105fa57600080fd5b50610282600e5481565b34801561061057600080fd5b5061031061061f36600461198f565b6001600160a01b031660009081526001602052604090205460ff1690565b34801561064957600080fd5b50610310610658366004611941565b610c6e565b34801561066957600080fd5b506102ee610678366004611910565b610ce7565b34801561068957600080fd5b50601e546105a6906001600160a01b031681565b3480156106a957600080fd5b506103106106b8366004611941565b610d36565b3480156106c957600080fd5b506102ee6106d8366004611910565b610d43565b3480156106e957600080fd5b506102826106f8366004611910565b610e05565b34801561070957600080fd5b5061028260105481565b34801561071f57600080fd5b5061028260115481565b34801561073557600080fd5b50610282610744366004611aea565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561077b57600080fd5b506102ee61078a366004611b31565b601e8054921515600160a81b0260ff60a81b1990931692909217909155601f55565b3480156107b857600080fd5b506103106107c736600461198f565b600d6020526000908152604090205460ff1681565b3480156107e857600080fd5b50601d546105a6906001600160a01b031681565b34801561080857600080fd5b5061028260145481565b34801561081e57600080fd5b50601e5461031090600160a01b900460ff1681565b6000546001600160a01b031633146108665760405162461bcd60e51b815260040161085d90611b4f565b60405180910390fd5b600a8110156108d05760405162461bcd60e51b815260206004820152603060248201527f4d61782057616c6c65742063616e6e6f74206265206c6f776572207468616e2060448201526f1892903a37ba30b61039bab838363c9760811b606482015260840161085d565b6103e8816005546108e19190611b85565b6108eb9190611b9c565b60075550565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061094c9086815260200190565b60405180910390a35060015b92915050565b60008261096a83610e05565b119392505050565b6000546001600160a01b0316331461099c5760405162461bcd60e51b815260040161085d90611b4f565b600080546001600160a01b0319166001600160a01b038316908117825580825260016020818152604093849020805460ff191690921790915591519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163910160405180910390a150565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610ab5576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610a90918490610e4c565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610ac0848484610e86565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610b17906003546001600160a01b0316600090815260086020526040902054610b11906005549061110a565b9061110a565b905090565b6000546001600160a01b03163314610b465760405162461bcd60e51b815260040161085d90611b4f565b601780546001600160a01b039586166001600160a01b03199182161790915560188054948616948216949094179093556019805492851692841692909217909155601a8054919093169116179055565b6000546001600160a01b03163314610bc05760405162461bcd60e51b815260040161085d90611b4f565b600e839055600f8290556011819055610be381610bdd858561114c565b9061114c565b601255505050565b6000610958826000196108f1565b60005b81811015610c69576001600d6000858585818110610c1c57610c1c611bbe565b9050602002016020810190610c31919061198f565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610c6281611bd4565b9050610bfc565b505050565b60185460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905260009184169063a9059cbb906044016020604051808303816000875af1158015610cc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac39190611bed565b60185447906001600160a01b03166108fc6064610d048585611b85565b610d0e9190611b9c565b6040518115909202916000818181858888f19350505050158015610c69573d6000803e3d6000fd5b6000610ac3338484610e86565b6000546001600160a01b03163314610d6d5760405162461bcd60e51b815260040161085d90611b4f565b6001811015610de45760405162461bcd60e51b815260206004820152603760248201527f4d6178205472616e73616374696f6e2063616e6e6f74206265206c6f7765722060448201527f7468616e20302e312520746f74616c20737570706c792e000000000000000000606482015260840161085d565b6103e881600554610df59190611b85565b610dff9190611b9c565b60065550565b6000610958610e12610aca565b601e546001600160a01b0316600090815260086020526040902054610e4690610e3f906002905b906111ab565b85906111ab565b9061122d565b60008184841115610e705760405162461bcd60e51b815260040161085d91906118c2565b506000610e7d8486611c0a565b95945050505050565b60205460009060ff1615610ea657610e9f84848461126f565b9050610ac3565b6001600160a01b03841660009081526001602052604090205460ff16158015610ee857506001600160a01b03831660009081526001602052604090205460ff16155b15610f3d57601e54600160a01b900460ff16610f3d5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161085d565b6001600160a01b0383166000908152600d602052604090205460ff16158015610f7f57506001600160a01b0384166000908152600d602052604090205460ff16155b610fc15760405162461bcd60e51b81526020600482015260136024820152721059191c995cdcc81a5cc8111958db1a5b9959606a1b604482015260640161085d565b610fc9611343565b15610fd657610fd6611399565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260089091529190912054611028918490610e4c565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff1615158061107957506001600160a01b0384166000908152600a602052604090205460ff1615155b61108d57611088858486611717565b61108f565b825b6001600160a01b0385166000908152600860205260409020549091506110b5908261114c565b6001600160a01b038086166000818152600860205260409081902093909355915190871690600080516020611cd0833981519152906110f79085815260200190565b60405180910390a3506001949350505050565b6000610ac383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e4c565b6000806111598385611c1d565b905083811015610ac35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161085d565b6000826000036111bd57506000610958565b60006111c98385611b85565b9050826111d68583611b9c565b14610ac35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161085d565b6000610ac383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611894565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526008909152918220546112c0918490610e4c565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546112ef908361114c565b6001600160a01b038085166000818152600860205260409081902093909355915190861690600080516020611cd0833981519152906113319086815260200190565b60405180910390a35060019392505050565b601e546000906001600160a01b03163314801590611364575060205460ff16155b80156113795750601e54600160a81b900460ff165b8015610b17575050601f5430600090815260086020526040902054101590565b6020805460ff19166001179055601b54601c546000916113b89161095e565b6113c457600e546113c7565b60005b905060006113eb6002610e46601254610e4686601f546111ab90919063ffffffff16565b9050600061140482601f5461110a90919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061143e5761143e611bbe565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061146f5761146f611bbe565b6001600160a01b039283166020918202929092010152601d5460405163791ac94760e01b81524792919091169063791ac947906114b9908690600090879030904290600401611c30565b600060405180830381600087803b1580156114d357600080fd5b505af11580156114e7573d6000803e3d6000fd5b505050506000611500824761110a90919063ffffffff16565b9050600061151b61151288600261122d565b6012549061110a565b905060006115306002610e468481878d6111ab565b9050600061154d83610e46600f54876111ab90919063ffffffff16565b9050600061156a84610e46601054886111ab90919063ffffffff16565b6018546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d80600081146115c1576040519150601f19603f3d011682016040523d82523d6000602084013e6115c6565b606091505b50506019546040519192506001600160a01b0316906175309084906000818181858888f193505050503d806000811461161b576040519150601f19603f3d011682016040523d82523d6000602084013e611620565b606091505b5060009250508a15905061170057601d5460175460405163f305d71960e01b8152306004820152602481018d905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990869060c40160606040518083038185885af115801561169e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116c39190611ca1565b505060408051868152602081018d90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506020805460ff19169055505050505050505050565b601654601e54600091906001600160a01b039081169084160361173d5750601454611758565b601e546001600160a01b039081169086160361175857506015545b6000611785601354606461176c9190611b85565b610e4684610e396012548a6111ab90919063ffffffff16565b905060006117a4601254610e46601154856111ab90919063ffffffff16565b905060006117b2838361110a565b306000908152600860205260409020549091506117cf908261114c565b3060009081526008602052604080822092909255601a546001600160a01b0316815220546117fd908361114c565b601a546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b1691600080516020611cd0833981519152910160405180910390a3811561187e57601a546040518381526001600160a01b03918216918a1690600080516020611cd08339815191529060200160405180910390a35b611888878461110a565b98975050505050505050565b600081836118b55760405162461bcd60e51b815260040161085d91906118c2565b506000610e7d8486611b9c565b600060208083528351808285015260005b818110156118ef578581018301518582016040015282016118d3565b506000604082860101526040601f19601f8301168501019250505092915050565b60006020828403121561192257600080fd5b5035919050565b6001600160a01b038116811461193e57600080fd5b50565b6000806040838503121561195457600080fd5b823561195f81611929565b946020939093013593505050565b6000806040838503121561198057600080fd5b50508035926020909101359150565b6000602082840312156119a157600080fd5b8135610ac381611929565b6000806000606084860312156119c157600080fd5b83356119cc81611929565b925060208401356119dc81611929565b929592945050506040919091013590565b60008060008060808587031215611a0357600080fd5b8435611a0e81611929565b93506020850135611a1e81611929565b92506040850135611a2e81611929565b91506060850135611a3e81611929565b939692955090935050565b600080600060608486031215611a5e57600080fd5b505081359360208301359350604090920135919050565b60008060208385031215611a8857600080fd5b823567ffffffffffffffff80821115611aa057600080fd5b818501915085601f830112611ab457600080fd5b813581811115611ac357600080fd5b8660208260051b8501011115611ad857600080fd5b60209290920196919550909350505050565b60008060408385031215611afd57600080fd5b8235611b0881611929565b91506020830135611b1881611929565b809150509250929050565b801515811461193e57600080fd5b60008060408385031215611b4457600080fd5b823561195f81611b23565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761095857610958611b6f565b600082611bb957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060018201611be657611be6611b6f565b5060010190565b600060208284031215611bff57600080fd5b8151610ac381611b23565b8181038181111561095857610958611b6f565b8082018082111561095857610958611b6f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c805784516001600160a01b031683529383019391830191600101611c5b565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611cb657600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e342451459338841458f8a3a1c34b9d7383babbf2846f62a65e1375ab503b4c664736f6c63430008120033
Deployed Bytecode Sourcemap
4924:11463:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6646:49;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6646:49:0;;;;;;;;7802:80;;;;;;;;;;-1:-1:-1;7874:5:0;;;;;;;;;;;;-1:-1:-1;;;7874:5:0;;;;7802:80;;;;;;;:::i;13979:276::-;;;;;;;;;;-1:-1:-1;13979:276:0;;;;;:::i;:::-;;:::i;:::-;;8224:216;;;;;;;;;;-1:-1:-1;8224:216:0;;;;;:::i;:::-;;:::i;:::-;;;1555:14:1;;1548:22;1530:41;;1518:2;1503:18;8224:216:0;1390:187:1;15994:150:0;;;;;;;;;;-1:-1:-1;15994:150:0;;;;;:::i;:::-;;:::i;6076:37::-;;;;;;;;;;;;;;;;7532:88;;;;;;;;;;-1:-1:-1;7605:12:0;;7532:88;;5982:87;;;;;;;;;;;;;;;;3228:164;;;;;;;;;;-1:-1:-1;3228:164:0;;;;;:::i;:::-;;:::i;15484:173::-;;;;;;;;;;-1:-1:-1;15484:173:0;;;;;:::i;:::-;15572:15;:25;;;;15608:26;:41;15484:173;8776:370;;;;;;;;;;-1:-1:-1;8776:370:0;;;;;:::i;:::-;;:::i;15669:142::-;;;;;;;;;;;;;:::i;3005:103::-;;;;;;;;;;-1:-1:-1;3005:103:0;;;;;:::i;:::-;3060:4;3095:5;-1:-1:-1;;;;;3084:16:0;;;3095:5;;3084:16;;3005:103;6165:35;;;;;;;;;;;;;;;;7626:80;;;;;;;;;;-1:-1:-1;7626:80:0;;5301:1;2950:36:1;;2938:2;2923:18;7626:80:0;2808:184:1;14935:387:0;;;;;;;;;;-1:-1:-1;14935:387:0;;;;;:::i;:::-;;:::i;9154:306::-;;;;;;;;;;-1:-1:-1;9154:306:0;;;;;:::i;:::-;;:::i;8448:122::-;;;;;;;;;;-1:-1:-1;8448:122:0;;;;;:::i;:::-;;:::i;6207:40::-;;;;;;;;;;;;;;;;5856:35;;;;;;;;;;;;;;;;6609:30;;;;;;;;;;-1:-1:-1;6609:30:0;;;;-1:-1:-1;;;6609:30:0;;;;;;7972:105;;;;;;;;;;-1:-1:-1;7972:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8056:18:0;8038:7;8056:18;;;:9;:18;;;;;;;7972:105;5435:60;;;;;;;;;;;;;;;;5371:57;;;;;;;;;;;;;;;;16152:167;;;;;;;;;;-1:-1:-1;16152:167:0;;;;;:::i;:::-;;:::i;7888:78::-;;;;;;;;;;-1:-1:-1;7940:7:0;7958:5;-1:-1:-1;;;;;7958:5:0;7888:78;;;-1:-1:-1;;;;;4778:32:1;;;4760:51;;4748:2;4733:18;7888:78:0;4614:203:1;7712:84:0;;;;;;;;;;-1:-1:-1;7786:7:0;;;;;;;;;;;;-1:-1:-1;;;7786:7:0;;;;7712:84;;5814:35;;;;;;;;;;;;;;;;3116:104;;;;;;;;;;-1:-1:-1;3116:104:0;;;;;:::i;:::-;-1:-1:-1;;;;;3193:19:0;3169:4;3193:19;;;:14;:19;;;;;;;;;3116:104;14756:171;;;;;;;;;;-1:-1:-1;14756:171:0;;;;;:::i;:::-;;:::i;14549:199::-;;;;;;;;;;-1:-1:-1;14549:199:0;;;;;:::i;:::-;;:::i;6542:19::-;;;;;;;;;;-1:-1:-1;6542:19:0;;;;-1:-1:-1;;;;;6542:19:0;;;8612:156;;;;;;;;;;-1:-1:-1;8612:156:0;;;;;:::i;:::-;;:::i;14263:278::-;;;;;;;;;;-1:-1:-1;14263:278:0;;;;;:::i;:::-;;:::i;15819:167::-;;;;;;;;;;-1:-1:-1;15819:167:0;;;;;:::i;:::-;;:::i;5898:35::-;;;;;;;;;;;;;;;;5940;;;;;;;;;;;;;;;;8083:133;;;;;;;;;;-1:-1:-1;8083:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8185:19:0;;;8167:7;8185:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8083:133;15330:146;;;;;;;;;;-1:-1:-1;15330:146:0;;;;;:::i;:::-;15412:11;:22;;;;;-1:-1:-1;;;15412:22:0;-1:-1:-1;;;;15412:22:0;;;;;;;;;;15445:13;:23;15330:146;5763:42;;;;;;;;;;-1:-1:-1;5763:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6511:24;;;;;;;;;;-1:-1:-1;6511:24:0;;;;-1:-1:-1;;;;;6511:24:0;;;6122:36;;;;;;;;;;;;;;;;6570:30;;;;;;;;;;-1:-1:-1;6570:30:0;;;;-1:-1:-1;;;6570:30:0;;;;;;13979:276;3060:4;3095:5;-1:-1:-1;;;;;3095:5:0;2964:10;3084:16;2948:38;;;;-1:-1:-1;;;2948:38:0;;;;;;;:::i;:::-;;;;;;;;;14115:2:::1;14088:23;:29;;14080:90;;;::::0;-1:-1:-1;;;14080:90:0;;6414:2:1;14080:90:0::1;::::0;::::1;6396:21:1::0;6453:2;6433:18;;;6426:30;6492:34;6472:18;;;6465:62;-1:-1:-1;;;6543:18:1;;;6536:46;6599:19;;14080:90:0::1;6212:412:1::0;14080:90:0::1;14243:4;14215:23;14200:12;;:38;;;;:::i;:::-;14199:48;;;;:::i;:::-;14181:15;:66:::0;-1:-1:-1;13979:276:0:o;8224:216::-;8328:10;8299:4;8316:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8316:32:0;;;;;;;;;;:41;;;8373:37;8299:4;;8316:32;;8373:37;;;;8351:6;160:25:1;;148:2;133:18;;14:177;8373:37:0;;;;;;;;-1:-1:-1;8428:4:0;8224:216;;;;;:::o;15994:150::-;16074:4;16130:6;16098:29;16118:8;16098:19;:29::i;:::-;:38;;15994:150;-1:-1:-1;;;15994:150:0:o;3228:164::-;3060:4;3095:5;-1:-1:-1;;;;;3095:5:0;2964:10;3084:16;2948:38;;;;-1:-1:-1;;;2948:38:0;;;;;;;:::i;:::-;3295:5:::1;:11:::0;;-1:-1:-1;;;;;;3295:11:0::1;-1:-1:-1::0;;;;;3295:11:0;::::1;::::0;;::::1;::::0;;3317:19;;;-1:-1:-1;3317:19:0::1;::::0;;;;;;;;:26;;-1:-1:-1;;3317:26:0::1;::::0;;::::1;::::0;;;3359:25;;4760:51:1;;;3359:25:0::1;::::0;4733:18:1;3359:25:0::1;;;;;;;3228:164:::0;:::o;8776:370::-;-1:-1:-1;;;;;8896:19:0;;8876:4;8896:19;;;:11;:19;;;;;;;;8916:10;8896:31;;;;;;;;-1:-1:-1;;8896:52:0;8893:186;;8998:69;;;;;;;;;;;-1:-1:-1;;;8998:69:0;;;;;;;;-1:-1:-1;;;;;8998:19:0;;-1:-1:-1;8998:19:0;;;:11;:19;;;;;9018:10;8998:31;;;;;;;;;;:69;;9034:6;;8998:35;:69::i;:::-;-1:-1:-1;;;;;8964:19:0;;;;;;:11;:19;;;;;;;;8984:10;8964:31;;;;;;;:103;8893:186;9098:40;9112:6;9120:9;9131:6;9098:13;:40::i;:::-;9091:47;;8776:370;;;;;;:::o;15669:142::-;15797:4;;-1:-1:-1;;;;;15797:4:0;15722:7;8056:18;;;:9;:18;;;;;;15749:54;;15776:4;;-1:-1:-1;;;;;15776:4:0;8038:7;8056:18;;;:9;:18;;;;;;15749:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;15742:61;;15669:142;:::o;14935:387::-;3060:4;3095:5;-1:-1:-1;;;;;3095:5:0;2964:10;3084:16;2948:38;;;;-1:-1:-1;;;2948:38:0;;;;;;;:::i;:::-;15111:21:::1;:46:::0;;-1:-1:-1;;;;;15111:46:0;;::::1;-1:-1:-1::0;;;;;;15111:46:0;;::::1;;::::0;;;15168:20:::1;:44:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;15223:18:::1;:40:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;15274:18:::1;:40:::0;;;;;::::1;::::0;::::1;;::::0;;14935:387::o;9154:306::-;3060:4;3095:5;-1:-1:-1;;;;;3095:5:0;2964:10;3084:16;2948:38;;;;-1:-1:-1;;;2948:38:0;;;;;;;:::i;:::-;9277:12:::1;:30:::0;;;9318:12:::1;:30:::0;;;9359:10:::1;:23:::0;;;9406:46:::1;9372:10:::0;9406:30:::1;9292:15:::0;9333;9406:16:::1;:30::i;:::-;:34:::0;::::1;:46::i;:::-;9395:8;:57:::0;-1:-1:-1;;;9154:306:0:o;8448:122::-;8503:4;8527:35;8535:7;-1:-1:-1;;8527:7:0;:35::i;16152:167::-;16225:9;16220:92;16236:20;;;16220:92;;;16300:4;16274:9;:23;16284:9;;16294:1;16284:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16274:23:0;;;;;;;;;;;;-1:-1:-1;16274:23:0;:30;;-1:-1:-1;;16274:30:0;;;;;;;;;;16258:3;;;:::i;:::-;;;16220:92;;;;16152:167;;:::o;14756:171::-;14890:20;;14860:59;;-1:-1:-1;;;14860:59:0;;-1:-1:-1;;;;;14890:20:0;;;14860:59;;;7818:51:1;7885:18;;;7878:34;;;14828:12:0;;14860:29;;;;;7791:18:1;;14860:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14549:199::-;14674:20;;14634:21;;-1:-1:-1;;;;;14674:20:0;14666:74;14736:3;14705:28;14717:16;14634:21;14705:28;:::i;:::-;:34;;;;:::i;:::-;14666:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8612:156;8692:4;8716:44;8730:10;8742:9;8753:6;8716:13;:44::i;14263:278::-;3060:4;3095:5;-1:-1:-1;;;;;3095:5:0;2964:10;3084:16;2948:38;;;;-1:-1:-1;;;2948:38:0;;;;;;;:::i;:::-;14397:1:::1;14369:24;:29;;14361:97;;;::::0;-1:-1:-1;;;14361:97:0;;8375:2:1;14361:97:0::1;::::0;::::1;8357:21:1::0;8414:2;8394:18;;;8387:30;8453:34;8433:18;;;8426:62;8524:25;8504:18;;;8497:53;8567:19;;14361:97:0::1;8173:419:1::0;14361:97:0::1;14529:4;14500:24;14485:12;;:39;;;;:::i;:::-;14484:49;;;;:::i;:::-;14469:12;:64:::0;-1:-1:-1;14263:278:0:o;15819:167::-;15887:7;15914:64;15955:22;:20;:22::i;:::-;15937:4;;-1:-1:-1;;;;;15937:4:0;8038:7;8056:18;;;:9;:18;;;;;;15914:36;;15927:22;;15947:1;;15927:15;:19;;:22::i;:::-;15914:8;;:12;:36::i;:::-;:40;;:64::i;988:192::-;1074:7;1110:12;1102:6;;;;1094:29;;;;-1:-1:-1;;;1094:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1134:9:0;1146:5;1150:1;1146;:5;:::i;:::-;1134:17;988:192;-1:-1:-1;;;;;988:192:0:o;9468:899::-;9580:6;;9560:4;;9580:6;;9577:63;;;9596:41;9611:6;9619:9;9630:6;9596:14;:41::i;:::-;9589:48;;;;9577:63;-1:-1:-1;;;;;9656:22:0;;;;;;:14;:22;;;;;;;;9655:23;:53;;;;-1:-1:-1;;;;;;9683:25:0;;;;;;:14;:25;;;;;;;;9682:26;9655:53;9652:127;;;9732:11;;-1:-1:-1;;;9732:11:0;;;;9724:43;;;;-1:-1:-1;;;9724:43:0;;8932:2:1;9724:43:0;;;8914:21:1;8971:2;8951:18;;;8944:30;-1:-1:-1;;;8990:18:1;;;8983:50;9050:18;;9724:43:0;8730:344:1;9724:43:0;-1:-1:-1;;;;;9839:20:0;;;;;;:9;:20;;;;;;;;9838:21;:43;;;;-1:-1:-1;;;;;;9864:17:0;;;;;;:9;:17;;;;;;;;9863:18;9838:43;9830:75;;;;-1:-1:-1;;;9830:75:0;;9281:2:1;9830:75:0;;;9263:21:1;9320:2;9300:18;;;9293:30;-1:-1:-1;;;9339:18:1;;;9332:49;9398:18;;9830:75:0;9079:343:1;9830:75:0;9921:16;:14;:16::i;:::-;9918:35;;;9940:10;:8;:10::i;:::-;10012:53;;;;;;;;;;;-1:-1:-1;;;10012:53:0;;;;;;;;-1:-1:-1;;;;;10012:17:0;;-1:-1:-1;10012:17:0;;;:9;:17;;;;;;;;:53;;10034:6;;10012:21;:53::i;:::-;-1:-1:-1;;;;;9992:17:0;;;;;;:9;:17;;;;;;;;:73;;;;10978:11;:19;;;;;;;;10977:20;10104:22;:51;;;-1:-1:-1;;;;;;10978:19:0;;10953:4;10978:19;;;:11;:19;;;;;;;;10977:20;10130:25;10104:51;10103:99;;10168:34;10176:6;10184;10192:9;10168:7;:34::i;:::-;10103:99;;;10159:6;10103:99;-1:-1:-1;;;;;10236:20:0;;;;;;:9;:20;;;;;;10078:124;;-1:-1:-1;10236:40:0;;10078:124;10236:24;:40::i;:::-;-1:-1:-1;;;;;10213:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10294:43;;;;;;-1:-1:-1;;;;;;;;;;;10294:43:0;;;10322:14;160:25:1;;148:2;133:18;;14:177;10294:43:0;;;;;;;;-1:-1:-1;10355:4:0;;9468:899;-1:-1:-1;;;;9468:899:0:o;846:136::-;904:7;931:43;935:1;938;931:43;;;;;;;;;;;;;;;;;:3;:43::i;659:181::-;717:7;;749:5;753:1;749;:5;:::i;:::-;737:17;;778:1;773;:6;;765:46;;;;-1:-1:-1;;;765:46:0;;9759:2:1;765:46:0;;;9741:21:1;9798:2;9778:18;;;9771:30;9837:29;9817:18;;;9810:57;9884:18;;765:46:0;9557:351:1;1186:250:0;1244:7;1268:1;1273;1268:6;1264:47;;-1:-1:-1;1298:1:0;1291:8;;1264:47;1323:9;1335:5;1339:1;1335;:5;:::i;:::-;1323:17;-1:-1:-1;1368:1:0;1359:5;1363:1;1323:17;1359:5;:::i;:::-;:10;1351:56;;;;-1:-1:-1;;;1351:56:0;;10115:2:1;1351:56:0;;;10097:21:1;10154:2;10134:18;;;10127:30;10193:34;10173:18;;;10166:62;-1:-1:-1;;;10244:18:1;;;10237:31;10285:19;;1351:56:0;9913:397:1;1442:132:0;1500:7;1527:39;1531:1;1534;1527:39;;;;;;;;;;;;;;;;;:3;:39::i;10379:330::-;10509:53;;;;;;;;;;;-1:-1:-1;;;10509:53:0;;;;;;;;-1:-1:-1;;;;;10509:17:0;;10472:4;10509:17;;;:9;:17;;;;;;;:53;;10531:6;;10509:21;:53::i;:::-;-1:-1:-1;;;;;10489:17:0;;;;;;;:9;:17;;;;;;:73;;;;10596:20;;;;;;;:32;;10621:6;10596:24;:32::i;:::-;-1:-1:-1;;;;;10573:20:0;;;;;;;:9;:20;;;;;;;:55;;;;10644:35;;;;;;-1:-1:-1;;;;;;;;;;;10644:35:0;;;10672:6;160:25:1;;148:2;133:18;;14:177;10644:35:0;;;;;;;;-1:-1:-1;10697:4:0;10379:330;;;;;:::o;11988:197::-;12075:4;;12037;;-1:-1:-1;;;;;12075:4:0;12061:10;:18;;;;:38;;-1:-1:-1;12093:6:0;;;;12092:7;12061:38;:62;;;;-1:-1:-1;12112:11:0;;-1:-1:-1;;;12112:11:0;;;;12061:62;:116;;;;-1:-1:-1;;12164:13:0;;12154:4;12136:24;;;;:9;:24;;;;;;:41;;;11988:197::o;12193:1745::-;6742:6;:13;;-1:-1:-1;;6742:13:0;6751:4;6742:13;;;12288:15:::1;::::0;12305:26:::1;::::0;6742:6;;12272:60:::1;::::0;:15:::1;:60::i;:::-;:79;;12339:12;;12272:79;;;12335:1;12272:79;12242:109;;12362:23;12388:59;12445:1;12388:52;12431:8;;12388:38;12406:19;12388:13;;:17;;:38;;;;:::i;:59::-;12362:85;;12458:20;12481:34;12499:15;12481:13;;:17;;:34;;;;:::i;:::-;12552:16;::::0;;12566:1:::1;12552:16:::0;;;;;::::1;::::0;;12458:57;;-1:-1:-1;12528:21:0::1;::::0;12552:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12552:16:0::1;12528:40;;12597:4;12579;12584:1;12579:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12579:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;12623:4:::1;::::0;12613:7;;12623:4;::::1;::::0;12613;;12623;;12613:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;12613:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;12698:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;12698:188:0;;12664:21:::1;::::0;12698:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;12770:12;;12640:21:::1;::::0;12813:4;;12840::::1;::::0;12860:15:::1;::::0;12698:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12899:17;12919:40;12945:13;12919:21;:25;;:40;;;;:::i;:::-;12899:60:::0;-1:-1:-1;12972:19:0::1;12994:40;13007:26;:19:::0;13031:1:::1;13007:23;:26::i;:::-;12994:8;::::0;;:12:::1;:40::i;:::-;12972:62:::0;-1:-1:-1;13055:26:0::1;13084:58;13140:1;13084:51;12972:62:::0;13084:51;:9;13098:19;13084:13:::1;:34::i;:58::-;13055:87;;13153:26;13182:44;13214:11;13182:27;13196:12;;13182:9;:13;;:27;;;;:::i;:44::-;13153:73;;13237:24;13264:42;13294:11;13264:25;13278:10;;13264:9;:13;;:25;;;;:::i;:42::-;13348:20;::::0;13340:77:::1;::::0;13237:69;;-1:-1:-1;13320:15:0::1;::::0;-1:-1:-1;;;;;13348:20:0;;::::1;::::0;13407:5:::1;::::0;13382:18;;13320:15;13340:77;13320:15;13340:77;13382:18;13348:20;13407:5;13340:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;13452:18:0::1;::::0;13444:73:::1;::::0;13319:98;;-1:-1:-1;;;;;;13452:18:0::1;::::0;13507:5:::1;::::0;13484:16;;13444:73:::1;::::0;;;13484:16;13452:18;13507:5;13444:73:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13551:5:0::1;::::0;-1:-1:-1;;13572:19:0;;;-1:-1:-1;13569:362:0::1;;13607:6;::::0;13781:21:::1;::::0;13607:244:::1;::::0;-1:-1:-1;;;13607:244:0;;13683:4:::1;13607:244;::::0;::::1;11983:34:1::0;12033:18;;;12026:34;;;13607:6:0::1;12076:18:1::0;;;12069:34;;;12119:18;;;12112:34;-1:-1:-1;;;;;13781:21:0;;::::1;12162:19:1::0;;;12155:44;13821:15:0::1;12215:19:1::0;;;12208:35;13607:6:0;::::1;::::0;:22:::1;::::0;13637:18;;11917:19:1;;13607:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13871:48:0::1;::::0;;12739:25:1;;;12795:2;12780:18;;12773:34;;;13871:48:0::1;::::0;-1:-1:-1;12712:18:1;13871:48:0::1;;;;;;;13569:362;-1:-1:-1::0;;6760:6:0;:14;;-1:-1:-1;;6760:14:0;;;-1:-1:-1;;;;;;;;;12193:1745:0:o;11013:967::-;11150:18;;11195:4;;11099:7;;11150:18;-1:-1:-1;;;;;11195:4:0;;;11182:17;;;;11179:152;;-1:-1:-1;11228:14:0;;11179:152;;;11273:4;;-1:-1:-1;;;;;11273:4:0;;;11263:14;;;;11260:71;;-1:-1:-1;11306:13:0;;11260:71;11343:17;11363:62;11404:14;;11421:3;11404:20;;;;:::i;:::-;11363:36;11388:10;11363:20;11374:8;;11363:6;:10;;:20;;;;:::i;:62::-;11343:82;;11438:21;11462:39;11492:8;;11462:25;11476:10;;11462:9;:13;;:25;;;;:::i;:39::-;11438:63;-1:-1:-1;11512:22:0;11537:28;:9;11438:63;11537:13;:28::i;:::-;11623:4;11605:24;;;;:9;:24;;;;;;11512:53;;-1:-1:-1;11605:44:0;;11512:53;11605:28;:44::i;:::-;11596:4;11578:24;;;;:9;:24;;;;;;:71;;;;11702:18;;-1:-1:-1;;;;;11702:18:0;11692:29;;;;:48;;11726:13;11692:33;:48::i;:::-;11670:18;;-1:-1:-1;;;;;11670:18:0;;;11660:29;;;;:9;:29;;;;;;;;;:80;;;;11756:47;160:25:1;;;11781:4:0;;11756:47;;;;-1:-1:-1;;;;;;;;;;;11756:47:0;133:18:1;11756:47:0;;;;;;;11827:17;;11824:108;;11882:18;;11865:51;;160:25:1;;;-1:-1:-1;;;;;11882:18:0;;;;11865:51;;;-1:-1:-1;;;;;;;;;;;11865:51:0;148:2:1;133:18;11865:51:0;;;;;;;11824:108;11951:21;:6;11962:9;11951:10;:21::i;:::-;11944:28;11013:967;-1:-1:-1;;;;;;;;11013:967:0:o;1580:189::-;1666:7;1701:12;1694:5;1686:28;;;;-1:-1:-1;;;1686:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1725:9:0;1737:5;1741:1;1737;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:180::-;808:6;861:2;849:9;840:7;836:23;832:32;829:52;;;877:1;874;867:12;829:52;-1:-1:-1;900:23:1;;749:180;-1:-1:-1;749:180:1:o;934:131::-;-1:-1:-1;;;;;1009:31:1;;999:42;;989:70;;1055:1;1052;1045:12;989:70;934:131;:::o;1070:315::-;1138:6;1146;1199:2;1187:9;1178:7;1174:23;1170:32;1167:52;;;1215:1;1212;1205:12;1167:52;1254:9;1241:23;1273:31;1298:5;1273:31;:::i;:::-;1323:5;1375:2;1360:18;;;;1347:32;;-1:-1:-1;;;1070:315:1:o;1582:248::-;1650:6;1658;1711:2;1699:9;1690:7;1686:23;1682:32;1679:52;;;1727:1;1724;1717:12;1679:52;-1:-1:-1;;1750:23:1;;;1820:2;1805:18;;;1792:32;;-1:-1:-1;1582:248:1:o;1835:255::-;1902:6;1955:2;1943:9;1934:7;1930:23;1926:32;1923:52;;;1971:1;1968;1961:12;1923:52;2010:9;1997:23;2029:31;2054:5;2029:31;:::i;2095:456::-;2172:6;2180;2188;2241:2;2229:9;2220:7;2216:23;2212:32;2209:52;;;2257:1;2254;2247:12;2209:52;2296:9;2283:23;2315:31;2340:5;2315:31;:::i;:::-;2365:5;-1:-1:-1;2422:2:1;2407:18;;2394:32;2435:33;2394:32;2435:33;:::i;:::-;2095:456;;2487:7;;-1:-1:-1;;;2541:2:1;2526:18;;;;2513:32;;2095:456::o;2997:671::-;3083:6;3091;3099;3107;3160:3;3148:9;3139:7;3135:23;3131:33;3128:53;;;3177:1;3174;3167:12;3128:53;3216:9;3203:23;3235:31;3260:5;3235:31;:::i;:::-;3285:5;-1:-1:-1;3342:2:1;3327:18;;3314:32;3355:33;3314:32;3355:33;:::i;:::-;3407:7;-1:-1:-1;3466:2:1;3451:18;;3438:32;3479:33;3438:32;3479:33;:::i;:::-;3531:7;-1:-1:-1;3590:2:1;3575:18;;3562:32;3603:33;3562:32;3603:33;:::i;:::-;2997:671;;;;-1:-1:-1;2997:671:1;;-1:-1:-1;;2997:671:1:o;3673:316::-;3750:6;3758;3766;3819:2;3807:9;3798:7;3794:23;3790:32;3787:52;;;3835:1;3832;3825:12;3787:52;-1:-1:-1;;3858:23:1;;;3928:2;3913:18;;3900:32;;-1:-1:-1;3979:2:1;3964:18;;;3951:32;;3673:316;-1:-1:-1;3673:316:1:o;3994:615::-;4080:6;4088;4141:2;4129:9;4120:7;4116:23;4112:32;4109:52;;;4157:1;4154;4147:12;4109:52;4197:9;4184:23;4226:18;4267:2;4259:6;4256:14;4253:34;;;4283:1;4280;4273:12;4253:34;4321:6;4310:9;4306:22;4296:32;;4366:7;4359:4;4355:2;4351:13;4347:27;4337:55;;4388:1;4385;4378:12;4337:55;4428:2;4415:16;4454:2;4446:6;4443:14;4440:34;;;4470:1;4467;4460:12;4440:34;4523:7;4518:2;4508:6;4505:1;4501:14;4497:2;4493:23;4489:32;4486:45;4483:65;;;4544:1;4541;4534:12;4483:65;4575:2;4567:11;;;;;4597:6;;-1:-1:-1;3994:615:1;;-1:-1:-1;;;;3994:615:1:o;4822:388::-;4890:6;4898;4951:2;4939:9;4930:7;4926:23;4922:32;4919:52;;;4967:1;4964;4957:12;4919:52;5006:9;4993:23;5025:31;5050:5;5025:31;:::i;:::-;5075:5;-1:-1:-1;5132:2:1;5117:18;;5104:32;5145:33;5104:32;5145:33;:::i;:::-;5197:7;5187:17;;;4822:388;;;;;:::o;5215:118::-;5301:5;5294:13;5287:21;5280:5;5277:32;5267:60;;5323:1;5320;5313:12;5338:309;5403:6;5411;5464:2;5452:9;5443:7;5439:23;5435:32;5432:52;;;5480:1;5477;5470:12;5432:52;5519:9;5506:23;5538:28;5560:5;5538:28;:::i;5878:329::-;6080:2;6062:21;;;6119:1;6099:18;;;6092:29;-1:-1:-1;;;6152:2:1;6137:18;;6130:36;6198:2;6183:18;;5878:329::o;6629:127::-;6690:10;6685:3;6681:20;6678:1;6671:31;6721:4;6718:1;6711:15;6745:4;6742:1;6735:15;6761:168;6834:9;;;6865;;6882:15;;;6876:22;;6862:37;6852:71;;6903:18;;:::i;6934:217::-;6974:1;7000;6990:132;;7044:10;7039:3;7035:20;7032:1;7025:31;7079:4;7076:1;7069:15;7107:4;7104:1;7097:15;6990:132;-1:-1:-1;7136:9:1;;6934:217::o;7372:127::-;7433:10;7428:3;7424:20;7421:1;7414:31;7464:4;7461:1;7454:15;7488:4;7485:1;7478:15;7504:135;7543:3;7564:17;;;7561:43;;7584:18;;:::i;:::-;-1:-1:-1;7631:1:1;7620:13;;7504:135::o;7923:245::-;7990:6;8043:2;8031:9;8022:7;8018:23;8014:32;8011:52;;;8059:1;8056;8049:12;8011:52;8091:9;8085:16;8110:28;8132:5;8110:28;:::i;8597:128::-;8664:9;;;8685:11;;;8682:37;;;8699:18;;:::i;9427:125::-;9492:9;;;9513:10;;;9510:36;;;9526:18;;:::i;10447:980::-;10709:4;10757:3;10746:9;10742:19;10788:6;10777:9;10770:25;10814:2;10852:6;10847:2;10836:9;10832:18;10825:34;10895:3;10890:2;10879:9;10875:18;10868:31;10919:6;10954;10948:13;10985:6;10977;10970:22;11023:3;11012:9;11008:19;11001:26;;11062:2;11054:6;11050:15;11036:29;;11083:1;11093:195;11107:6;11104:1;11101:13;11093:195;;;11172:13;;-1:-1:-1;;;;;11168:39:1;11156:52;;11263:15;;;;11228:12;;;;11204:1;11122:9;11093:195;;;-1:-1:-1;;;;;;;11344:32:1;;;;11339:2;11324:18;;11317:60;-1:-1:-1;;;11408:3:1;11393:19;11386:35;11305:3;10447:980;-1:-1:-1;;;10447:980:1:o;12254:306::-;12342:6;12350;12358;12411:2;12399:9;12390:7;12386:23;12382:32;12379:52;;;12427:1;12424;12417:12;12379:52;12456:9;12450:16;12440:26;;12506:2;12495:9;12491:18;12485:25;12475:35;;12550:2;12539:9;12535:18;12529:25;12519:35;;12254:306;;;;;:::o
Swarm Source
ipfs://e342451459338841458f8a3a1c34b9d7383babbf2846f62a65e1375ab503b4c6
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 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.