Token Quick Exchange
Overview ERC20
Price
$0.00 @ 0.000000 ETH
Fully Diluted Market Cap
Total Supply:
1,000,000,000 QUICK
Holders:
5 addresses
Transfers:
-
Contract:
Decimals:
18
[ Download CSV Export ]
[ Download CSV Export ]
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
QuickToken
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Arbiscan.io on 2023-04-21 */ // SPDX-License-Identifier: MIT //QUICK DEX// twitter.com/quickdexio pragma solidity ^0.8.17; interface IMintable { function mint(address _account, uint256 _amount) external; } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the token decimals. */ function decimals() external view returns (uint8); /** * @dev Returns the token symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the token name. */ function name() external view returns (string memory); /** * @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); } /* * @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 GSN 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. */ 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() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions 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); } } /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @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) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @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 sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @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) { // 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 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts 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) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts 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) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts 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 mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message 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, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract QuickToken is Context,Ownable,IERC20{ using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; address private _esVest; uint256 private _totalSupply; uint8 private _decimals; string private _symbol; string private _name; constructor(address _esQuickToken) { _name = "Quick Exchange"; _symbol = "QUICK"; _decimals = 18; _totalSupply = 1000000000 * 10**18; _balances[msg.sender] = _totalSupply; _esVest = _esQuickToken; emit Transfer(address(0), msg.sender, _totalSupply); } /** * @dev Returns the token decimals. */ function decimals() external view returns (uint8) { return _decimals; } /** * @dev Returns the token symbol. */ function symbol() external view returns (string memory) { return _symbol; } /** * @dev Returns the token name. */ function name() external view returns (string memory) { return _name; } /** * @dev See {ERC20-totalSupply}. */ function totalSupply() external view returns (uint256) { return _totalSupply; } /** * @dev See {ERC20-balanceOf}. */ function balanceOf(address account) external view returns (uint256) { return _balances[account]; } function esVest() external view returns(address){ return _esVest; } /** * @dev See {ERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) external returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {ERC20-allowance}. */ function allowance(address owner, address spender) external view returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {ERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) external returns (bool) { _approve(_msgSender(), spender, amount); return true; } // function approve(address spender) external returns (bool) { // _approve(_msgSender(), spender, uint256(type(uint256).max)); // return true; // } /** * @dev See {ERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}; * * Requirements: * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for `sender`'s tokens of at least * `amount`. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {ERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {ERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } /** * @dev Burn `amount` tokens and decreasing the total supply. */ function burn(uint256 amount) public returns (bool) { _burn(_msgSender(), amount); return true; } function setEsVestToken(address _esQuickToken) public onlyOwner{ _esVest = _esQuickToken; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer(address sender, address recipient, uint256 amount) internal { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); if(address(sender) != address(_esVest) && address(recipient) == address(_esVest)){ IMintable(_esVest).mint(sender,amount); } emit Transfer(sender, recipient, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal { require(account != address(0), "ERC20: burn from the zero address"); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens. * * This is internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve(address owner, address spender, uint256 amount) internal { 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); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_esQuickToken","type":"address"}],"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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":[],"name":"esVest","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_esQuickToken","type":"address"}],"name":"setEsVestToken","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"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620010af380380620010af83398101604081905262000034916200017b565b6200003f336200012b565b60408051808201909152600e81526d517569636b2045786368616e676560901b602082015260079062000073908262000252565b50604080518082019091526005815264515549434b60d81b60208201526006906200009f908262000252565b5060058054601260ff199091161790556b033b2e3c9fd0803ce80000006004819055336000818152600160209081526040808320859055600380546001600160a01b0319166001600160a01b03881617905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506200031e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200018e57600080fd5b81516001600160a01b0381168114620001a657600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001d857607f821691505b602082108103620001f957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024d57600081815260208120601f850160051c81016020861015620002285750805b601f850160051c820191505b81811015620002495782815560010162000234565b5050505b505050565b81516001600160401b038111156200026e576200026e620001ad565b62000286816200027f8454620001c3565b84620001ff565b602080601f831160018114620002be5760008415620002a55750858301515b600019600386901b1c1916600185901b17855562000249565b600085815260208120601f198616915b82811015620002ef57888601518255948401946001909101908401620002ce565b50858210156200030e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610d81806200032e6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d714610222578063a9059cbb14610235578063dd62ed3e14610248578063e450179a14610281578063f2fde38b1461029457600080fd5b806370a08231146101d6578063715018a6146101ff5780638da5cb5b1461020957806395d89b411461021a57600080fd5b806323b872dd116100de57806323b872dd14610188578063313ce5671461019b57806339509351146101b057806342966c68146101c357600080fd5b806306fdde0314610110578063095ea7b31461012e578063162765411461015157806318160ddd14610176575b600080fd5b6101186102a7565b6040516101259190610b09565b60405180910390f35b61014161013c366004610b73565b610339565b6040519015158152602001610125565b6003546001600160a01b03165b6040516001600160a01b039091168152602001610125565b6004545b604051908152602001610125565b610141610196366004610b9d565b610350565b60055460405160ff9091168152602001610125565b6101416101be366004610b73565b6103b9565b6101416101d1366004610bd9565b6103ef565b61017a6101e4366004610bf2565b6001600160a01b031660009081526001602052604090205490565b610207610403565b005b6000546001600160a01b031661015e565b610118610417565b610141610230366004610b73565b610426565b610141610243366004610b73565b610475565b61017a610256366004610c0d565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61020761028f366004610bf2565b610482565b6102076102a2366004610bf2565b6104ac565b6060600780546102b690610c40565b80601f01602080910402602001604051908101604052809291908181526020018280546102e290610c40565b801561032f5780601f106103045761010080835404028352916020019161032f565b820191906000526020600020905b81548152906001019060200180831161031257829003601f168201915b5050505050905090565b600061034633848461052a565b5060015b92915050565b600061035d84848461064f565b6103af84336103aa85604051806060016040528060288152602001610cff602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610872565b61052a565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916103469185906103aa90866108ac565b60006103fb3383610912565b506001919050565b61040b610a1d565b6104156000610a77565b565b6060600680546102b690610c40565b600061034633846103aa85604051806060016040528060258152602001610d27602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610872565b600061034633848461064f565b61048a610a1d565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6104b4610a1d565b6001600160a01b03811661051e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61052781610a77565b50565b6001600160a01b03831661058c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610515565b6001600160a01b0382166105ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610515565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166106b35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610515565b6001600160a01b0382166107155760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610515565b61075281604051806060016040528060268152602001610cd9602691396001600160a01b0386166000908152600160205260409020549190610872565b6001600160a01b03808516600090815260016020526040808220939093559084168152205461078190826108ac565b6001600160a01b038084166000908152600160205260409020919091556003548482169116148015906107c157506003546001600160a01b038381169116145b1561082d576003546040516340c10f1960e01b81526001600160a01b03858116600483015260248201849052909116906340c10f1990604401600060405180830381600087803b15801561081457600080fd5b505af1158015610828573d6000803e3d6000fd5b505050505b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161064291815260200190565b600081848411156108965760405162461bcd60e51b81526004016105159190610b09565b5060006108a38486610c90565b95945050505050565b6000806108b98385610ca3565b90508381101561090b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610515565b9392505050565b6001600160a01b0382166109725760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610515565b6109af81604051806060016040528060228152602001610cb7602291396001600160a01b0385166000908152600160205260409020549190610872565b6001600160a01b0383166000908152600160205260409020556004546109d59082610ac7565b6004556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6000546001600160a01b031633146104155760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610515565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600061090b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610872565b600060208083528351808285015260005b81811015610b3657858101830151858201604001528201610b1a565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610b6e57600080fd5b919050565b60008060408385031215610b8657600080fd5b610b8f83610b57565b946020939093013593505050565b600080600060608486031215610bb257600080fd5b610bbb84610b57565b9250610bc960208501610b57565b9150604084013590509250925092565b600060208284031215610beb57600080fd5b5035919050565b600060208284031215610c0457600080fd5b61090b82610b57565b60008060408385031215610c2057600080fd5b610c2983610b57565b9150610c3760208401610b57565b90509250929050565b600181811c90821680610c5457607f821691505b602082108103610c7457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561034a5761034a610c7a565b8082018082111561034a5761034a610c7a56fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122050b08e0dfc506e89c272a5b0535c8c8039df8d9d8770ed6aa182c04a28549ad964736f6c63430008120033000000000000000000000000f31e22c9673659fcc07dd0cde17f99251d19e511
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f31e22c9673659fcc07dd0cde17f99251d19e511
-----Decoded View---------------
Arg [0] : _esQuickToken (address): 0xf31e22c9673659fcc07dd0cde17f99251d19e511
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f31e22c9673659fcc07dd0cde17f99251d19e511
Deployed ByteCode Sourcemap
11276:7679:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12336:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13555:154;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;13555:154:0;1004:187:1;12760:81:0;12826:7;;-1:-1:-1;;;;;12826:7:0;12760:81;;;-1:-1:-1;;;;;1360:32:1;;;1342:51;;1330:2;1315:18;12760:81:0;1196:203:1;12485:93:0;12558:12;;12485:93;;;1550:25:1;;;1538:2;1523:18;12485:93:0;1404:177:1;14358:306:0;;;;;;:::i;:::-;;:::i;12036:85::-;12104:9;;12036:85;;12104:9;;;;2061:36:1;;2049:2;2034:18;12036:85:0;1919:184:1;15072:210:0;;;;;;:::i;:::-;;:::i;16140:120::-;;;;;;:::i;:::-;;:::i;12640:112::-;;;;;;:::i;:::-;-1:-1:-1;;;;;12726:18:0;12699:7;12726:18;;;:9;:18;;;;;;;12640:112;5156:103;;;:::i;:::-;;4508:87;4554:7;4581:6;-1:-1:-1;;;;;4581:6:0;4508:87;;12186:89;;;:::i;15784:261::-;;;;;;:::i;:::-;;:::i;13051:160::-;;;;;;:::i;:::-;;:::i;13273:136::-;;;;;;:::i;:::-;-1:-1:-1;;;;;13374:18:0;;;13347:7;13374:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;13273:136;16268:105;;;;;;:::i;:::-;;:::i;5414:201::-;;;;;;:::i;:::-;;:::i;12336:85::-;12375:13;12408:5;12401:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12336:85;:::o;13555:154::-;13623:4;13640:39;3804:10;13663:7;13672:6;13640:8;:39::i;:::-;-1:-1:-1;13697:4:0;13555:154;;;;;:::o;14358:306::-;14449:4;14466:36;14476:6;14484:9;14495:6;14466:9;:36::i;:::-;14513:121;14522:6;3804:10;14544:89;14582:6;14544:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14544:19:0;;;;;;:11;:19;;;;;;;;3804:10;14544:33;;;;;;;;;;:37;:89::i;:::-;14513:8;:121::i;:::-;-1:-1:-1;14652:4:0;14358:306;;;;;:::o;15072:210::-;3804:10;15152:4;15201:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15201:34:0;;;;;;;;;;15152:4;;15169:83;;15192:7;;15201:50;;15240:10;15201:38;:50::i;16140:120::-;16186:4;16203:27;3804:10;16223:6;16203:5;:27::i;:::-;-1:-1:-1;16248:4:0;;16140:120;-1:-1:-1;16140:120:0:o;5156:103::-;4394:13;:11;:13::i;:::-;5221:30:::1;5248:1;5221:18;:30::i;:::-;5156:103::o:0;12186:89::-;12227:13;12260:7;12253:14;;;;;:::i;15784:261::-;15869:4;15886:129;3804:10;15909:7;15918:96;15957:15;15918:96;;;;;;;;;;;;;;;;;3804:10;15918:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15918:34:0;;;;;;;;;;;;:38;:96::i;13051:160::-;13122:4;13139:42;3804:10;13163:9;13174:6;13139:9;:42::i;16268:105::-;4394:13;:11;:13::i;:::-;16342:7:::1;:23:::0;;-1:-1:-1;;;;;;16342:23:0::1;-1:-1:-1::0;;;;;16342:23:0;;;::::1;::::0;;;::::1;::::0;;16268:105::o;5414:201::-;4394:13;:11;:13::i;:::-;-1:-1:-1;;;;;5503:22:0;::::1;5495:73;;;::::0;-1:-1:-1;;;5495:73:0;;3336:2:1;5495:73:0::1;::::0;::::1;3318:21:1::0;3375:2;3355:18;;;3348:30;3414:34;3394:18;;;3387:62;-1:-1:-1;;;3465:18:1;;;3458:36;3511:19;;5495:73:0::1;;;;;;;;;5579:28;5598:8;5579:18;:28::i;:::-;5414:201:::0;:::o;18610:338::-;-1:-1:-1;;;;;18704:19:0;;18696:68;;;;-1:-1:-1;;;18696:68:0;;3743:2:1;18696:68:0;;;3725:21:1;3782:2;3762:18;;;3755:30;3821:34;3801:18;;;3794:62;-1:-1:-1;;;3872:18:1;;;3865:34;3916:19;;18696:68:0;3541:400:1;18696:68:0;-1:-1:-1;;;;;18783:21:0;;18775:68;;;;-1:-1:-1;;;18775:68:0;;4148:2:1;18775:68:0;;;4130:21:1;4187:2;4167:18;;;4160:30;4226:34;4206:18;;;4199:62;-1:-1:-1;;;4277:18:1;;;4270:32;4319:19;;18775:68:0;3946:398:1;18775:68:0;-1:-1:-1;;;;;18856:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18908:32;;1550:25:1;;;18908:32:0;;1523:18:1;18908:32:0;;;;;;;;18610:338;;;:::o;16863:627::-;-1:-1:-1;;;;;16961:20:0;;16953:70;;;;-1:-1:-1;;;16953:70:0;;4551:2:1;16953:70:0;;;4533:21:1;4590:2;4570:18;;;4563:30;4629:34;4609:18;;;4602:62;-1:-1:-1;;;4680:18:1;;;4673:35;4725:19;;16953:70:0;4349:401:1;16953:70:0;-1:-1:-1;;;;;17042:23:0;;17034:71;;;;-1:-1:-1;;;17034:71:0;;4957:2:1;17034:71:0;;;4939:21:1;4996:2;4976:18;;;4969:30;5035:34;5015:18;;;5008:62;-1:-1:-1;;;5086:18:1;;;5079:33;5129:19;;17034:71:0;4755:399:1;17034:71:0;17138;17160:6;17138:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17138:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;17118:17:0;;;;;;;:9;:17;;;;;;:91;;;;17243:20;;;;;;;:32;;17268:6;17243:24;:32::i;:::-;-1:-1:-1;;;;;17220:20:0;;;;;;;:9;:20;;;;;:55;;;;17316:7;;17289:35;;;17316:7;;17289:35;;;;:77;;-1:-1:-1;17358:7:0;;-1:-1:-1;;;;;17328:38:0;;;17358:7;;17328:38;17289:77;17286:146;;;17392:7;;17382:38;;-1:-1:-1;;;17382:38:0;;-1:-1:-1;;;;;5351:32:1;;;17382:38:0;;;5333:51:1;5400:18;;;5393:34;;;17392:7:0;;;;17382:23;;5306:18:1;;17382:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17286:146;17464:9;-1:-1:-1;;;;;17447:35:0;17456:6;-1:-1:-1;;;;;17447:35:0;;17475:6;17447:35;;;;1550:25:1;;1538:2;1523:18;;1404:177;7694:192:0;7780:7;7816:12;7808:6;;;;7800:29;;;;-1:-1:-1;;;7800:29:0;;;;;;;;:::i;:::-;-1:-1:-1;7840:9:0;7852:5;7856:1;7852;:5;:::i;:::-;7840:17;7694:192;-1:-1:-1;;;;;7694:192:0:o;6807:181::-;6865:7;;6897:5;6901:1;6897;:5;:::i;:::-;6885:17;;6926:1;6921;:6;;6913:46;;;;-1:-1:-1;;;6913:46:0;;6035:2:1;6913:46:0;;;6017:21:1;6074:2;6054:18;;;6047:30;6113:29;6093:18;;;6086:57;6160:18;;6913:46:0;5833:351:1;6913:46:0;6979:1;6807:181;-1:-1:-1;;;6807:181:0:o;17822:348::-;-1:-1:-1;;;;;17898:21:0;;17890:67;;;;-1:-1:-1;;;17890:67:0;;6391:2:1;17890:67:0;;;6373:21:1;6430:2;6410:18;;;6403:30;6469:34;6449:18;;;6442:62;-1:-1:-1;;;6520:18:1;;;6513:31;6561:19;;17890:67:0;6189:397:1;17890:67:0;17991:68;18014:6;17991:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17991:18:0;;;;;;:9;:18;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;17970:18:0;;;;;;:9;:18;;;;;:89;18085:12;;:24;;18102:6;18085:16;:24::i;:::-;18070:12;:39;18125:37;;1550:25:1;;;18151:1:0;;-1:-1:-1;;;;;18125:37:0;;;;;1538:2:1;1523:18;18125:37:0;;;;;;;17822:348;;:::o;4673:132::-;4554:7;4581:6;-1:-1:-1;;;;;4581:6:0;3804:10;4737:23;4729:68;;;;-1:-1:-1;;;4729:68:0;;6793:2:1;4729:68:0;;;6775:21:1;;;6812:18;;;6805:30;6871:34;6851:18;;;6844:62;6923:18;;4729:68:0;6591:356:1;5775:191:0;5849:16;5868:6;;-1:-1:-1;;;;;5885:17:0;;;-1:-1:-1;;;;;;5885:17:0;;;;;;5918:40;;5868:6;;;;;;;5918:40;;5849:16;5918:40;5838:128;5775:191;:::o;7263:136::-;7321:7;7348:43;7352:1;7355;7348:43;;;;;;;;;;;;;;;;;:3;:43::i;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;1586:328::-;1663:6;1671;1679;1732:2;1720:9;1711:7;1707:23;1703:32;1700:52;;;1748:1;1745;1738:12;1700:52;1771:29;1790:9;1771:29;:::i;:::-;1761:39;;1819:38;1853:2;1842:9;1838:18;1819:38;:::i;:::-;1809:48;;1904:2;1893:9;1889:18;1876:32;1866:42;;1586:328;;;;;:::o;2108:180::-;2167:6;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;-1:-1:-1;2259:23:1;;2108:180;-1:-1:-1;2108:180:1:o;2293:186::-;2352:6;2405:2;2393:9;2384:7;2380:23;2376:32;2373:52;;;2421:1;2418;2411:12;2373:52;2444:29;2463:9;2444:29;:::i;2484:260::-;2552:6;2560;2613:2;2601:9;2592:7;2588:23;2584:32;2581:52;;;2629:1;2626;2619:12;2581:52;2652:29;2671:9;2652:29;:::i;:::-;2642:39;;2700:38;2734:2;2723:9;2719:18;2700:38;:::i;:::-;2690:48;;2484:260;;;;;:::o;2749:380::-;2828:1;2824:12;;;;2871;;;2892:61;;2946:4;2938:6;2934:17;2924:27;;2892:61;2999:2;2991:6;2988:14;2968:18;2965:38;2962:161;;3045:10;3040:3;3036:20;3033:1;3026:31;3080:4;3077:1;3070:15;3108:4;3105:1;3098:15;2962:161;;2749:380;;;:::o;5438:127::-;5499:10;5494:3;5490:20;5487:1;5480:31;5530:4;5527:1;5520:15;5554:4;5551:1;5544:15;5570:128;5637:9;;;5658:11;;;5655:37;;;5672:18;;:::i;5703:125::-;5768:9;;;5789:10;;;5786:36;;;5802:18;;:::i
Metadata Hash
ipfs://50b08e0dfc506e89c272a5b0535c8c8039df8d9d8770ed6aa182c04a28549ad9