Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000 GATES
Holders
1
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0 GATESValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Token
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity 0.8.19; import {Owned} from "solmate/auth/Owned.sol"; // Homepage: https://gates.biz/ // Twitter: https://twitter.com/GatesSyndicate // Telegram: https://t.me/GatesPortal // Litepaper: https://docs.gates.biz/ /// @notice Anti bot token /// @author fico23 /// @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol) contract Token is Owned { /*////////////////////////////////////////////////////////////// EVENTS //////////////////////////////////////////////////////////////*/ event Transfer(address indexed from, address indexed to, uint256 amount); event Approval(address indexed owner, address indexed spender, uint256 amount); event IsAddressExcludedChanged(address indexed user, bool value); /*////////////////////////////////////////////////////////////// ERRORS //////////////////////////////////////////////////////////////*/ error MaxBuyExceeded(uint256 maxBuy, uint256 amount); /*////////////////////////////////////////////////////////////// STRUCTS //////////////////////////////////////////////////////////////*/ struct UserInfo { uint224 amount; uint32 minTaxOn; } /*////////////////////////////////////////////////////////////// METADATA STORAGE //////////////////////////////////////////////////////////////*/ string public name; string public symbol; uint8 public immutable decimals; /*////////////////////////////////////////////////////////////// ERC20 STORAGE //////////////////////////////////////////////////////////////*/ uint256 public totalSupply; mapping(address => UserInfo) private userInfo; mapping(address => mapping(address => uint256)) public allowance; /*////////////////////////////////////////////////////////////// EIP-2612 STORAGE //////////////////////////////////////////////////////////////*/ uint256 internal immutable INITIAL_CHAIN_ID; bytes32 internal immutable INITIAL_DOMAIN_SEPARATOR; mapping(address => uint256) public nonces; /*////////////////////////////////////////////////////////////// TAX LOGIC //////////////////////////////////////////////////////////////*/ mapping(address => bool) public isAddressExcluded; uint256 private constant MAX_TAX = 3000; uint256 private constant TAX_DURATION = 1 hours; uint256 private constant HUNDRED_PERCENT = 10000; address private immutable TREASURY; /*////////////////////////////////////////////////////////////// ANTI-BOT MEASURES //////////////////////////////////////////////////////////////*/ uint256 private constant MAX_BUY_ON_START = 1e23; uint256 private constant MAX_BUY_ON_END = 1e24; uint256 private constant MAX_BUY_DURATION = 10 minutes; uint256 private immutable MAX_BUY_END_TIME; uint256 private immutable MAX_BUY_DISABLED_TIME; /*////////////////////////////////////////////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////*/ constructor(address treasury) Owned(msg.sender) { name = "Gates Syndicate"; symbol = "GATES"; decimals = 18; INITIAL_CHAIN_ID = block.chainid; INITIAL_DOMAIN_SEPARATOR = computeDomainSeparator(); MAX_BUY_END_TIME = block.timestamp + MAX_BUY_DURATION; MAX_BUY_DISABLED_TIME = block.timestamp + 1 hours; _mint(msg.sender, 1e25); isAddressExcluded[msg.sender] = true; isAddressExcluded[treasury] = true; TREASURY = treasury; } /*////////////////////////////////////////////////////////////// ERC20 LOGIC //////////////////////////////////////////////////////////////*/ function balanceOf(address user) external view returns (uint256) { return userInfo[user].amount; } function approve(address spender, uint256 amount) public returns (bool) { allowance[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function transfer(address to, uint256 amount) public returns (bool) { UserInfo storage fromUser = userInfo[msg.sender]; fromUser.amount = uint224(uint256(fromUser.amount) - amount); if (!isAddressExcluded[msg.sender]) { amount = _processTax(fromUser.minTaxOn, amount); } UserInfo storage toUser = userInfo[to]; // Cannot overflow because the sum of all user // balances can't exceed the max uint224 value. // taxAmount is always less than amount unchecked { uint256 newAmount = amount + toUser.amount; if (!isAddressExcluded[to]) { _revertOnMaxBuyExceeded(newAmount); } toUser.amount = uint224(newAmount); toUser.minTaxOn = uint32(block.timestamp + TAX_DURATION); } emit Transfer(msg.sender, to, amount); return true; } function transferFrom(address from, address to, uint256 amount) public returns (bool) { uint256 allowed = allowance[from][msg.sender]; // Saves gas for limited approvals. if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amount; UserInfo storage fromUser = userInfo[from]; fromUser.amount = uint224(uint256(fromUser.amount) - amount); if (!isAddressExcluded[from]) { amount = _processTax(fromUser.minTaxOn, amount); } UserInfo storage toUser = userInfo[to]; // Cannot overflow because the sum of all user // balances can't exceed the max uint224 value. // taxAmount is always less than amount unchecked { uint256 newAmount = amount + toUser.amount; if (!isAddressExcluded[to]) { _revertOnMaxBuyExceeded(newAmount); } toUser.amount = uint224(newAmount); toUser.minTaxOn = uint32(block.timestamp + TAX_DURATION); } emit Transfer(from, to, amount); return true; } /*////////////////////////////////////////////////////////////// EIP-2612 LOGIC //////////////////////////////////////////////////////////////*/ function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public { require(deadline >= block.timestamp, "PERMIT_DEADLINE_EXPIRED"); // Unchecked because the only math done is incrementing // the owner's nonce which cannot realistically overflow. unchecked { address recoveredAddress = ecrecover( keccak256( abi.encodePacked( "\x19\x01", DOMAIN_SEPARATOR(), keccak256( abi.encode( keccak256( "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)" ), owner, spender, value, nonces[owner]++, deadline ) ) ) ), v, r, s ); require(recoveredAddress != address(0) && recoveredAddress == owner, "INVALID_SIGNER"); allowance[recoveredAddress][spender] = value; } emit Approval(owner, spender, value); } function DOMAIN_SEPARATOR() public view returns (bytes32) { return block.chainid == INITIAL_CHAIN_ID ? INITIAL_DOMAIN_SEPARATOR : computeDomainSeparator(); } function computeDomainSeparator() internal view returns (bytes32) { return keccak256( abi.encode( keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"), keccak256(bytes(name)), keccak256("1"), block.chainid, address(this) ) ); } /*////////////////////////////////////////////////////////////// INTERNALS //////////////////////////////////////////////////////////////*/ function _mint(address to, uint256 amount) internal { totalSupply += amount; UserInfo storage user = userInfo[to]; // Cannot overflow because the sum of all user // balances can't exceed the max uint256 value. unchecked { user.amount = uint224(uint256(user.amount) + amount); user.minTaxOn = uint32(block.timestamp + TAX_DURATION); } emit Transfer(address(0), to, amount); } function _processTax(uint256 minTaxOn, uint256 amount) internal returns (uint256) { if (minTaxOn <= block.timestamp) return amount; unchecked { // cant overflow because: // block.timestamp <= minTaxOn // all numbers are small enough for type(uint256).max uint256 taxAmount = MAX_TAX * (minTaxOn - block.timestamp) / TAX_DURATION * amount / HUNDRED_PERCENT; userInfo[TREASURY].amount = uint224(taxAmount + userInfo[TREASURY].amount); return (amount - taxAmount); } } function _revertOnMaxBuyExceeded(uint256 newAmount) internal view { if (block.timestamp > MAX_BUY_DISABLED_TIME) { return; } if (block.timestamp > MAX_BUY_END_TIME) { if (newAmount > MAX_BUY_ON_END) revert MaxBuyExceeded(MAX_BUY_ON_END, newAmount); } unchecked { // cant overflow because: // MAX_BUY_ON_END > MAX_BUY_ON_START // MAX_BUY_END_TIME >= block.timestamp // all numbers are small enough for type(uint256).max uint256 maxBuyAmount = MAX_BUY_ON_END - (MAX_BUY_END_TIME - block.timestamp) * (MAX_BUY_ON_END - MAX_BUY_ON_START) / MAX_BUY_DURATION; if (maxBuyAmount < newAmount) revert MaxBuyExceeded(maxBuyAmount, newAmount); } } function maxBuy() external view returns (uint256) { if (block.timestamp > MAX_BUY_DISABLED_TIME) { return type(uint256).max; } if (block.timestamp > MAX_BUY_END_TIME) { return MAX_BUY_ON_END; } return MAX_BUY_ON_END - (MAX_BUY_END_TIME - block.timestamp) * (MAX_BUY_ON_END - MAX_BUY_ON_START) / MAX_BUY_DURATION; } function setIsAddressExcluded(address user, bool value) external onlyOwner { isAddressExcluded[user] = value; emit IsAddressExcludedChanged(user, value); } }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0; /// @notice Simple single owner authorization mixin. /// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol) abstract contract Owned { /*////////////////////////////////////////////////////////////// EVENTS //////////////////////////////////////////////////////////////*/ event OwnershipTransferred(address indexed user, address indexed newOwner); /*////////////////////////////////////////////////////////////// OWNERSHIP STORAGE //////////////////////////////////////////////////////////////*/ address public owner; modifier onlyOwner() virtual { require(msg.sender == owner, "UNAUTHORIZED"); _; } /*////////////////////////////////////////////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////*/ constructor(address _owner) { owner = _owner; emit OwnershipTransferred(address(0), _owner); } /*////////////////////////////////////////////////////////////// OWNERSHIP LOGIC //////////////////////////////////////////////////////////////*/ function transferOwnership(address newOwner) public virtual onlyOwner { owner = newOwner; emit OwnershipTransferred(msg.sender, newOwner); } }
{ "remappings": [ "ds-test/=lib/forge-std/lib/ds-test/src/", "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/", "solmate/=lib/solmate/src/", "v2-core/=lib/v2-core/contracts/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "paris", "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"treasury","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"maxBuy","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MaxBuyExceeded","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"IsAddressExcludedChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"user","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":"","type":"address"}],"name":"isAddressExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setIsAddressExcluded","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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
6101406040523480156200001257600080fd5b506040516200160e3803806200160e83398101604081905262000035916200029c565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600f81526e47617465732053796e64696361746560881b6020820152600190620000ab908262000373565b50604080518082019091526005815264474154455360d81b6020820152600290620000d7908262000373565b5060126080524660a052620000eb6200016f565b60c052620000fc610258426200043f565b610100526200010e42610e106200043f565b6101205262000129336a084595161401484a0000006200020b565b336000908152600760205260408082208054600160ff1991821681179092556001600160a01b039490941680845291909220805490931690911790915560e052620004e5565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6001604051620001a3919062000467565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b80600360008282546200021f91906200043f565b90915550506001600160a01b038216600081815260046020908152604080832080546001600160e01b03908116870116600160e01b610e10420163ffffffff16021781559051858152909392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600060208284031215620002af57600080fd5b81516001600160a01b0381168114620002c757600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002f957607f821691505b6020821081036200031a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200036e57600081815260208120601f850160051c81016020861015620003495750805b601f850160051c820191505b818110156200036a5782815560010162000355565b5050505b505050565b81516001600160401b038111156200038f576200038f620002ce565b620003a781620003a08454620002e4565b8462000320565b602080601f831160018114620003df5760008415620003c65750858301515b600019600386901b1c1916600185901b1785556200036a565b600085815260208120601f198616915b828110156200041057888601518255948401946001909101908401620003ef565b50858210156200042f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200046157634e487b7160e01b600052601160045260246000fd5b92915050565b60008083546200047781620002e4565b60018281168015620004925760018114620004a857620004d9565b60ff1984168752821515830287019450620004d9565b8760005260208060002060005b85811015620004d05781548a820152908401908201620004b5565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161010051610120516110bd620005516000396000818161067d0152610be10152600081816106ac0152818161070801528181610c0c0152610c8101526000610b7201526000610657015260006106220152600061019501526110bd6000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806370db69d6116100a2578063a9059cbb11610071578063a9059cbb1461025e578063d505accf14610271578063dd62ed3e14610284578063ebca1bd9146102af578063f2fde38b146102d257600080fd5b806370db69d6146102035780637ecebe001461020b5780638da5cb5b1461022b57806395d89b411461025657600080fd5b806323b872dd116100de57806323b872dd1461017d578063313ce567146101905780633644e515146101c957806370a08231146101d157600080fd5b806306fdde0314610110578063095ea7b31461012e578063144bee9c1461015157806318160ddd14610166575b600080fd5b6101186102e5565b6040516101259190610d78565b60405180910390f35b61014161013c366004610de2565b610373565b6040519015158152602001610125565b61016461015f366004610e0c565b6103e0565b005b61016f60035481565b604051908152602001610125565b61014161018b366004610e48565b61048d565b6101b77f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610125565b61016f61061e565b61016f6101df366004610e84565b6001600160a01b03166000908152600460205260409020546001600160e01b031690565b61016f610679565b61016f610219366004610e84565b60066020526000908152604090205481565b60005461023e906001600160a01b031681565b6040516001600160a01b039091168152602001610125565b610118610754565b61014161026c366004610de2565b610761565b61016461027f366004610ea6565b61087f565b61016f610292366004610f19565b600560209081526000928352604080842090915290825290205481565b6101416102bd366004610e84565b60076020526000908152604090205460ff1681565b6101646102e0366004610e84565b610ac3565b600180546102f290610f4c565b80601f016020809104026020016040519081016040528092919081815260200182805461031e90610f4c565b801561036b5780601f106103405761010080835404028352916020019161036b565b820191906000526020600020905b81548152906001019060200180831161034e57829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103ce9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461042e5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064015b60405180910390fd5b6001600160a01b038216600081815260076020908152604091829020805460ff191685151590811790915591519182527f461a5b11efd84b14281b8fcbdaff7e0cccda02679656c3ffd98006d7733846ee910160405180910390a25050565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001981146104e9576104c48382610f9c565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b038516600090815260046020526040902080546105179085906001600160e01b0316610f9c565b81546001600160e01b0319166001600160e01b03919091161781556001600160a01b03861660009081526007602052604090205460ff1661056e57805461056b90600160e01b900463ffffffff1685610b57565b93505b6001600160a01b0385166000908152600460209081526040808320805460079093529220546001600160e01b0390911686019060ff166105b1576105b181610bdf565b6001600160e01b0316600160e01b610e10420163ffffffff16021781556040518581526001600160a01b0387811691908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35060019695505050505050565b60007f000000000000000000000000000000000000000000000000000000000000000046146106545761064f610cde565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b60007f00000000000000000000000000000000000000000000000000000000000000004211156106aa575060001990565b7f00000000000000000000000000000000000000000000000000000000000000004211156106e1575069d3c21bcecceda100000090565b61025861070269152d02c7e14af680000069d3c21bcecceda1000000610f9c565b61072c427f0000000000000000000000000000000000000000000000000000000000000000610f9c565b6107369190610faf565b6107409190610fc6565b61064f9069d3c21bcecceda1000000610f9c565b600280546102f290610f4c565b33600090815260046020526040812080546107869084906001600160e01b0316610f9c565b81546001600160e01b0319166001600160e01b03919091161781553360009081526007602052604090205460ff166107d45780546107d190600160e01b900463ffffffff1684610b57565b92505b6001600160a01b0384166000908152600460209081526040808320805460079093529220546001600160e01b0390911685019060ff166108175761081781610bdf565b6001600160e01b0316600160e01b610e10420163ffffffff16021781556040518481526001600160a01b0386169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3506001949350505050565b428410156108cf5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610425565b600060016108db61061e565b6001600160a01b038a811660008181526006602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156109e7573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610a1d5750876001600160a01b0316816001600160a01b0316145b610a5a5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610425565b6001600160a01b0390811660009081526005602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6000546001600160a01b03163314610b0c5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610425565b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000428311610b675750806103da565b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260046020526040902080546001600160e01b03808216612710610e10610bb8429098039790970296909604850295909504948501166001600160e01b03199091161790550390565b7f0000000000000000000000000000000000000000000000000000000000000000421115610c0a5750565b7f0000000000000000000000000000000000000000000000000000000000000000421115610c705769d3c21bcecceda1000000811115610c7057604051632baadd4d60e21b815269d3c21bcecceda1000000600482015260248101829052604401610425565b61025869be951906eba2aa800000427f000000000000000000000000000000000000000000000000000000000000000003020469d3c21bcecceda10000000381811015610cda57604051632baadd4d60e21b81526004810182905260248101839052604401610425565b5050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6001604051610d109190610fe8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600060208083528351808285015260005b81811015610da557858101830151858201604001528201610d89565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ddd57600080fd5b919050565b60008060408385031215610df557600080fd5b610dfe83610dc6565b946020939093013593505050565b60008060408385031215610e1f57600080fd5b610e2883610dc6565b915060208301358015158114610e3d57600080fd5b809150509250929050565b600080600060608486031215610e5d57600080fd5b610e6684610dc6565b9250610e7460208501610dc6565b9150604084013590509250925092565b600060208284031215610e9657600080fd5b610e9f82610dc6565b9392505050565b600080600080600080600060e0888a031215610ec157600080fd5b610eca88610dc6565b9650610ed860208901610dc6565b95506040880135945060608801359350608088013560ff81168114610efc57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610f2c57600080fd5b610f3583610dc6565b9150610f4360208401610dc6565b90509250929050565b600181811c90821680610f6057607f821691505b602082108103610f8057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103da576103da610f86565b80820281158282048414176103da576103da610f86565b600082610fe357634e487b7160e01b600052601260045260246000fd5b500490565b600080835481600182811c91508083168061100457607f831692505b6020808410820361102357634e487b7160e01b86526022600452602486fd5b818015611037576001811461104c57611079565b60ff1986168952841515850289019650611079565b60008a81526020902060005b868110156110715781548b820152908501908301611058565b505084890196505b50949897505050505050505056fea2646970667358221220624dcc6ebc89e78b84eac784107a26dda8a6985f54ced37cc71aad7a2ed0ccd564736f6c634300081300330000000000000000000000007342c794e2711ea6cfcc1fbddab9b5ab424dbc07
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806370db69d6116100a2578063a9059cbb11610071578063a9059cbb1461025e578063d505accf14610271578063dd62ed3e14610284578063ebca1bd9146102af578063f2fde38b146102d257600080fd5b806370db69d6146102035780637ecebe001461020b5780638da5cb5b1461022b57806395d89b411461025657600080fd5b806323b872dd116100de57806323b872dd1461017d578063313ce567146101905780633644e515146101c957806370a08231146101d157600080fd5b806306fdde0314610110578063095ea7b31461012e578063144bee9c1461015157806318160ddd14610166575b600080fd5b6101186102e5565b6040516101259190610d78565b60405180910390f35b61014161013c366004610de2565b610373565b6040519015158152602001610125565b61016461015f366004610e0c565b6103e0565b005b61016f60035481565b604051908152602001610125565b61014161018b366004610e48565b61048d565b6101b77f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff9091168152602001610125565b61016f61061e565b61016f6101df366004610e84565b6001600160a01b03166000908152600460205260409020546001600160e01b031690565b61016f610679565b61016f610219366004610e84565b60066020526000908152604090205481565b60005461023e906001600160a01b031681565b6040516001600160a01b039091168152602001610125565b610118610754565b61014161026c366004610de2565b610761565b61016461027f366004610ea6565b61087f565b61016f610292366004610f19565b600560209081526000928352604080842090915290825290205481565b6101416102bd366004610e84565b60076020526000908152604090205460ff1681565b6101646102e0366004610e84565b610ac3565b600180546102f290610f4c565b80601f016020809104026020016040519081016040528092919081815260200182805461031e90610f4c565b801561036b5780601f106103405761010080835404028352916020019161036b565b820191906000526020600020905b81548152906001019060200180831161034e57829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103ce9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461042e5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064015b60405180910390fd5b6001600160a01b038216600081815260076020908152604091829020805460ff191685151590811790915591519182527f461a5b11efd84b14281b8fcbdaff7e0cccda02679656c3ffd98006d7733846ee910160405180910390a25050565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001981146104e9576104c48382610f9c565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b038516600090815260046020526040902080546105179085906001600160e01b0316610f9c565b81546001600160e01b0319166001600160e01b03919091161781556001600160a01b03861660009081526007602052604090205460ff1661056e57805461056b90600160e01b900463ffffffff1685610b57565b93505b6001600160a01b0385166000908152600460209081526040808320805460079093529220546001600160e01b0390911686019060ff166105b1576105b181610bdf565b6001600160e01b0316600160e01b610e10420163ffffffff16021781556040518581526001600160a01b0387811691908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35060019695505050505050565b60007f000000000000000000000000000000000000000000000000000000000000000146146106545761064f610cde565b905090565b507fb2ff4b0d94b734650c920ad477aaf769b3f07e947d639727768508933d8f1fbe90565b60007f0000000000000000000000000000000000000000000000000000000064b013d34211156106aa575060001990565b7f0000000000000000000000000000000000000000000000000000000064b0081b4211156106e1575069d3c21bcecceda100000090565b61025861070269152d02c7e14af680000069d3c21bcecceda1000000610f9c565b61072c427f0000000000000000000000000000000000000000000000000000000064b0081b610f9c565b6107369190610faf565b6107409190610fc6565b61064f9069d3c21bcecceda1000000610f9c565b600280546102f290610f4c565b33600090815260046020526040812080546107869084906001600160e01b0316610f9c565b81546001600160e01b0319166001600160e01b03919091161781553360009081526007602052604090205460ff166107d45780546107d190600160e01b900463ffffffff1684610b57565b92505b6001600160a01b0384166000908152600460209081526040808320805460079093529220546001600160e01b0390911685019060ff166108175761081781610bdf565b6001600160e01b0316600160e01b610e10420163ffffffff16021781556040518481526001600160a01b0386169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3506001949350505050565b428410156108cf5760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610425565b600060016108db61061e565b6001600160a01b038a811660008181526006602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156109e7573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610a1d5750876001600160a01b0316816001600160a01b0316145b610a5a5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610425565b6001600160a01b0390811660009081526005602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6000546001600160a01b03163314610b0c5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606401610425565b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000428311610b675750806103da565b506001600160a01b037f0000000000000000000000007342c794e2711ea6cfcc1fbddab9b5ab424dbc0716600090815260046020526040902080546001600160e01b03808216612710610e10610bb8429098039790970296909604850295909504948501166001600160e01b03199091161790550390565b7f0000000000000000000000000000000000000000000000000000000064b013d3421115610c0a5750565b7f0000000000000000000000000000000000000000000000000000000064b0081b421115610c705769d3c21bcecceda1000000811115610c7057604051632baadd4d60e21b815269d3c21bcecceda1000000600482015260248101829052604401610425565b61025869be951906eba2aa800000427f0000000000000000000000000000000000000000000000000000000064b0081b03020469d3c21bcecceda10000000381811015610cda57604051632baadd4d60e21b81526004810182905260248101839052604401610425565b5050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6001604051610d109190610fe8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600060208083528351808285015260005b81811015610da557858101830151858201604001528201610d89565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ddd57600080fd5b919050565b60008060408385031215610df557600080fd5b610dfe83610dc6565b946020939093013593505050565b60008060408385031215610e1f57600080fd5b610e2883610dc6565b915060208301358015158114610e3d57600080fd5b809150509250929050565b600080600060608486031215610e5d57600080fd5b610e6684610dc6565b9250610e7460208501610dc6565b9150604084013590509250925092565b600060208284031215610e9657600080fd5b610e9f82610dc6565b9392505050565b600080600080600080600060e0888a031215610ec157600080fd5b610eca88610dc6565b9650610ed860208901610dc6565b95506040880135945060608801359350608088013560ff81168114610efc57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610f2c57600080fd5b610f3583610dc6565b9150610f4360208401610dc6565b90509250929050565b600181811c90821680610f6057607f821691505b602082108103610f8057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103da576103da610f86565b80820281158282048414176103da576103da610f86565b600082610fe357634e487b7160e01b600052601260045260246000fd5b500490565b600080835481600182811c91508083168061100457607f831692505b6020808410820361102357634e487b7160e01b86526022600452602486fd5b818015611037576001811461104c57611079565b60ff1986168952841515850289019650611079565b60008a81526020902060005b868110156110715781548b820152908501908301611058565b505084890196505b50949897505050505050505056fea2646970667358221220624dcc6ebc89e78b84eac784107a26dda8a6985f54ced37cc71aad7a2ed0ccd564736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007342c794e2711ea6cfcc1fbddab9b5ab424dbc07
-----Decoded View---------------
Arg [0] : treasury (address): 0x7342c794E2711eA6Cfcc1fBdDab9b5aB424dBC07
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007342c794e2711ea6cfcc1fbddab9b5ab424dbc07
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.