Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Artificial Intelligence
Overview
Max Total Supply
999,999,999 ⌘
Holders
430 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000000000001 ⌘Value
$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.27+commit.40a35a09
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity 0.8.27; /// @notice Simple ERC20 token. /// @author nani.eth (Nani DAO) contract Token { event Approval(address indexed from, address indexed to, uint amount); event Transfer(address indexed from, address indexed to, uint amount); event OwnershipTransferred(address indexed from, address indexed to); error Unauthorized(); modifier onlyOwner { if (msg.sender != owner) revert Unauthorized(); _; } string public constant name = "NANI"; string public constant symbol = unicode"⌘"; uint public constant decimals = 18; uint public totalSupply; address public owner = tx.origin; mapping(address owner => uint) public balanceOf; mapping(address owner => mapping(address spender => uint)) public allowance; constructor() payable {} function approve(address to, uint amount) public returns (bool) { allowance[msg.sender][to] = amount; emit Approval(msg.sender, to, amount); return true; } function transfer(address to, uint amount) public returns (bool) { balanceOf[msg.sender] -= amount; unchecked { balanceOf[to] += amount; } emit Transfer(msg.sender, to, amount); return true; } function transferFrom(address from, address to, uint amount) public returns (bool) { if (allowance[from][msg.sender] != type(uint).max) allowance[from][msg.sender] -= amount; balanceOf[from] -= amount; unchecked { balanceOf[to] += amount; } emit Transfer(from, to, amount); return true; } // GOVERNANCE function transferOwnership(address to) public onlyOwner { emit OwnershipTransferred(msg.sender, owner = to); } function mint(address to, uint amount) public onlyOwner { totalSupply += amount; unchecked { balanceOf[to] += amount; } emit Transfer(address(0), to, amount); } function burn(uint amount) public { balanceOf[msg.sender] -= amount; unchecked { totalSupply -= amount; } emit Transfer(msg.sender, address(0), amount); } }
{ "remappings": [ "@solady/=lib/solady/", "@forge/=lib/forge-std/src/", "forge-std/=lib/forge-std/src/", "solady/=lib/solady/src/" ], "optimizer": { "enabled": true, "runs": 9999999 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "evmVersion": "cancun", "viaIR": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"inputs":[],"name":"Unauthorized","type":"error"},{"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":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","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":[{"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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","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":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"to","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600180546001600160a01b03191632179055610898806100235f395ff3fe608060405234801561000f575f5ffd5b50600436106100da575f3560e01c806342966c681161008857806395d89b411161006357806395d89b4114610210578063a9059cbb1461024c578063dd62ed3e1461025f578063f2fde38b14610289575f5ffd5b806342966c681461019957806370a08231146101ac5780638da5cb5b146101cb575f5ffd5b806323b872dd116100b857806323b872dd14610169578063313ce5671461017c57806340c10f1914610184575f5ffd5b806306fdde03146100de578063095ea7b31461013057806318160ddd14610153575b5f5ffd5b61011a6040518060400160405280600481526020017f4e414e490000000000000000000000000000000000000000000000000000000081525081565b60405161012791906106ca565b60405180910390f35b61014361013e366004610745565b61029c565b6040519015158152602001610127565b61015b5f5481565b604051908152602001610127565b61014361017736600461076d565b610315565b61015b601281565b610197610192366004610745565b61045d565b005b6101976101a73660046107a7565b610523565b61015b6101ba3660046107be565b60026020525f908152604090205481565b6001546101eb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610127565b61011a6040518060400160405280600381526020017fe28c98000000000000000000000000000000000000000000000000000000000081525081565b61014361025a366004610745565b610586565b61015b61026d3660046107de565b600360209081525f928352604080842090915290825290205481565b6101976102973660046107be565b610609565b335f81815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103039086815260200190565b60405180910390a35060015b92915050565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526003602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146103b05773ffffffffffffffffffffffffffffffffffffffff84165f908152600360209081526040808320338452909152812080548492906103aa90849061083c565b90915550505b73ffffffffffffffffffffffffffffffffffffffff84165f90815260026020526040812080548492906103e490849061083c565b909155505073ffffffffffffffffffffffffffffffffffffffff8084165f81815260026020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061044b9086815260200190565b60405180910390a35060019392505050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146104ae576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f5f8282546104be919061084f565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f818152600260209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b335f908152600260205260408120805483929061054190849061083c565b90915550505f8054829003815560405182815233907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350565b335f908152600260205260408120805483919083906105a690849061083c565b909155505073ffffffffffffffffffffffffffffffffffffffff83165f81815260026020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103039086815260200190565b60015473ffffffffffffffffffffffffffffffffffffffff16331461065a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610740575f5ffd5b919050565b5f5f60408385031215610756575f5ffd5b61075f8361071d565b946020939093013593505050565b5f5f5f6060848603121561077f575f5ffd5b6107888461071d565b92506107966020850161071d565b929592945050506040919091013590565b5f602082840312156107b7575f5ffd5b5035919050565b5f602082840312156107ce575f5ffd5b6107d78261071d565b9392505050565b5f5f604083850312156107ef575f5ffd5b6107f88361071d565b91506108066020840161071d565b90509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561030f5761030f61080f565b8082018082111561030f5761030f61080f56fea2646970667358221220925f2a3114864839ba1827feb90677515051c05cc91f2cb884bdd939cb91bd3e64736f6c634300081b0033
Deployed Bytecode
0x608060405234801561000f575f5ffd5b50600436106100da575f3560e01c806342966c681161008857806395d89b411161006357806395d89b4114610210578063a9059cbb1461024c578063dd62ed3e1461025f578063f2fde38b14610289575f5ffd5b806342966c681461019957806370a08231146101ac5780638da5cb5b146101cb575f5ffd5b806323b872dd116100b857806323b872dd14610169578063313ce5671461017c57806340c10f1914610184575f5ffd5b806306fdde03146100de578063095ea7b31461013057806318160ddd14610153575b5f5ffd5b61011a6040518060400160405280600481526020017f4e414e490000000000000000000000000000000000000000000000000000000081525081565b60405161012791906106ca565b60405180910390f35b61014361013e366004610745565b61029c565b6040519015158152602001610127565b61015b5f5481565b604051908152602001610127565b61014361017736600461076d565b610315565b61015b601281565b610197610192366004610745565b61045d565b005b6101976101a73660046107a7565b610523565b61015b6101ba3660046107be565b60026020525f908152604090205481565b6001546101eb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610127565b61011a6040518060400160405280600381526020017fe28c98000000000000000000000000000000000000000000000000000000000081525081565b61014361025a366004610745565b610586565b61015b61026d3660046107de565b600360209081525f928352604080842090915290825290205481565b6101976102973660046107be565b610609565b335f81815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103039086815260200190565b60405180910390a35060015b92915050565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526003602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146103b05773ffffffffffffffffffffffffffffffffffffffff84165f908152600360209081526040808320338452909152812080548492906103aa90849061083c565b90915550505b73ffffffffffffffffffffffffffffffffffffffff84165f90815260026020526040812080548492906103e490849061083c565b909155505073ffffffffffffffffffffffffffffffffffffffff8084165f81815260026020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061044b9086815260200190565b60405180910390a35060019392505050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146104ae576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f5f8282546104be919061084f565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f818152600260209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b335f908152600260205260408120805483929061054190849061083c565b90915550505f8054829003815560405182815233907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350565b335f908152600260205260408120805483919083906105a690849061083c565b909155505073ffffffffffffffffffffffffffffffffffffffff83165f81815260026020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103039086815260200190565b60015473ffffffffffffffffffffffffffffffffffffffff16331461065a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610740575f5ffd5b919050565b5f5f60408385031215610756575f5ffd5b61075f8361071d565b946020939093013593505050565b5f5f5f6060848603121561077f575f5ffd5b6107888461071d565b92506107966020850161071d565b929592945050506040919091013590565b5f602082840312156107b7575f5ffd5b5035919050565b5f602082840312156107ce575f5ffd5b6107d78261071d565b9392505050565b5f5f604083850312156107ef575f5ffd5b6107f88361071d565b91506108066020840161071d565b90509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561030f5761030f61080f565b8082018082111561030f5761030f61080f56fea2646970667358221220925f2a3114864839ba1827feb90677515051c05cc91f2cb884bdd939cb91bd3e64736f6c634300081b0033
Deployed Bytecode Sourcemap
131:2045:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;503:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;877:183;;;;;;:::i;:::-;;:::i;:::-;;;1167:14:1;;1160:22;1142:41;;1130:2;1115:18;877:183:0;1002:187:1;640:23:0;;;;;;;;;1340:25:1;;;1328:2;1313:18;640:23:0;1194:177:1;1300:345:0;;;;;;:::i;:::-;;:::i;595:34::-;;627:2;595:34;;1798:188;;;;;;:::i;:::-;;:::i;:::-;;1992:182;;;;;;:::i;:::-;;:::i;712:47::-;;;;;;:::i;:::-;;;;;;;;;;;;;;669:32;;;;;;;;;;;;2353:42:1;2341:55;;;2323:74;;2311:2;2296:18;669:32:0;2177:226:1;545:44:0;;;;;;;;;;;;;;;;;;;;;1066:228;;;;;;:::i;:::-;;:::i;765:75::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1670:122;;;;;;:::i;:::-;;:::i;877:183::-;961:10;935:4;951:21;;;:9;:21;;;;;;;;;:25;;;;;;;;;;:34;;;1000:32;935:4;;951:25;;1000:32;;;;979:6;1340:25:1;;1328:2;1313:18;;1194:177;1000:32:0;;;;;;;;-1:-1:-1;1049:4:0;877:183;;;;;:::o;1300:345::-;1397:15;;;1377:4;1397:15;;;:9;:15;;;;;;;;1413:10;1397:27;;;;;;;;1428:14;1397:45;1393:101;;1457:15;;;;;;;:9;:15;;;;;;;;1473:10;1457:27;;;;;;;:37;;1488:6;;1457:15;:37;;1488:6;;1457:37;:::i;:::-;;;;-1:-1:-1;;1393:101:0;1504:15;;;;;;;:9;:15;;;;;:25;;1523:6;;1504:15;:25;;1523:6;;1504:25;:::i;:::-;;;;-1:-1:-1;;1551:13:0;;;;;;;;:9;:13;;;;;;;:23;;;;;;1591:26;1551:13;;1591:26;;;;;;;1568:6;1340:25:1;;1328:2;1313:18;;1194:177;1591:26:0;;;;;;;;-1:-1:-1;1634:4:0;1300:345;;;;;:::o;1798:188::-;451:5;;;;437:10;:19;433:46;;465:14;;;;;;;;;;;;;;433:46;1879:6:::1;1864:11;;:21;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;1907:13:0::1;::::0;::::1;;::::0;;;:9:::1;:13;::::0;;;;;;;:23;;;::::1;::::0;;1947:32;1340:25:1;;;1947:32:0::1;::::0;1313:18:1;1947:32:0::1;;;;;;;1798:188:::0;;:::o;1992:182::-;2046:10;2036:21;;;;:9;:21;;;;;:31;;2061:6;;2036:21;:31;;2061:6;;2036:31;:::i;:::-;;;;-1:-1:-1;;2089:11:0;:21;;;;;;;2127:40;;1340:25:1;;;2136:10:0;;2127:40;;1328:2:1;1313:18;2127:40:0;;;;;;;1992:182;:::o;1066:228::-;1151:10;1125:4;1141:21;;;:9;:21;;;;;:31;;1166:6;;1141:21;1125:4;;1141:31;;1166:6;;1141:31;:::i;:::-;;;;-1:-1:-1;;1194:13:0;;;;;;;:9;:13;;;;;;;:23;;;;;;1234:32;1243:10;;1234:32;;;;1211:6;1340:25:1;;1328:2;1313:18;;1194:177;1670:122:0;451:5;;;;437:10;:19;433:46;;465:14;;;;;;;;;;;;;;433:46;1774:5:::1;:10:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;1741:44:::1;::::0;1762:10:::1;::::0;1741:44:::1;::::0;-1:-1:-1;;1741:44:0::1;1670:122:::0;:::o;14:477:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;482:2;412:66;407:2;399:6;395:15;391:88;380:9;376:104;372:113;364:121;;;14:477;;;;:::o;496:196::-;564:20;;624:42;613:54;;603:65;;593:93;;682:1;679;672:12;593:93;496:196;;;:::o;697:300::-;765:6;773;826:2;814:9;805:7;801:23;797:32;794:52;;;842:1;839;832:12;794:52;865:29;884:9;865:29;:::i;:::-;855:39;963:2;948:18;;;;935:32;;-1:-1:-1;;;697:300:1:o;1376:374::-;1453:6;1461;1469;1522:2;1510:9;1501:7;1497:23;1493:32;1490:52;;;1538:1;1535;1528:12;1490:52;1561:29;1580:9;1561:29;:::i;:::-;1551:39;;1609:38;1643:2;1632:9;1628:18;1609:38;:::i;:::-;1376:374;;1599:48;;-1:-1:-1;;;1716:2:1;1701:18;;;;1688:32;;1376:374::o;1755:226::-;1814:6;1867:2;1855:9;1846:7;1842:23;1838:32;1835:52;;;1883:1;1880;1873:12;1835:52;-1:-1:-1;1928:23:1;;1755:226;-1:-1:-1;1755:226:1:o;1986:186::-;2045:6;2098:2;2086:9;2077:7;2073:23;2069:32;2066:52;;;2114:1;2111;2104:12;2066:52;2137:29;2156:9;2137:29;:::i;:::-;2127:39;1986:186;-1:-1:-1;;;1986:186:1:o;2408:260::-;2476:6;2484;2537:2;2525:9;2516:7;2512:23;2508:32;2505:52;;;2553:1;2550;2543:12;2505:52;2576:29;2595:9;2576:29;:::i;:::-;2566:39;;2624:38;2658:2;2647:9;2643:18;2624:38;:::i;:::-;2614:48;;2408:260;;;;;:::o;2673:184::-;2725:77;2722:1;2715:88;2822:4;2819:1;2812:15;2846:4;2843:1;2836:15;2862:128;2929:9;;;2950:11;;;2947:37;;;2964:18;;:::i;2995:125::-;3060:9;;;3081:10;;;3078:36;;;3094:18;;:::i
Swarm Source
ipfs://925f2a3114864839ba1827feb90677515051c05cc91f2cb884bdd939cb91bd3e
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.