// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
interface IERC20 {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, uint256 value) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transferFrom(address from, address to, uint256 value) external returns (bool);
}
interface IERC20Metadata is IERC20 {
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
}
contract CleanToken is IERC20, IERC20Metadata {
string private _name;
string private _symbol;
uint256 private _totalSupply;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
constructor(string memory name_, string memory symbol_, uint256 supply_) {
_name = name_;
_symbol = symbol_;
uint256 amount = supply_ * 10 ** 18;
_totalSupply = amount;
_balances[msg.sender] = amount;
emit Transfer(address(0), msg.sender, amount);
}
function name() external view returns (string memory) { return _name; }
function symbol() external view returns (string memory) { return _symbol; }
function decimals() external pure returns (uint8) { return 18; }
function totalSupply() external view returns (uint256) { return _totalSupply; }
function balanceOf(address account) external view returns (uint256) { return _balances[account]; }
function allowance(address owner, address spender) external view returns (uint256) {
return _allowances[owner][spender];
}
function transfer(address to, uint256 value) external returns (bool) {
_transfer(msg.sender, to, value);
return true;
}
function approve(address spender, uint256 value) external returns (bool) {
_approve(msg.sender, spender, value);
return true;
}
function transferFrom(address from, address to, uint256 value) external returns (bool) {
uint256 current = _allowances[from][msg.sender];
require(current >= value, "ERC20: insufficient allowance");
unchecked { _approve(from, msg.sender, current - value); }
_transfer(from, to, value);
return true;
}
function _transfer(address from, address to, uint256 value) private {
require(from != address(0), "ERC20: transfer from zero");
require(to != address(0), "ERC20: transfer to zero");
uint256 fromBalance = _balances[from];
require(fromBalance >= value, "ERC20: insufficient balance");
unchecked {
_balances[from] = fromBalance - value;
_balances[to] += value;
}
emit Transfer(from, to, value);
}
function _approve(address owner, address spender, uint256 value) private {
require(owner != address(0), "ERC20: approve from zero");
require(spender != address(0), "ERC20: approve to zero");
_allowances[owner][spender] = value;
emit Approval(owner, spender, value);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "supply_",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "Approval",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "Transfer",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "allowance",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "pure"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "totalSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transfer",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
}
]0x608060405234620003925762000b60803803806200001d8162000396565b928339810190606081830312620003925780516001600160401b03929083811162000392578162000050918401620003bc565b6020918284015185811162000392576040916200006f918601620003bc565b9301519381518181116200037e575f948554916001948584811c9416801562000373575b878510146200035f578190601f948581116200030c575b508790858311600114620002a95789926200029d575b50505f19600383901b1c191690851b1786555b8051928311620002895783548481811c911680156200027e575b868210146200026a579081838594931162000215575b5085918311600114620001b2578692620001a6575b50505f19600383901b1c191690821b1790555b670de0b6b3a76400009283810293818504149015171562000192577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9083600255338352600381528360408420556040519384523393a360405161073390816200042d8239f35b634e487b7160e01b82526011600452602482fd5b015190505f8062000118565b8487528587208594509190601f198416885b88828210620001fe5750508411620001e5575b505050811b0190556200012b565b01515f1960f88460031b161c191690555f8080620001d7565b8385015186558897909501949384019301620001c4565b909192508487528587208380860160051c82019288871062000260575b91869588929594930160051c01915b8281106200025157505062000103565b89815586955087910162000241565b9250819262000232565b634e487b7160e01b87526022600452602487fd5b90607f1690620000ed565b634e487b7160e01b86526041600452602486fd5b015190505f80620000c0565b898052888a208894509190601f1984168b5b8b828210620002f55750508411620002dc575b505050811b018655620000d3565b01515f1960f88460031b161c191690555f8080620002ce565b8385015186558b97909501949384019301620002bb565b9091508880528789208580850160051c8201928a861062000355575b918991869594930160051c01915b82811062000346575050620000aa565b8b815585945089910162000336565b9250819262000328565b634e487b7160e01b88526022600452602488fd5b93607f169362000093565b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176200037e57604052565b919080601f84011215620003925782516001600160401b0381116200037e57602090620003f2601f8201601f1916830162000396565b9281845282828701011162000392575f5b818110620004185750825f9394955001015290565b85810183015184820184015282016200040356fe60806040818152600480361015610014575f80fd5b5f92833560e01c90816306fdde031461036d57508063095ea7b31461034357806318160ddd1461032457806323b872dd14610278578063313ce5671461025c57806370a082311461022457806395d89b4114610103578063a9059cbb146100ce5763dd62ed3e14610083575f80fd5b346100ca57816003193601126100ca5760209282916100a06104a7565b6100a86104c1565b6001600160a01b03918216845291865283832091168252845220549051908152f35b8280fd5b5050346100ff57806003193601126100ff576020906100f86100ee6104a7565b60243590336104d7565b5160018152f35b5080fd5b509190346100ff57816003193601126100ff5780519082600180549081811c9080831692831561021a575b6020938484108114610207578388529081156101eb5750600114610196575b505050829003601f01601f191682019267ffffffffffffffff841183851017610183575082918261017f925282610460565b0390f35b634e487b7160e01b815260418552602490fd5b8087529192508591837fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8385106101d757505050508301015f808061014d565b8054888601830152930192849082016101c1565b60ff1916878501525050151560051b84010190505f808061014d565b634e487b7160e01b895260228a52602489fd5b91607f169161012e565b5050346100ff5760203660031901126100ff5760209181906001600160a01b0361024c6104a7565b1681526003845220549051908152f35b5050346100ff57816003193601126100ff576020905160128152f35b508290346100ff5760603660031901126100ff576102946104a7565b61029c6104c1565b6001600160a01b038216845260208381528585203386529052928490205460443593928482106102e1576020866100f88787876102dc838903338361061d565b6104d7565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100ff57816003193601126100ff576020906002549051908152f35b5050346100ff57806003193601126100ff576020906100f86103636104a7565b602435903361061d565b84915083346100ca57826003193601126100ca57828354600181811c90808316928315610456575b60209384841081146102075783885290811561043a57506001146103e557505050829003601f01601f191682019267ffffffffffffffff841183851017610183575082918261017f925282610460565b8680529192508591837f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b838510610426575050505083010185808061014d565b805488860183015293019284908201610410565b60ff1916878501525050151560051b840101905085808061014d565b91607f1691610395565b602080825282518183018190529093925f5b82811061049357505060409293505f838284010152601f8019910116010190565b818101860151848201604001528501610472565b600435906001600160a01b03821682036104bd57565b5f80fd5b602435906001600160a01b03821682036104bd57565b6001600160a01b039081169182156105d85716918215610593575f828152600360205260408120549180831061054e57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260038652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e636500000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601760248201527f45524332303a207472616e7366657220746f207a65726f0000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601960248201527f45524332303a207472616e736665722066726f6d207a65726f000000000000006044820152606490fd5b6001600160a01b039081169182156106b8571691821561067a5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526004825260405f20855f5282528060405f2055604051908152a3565b60405162461bcd60e51b815260206004820152601660248201527545524332303a20617070726f766520746f207a65726f60501b6044820152606490fd5b60405162461bcd60e51b815260206004820152601860248201527f45524332303a20617070726f76652066726f6d207a65726f00000000000000006044820152606490fdfea2646970667358221220aaffba2916c4bba704b47d3ff33e6da57efe8bfe4674263f333ce9ac45f0a3c664736f6c63430008140033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000850617469656e6365000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000850617469656e6365000000000000000000000000000000000000000000000000
0x60806040818152600480361015610014575f80fd5b5f92833560e01c90816306fdde031461036d57508063095ea7b31461034357806318160ddd1461032457806323b872dd14610278578063313ce5671461025c57806370a082311461022457806395d89b4114610103578063a9059cbb146100ce5763dd62ed3e14610083575f80fd5b346100ca57816003193601126100ca5760209282916100a06104a7565b6100a86104c1565b6001600160a01b03918216845291865283832091168252845220549051908152f35b8280fd5b5050346100ff57806003193601126100ff576020906100f86100ee6104a7565b60243590336104d7565b5160018152f35b5080fd5b509190346100ff57816003193601126100ff5780519082600180549081811c9080831692831561021a575b6020938484108114610207578388529081156101eb5750600114610196575b505050829003601f01601f191682019267ffffffffffffffff841183851017610183575082918261017f925282610460565b0390f35b634e487b7160e01b815260418552602490fd5b8087529192508591837fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8385106101d757505050508301015f808061014d565b8054888601830152930192849082016101c1565b60ff1916878501525050151560051b84010190505f808061014d565b634e487b7160e01b895260228a52602489fd5b91607f169161012e565b5050346100ff5760203660031901126100ff5760209181906001600160a01b0361024c6104a7565b1681526003845220549051908152f35b5050346100ff57816003193601126100ff576020905160128152f35b508290346100ff5760603660031901126100ff576102946104a7565b61029c6104c1565b6001600160a01b038216845260208381528585203386529052928490205460443593928482106102e1576020866100f88787876102dc838903338361061d565b6104d7565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346100ff57816003193601126100ff576020906002549051908152f35b5050346100ff57806003193601126100ff576020906100f86103636104a7565b602435903361061d565b84915083346100ca57826003193601126100ca57828354600181811c90808316928315610456575b60209384841081146102075783885290811561043a57506001146103e557505050829003601f01601f191682019267ffffffffffffffff841183851017610183575082918261017f925282610460565b8680529192508591837f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b838510610426575050505083010185808061014d565b805488860183015293019284908201610410565b60ff1916878501525050151560051b840101905085808061014d565b91607f1691610395565b602080825282518183018190529093925f5b82811061049357505060409293505f838284010152601f8019910116010190565b818101860151848201604001528501610472565b600435906001600160a01b03821682036104bd57565b5f80fd5b602435906001600160a01b03821682036104bd57565b6001600160a01b039081169182156105d85716918215610593575f828152600360205260408120549180831061054e57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260038652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152601b60248201527f45524332303a20696e73756666696369656e742062616c616e636500000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601760248201527f45524332303a207472616e7366657220746f207a65726f0000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601960248201527f45524332303a207472616e736665722066726f6d207a65726f000000000000006044820152606490fd5b6001600160a01b039081169182156106b8571691821561067a5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526004825260405f20855f5282528060405f2055604051908152a3565b60405162461bcd60e51b815260206004820152601660248201527545524332303a20617070726f766520746f207a65726f60501b6044820152606490fd5b60405162461bcd60e51b815260206004820152601860248201527f45524332303a20617070726f76652066726f6d207a65726f00000000000000006044820152606490fdfea2646970667358221220aaffba2916c4bba704b47d3ff33e6da57efe8bfe4674263f333ce9ac45f0a3c664736f6c63430008140033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x2d69fb…2dd3a4 | 21 days agoTue, 28 Jul 2026 00:58:07 UTC | Transfer | [0] 0x000000000000…638de0d3 [1] 0x000000000000…96cd4102 data: 0x000000000000000000…bdc578bf |
| 0x2d69fb…2dd3a4 | 21 days agoTue, 28 Jul 2026 00:58:07 UTC | Transfer | [0] 0x000000000000…8fac5a33 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…bdc578bf |
| 0x6f033c…54c4fa | 21 days agoTue, 28 Jul 2026 00:50:39 UTC | Transfer | [0] 0x000000000000…8fac5a33 [1] 0x000000000000…ce0904fd data: 0x000000000000000000…d9925f72 |
| 0x934741…725ffc | 21 days agoTue, 28 Jul 2026 00:50:20 UTC | Transfer | [0] 0x000000000000…8fac5a33 [1] 0x000000000000…7834712c data: 0x000000000000000000…80dd03bc |
| 0x8080e8…611b78 | 21 days agoTue, 28 Jul 2026 00:50:03 UTC | Transfer | [0] 0x000000000000…8fac5a33 [1] 0x000000000000…b7a80ec1 data: 0x000000000000000000…2ae30fb9 |
| 0x5fead5…07de11 | 21 days agoTue, 28 Jul 2026 00:49:56 UTC | Transfer | [0] 0x000000000000…bf981e62 [1] 0x000000000000…8fac5a33 data: 0x000000000000000000…c0000000 |
| 0x5fead5…07de11 | 21 days agoTue, 28 Jul 2026 00:49:56 UTC | Approval | [0] 0x000000000000…bf981e62 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…3fffffff |
| 0x5fead5…07de11 | 21 days agoTue, 28 Jul 2026 00:49:56 UTC | Approval | [0] 0x000000000000…bf981e62 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0x2d6f99…5d2c7c | 21 days agoTue, 28 Jul 2026 00:49:29 UTC | Transfer | [0] 0x000000000000…8fac5a33 [1] 0x000000000000…86c45e80 data: 0x000000000000000000…437d6ab6 |
| 0x31dfb2…dc8ea4 | 21 days agoTue, 28 Jul 2026 00:49:21 UTC | Transfer | [0] 0x000000000000…82c551a9 [1] 0x000000000000…8fac5a33 data: 0x000000000000000000…60000000 |
| 0x31dfb2…dc8ea4 | 21 days agoTue, 28 Jul 2026 00:49:21 UTC | Approval | [0] 0x000000000000…82c551a9 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…9fffffff |
| 0x31dfb2…dc8ea4 | 21 days agoTue, 28 Jul 2026 00:49:21 UTC | Approval | [0] 0x000000000000…82c551a9 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0x86aa89…c462f6 | 21 days agoTue, 28 Jul 2026 00:49:06 UTC | Transfer | [0] 0x000000000000…74ee7953 [1] 0x000000000000…8fac5a33 data: 0x000000000000000000…40000000 |
| 0x86aa89…c462f6 | 21 days agoTue, 28 Jul 2026 00:49:06 UTC | Approval | [0] 0x000000000000…74ee7953 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…7fffffff |
| 0x51405f…4eb231 | 21 days agoTue, 28 Jul 2026 00:48:56 UTC | Transfer | [0] 0x000000000000…6d974530 [1] 0x000000000000…8fac5a33 data: 0x000000000000000000…80000000 |
| 0x51405f…4eb231 | 21 days agoTue, 28 Jul 2026 00:48:56 UTC | Approval | [0] 0x000000000000…6d974530 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…0fffffff |
| 0xc4ab07…98d19e | 21 days agoTue, 28 Jul 2026 00:48:42 UTC | Transfer | [0] 0x000000000000…8fac5a33 [1] 0x000000000000…4804596f data: 0x000000000000000000…c5f89cdf |
| 0x7bdae4…edf81c | 21 days agoTue, 28 Jul 2026 00:48:10 UTC | Transfer | [0] 0x000000000000…f93799eb [1] 0x000000000000…8fac5a33 data: 0x000000000000000000…38000000 |
| 0x7bdae4…edf81c | 21 days agoTue, 28 Jul 2026 00:48:10 UTC | Approval | [0] 0x000000000000…f93799eb [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…87ffffff |
| 0x4c697a…bc377c | 21 days agoTue, 28 Jul 2026 00:47:57 UTC | Transfer | [0] 0x000000000000…8fac5a33 [1] 0x000000000000…ef470654 data: 0x000000000000000000…96206591 |
| 0x8565ab…6119f2 | 21 days agoTue, 28 Jul 2026 00:47:37 UTC | Transfer | [0] 0x000000000000…8fac5a33 [1] 0x000000000000…afc79a0a data: 0x000000000000000000…6aba0a6e |
| 0x1bd161…fc13f9 | 21 days agoTue, 28 Jul 2026 00:47:02 UTC | Transfer | [0] 0x000000000000…8d275bb4 [1] 0x000000000000…8fac5a33 data: 0x000000000000000000…40000000 |
| 0x1bd161…fc13f9 | 21 days agoTue, 28 Jul 2026 00:47:02 UTC | Approval | [0] 0x000000000000…8d275bb4 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…bfffffff |
| 0x1bd161…fc13f9 | 21 days agoTue, 28 Jul 2026 00:47:02 UTC | Approval | [0] 0x000000000000…8d275bb4 [1] 0x000000000000…959e5cb2 data: 0xffffffffffffffffff…ffffffff |
| 0x966bda…4ed180 | 21 days agoTue, 28 Jul 2026 00:46:40 UTC | Transfer | [0] 0x000000000000…7388de16 [1] 0x000000000000…8fac5a33 data: 0x000000000000000000…20000000 |
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| no internal transactions found for this address yet (traced blocks + on-demand) | ||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x813cf6…ae8daf | Approve | 21,158,387 | 21 days agoTue, 28 Jul 2026 00:22:53 UTC | 0xb4e5…4102 | IN | Patience | $0.000 ETH | 0.00000169 |