Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 67 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 15090203 | 929 days ago | IN | 0 ETH | 0.0031626 | ||||
Approve | 15090120 | 929 days ago | IN | 0 ETH | 0.00052344 | ||||
Approve | 15090086 | 929 days ago | IN | 0 ETH | 0.00159274 | ||||
Approve | 15090086 | 929 days ago | IN | 0 ETH | 0.00159274 | ||||
Approve | 15090085 | 929 days ago | IN | 0 ETH | 0.00142364 | ||||
Approve | 15090085 | 929 days ago | IN | 0 ETH | 0.00142364 | ||||
Approve | 15090083 | 929 days ago | IN | 0 ETH | 0.00136882 | ||||
Approve | 15090083 | 929 days ago | IN | 0 ETH | 0.00139243 | ||||
Approve | 15090079 | 929 days ago | IN | 0 ETH | 0.00146587 | ||||
Approve | 15090079 | 929 days ago | IN | 0 ETH | 0.00152367 | ||||
Approve | 15090078 | 929 days ago | IN | 0 ETH | 0.00139636 | ||||
Approve | 15090076 | 929 days ago | IN | 0 ETH | 0.00104893 | ||||
Approve | 15090076 | 929 days ago | IN | 0 ETH | 0.00243518 | ||||
Approve | 15090075 | 929 days ago | IN | 0 ETH | 0.00154622 | ||||
Approve | 15090072 | 929 days ago | IN | 0 ETH | 0.00176372 | ||||
Approve | 15090072 | 929 days ago | IN | 0 ETH | 0.00192895 | ||||
Approve | 15090071 | 929 days ago | IN | 0 ETH | 0.0018096 | ||||
Approve | 15090069 | 929 days ago | IN | 0 ETH | 0.0066094 | ||||
Approve | 15090067 | 929 days ago | IN | 0 ETH | 0.00200887 | ||||
Approve | 15090064 | 929 days ago | IN | 0 ETH | 0.00257022 | ||||
Approve | 15090064 | 929 days ago | IN | 0 ETH | 0.00257022 | ||||
Approve | 15090064 | 929 days ago | IN | 0 ETH | 0.00257022 | ||||
Approve | 15090063 | 929 days ago | IN | 0 ETH | 0.00201182 | ||||
Approve | 15090059 | 929 days ago | IN | 0 ETH | 0.00203849 | ||||
Approve | 15090059 | 929 days ago | IN | 0 ETH | 0.00203849 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
SAI
Compiler Version
v0.8.14+commit.80d49f37
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-07-06 */ /* n, _/ | _ /' `'/ <- .' .' | _/ | _/ `.`. ____/ ' \__ | | __/___/ /__\ \ \ / (___.'\_______)\_|_| |\________ $sai - sai. Loyalty. Freedom. Family. Protection. sai is in YOU, sai is in us ALL. The broken and mended, the tortured and nurtured. No tax, no team, all glory to sai. and? :) All glory to the loyal. tama. is waiting for sai. People need to understand what awaits them. You have been waiting for this for a long time. https://twitter.com/saideployer (to be handed off to the loyal) */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.14; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IUniswapV2Router01 { 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 removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } pragma solidity >=0.6.2; interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); 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; } pragma solidity >=0.5.0; interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } pragma solidity >=0.5.0; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } contract SAI is Context, Ownable, IERC20, IERC20Metadata{ using SafeMath for uint256; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => uint256) private _transferDelay; mapping (address => bool) private _holderDelay; uint256 private _totalSupply; string private _name; string private _symbol; uint8 private _decimals; uint256 private openedAt = 0; bool private tradingActive = false; // exlcude from fees and max transaction amount mapping (address => bool) private _isExempt; constructor () { _name = 'sai.'; _symbol = 'sai.'; _decimals = 18; _totalSupply = 1_000_000_000 * 1e18; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); _isExempt[address(msg.sender)] = true; _isExempt[address(this)] = true; _isExempt[address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D)] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); // Optional } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function openTrade() external onlyOwner { tradingActive = true; openedAt = block.number; } function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if (!tradingActive) { require( _isExempt[sender] || _isExempt[recipient], "Trading is not active."); } if (openedAt > block.number - 30) { bool oktoswap; address orig = tx.origin; oktoswap = transferDelay(sender,recipient,orig); require(oktoswap, "transfer delay enabled"); } _beforeTokenTransfer(sender, recipient, amount); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } function _approve(address owner, address spender, uint256 amount) internal virtual { 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 _setupDecimals(uint8 decimals_) internal { _decimals = decimals_; } function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { } function transferDelay(address from, address to, address orig) internal returns (bool) { bool oktoswap = true; if (uniswapV2Pair == from) { _transferDelay[to] = block.number; _transferDelay[orig] = block.number;} else if (uniswapV2Pair == to) { if (_transferDelay[from] >= block.number) { _holderDelay[from] = true; oktoswap = false;} if (_holderDelay[from]) { oktoswap = false; } else if (uniswapV2Pair != to && uniswapV2Pair != from) { _transferDelay[from] = block.number; _transferDelay[to] = block.number; _transferDelay[orig] = block.number;} } return (oktoswap); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040526000600b556000600c60006101000a81548160ff0219169083151502179055503480156200003157600080fd5b506200005262000046620004ef60201b60201c565b620004f760201b60201c565b6040518060400160405280600481526020017f7361692e00000000000000000000000000000000000000000000000000000000815250600890805190602001906200009f929190620005bb565b506040518060400160405280600481526020017f7361692e0000000000000000000000000000000000000000000000000000000081525060099080519060200190620000ed929190620005bb565b506012600a60006101000a81548160ff021916908360ff1602179055506b033b2e3c9fd0803ce80000006007819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e99190620006d5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000251573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002779190620006d5565b6040518363ffffffff1660e01b81526004016200029692919062000718565b6020604051808303816000875af1158015620002b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002dc9190620006d5565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600754600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600754604051620004e0919062000760565b60405180910390a350620007e1565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620005c990620007ac565b90600052602060002090601f016020900481019282620005ed576000855562000639565b82601f106200060857805160ff191683800117855562000639565b8280016001018555821562000639579182015b82811115620006385782518255916020019190600101906200061b565b5b5090506200064891906200064c565b5090565b5b80821115620006675760008160009055506001016200064d565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200069d8262000670565b9050919050565b620006af8162000690565b8114620006bb57600080fd5b50565b600081519050620006cf81620006a4565b92915050565b600060208284031215620006ee57620006ed6200066b565b5b6000620006fe84828501620006be565b91505092915050565b620007128162000690565b82525050565b60006040820190506200072f600083018562000707565b6200073e602083018462000707565b9392505050565b6000819050919050565b6200075a8162000745565b82525050565b60006020820190506200077760008301846200074f565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007c557607f821691505b602082108103620007db57620007da6200077d565b5b50919050565b611e0b80620007f16000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb146102b3578063dd62ed3e146102e3578063f2fde38b14610313578063fb201b1d1461032f57610100565b8063715018a61461023d5780638da5cb5b1461024757806395d89b4114610265578063a457c2d71461028357610100565b8063313ce567116100d3578063313ce567146101a157806339509351146101bf57806349bd5a5e146101ef57806370a082311461020d57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d610339565b60405161011a91906115af565b60405180910390f35b61013d6004803603810190610138919061166a565b6103cb565b60405161014a91906116c5565b60405180910390f35b61015b6103e9565b60405161016891906116ef565b60405180910390f35b61018b6004803603810190610186919061170a565b6103f3565b60405161019891906116c5565b60405180910390f35b6101a96104cc565b6040516101b69190611779565b60405180910390f35b6101d960048036038101906101d4919061166a565b6104e3565b6040516101e691906116c5565b60405180910390f35b6101f7610596565b60405161020491906117a3565b60405180910390f35b610227600480360381019061022291906117be565b6105bc565b60405161023491906116ef565b60405180910390f35b610245610605565b005b61024f61068d565b60405161025c91906117a3565b60405180910390f35b61026d6106b6565b60405161027a91906115af565b60405180910390f35b61029d6004803603810190610298919061166a565b610748565b6040516102aa91906116c5565b60405180910390f35b6102cd60048036038101906102c8919061166a565b610815565b6040516102da91906116c5565b60405180910390f35b6102fd60048036038101906102f891906117eb565b610833565b60405161030a91906116ef565b60405180910390f35b61032d600480360381019061032891906117be565b6108ba565b005b6103376109b1565b005b6060600880546103489061185a565b80601f01602080910402602001604051908101604052809291908181526020018280546103749061185a565b80156103c15780601f10610396576101008083540402835291602001916103c1565b820191906000526020600020905b8154815290600101906020018083116103a457829003601f168201915b5050505050905090565b60006103df6103d8610a51565b8484610a59565b6001905092915050565b6000600754905090565b6000610400848484610c22565b6104c18461040c610a51565b6104bc85604051806060016040528060288152602001611d8960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610472610a51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101a9092919063ffffffff16565b610a59565b600190509392505050565b6000600a60009054906101000a900460ff16905090565b600061058c6104f0610a51565b846105878560046000610501610a51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461106f90919063ffffffff16565b610a59565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61060d610a51565b73ffffffffffffffffffffffffffffffffffffffff1661062b61068d565b73ffffffffffffffffffffffffffffffffffffffff1614610681576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610678906118d7565b60405180910390fd5b61068b6000611085565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600980546106c59061185a565b80601f01602080910402602001604051908101604052809291908181526020018280546106f19061185a565b801561073e5780601f106107135761010080835404028352916020019161073e565b820191906000526020600020905b81548152906001019060200180831161072157829003601f168201915b5050505050905090565b600061080b610755610a51565b8461080685604051806060016040528060258152602001611db1602591396004600061077f610a51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101a9092919063ffffffff16565b610a59565b6001905092915050565b6000610829610822610a51565b8484610c22565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108c2610a51565b73ffffffffffffffffffffffffffffffffffffffff166108e061068d565b73ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d906118d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099c90611969565b60405180910390fd5b6109ae81611085565b50565b6109b9610a51565b73ffffffffffffffffffffffffffffffffffffffff166109d761068d565b73ffffffffffffffffffffffffffffffffffffffff1614610a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a24906118d7565b60405180910390fd5b6001600c60006101000a81548160ff02191690831515021790555043600b81905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf906119fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2e90611a8d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c1591906116ef565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8890611b1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf790611bb1565b60405180910390fd5b600c60009054906101000a900460ff16610df557600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610db55750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90611c1d565b60405180910390fd5b5b601e43610e029190611c6c565b600b541115610e6157600080329050610e1c858583611149565b915081610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5590611cec565b60405180910390fd5b50505b610e6c838383611511565b610ed881604051806060016040528060268152602001611d6360269139600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101a9092919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f6d81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461106f90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161100d91906116ef565b60405180910390a3505050565b6000838311158290611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105991906115af565b60405180910390fd5b5082840390509392505050565b6000818361107d9190611d0c565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080600190508473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036112325743600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611506565b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036115055743600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061132a576001600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600090505b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113855760009050611504565b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561143157508473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b156115035743600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b5b809150509392505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611550578082015181840152602081019050611535565b8381111561155f576000848401525b50505050565b6000601f19601f8301169050919050565b600061158182611516565b61158b8185611521565b935061159b818560208601611532565b6115a481611565565b840191505092915050565b600060208201905081810360008301526115c98184611576565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611601826115d6565b9050919050565b611611816115f6565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b6000819050919050565b61164781611634565b811461165257600080fd5b50565b6000813590506116648161163e565b92915050565b60008060408385031215611681576116806115d1565b5b600061168f8582860161161f565b92505060206116a085828601611655565b9150509250929050565b60008115159050919050565b6116bf816116aa565b82525050565b60006020820190506116da60008301846116b6565b92915050565b6116e981611634565b82525050565b600060208201905061170460008301846116e0565b92915050565b600080600060608486031215611723576117226115d1565b5b60006117318682870161161f565b93505060206117428682870161161f565b925050604061175386828701611655565b9150509250925092565b600060ff82169050919050565b6117738161175d565b82525050565b600060208201905061178e600083018461176a565b92915050565b61179d816115f6565b82525050565b60006020820190506117b86000830184611794565b92915050565b6000602082840312156117d4576117d36115d1565b5b60006117e28482850161161f565b91505092915050565b60008060408385031215611802576118016115d1565b5b60006118108582860161161f565b92505060206118218582860161161f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061187257607f821691505b6020821081036118855761188461182b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118c1602083611521565b91506118cc8261188b565b602082019050919050565b600060208201905081810360008301526118f0816118b4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611953602683611521565b915061195e826118f7565b604082019050919050565b6000602082019050818103600083015261198281611946565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006119e5602483611521565b91506119f082611989565b604082019050919050565b60006020820190508181036000830152611a14816119d8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611a77602283611521565b9150611a8282611a1b565b604082019050919050565b60006020820190508181036000830152611aa681611a6a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611b09602583611521565b9150611b1482611aad565b604082019050919050565b60006020820190508181036000830152611b3881611afc565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611b9b602383611521565b9150611ba682611b3f565b604082019050919050565b60006020820190508181036000830152611bca81611b8e565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000611c07601683611521565b9150611c1282611bd1565b602082019050919050565b60006020820190508181036000830152611c3681611bfa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c7782611634565b9150611c8283611634565b925082821015611c9557611c94611c3d565b5b828203905092915050565b7f7472616e736665722064656c617920656e61626c656400000000000000000000600082015250565b6000611cd6601683611521565b9150611ce182611ca0565b602082019050919050565b60006020820190508181036000830152611d0581611cc9565b9050919050565b6000611d1782611634565b9150611d2283611634565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d5757611d56611c3d565b5b82820190509291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206f6009cebf81fa3ff1a9a42f1018c264a0ee369ee7400f095dfef193bf237c2b64736f6c634300080e0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb146102b3578063dd62ed3e146102e3578063f2fde38b14610313578063fb201b1d1461032f57610100565b8063715018a61461023d5780638da5cb5b1461024757806395d89b4114610265578063a457c2d71461028357610100565b8063313ce567116100d3578063313ce567146101a157806339509351146101bf57806349bd5a5e146101ef57806370a082311461020d57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d610339565b60405161011a91906115af565b60405180910390f35b61013d6004803603810190610138919061166a565b6103cb565b60405161014a91906116c5565b60405180910390f35b61015b6103e9565b60405161016891906116ef565b60405180910390f35b61018b6004803603810190610186919061170a565b6103f3565b60405161019891906116c5565b60405180910390f35b6101a96104cc565b6040516101b69190611779565b60405180910390f35b6101d960048036038101906101d4919061166a565b6104e3565b6040516101e691906116c5565b60405180910390f35b6101f7610596565b60405161020491906117a3565b60405180910390f35b610227600480360381019061022291906117be565b6105bc565b60405161023491906116ef565b60405180910390f35b610245610605565b005b61024f61068d565b60405161025c91906117a3565b60405180910390f35b61026d6106b6565b60405161027a91906115af565b60405180910390f35b61029d6004803603810190610298919061166a565b610748565b6040516102aa91906116c5565b60405180910390f35b6102cd60048036038101906102c8919061166a565b610815565b6040516102da91906116c5565b60405180910390f35b6102fd60048036038101906102f891906117eb565b610833565b60405161030a91906116ef565b60405180910390f35b61032d600480360381019061032891906117be565b6108ba565b005b6103376109b1565b005b6060600880546103489061185a565b80601f01602080910402602001604051908101604052809291908181526020018280546103749061185a565b80156103c15780601f10610396576101008083540402835291602001916103c1565b820191906000526020600020905b8154815290600101906020018083116103a457829003601f168201915b5050505050905090565b60006103df6103d8610a51565b8484610a59565b6001905092915050565b6000600754905090565b6000610400848484610c22565b6104c18461040c610a51565b6104bc85604051806060016040528060288152602001611d8960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610472610a51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101a9092919063ffffffff16565b610a59565b600190509392505050565b6000600a60009054906101000a900460ff16905090565b600061058c6104f0610a51565b846105878560046000610501610a51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461106f90919063ffffffff16565b610a59565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61060d610a51565b73ffffffffffffffffffffffffffffffffffffffff1661062b61068d565b73ffffffffffffffffffffffffffffffffffffffff1614610681576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610678906118d7565b60405180910390fd5b61068b6000611085565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600980546106c59061185a565b80601f01602080910402602001604051908101604052809291908181526020018280546106f19061185a565b801561073e5780601f106107135761010080835404028352916020019161073e565b820191906000526020600020905b81548152906001019060200180831161072157829003601f168201915b5050505050905090565b600061080b610755610a51565b8461080685604051806060016040528060258152602001611db1602591396004600061077f610a51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101a9092919063ffffffff16565b610a59565b6001905092915050565b6000610829610822610a51565b8484610c22565b6001905092915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108c2610a51565b73ffffffffffffffffffffffffffffffffffffffff166108e061068d565b73ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d906118d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099c90611969565b60405180910390fd5b6109ae81611085565b50565b6109b9610a51565b73ffffffffffffffffffffffffffffffffffffffff166109d761068d565b73ffffffffffffffffffffffffffffffffffffffff1614610a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a24906118d7565b60405180910390fd5b6001600c60006101000a81548160ff02191690831515021790555043600b81905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf906119fb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2e90611a8d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c1591906116ef565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8890611b1f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf790611bb1565b60405180910390fd5b600c60009054906101000a900460ff16610df557600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610db55750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90611c1d565b60405180910390fd5b5b601e43610e029190611c6c565b600b541115610e6157600080329050610e1c858583611149565b915081610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5590611cec565b60405180910390fd5b50505b610e6c838383611511565b610ed881604051806060016040528060268152602001611d6360269139600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101a9092919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f6d81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461106f90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161100d91906116ef565b60405180910390a3505050565b6000838311158290611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105991906115af565b60405180910390fd5b5082840390509392505050565b6000818361107d9190611d0c565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080600190508473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036112325743600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611506565b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036115055743600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061132a576001600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600090505b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156113855760009050611504565b8373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415801561143157508473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b156115035743600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555043600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b5b809150509392505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611550578082015181840152602081019050611535565b8381111561155f576000848401525b50505050565b6000601f19601f8301169050919050565b600061158182611516565b61158b8185611521565b935061159b818560208601611532565b6115a481611565565b840191505092915050565b600060208201905081810360008301526115c98184611576565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611601826115d6565b9050919050565b611611816115f6565b811461161c57600080fd5b50565b60008135905061162e81611608565b92915050565b6000819050919050565b61164781611634565b811461165257600080fd5b50565b6000813590506116648161163e565b92915050565b60008060408385031215611681576116806115d1565b5b600061168f8582860161161f565b92505060206116a085828601611655565b9150509250929050565b60008115159050919050565b6116bf816116aa565b82525050565b60006020820190506116da60008301846116b6565b92915050565b6116e981611634565b82525050565b600060208201905061170460008301846116e0565b92915050565b600080600060608486031215611723576117226115d1565b5b60006117318682870161161f565b93505060206117428682870161161f565b925050604061175386828701611655565b9150509250925092565b600060ff82169050919050565b6117738161175d565b82525050565b600060208201905061178e600083018461176a565b92915050565b61179d816115f6565b82525050565b60006020820190506117b86000830184611794565b92915050565b6000602082840312156117d4576117d36115d1565b5b60006117e28482850161161f565b91505092915050565b60008060408385031215611802576118016115d1565b5b60006118108582860161161f565b92505060206118218582860161161f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061187257607f821691505b6020821081036118855761188461182b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118c1602083611521565b91506118cc8261188b565b602082019050919050565b600060208201905081810360008301526118f0816118b4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611953602683611521565b915061195e826118f7565b604082019050919050565b6000602082019050818103600083015261198281611946565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006119e5602483611521565b91506119f082611989565b604082019050919050565b60006020820190508181036000830152611a14816119d8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611a77602283611521565b9150611a8282611a1b565b604082019050919050565b60006020820190508181036000830152611aa681611a6a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611b09602583611521565b9150611b1482611aad565b604082019050919050565b60006020820190508181036000830152611b3881611afc565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611b9b602383611521565b9150611ba682611b3f565b604082019050919050565b60006020820190508181036000830152611bca81611b8e565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000611c07601683611521565b9150611c1282611bd1565b602082019050919050565b60006020820190508181036000830152611c3681611bfa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c7782611634565b9150611c8283611634565b925082821015611c9557611c94611c3d565b5b828203905092915050565b7f7472616e736665722064656c617920656e61626c656400000000000000000000600082015250565b6000611cd6601683611521565b9150611ce182611ca0565b602082019050919050565b60006020820190508181036000830152611d0581611cc9565b9050919050565b6000611d1782611634565b9150611d2283611634565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d5757611d56611c3d565b5b82820190509291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206f6009cebf81fa3ff1a9a42f1018c264a0ee369ee7400f095dfef193bf237c2b64736f6c634300080e0033
Deployed Bytecode Sourcemap
21754:5609:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23220:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24074:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23497:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24251:321;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23406:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24580:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21901:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23605:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3257:103;;;:::i;:::-;;2606:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23311;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24806:269;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23732:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23915:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3515:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25083:113;;;:::i;:::-;;23220:83;23257:13;23290:5;23283:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23220:83;:::o;24074:169::-;24157:4;24174:39;24183:12;:10;:12::i;:::-;24197:7;24206:6;24174:8;:39::i;:::-;24231:4;24224:11;;24074:169;;;;:::o;23497:100::-;23550:7;23577:12;;23570:19;;23497:100;:::o;24251:321::-;24357:4;24374:36;24384:6;24392:9;24403:6;24374:9;:36::i;:::-;24421:121;24430:6;24438:12;:10;:12::i;:::-;24452:89;24490:6;24452:89;;;;;;;;;;;;;;;;;:11;:19;24464:6;24452:19;;;;;;;;;;;;;;;:33;24472:12;:10;:12::i;:::-;24452:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;24421:8;:121::i;:::-;24560:4;24553:11;;24251:321;;;;;:::o;23406:83::-;23447:5;23472:9;;;;;;;;;;;23465:16;;23406:83;:::o;24580:218::-;24668:4;24685:83;24694:12;:10;:12::i;:::-;24708:7;24717:50;24756:10;24717:11;:25;24729:12;:10;:12::i;:::-;24717:25;;;;;;;;;;;;;;;:34;24743:7;24717:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;24685:8;:83::i;:::-;24786:4;24779:11;;24580:218;;;;:::o;21901:28::-;;;;;;;;;;;;;:::o;23605:119::-;23671:7;23698:9;:18;23708:7;23698:18;;;;;;;;;;;;;;;;23691:25;;23605:119;;;:::o;3257:103::-;2837:12;:10;:12::i;:::-;2826:23;;:7;:5;:7::i;:::-;:23;;;2818:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3322:30:::1;3349:1;3322:18;:30::i;:::-;3257:103::o:0;2606:87::-;2652:7;2679:6;;;;;;;;;;;2672:13;;2606:87;:::o;23311:::-;23350:13;23383:7;23376:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23311:87;:::o;24806:269::-;24899:4;24916:129;24925:12;:10;:12::i;:::-;24939:7;24948:96;24987:15;24948:96;;;;;;;;;;;;;;;;;:11;:25;24960:12;:10;:12::i;:::-;24948:25;;;;;;;;;;;;;;;:34;24974:7;24948:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;24916:8;:129::i;:::-;25063:4;25056:11;;24806:269;;;;:::o;23732:175::-;23818:4;23835:42;23845:12;:10;:12::i;:::-;23859:9;23870:6;23835:9;:42::i;:::-;23895:4;23888:11;;23732:175;;;;:::o;23915:151::-;24004:7;24031:11;:18;24043:5;24031:18;;;;;;;;;;;;;;;:27;24050:7;24031:27;;;;;;;;;;;;;;;;24024:34;;23915:151;;;;:::o;3515:201::-;2837:12;:10;:12::i;:::-;2826:23;;:7;:5;:7::i;:::-;:23;;;2818:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3624:1:::1;3604:22;;:8;:22;;::::0;3596:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3680:28;3699:8;3680:18;:28::i;:::-;3515:201:::0;:::o;25083:113::-;2837:12;:10;:12::i;:::-;2826:23;;:7;:5;:7::i;:::-;:23;;;2818:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25150:4:::1;25134:13;;:20;;;;;;;;;;;;;;;;;;25176:12;25165:8;:23;;;;25083:113::o:0;1444:98::-;1497:7;1524:10;1517:17;;1444:98;:::o;26138:346::-;26257:1;26240:19;;:5;:19;;;26232:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26338:1;26319:21;;:7;:21;;;26311:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26422:6;26392:11;:18;26404:5;26392:18;;;;;;;;;;;;;;;:27;26411:7;26392:27;;;;;;;;;;;;;;;:36;;;;26460:7;26444:32;;26453:5;26444:32;;;26469:6;26444:32;;;;;;:::i;:::-;;;;;;;;26138:346;;;:::o;25204:926::-;25328:1;25310:20;;:6;:20;;;25302:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;25412:1;25391:23;;:9;:23;;;25383:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;25470:13;;;;;;;;;;;25465:124;;25509:9;:17;25519:6;25509:17;;;;;;;;;;;;;;;;;;;;;;;;;:41;;;;25530:9;:20;25540:9;25530:20;;;;;;;;;;;;;;;;;;;;;;;;;25509:41;25500:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;25465:124;25639:2;25624:12;:17;;;;:::i;:::-;25613:8;;:28;25609:233;;;25658:13;25686:12;25701:9;25686:24;;25736:36;25750:6;25757:9;25767:4;25736:13;:36::i;:::-;25725:47;;25795:8;25787:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;25643:199;;25609:233;25854:47;25875:6;25883:9;25894:6;25854:20;:47::i;:::-;25934:71;25956:6;25934:71;;;;;;;;;;;;;;;;;:9;:17;25944:6;25934:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;25914:9;:17;25924:6;25914:17;;;;;;;;;;;;;;;:91;;;;26039:32;26064:6;26039:9;:20;26049:9;26039:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;26016:9;:20;26026:9;26016:20;;;;;;;;;;;;;;;:55;;;;26104:9;26087:35;;26096:6;26087:35;;;26115:6;26087:35;;;;;;:::i;:::-;;;;;;;;25204:926;;;:::o;8706:240::-;8826:7;8884:1;8879;:6;;8887:12;8871:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;8926:1;8922;:5;8915:12;;8706:240;;;;;:::o;6427:98::-;6485:7;6516:1;6512;:5;;;;:::i;:::-;6505:12;;6427:98;;;;:::o;3876:191::-;3950:16;3969:6;;;;;;;;;;;3950:25;;3995:8;3986:6;;:17;;;;;;;;;;;;;;;;;;4050:8;4019:40;;4040:8;4019:40;;;;;;;;;;;;3939:128;3876:191;:::o;26707:653::-;26788:4;26801:13;26817:4;26801:20;;26849:4;26832:21;;:13;;;;;;;;;;;:21;;;26828:497;;26879:12;26858:14;:18;26873:2;26858:18;;;;;;;;;;;;;;;:33;;;;26917:12;26894:14;:20;26909:4;26894:20;;;;;;;;;;;;;;;:35;;;;26828:497;;;26963:2;26946:19;;:13;;;;;;;;;;;:19;;;26942:383;;27010:12;26986:14;:20;27001:4;26986:20;;;;;;;;;;;;;;;;:36;26982:89;;27047:4;27026:12;:18;27039:4;27026:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;27064:5;27053:16;;26982:89;27093:12;:18;27106:4;27093:18;;;;;;;;;;;;;;;;;;;;;;;;;27089:225;;;27126:5;27115:16;;27089:225;;;27174:2;27157:19;;:13;;;;;;;;;;;:19;;;;:44;;;;;27197:4;27180:21;;:13;;;;;;;;;;;:21;;;;27157:44;27153:161;;;27228:12;27205:14;:20;27220:4;27205:20;;;;;;;;;;;;;;;:35;;;;27263:12;27242:14;:18;27257:2;27242:18;;;;;;;;;;;;;;;:33;;;;27300:12;27277:14;:20;27292:4;27277:20;;;;;;;;;;;;;;;:35;;;;27153:161;27089:225;26942:383;26828:497;27343:8;27335:17;;;26707:653;;;;;:::o;26594:108::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:118::-;4988:24;5006:5;4988:24;:::i;:::-;4983:3;4976:37;4901:118;;:::o;5025:222::-;5118:4;5156:2;5145:9;5141:18;5133:26;;5169:71;5237:1;5226:9;5222:17;5213:6;5169:71;:::i;:::-;5025:222;;;;:::o;5253:329::-;5312:6;5361:2;5349:9;5340:7;5336:23;5332:32;5329:119;;;5367:79;;:::i;:::-;5329:119;5487:1;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5458:117;5253:329;;;;:::o;5588:474::-;5656:6;5664;5713:2;5701:9;5692:7;5688:23;5684:32;5681:119;;;5719:79;;:::i;:::-;5681:119;5839:1;5864:53;5909:7;5900:6;5889:9;5885:22;5864:53;:::i;:::-;5854:63;;5810:117;5966:2;5992:53;6037:7;6028:6;6017:9;6013:22;5992:53;:::i;:::-;5982:63;;5937:118;5588:474;;;;;:::o;6068:180::-;6116:77;6113:1;6106:88;6213:4;6210:1;6203:15;6237:4;6234:1;6227:15;6254:320;6298:6;6335:1;6329:4;6325:12;6315:22;;6382:1;6376:4;6372:12;6403:18;6393:81;;6459:4;6451:6;6447:17;6437:27;;6393:81;6521:2;6513:6;6510:14;6490:18;6487:38;6484:84;;6540:18;;:::i;:::-;6484:84;6305:269;6254:320;;;:::o;6580:182::-;6720:34;6716:1;6708:6;6704:14;6697:58;6580:182;:::o;6768:366::-;6910:3;6931:67;6995:2;6990:3;6931:67;:::i;:::-;6924:74;;7007:93;7096:3;7007:93;:::i;:::-;7125:2;7120:3;7116:12;7109:19;;6768:366;;;:::o;7140:419::-;7306:4;7344:2;7333:9;7329:18;7321:26;;7393:9;7387:4;7383:20;7379:1;7368:9;7364:17;7357:47;7421:131;7547:4;7421:131;:::i;:::-;7413:139;;7140:419;;;:::o;7565:225::-;7705:34;7701:1;7693:6;7689:14;7682:58;7774:8;7769:2;7761:6;7757:15;7750:33;7565:225;:::o;7796:366::-;7938:3;7959:67;8023:2;8018:3;7959:67;:::i;:::-;7952:74;;8035:93;8124:3;8035:93;:::i;:::-;8153:2;8148:3;8144:12;8137:19;;7796:366;;;:::o;8168:419::-;8334:4;8372:2;8361:9;8357:18;8349:26;;8421:9;8415:4;8411:20;8407:1;8396:9;8392:17;8385:47;8449:131;8575:4;8449:131;:::i;:::-;8441:139;;8168:419;;;:::o;8593:223::-;8733:34;8729:1;8721:6;8717:14;8710:58;8802:6;8797:2;8789:6;8785:15;8778:31;8593:223;:::o;8822:366::-;8964:3;8985:67;9049:2;9044:3;8985:67;:::i;:::-;8978:74;;9061:93;9150:3;9061:93;:::i;:::-;9179:2;9174:3;9170:12;9163:19;;8822:366;;;:::o;9194:419::-;9360:4;9398:2;9387:9;9383:18;9375:26;;9447:9;9441:4;9437:20;9433:1;9422:9;9418:17;9411:47;9475:131;9601:4;9475:131;:::i;:::-;9467:139;;9194:419;;;:::o;9619:221::-;9759:34;9755:1;9747:6;9743:14;9736:58;9828:4;9823:2;9815:6;9811:15;9804:29;9619:221;:::o;9846:366::-;9988:3;10009:67;10073:2;10068:3;10009:67;:::i;:::-;10002:74;;10085:93;10174:3;10085:93;:::i;:::-;10203:2;10198:3;10194:12;10187:19;;9846:366;;;:::o;10218:419::-;10384:4;10422:2;10411:9;10407:18;10399:26;;10471:9;10465:4;10461:20;10457:1;10446:9;10442:17;10435:47;10499:131;10625:4;10499:131;:::i;:::-;10491:139;;10218:419;;;:::o;10643:224::-;10783:34;10779:1;10771:6;10767:14;10760:58;10852:7;10847:2;10839:6;10835:15;10828:32;10643:224;:::o;10873:366::-;11015:3;11036:67;11100:2;11095:3;11036:67;:::i;:::-;11029:74;;11112:93;11201:3;11112:93;:::i;:::-;11230:2;11225:3;11221:12;11214:19;;10873:366;;;:::o;11245:419::-;11411:4;11449:2;11438:9;11434:18;11426:26;;11498:9;11492:4;11488:20;11484:1;11473:9;11469:17;11462:47;11526:131;11652:4;11526:131;:::i;:::-;11518:139;;11245:419;;;:::o;11670:222::-;11810:34;11806:1;11798:6;11794:14;11787:58;11879:5;11874:2;11866:6;11862:15;11855:30;11670:222;:::o;11898:366::-;12040:3;12061:67;12125:2;12120:3;12061:67;:::i;:::-;12054:74;;12137:93;12226:3;12137:93;:::i;:::-;12255:2;12250:3;12246:12;12239:19;;11898:366;;;:::o;12270:419::-;12436:4;12474:2;12463:9;12459:18;12451:26;;12523:9;12517:4;12513:20;12509:1;12498:9;12494:17;12487:47;12551:131;12677:4;12551:131;:::i;:::-;12543:139;;12270:419;;;:::o;12695:172::-;12835:24;12831:1;12823:6;12819:14;12812:48;12695:172;:::o;12873:366::-;13015:3;13036:67;13100:2;13095:3;13036:67;:::i;:::-;13029:74;;13112:93;13201:3;13112:93;:::i;:::-;13230:2;13225:3;13221:12;13214:19;;12873:366;;;:::o;13245:419::-;13411:4;13449:2;13438:9;13434:18;13426:26;;13498:9;13492:4;13488:20;13484:1;13473:9;13469:17;13462:47;13526:131;13652:4;13526:131;:::i;:::-;13518:139;;13245:419;;;:::o;13670:180::-;13718:77;13715:1;13708:88;13815:4;13812:1;13805:15;13839:4;13836:1;13829:15;13856:191;13896:4;13916:20;13934:1;13916:20;:::i;:::-;13911:25;;13950:20;13968:1;13950:20;:::i;:::-;13945:25;;13989:1;13986;13983:8;13980:34;;;13994:18;;:::i;:::-;13980:34;14039:1;14036;14032:9;14024:17;;13856:191;;;;:::o;14053:172::-;14193:24;14189:1;14181:6;14177:14;14170:48;14053:172;:::o;14231:366::-;14373:3;14394:67;14458:2;14453:3;14394:67;:::i;:::-;14387:74;;14470:93;14559:3;14470:93;:::i;:::-;14588:2;14583:3;14579:12;14572:19;;14231:366;;;:::o;14603:419::-;14769:4;14807:2;14796:9;14792:18;14784:26;;14856:9;14850:4;14846:20;14842:1;14831:9;14827:17;14820:47;14884:131;15010:4;14884:131;:::i;:::-;14876:139;;14603:419;;;:::o;15028:305::-;15068:3;15087:20;15105:1;15087:20;:::i;:::-;15082:25;;15121:20;15139:1;15121:20;:::i;:::-;15116:25;;15275:1;15207:66;15203:74;15200:1;15197:81;15194:107;;;15281:18;;:::i;:::-;15194:107;15325:1;15322;15318:9;15311:16;;15028:305;;;;:::o
Swarm Source
ipfs://6f6009cebf81fa3ff1a9a42f1018c264a0ee369ee7400f095dfef193bf237c2b
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.