Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Staking
Overview
Max Total Supply
1,000,001 RFS
Holders
59 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
10.521091707287211274 RFSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Share
Compiler Version
v0.6.12+commit.27d51765
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.6.2; import "@openzeppelin/contracts/GSN/Context.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/math/SafeMath.sol"; import "@openzeppelin/contracts/utils/Address.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; import "./owner/Operator.sol"; contract Share is Context, IERC20, Operator { using SafeMath for uint256; using Address for address; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcluded; address[] private _excluded; mapping(address => bool) private _feeless; mapping(address => bool) private _pools; uint256 private constant MAX = uint256(- 1); uint256 private constant _tTotal = 1000001 * 10 ** 18; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeDivisor = 80; // 1.25% struct Values { uint256 amount; uint256 transferAmount; uint256 fee; } string private _name = 'REFLECT.CASH SHARE'; string private _symbol = 'RFS'; uint8 private _decimals = 18; constructor () public { _rOwned[address(this)] = _rTotal; excludeAccount(address(this)); _feeless[address(this)] = true; _transfer(address(this), _msgSender(), 1e18); } modifier onlyPool() { require(_pools[_msgSender()], "Caller is not pool"); _; } /* =================== Only Pool =================== */ function withdraw(address recipient, uint256 amount) external onlyPool { _transfer(address(this), recipient, amount); } /* =================== Only Owner =================== */ function setPool(address _pool, bool value) external onlyOperator { _pools[_pool] = value; } function setFeeless(address account, bool value) external onlyOwner { _feeless[account] = value; } function setFeeDivisor(uint256 feeDivisor) external onlyOwner { require(feeDivisor >= 50, "Invalid fee"); // Max 2% _feeDivisor = feeDivisor; } function excludeAccount(address account) public onlyOwner { require(!_isExcluded[account], "Account is already excluded"); if (_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function includeAccount(address account) public onlyOwner { require(_isExcluded[account], "Account is already included"); for (uint256 i = 0; i < _excluded.length; i++) { if (_excluded[i] == account) { _excluded[i] = _excluded[_excluded.length - 1]; _tOwned[account] = 0; _isExcluded[account] = false; _excluded.pop(); break; } } } /* =================== Public =================== */ 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 _tTotal; } function balanceOf(address account) public view override returns (uint256) { if (_isExcluded[account]) return _tOwned[account]; return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function 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 isExcluded(address account) public view returns (bool) { return _isExcluded[account]; } function totalFees() public view returns (uint256) { return _tFeeTotal; } function reflect(uint256 tAmount) public { address sender = _msgSender(); require(!_isExcluded[sender], "Excluded addresses cannot call this function"); (Values memory r,) = _getValues(tAmount, !_feeless[sender]); _rOwned[sender] = _rOwned[sender].sub(r.amount); _rTotal = _rTotal.sub(r.amount); _tFeeTotal = _tFeeTotal.add(tAmount); } function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns (uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); (Values memory r,) = _getValues(tAmount, true); if (!deductTransferFee) { return r.amount; } else { return r.transferAmount; } } function tokenFromReflection(uint256 rAmount) public view returns (uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } /* =================== Private =================== */ function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); bool hasFee = !_feeless[sender] && !_feeless[recipient]; if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount, hasFee); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount, hasFee); } else if (!_isExcluded[sender] && !_isExcluded[recipient]) { _transferStandard(sender, recipient, amount, hasFee); } else if (_isExcluded[sender] && _isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount, hasFee); } else { _transferStandard(sender, recipient, amount, hasFee); } } function _transferStandard(address sender, address recipient, uint256 tAmount, bool hasFee) private { (Values memory r, Values memory t) = _getValues(tAmount, hasFee); _rOwned[sender] = _rOwned[sender].sub(r.amount); _rOwned[recipient] = _rOwned[recipient].add(r.transferAmount); _reflectFee(r.fee, t.fee); emit Transfer(sender, recipient, t.transferAmount); } function _transferToExcluded(address sender, address recipient, uint256 tAmount, bool hasFee) private { (Values memory r, Values memory t) = _getValues(tAmount, hasFee); _rOwned[sender] = _rOwned[sender].sub(r.amount); _tOwned[recipient] = _tOwned[recipient].add(t.transferAmount); _rOwned[recipient] = _rOwned[recipient].add(r.transferAmount); _reflectFee(r.fee, t.fee); emit Transfer(sender, recipient, t.transferAmount); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount, bool hasFee) private { (Values memory r, Values memory t) = _getValues(tAmount, hasFee); _tOwned[sender] = _tOwned[sender].sub(t.amount); _rOwned[sender] = _rOwned[sender].sub(r.amount); _rOwned[recipient] = _rOwned[recipient].add(r.transferAmount); _reflectFee(r.fee, t.fee); emit Transfer(sender, recipient, t.transferAmount); } function _transferBothExcluded(address sender, address recipient, uint256 tAmount, bool hasFee) private { (Values memory r, Values memory t) = _getValues(tAmount, hasFee); _tOwned[sender] = _tOwned[sender].sub(t.amount); _rOwned[sender] = _rOwned[sender].sub(r.amount); _tOwned[recipient] = _tOwned[recipient].add(t.transferAmount); _rOwned[recipient] = _rOwned[recipient].add(r.transferAmount); _reflectFee(r.fee, t.fee); emit Transfer(sender, recipient, t.transferAmount); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _getValues(uint256 tAmount, bool hasFee) private view returns (Values memory r, Values memory t) { t = _getTValues(tAmount, hasFee); r = _getRValues(t, _getRate()); } function _getTValues(uint256 tAmount, bool hasFee) private view returns (Values memory t) { t.amount = tAmount; if (hasFee) { t.fee = tAmount.div(_feeDivisor); } t.transferAmount = tAmount.sub(t.fee); } function _getRValues(Values memory t, uint256 currentRate) private pure returns (Values memory r) { r.amount = t.amount.mul(currentRate); r.fee = t.fee.mul(currentRate); r.transferAmount = r.amount.sub(r.fee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal); rSupply = rSupply.sub(_rOwned[_excluded[i]]); tSupply = tSupply.sub(_tOwned[_excluded[i]]); } if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.6.0; /* * @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. */ abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.6.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ 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); }
// SPDX-License-Identifier: MIT pragma solidity ^0.6.0; /** * @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) { 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; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.6.2; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies in extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } }
// SPDX-License-Identifier: MIT pragma solidity ^0.6.0; import "../GSN/Context.sol"; /** * @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. */ 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 () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view 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 { emit OwnershipTransferred(_owner, address(0)); _owner = 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"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.6.0; import '@openzeppelin/contracts/GSN/Context.sol'; import '@openzeppelin/contracts/access/Ownable.sol'; contract Operator is Context, Ownable { address private _operator; event OperatorTransferred( address indexed previousOperator, address indexed newOperator ); constructor() internal { _operator = _msgSender(); emit OperatorTransferred(address(0), _operator); } function operator() public view returns (address) { return _operator; } modifier onlyOperator() { require( _operator == msg.sender, 'operator: caller is not the operator' ); _; } function isOperator() public view returns (bool) { return _msgSender() == _operator; } function transferOperator(address newOperator_) public onlyOwner { _transferOperator(newOperator_); } function _transferOperator(address newOperator_) internal { require( newOperator_ != address(0), 'operator: zero address given for new operator' ); emit OperatorTransferred(address(0), newOperator_); _operator = newOperator_; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "libraries": {} }
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":"previousOperator","type":"address"},{"indexed":true,"internalType":"address","name":"newOperator","type":"address"}],"name":"OperatorTransferred","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":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","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":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeDivisor","type":"uint256"}],"name":"setFeeDivisor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setFeeless","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pool","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"newOperator_","type":"address"}],"name":"transferOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
69427e7e60611e42dfffff196009556050600b5560c060405260126080819052715245464c4543542e4341534820534841524560701b60a09081526200004991600c919062000ec6565b506040805180820190915260038082526252465360e81b60209092019182526200007691600d9162000ec6565b50600e805460ff191660121790553480156200009157600080fd5b5060006200009e6200019d565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000f26200019d565b600180546001600160a01b0319166001600160a01b0392831617908190556040519116906000907f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed908290a3600954306000818152600260205260409020919091556200015f90620001a1565b306000818152600760205260409020805460ff191660011790556200019790620001886200019d565b670de0b6b3a764000062000340565b62000f83565b3390565b620001ab6200019d565b6000546001600160a01b039081169116146200020e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff16156200027d576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526002602052604090205415620002da576001600160a01b038116600090815260026020526040902054620002c09062000586565b6001600160a01b0382166000908152600360205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b6001600160a01b038316620003875760405162461bcd60e51b815260040180806020018281038252602581526020018062002fe76025913960400191505060405180910390fd5b6001600160a01b038216620003ce5760405162461bcd60e51b815260040180806020018281038252602381526020018062002f796023913960400191505060405180910390fd5b6001600160a01b03831660009081526007602052604081205460ff161580156200041157506001600160a01b03831660009081526007602052604090205460ff16155b6001600160a01b03851660009081526005602052604090205490915060ff1680156200045657506001600160a01b03831660009081526005602052604090205460ff16155b1562000470576200046a84848484620005fa565b62000580565b6001600160a01b03841660009081526005602052604090205460ff16158015620004b257506001600160a01b03831660009081526005602052604090205460ff165b15620004c6576200046a8484848462000760565b6001600160a01b03841660009081526005602052604090205460ff161580156200050957506001600160a01b03831660009081526005602052604090205460ff16155b156200051d576200046a8484848462000843565b6001600160a01b03841660009081526005602052604090205460ff1680156200055e57506001600160a01b03831660009081526005602052604090205460ff165b1562000572576200046a848484846200089c565b620005808484848462000843565b50505050565b6000600954821115620005cb5760405162461bcd60e51b815260040180806020018281038252602a81526020018062002f9c602a913960400191505060405180910390fd5b6000620005d762000935565b9050620005f381846200096860201b620012931790919060201c565b9392505050565b6200060462000f4b565b6200060e62000f4b565b6200061a8484620009bb565b80516001600160a01b038916600090815260036020908152604090912054939550919350620006539291620012dc620009fb821b17901c565b6001600160a01b038716600090815260036020908152604080832093909355845160028252929091205462000693929091620012dc620009fb821b17901c565b6001600160a01b0380881660009081526002602090815260408083209490945585810151928916825292902054620006d7929091906200131e62000a45821b17901c565b6001600160a01b0386166000908152600260205260409081902091909155828101519082015162000709919062000aa0565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83602001516040518082815260200191505060405180910390a3505050505050565b6200076a62000f4b565b6200077462000f4b565b620007808484620009bb565b81516001600160a01b038916600090815260026020908152604090912054939550919350620007b99291620012dc620009fb821b17901c565b6001600160a01b03808816600090815260026020908152604080832094909455848101519289168252600381529290205462000801929091906200131e62000a45821b17901c565b6001600160a01b03861660009081526003602090815260408083209390935584810151600282529290912054620006d79290916200131e62000a45821b17901c565b6200084d62000f4b565b6200085762000f4b565b620008638484620009bb565b81516001600160a01b038916600090815260026020908152604090912054939550919350620006939291620012dc620009fb821b17901c565b620008a662000f4b565b620008b062000f4b565b620008bc8484620009bb565b80516001600160a01b038916600090815260036020908152604090912054939550919350620008f59291620012dc620009fb821b17901c565b6001600160a01b0387166000908152600360209081526040808320939093558451600282529290912054620007b9929091620012dc620009fb821b17901c565b600080806200094362000ae5565b915091506200096181836200096860201b620012931790919060201c565b9250505090565b6000620009b283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000c9e60201b60201c565b90505b92915050565b620009c562000f4b565b620009cf62000f4b565b620009db848462000d45565b9050620009f281620009ec62000935565b62000da4565b91509250929050565b6000620009b283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000e0b60201b60201c565b600082820183811015620009b2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b62000abc82600954620009fb60201b620012dc1790919060201c565b60098190555062000ade81600a5462000a4560201b6200131e1790919060201c565b600a555050565b600954600090819069d3c229af83a148640000825b60065481101562000c4b5782600260006006848154811062000b1857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054118062000b7f575081600360006006848154811062000b5857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1562000ba05760095469d3c229af83a1486400009450945050505062000c9a565b62000bef600260006006848154811062000bb657fe5b60009182526020808320909101546001600160a01b031683528281019390935260409091019020548591620012dc620009fb821b17901c565b925062000c40600360006006848154811062000c0757fe5b60009182526020808320909101546001600160a01b031683528281019390935260409091019020548491620012dc620009fb821b17901c565b915060010162000afa565b5062000c7269d3c229af83a1486400006009546200096860201b620012931790919060201c565b82101562000c945760095469d3c229af83a14864000093509350505062000c9a565b90925090505b9091565b6000818362000d2e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000cf257818101518382015260200162000cd8565b50505050905090810190601f16801562000d205780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858162000d3b57fe5b0495945050505050565b62000d4f62000f4b565b828152811562000d7b5762000d75600b54846200096860201b620012931790919060201c565b60408201525b62000d99816040015184620009fb60201b620012dc1790919060201c565b602082015292915050565b62000dae62000f4b565b62000dcc82846000015162000e6860201b620013781790919060201c565b8152604083015162000deb908362000e68602090811b6200137817901c565b60408201819052815162000d9991620009fb602090811b620012dc17901c565b6000818484111562000e605760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562000cf257818101518382015260200162000cd8565b505050900390565b60008262000e7957506000620009b5565b8282028284828162000e8757fe5b0414620009b25760405162461bcd60e51b815260040180806020018281038252602181526020018062002fc66021913960400191505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000f0957805160ff191683800117855562000f39565b8280016001018555821562000f39579182015b8281111562000f3957825182559160200191906001019062000f1c565b5062000f4792915062000f6c565b5090565b60405180606001604052806000815260200160008152602001600081525090565b5b8082111562000f47576000815560010162000f6d565b611fe68062000f936000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063570ca735116100f9578063cba0e99611610097578063f2cc0c1811610071578063f2cc0c181461053e578063f2fde38b14610564578063f3fef3a31461058a578063f84354f1146105b6576101c4565b8063cba0e996146104bc578063dd62ed3e146104e2578063efbc9de714610510576101c4565b80638da5cb5b116100d35780638da5cb5b1461045457806395d89b411461045c578063a457c2d714610464578063a9059cbb14610490576101c4565b8063570ca7351461040257806370a0823114610426578063715018a61461044c576101c4565b806323b872dd11610166578063313ce56711610140578063313ce5671461038b57806339509351146103a95780634456eda2146103d55780634549b039146103dd576101c4565b806323b872dd1461031257806329605e77146103485780632d8381191461036e576101c4565b8063095ea7b3116101a2578063095ea7b31461028257806313114a9d146102c257806318160ddd146102dc57806320bec12c146102e4576101c4565b8063043531b1146101c9578063053ab182146101e857806306fdde0314610205575b600080fd5b6101e6600480360360208110156101df57600080fd5b50356105dc565b005b6101e6600480360360208110156101fe57600080fd5b503561067d565b61020d61077a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024757818101518382015260200161022f565b50505050905090810190601f1680156102745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ae6004803603604081101561029857600080fd5b506001600160a01b038135169060200135610810565b604080519115158252519081900360200190f35b6102ca61082e565b60408051918252519081900360200190f35b6102ca610834565b6101e6600480360360408110156102fa57600080fd5b506001600160a01b0381351690602001351515610842565b6102ae6004803603606081101561032857600080fd5b506001600160a01b038135811691602081013590911690604001356108b6565b6101e66004803603602081101561035e57600080fd5b50356001600160a01b031661093d565b6102ca6004803603602081101561038457600080fd5b50356109a1565b610393610a03565b6040805160ff9092168252519081900360200190f35b6102ae600480360360408110156103bf57600080fd5b506001600160a01b038135169060200135610a0c565b6102ae610a5a565b6102ca600480360360408110156103f357600080fd5b50803590602001351515610a80565b61040a610b0f565b604080516001600160a01b039092168252519081900360200190f35b6102ca6004803603602081101561043c57600080fd5b50356001600160a01b0316610b1e565b6101e6610b80565b61040a610c22565b61020d610c31565b6102ae6004803603604081101561047a57600080fd5b506001600160a01b038135169060200135610c92565b6102ae600480360360408110156104a657600080fd5b506001600160a01b038135169060200135610cfa565b6102ae600480360360208110156104d257600080fd5b50356001600160a01b0316610d0e565b6102ca600480360360408110156104f857600080fd5b506001600160a01b0381358116916020013516610d2c565b6101e66004803603604081101561052657600080fd5b506001600160a01b0381351690602001351515610d57565b6101e66004803603602081101561055457600080fd5b50356001600160a01b0316610dda565b6101e66004803603602081101561057a57600080fd5b50356001600160a01b0316610f60565b6101e6600480360360408110156105a057600080fd5b506001600160a01b038135169060200135611058565b6101e6600480360360208110156105cc57600080fd5b50356001600160a01b03166110d6565b6105e46113d1565b6000546001600160a01b03908116911614610634576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b6032811015610678576040805162461bcd60e51b815260206004820152600b60248201526a496e76616c69642066656560a81b604482015290519081900360640190fd5b600b55565b60006106876113d1565b6001600160a01b03811660009081526005602052604090205490915060ff16156106e25760405162461bcd60e51b815260040180806020018281038252602c815260200180611f60602c913960400191505060405180910390fd5b6106ea611da6565b6001600160a01b03821660009081526007602052604090205461071290849060ff16156113d5565b5080516001600160a01b03841660009081526002602052604090205491925061073b91906112dc565b6001600160a01b0383166000908152600260205260409020558051600954610762916112dc565b600955600a54610772908461131e565b600a55505050565b600c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108065780601f106107db57610100808354040283529160200191610806565b820191906000526020600020905b8154815290600101906020018083116107e957829003601f168201915b5050505050905090565b600061082461081d6113d1565b848461140b565b5060015b92915050565b600a5490565b69d3c229af83a14864000090565b6001546001600160a01b0316331461088b5760405162461bcd60e51b8152600401808060200182810382526024815260200180611ef36024913960400191505060405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60006108c38484846114f7565b610933846108cf6113d1565b61092e85604051806060016040528060288152602001611eab602891396001600160a01b038a1660009081526004602052604081209061090d6113d1565b6001600160a01b031681526020810191909152604001600020549190611725565b61140b565b5060019392505050565b6109456113d1565b6000546001600160a01b03908116911614610995576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b61099e816117bc565b50565b60006009548211156109e45760405162461bcd60e51b815260040180806020018281038252602a815260200180611deb602a913960400191505060405180910390fd5b60006109ee611859565b90506109fa8382611293565b9150505b919050565b600e5460ff1690565b6000610824610a196113d1565b8461092e8560046000610a2a6113d1565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061131e565b6001546000906001600160a01b0316610a716113d1565b6001600160a01b031614905090565b600069d3c229af83a148640000831115610ae1576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b610ae9611da6565b610af48460016113d5565b50905082610b0457519050610828565b602001519050610828565b6001546001600160a01b031690565b6001600160a01b03811660009081526005602052604081205460ff1615610b5e57506001600160a01b0381166000908152600360205260409020546109fe565b6001600160a01b038216600090815260026020526040902054610828906109a1565b610b886113d1565b6000546001600160a01b03908116911614610bd8576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600d8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108065780601f106107db57610100808354040283529160200191610806565b6000610824610c9f6113d1565b8461092e85604051806060016040528060258152602001611f8c6025913960046000610cc96113d1565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611725565b6000610824610d076113d1565b84846114f7565b6001600160a01b031660009081526005602052604090205460ff1690565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b610d5f6113d1565b6000546001600160a01b03908116911614610daf576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b610de26113d1565b6000546001600160a01b03908116911614610e32576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff1615610ea0576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526002602052604090205415610efa576001600160a01b038116600090815260026020526040902054610ee0906109a1565b6001600160a01b0382166000908152600360205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b610f686113d1565b6000546001600160a01b03908116911614610fb8576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b6001600160a01b038116610ffd5760405162461bcd60e51b8152600401808060200182810382526026815260200180611e156026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600860006110646113d1565b6001600160a01b0316815260208101919091526040016000205460ff166110c7576040805162461bcd60e51b815260206004820152601260248201527110d85b1b195c881a5cc81b9bdd081c1bdbdb60721b604482015290519081900360640190fd5b6110d23083836114f7565b5050565b6110de6113d1565b6000546001600160a01b0390811691161461112e576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff1661119b576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c756465640000000000604482015290519081900360640190fd5b60005b6006548110156110d257816001600160a01b0316600682815481106111bf57fe5b6000918252602090912001546001600160a01b0316141561128b576006805460001981019081106111ec57fe5b600091825260209091200154600680546001600160a01b03909216918390811061121257fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600382526040808220829055600590925220805460ff19169055600680548061126457fe5b600082815260209020810160001990810180546001600160a01b03191690550190556110d2565b60010161119e565b60006112d583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061187c565b9392505050565b60006112d583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611725565b6000828201838110156112d5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261138757506000610828565b8282028284828161139457fe5b04146112d55760405162461bcd60e51b8152600401808060200182810382526021815260200180611e8a6021913960400191505060405180910390fd5b3390565b6113dd611da6565b6113e5611da6565b6113ef84846118e1565b9050611402816113fd611859565b611921565b91509250929050565b6001600160a01b0383166114505760405162461bcd60e51b8152600401808060200182810382526024815260200180611f3c6024913960400191505060405180910390fd5b6001600160a01b0382166114955760405162461bcd60e51b8152600401808060200182810382526022815260200180611e3b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661153c5760405162461bcd60e51b8152600401808060200182810382526025815260200180611f176025913960400191505060405180910390fd5b6001600160a01b0382166115815760405162461bcd60e51b8152600401808060200182810382526023815260200180611dc86023913960400191505060405180910390fd5b6001600160a01b03831660009081526007602052604081205460ff161580156115c357506001600160a01b03831660009081526007602052604090205460ff16155b6001600160a01b03851660009081526005602052604090205490915060ff16801561160757506001600160a01b03831660009081526005602052604090205460ff16155b1561161d5761161884848484611958565b61171f565b6001600160a01b03841660009081526005602052604090205460ff1615801561165e57506001600160a01b03831660009081526005602052604090205460ff165b1561166f5761161884848484611a8d565b6001600160a01b03841660009081526005602052604090205460ff161580156116b157506001600160a01b03831660009081526005602052604090205460ff16155b156116c25761161884848484611b42565b6001600160a01b03841660009081526005602052604090205460ff16801561170257506001600160a01b03831660009081526005602052604090205460ff165b156117135761161884848484611b87565b61171f84848484611b42565b50505050565b600081848411156117b45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611779578181015183820152602001611761565b50505050905090810190601f1680156117a65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0381166118015760405162461bcd60e51b815260040180806020018281038252602d815260200180611e5d602d913960400191505060405180910390fd5b6040516001600160a01b038216906000907f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed908290a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000611866611bff565b90925090506118758282611293565b9250505090565b600081836118cb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611779578181015183820152602001611761565b5060008385816118d757fe5b0495945050505050565b6118e9611da6565b828152811561190657600b54611900908490611293565b60408201525b60408101516119169084906112dc565b602082015292915050565b611929611da6565b82516119359083611378565b815260408301516119469083611378565b604082018190528151611916916112dc565b611960611da6565b611968611da6565b61197284846113d5565b80516001600160a01b03891660009081526003602052604090205492945090925061199d91906112dc565b6001600160a01b03871660009081526003602090815260408083209390935584516002909152919020546119d0916112dc565b6001600160a01b0380881660009081526002602090815260408083209490945585015191881681529190912054611a069161131e565b6001600160a01b03861660009081526002602052604090819020919091558281015190820151611a369190611d82565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83602001516040518082815260200191505060405180910390a3505050505050565b611a95611da6565b611a9d611da6565b611aa784846113d5565b81516001600160a01b038916600090815260026020526040902054929450909250611ad291906112dc565b6001600160a01b03808816600090815260026020908152604080832094909455848101519289168252600390529190912054611b0d9161131e565b6001600160a01b03861660009081526003602090815260408083209390935584810151600290915291902054611a069161131e565b611b4a611da6565b611b52611da6565b611b5c84846113d5565b81516001600160a01b0389166000908152600260205260409020549294509092506119d091906112dc565b611b8f611da6565b611b97611da6565b611ba184846113d5565b80516001600160a01b038916600090815260036020526040902054929450909250611bcc91906112dc565b6001600160a01b0387166000908152600360209081526040808320939093558451600290915291902054611ad2916112dc565b600954600090819069d3c229af83a148640000825b600654811015611d4057826002600060068481548110611c3057fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611c955750816003600060068481548110611c6e57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611cb45760095469d3c229af83a14864000094509450505050611d7e565b611cf46002600060068481548110611cc857fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906112dc565b9250611d366003600060068481548110611d0a57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906112dc565b9150600101611c14565b50600954611d589069d3c229af83a148640000611293565b821015611d785760095469d3c229af83a148640000935093505050611d7e565b90925090505b9091565b600954611d8f90836112dc565b600955600a54611d9f908261131e565b600a555050565b6040518060600160405280600081526020016000815260200160008152509056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573736f70657261746f723a207a65726f206164647265737320676976656e20666f72206e6577206f70657261746f72536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657261746f7245524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200dae230e377039b11e79f0db07438bc0ecde746d88cbb0991a89695c57a4827b64736f6c634300060c003345524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e73536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101c45760003560e01c8063570ca735116100f9578063cba0e99611610097578063f2cc0c1811610071578063f2cc0c181461053e578063f2fde38b14610564578063f3fef3a31461058a578063f84354f1146105b6576101c4565b8063cba0e996146104bc578063dd62ed3e146104e2578063efbc9de714610510576101c4565b80638da5cb5b116100d35780638da5cb5b1461045457806395d89b411461045c578063a457c2d714610464578063a9059cbb14610490576101c4565b8063570ca7351461040257806370a0823114610426578063715018a61461044c576101c4565b806323b872dd11610166578063313ce56711610140578063313ce5671461038b57806339509351146103a95780634456eda2146103d55780634549b039146103dd576101c4565b806323b872dd1461031257806329605e77146103485780632d8381191461036e576101c4565b8063095ea7b3116101a2578063095ea7b31461028257806313114a9d146102c257806318160ddd146102dc57806320bec12c146102e4576101c4565b8063043531b1146101c9578063053ab182146101e857806306fdde0314610205575b600080fd5b6101e6600480360360208110156101df57600080fd5b50356105dc565b005b6101e6600480360360208110156101fe57600080fd5b503561067d565b61020d61077a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024757818101518382015260200161022f565b50505050905090810190601f1680156102745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ae6004803603604081101561029857600080fd5b506001600160a01b038135169060200135610810565b604080519115158252519081900360200190f35b6102ca61082e565b60408051918252519081900360200190f35b6102ca610834565b6101e6600480360360408110156102fa57600080fd5b506001600160a01b0381351690602001351515610842565b6102ae6004803603606081101561032857600080fd5b506001600160a01b038135811691602081013590911690604001356108b6565b6101e66004803603602081101561035e57600080fd5b50356001600160a01b031661093d565b6102ca6004803603602081101561038457600080fd5b50356109a1565b610393610a03565b6040805160ff9092168252519081900360200190f35b6102ae600480360360408110156103bf57600080fd5b506001600160a01b038135169060200135610a0c565b6102ae610a5a565b6102ca600480360360408110156103f357600080fd5b50803590602001351515610a80565b61040a610b0f565b604080516001600160a01b039092168252519081900360200190f35b6102ca6004803603602081101561043c57600080fd5b50356001600160a01b0316610b1e565b6101e6610b80565b61040a610c22565b61020d610c31565b6102ae6004803603604081101561047a57600080fd5b506001600160a01b038135169060200135610c92565b6102ae600480360360408110156104a657600080fd5b506001600160a01b038135169060200135610cfa565b6102ae600480360360208110156104d257600080fd5b50356001600160a01b0316610d0e565b6102ca600480360360408110156104f857600080fd5b506001600160a01b0381358116916020013516610d2c565b6101e66004803603604081101561052657600080fd5b506001600160a01b0381351690602001351515610d57565b6101e66004803603602081101561055457600080fd5b50356001600160a01b0316610dda565b6101e66004803603602081101561057a57600080fd5b50356001600160a01b0316610f60565b6101e6600480360360408110156105a057600080fd5b506001600160a01b038135169060200135611058565b6101e6600480360360208110156105cc57600080fd5b50356001600160a01b03166110d6565b6105e46113d1565b6000546001600160a01b03908116911614610634576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b6032811015610678576040805162461bcd60e51b815260206004820152600b60248201526a496e76616c69642066656560a81b604482015290519081900360640190fd5b600b55565b60006106876113d1565b6001600160a01b03811660009081526005602052604090205490915060ff16156106e25760405162461bcd60e51b815260040180806020018281038252602c815260200180611f60602c913960400191505060405180910390fd5b6106ea611da6565b6001600160a01b03821660009081526007602052604090205461071290849060ff16156113d5565b5080516001600160a01b03841660009081526002602052604090205491925061073b91906112dc565b6001600160a01b0383166000908152600260205260409020558051600954610762916112dc565b600955600a54610772908461131e565b600a55505050565b600c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108065780601f106107db57610100808354040283529160200191610806565b820191906000526020600020905b8154815290600101906020018083116107e957829003601f168201915b5050505050905090565b600061082461081d6113d1565b848461140b565b5060015b92915050565b600a5490565b69d3c229af83a14864000090565b6001546001600160a01b0316331461088b5760405162461bcd60e51b8152600401808060200182810382526024815260200180611ef36024913960400191505060405180910390fd5b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b60006108c38484846114f7565b610933846108cf6113d1565b61092e85604051806060016040528060288152602001611eab602891396001600160a01b038a1660009081526004602052604081209061090d6113d1565b6001600160a01b031681526020810191909152604001600020549190611725565b61140b565b5060019392505050565b6109456113d1565b6000546001600160a01b03908116911614610995576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b61099e816117bc565b50565b60006009548211156109e45760405162461bcd60e51b815260040180806020018281038252602a815260200180611deb602a913960400191505060405180910390fd5b60006109ee611859565b90506109fa8382611293565b9150505b919050565b600e5460ff1690565b6000610824610a196113d1565b8461092e8560046000610a2a6113d1565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061131e565b6001546000906001600160a01b0316610a716113d1565b6001600160a01b031614905090565b600069d3c229af83a148640000831115610ae1576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b610ae9611da6565b610af48460016113d5565b50905082610b0457519050610828565b602001519050610828565b6001546001600160a01b031690565b6001600160a01b03811660009081526005602052604081205460ff1615610b5e57506001600160a01b0381166000908152600360205260409020546109fe565b6001600160a01b038216600090815260026020526040902054610828906109a1565b610b886113d1565b6000546001600160a01b03908116911614610bd8576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600d8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108065780601f106107db57610100808354040283529160200191610806565b6000610824610c9f6113d1565b8461092e85604051806060016040528060258152602001611f8c6025913960046000610cc96113d1565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611725565b6000610824610d076113d1565b84846114f7565b6001600160a01b031660009081526005602052604090205460ff1690565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b610d5f6113d1565b6000546001600160a01b03908116911614610daf576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b610de26113d1565b6000546001600160a01b03908116911614610e32576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff1615610ea0576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526002602052604090205415610efa576001600160a01b038116600090815260026020526040902054610ee0906109a1565b6001600160a01b0382166000908152600360205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b610f686113d1565b6000546001600160a01b03908116911614610fb8576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b6001600160a01b038116610ffd5760405162461bcd60e51b8152600401808060200182810382526026815260200180611e156026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600860006110646113d1565b6001600160a01b0316815260208101919091526040016000205460ff166110c7576040805162461bcd60e51b815260206004820152601260248201527110d85b1b195c881a5cc81b9bdd081c1bdbdb60721b604482015290519081900360640190fd5b6110d23083836114f7565b5050565b6110de6113d1565b6000546001600160a01b0390811691161461112e576040805162461bcd60e51b81526020600482018190526024820152600080516020611ed3833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff1661119b576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c756465640000000000604482015290519081900360640190fd5b60005b6006548110156110d257816001600160a01b0316600682815481106111bf57fe5b6000918252602090912001546001600160a01b0316141561128b576006805460001981019081106111ec57fe5b600091825260209091200154600680546001600160a01b03909216918390811061121257fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600382526040808220829055600590925220805460ff19169055600680548061126457fe5b600082815260209020810160001990810180546001600160a01b03191690550190556110d2565b60010161119e565b60006112d583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061187c565b9392505050565b60006112d583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611725565b6000828201838110156112d5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261138757506000610828565b8282028284828161139457fe5b04146112d55760405162461bcd60e51b8152600401808060200182810382526021815260200180611e8a6021913960400191505060405180910390fd5b3390565b6113dd611da6565b6113e5611da6565b6113ef84846118e1565b9050611402816113fd611859565b611921565b91509250929050565b6001600160a01b0383166114505760405162461bcd60e51b8152600401808060200182810382526024815260200180611f3c6024913960400191505060405180910390fd5b6001600160a01b0382166114955760405162461bcd60e51b8152600401808060200182810382526022815260200180611e3b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661153c5760405162461bcd60e51b8152600401808060200182810382526025815260200180611f176025913960400191505060405180910390fd5b6001600160a01b0382166115815760405162461bcd60e51b8152600401808060200182810382526023815260200180611dc86023913960400191505060405180910390fd5b6001600160a01b03831660009081526007602052604081205460ff161580156115c357506001600160a01b03831660009081526007602052604090205460ff16155b6001600160a01b03851660009081526005602052604090205490915060ff16801561160757506001600160a01b03831660009081526005602052604090205460ff16155b1561161d5761161884848484611958565b61171f565b6001600160a01b03841660009081526005602052604090205460ff1615801561165e57506001600160a01b03831660009081526005602052604090205460ff165b1561166f5761161884848484611a8d565b6001600160a01b03841660009081526005602052604090205460ff161580156116b157506001600160a01b03831660009081526005602052604090205460ff16155b156116c25761161884848484611b42565b6001600160a01b03841660009081526005602052604090205460ff16801561170257506001600160a01b03831660009081526005602052604090205460ff165b156117135761161884848484611b87565b61171f84848484611b42565b50505050565b600081848411156117b45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611779578181015183820152602001611761565b50505050905090810190601f1680156117a65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0381166118015760405162461bcd60e51b815260040180806020018281038252602d815260200180611e5d602d913960400191505060405180910390fd5b6040516001600160a01b038216906000907f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed908290a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000611866611bff565b90925090506118758282611293565b9250505090565b600081836118cb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611779578181015183820152602001611761565b5060008385816118d757fe5b0495945050505050565b6118e9611da6565b828152811561190657600b54611900908490611293565b60408201525b60408101516119169084906112dc565b602082015292915050565b611929611da6565b82516119359083611378565b815260408301516119469083611378565b604082018190528151611916916112dc565b611960611da6565b611968611da6565b61197284846113d5565b80516001600160a01b03891660009081526003602052604090205492945090925061199d91906112dc565b6001600160a01b03871660009081526003602090815260408083209390935584516002909152919020546119d0916112dc565b6001600160a01b0380881660009081526002602090815260408083209490945585015191881681529190912054611a069161131e565b6001600160a01b03861660009081526002602052604090819020919091558281015190820151611a369190611d82565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83602001516040518082815260200191505060405180910390a3505050505050565b611a95611da6565b611a9d611da6565b611aa784846113d5565b81516001600160a01b038916600090815260026020526040902054929450909250611ad291906112dc565b6001600160a01b03808816600090815260026020908152604080832094909455848101519289168252600390529190912054611b0d9161131e565b6001600160a01b03861660009081526003602090815260408083209390935584810151600290915291902054611a069161131e565b611b4a611da6565b611b52611da6565b611b5c84846113d5565b81516001600160a01b0389166000908152600260205260409020549294509092506119d091906112dc565b611b8f611da6565b611b97611da6565b611ba184846113d5565b80516001600160a01b038916600090815260036020526040902054929450909250611bcc91906112dc565b6001600160a01b0387166000908152600360209081526040808320939093558451600290915291902054611ad2916112dc565b600954600090819069d3c229af83a148640000825b600654811015611d4057826002600060068481548110611c3057fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180611c955750816003600060068481548110611c6e57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15611cb45760095469d3c229af83a14864000094509450505050611d7e565b611cf46002600060068481548110611cc857fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906112dc565b9250611d366003600060068481548110611d0a57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906112dc565b9150600101611c14565b50600954611d589069d3c229af83a148640000611293565b821015611d785760095469d3c229af83a148640000935093505050611d7e565b90925090505b9091565b600954611d8f90836112dc565b600955600a54611d9f908261131e565b600a555050565b6040518060600160405280600081526020016000815260200160008152509056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573736f70657261746f723a207a65726f206164647265737320676976656e20666f72206e6577206f70657261746f72536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657261746f7245524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200dae230e377039b11e79f0db07438bc0ecde746d88cbb0991a89695c57a4827b64736f6c634300060c0033
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.