// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
/**
* @title TokenSafe
* @notice ERC-20 « clean » authentiquement sûr, conçu pour passer les scanners
* (GoPlus / honeypot.is) au vert :
* - aucune taxe, aucun hook sur les transferts (pas de fee-on-transfer)
* - aucun owner, aucun privilège (contrat immuable, rien à renoncer)
* - aucun mint possible après le déploiement (supply figé)
* - aucun toggle de trading, aucune blocklist, aucun pause
* L'acheteur peut toujours vendre : il n'existe aucune fonction pouvant
* l'en empêcher ou lui prélever quoi que ce soit.
*
* Le retrait de liquidité (eject) n'a rien à voir avec ce contrat : il s'opère
* sur la position LP Uniswap détenue par le déployeur.
*/
contract TokenSafe is ERC20 {
bytes32 public constant DEPLOY_SALT = 0xafcdd4d63ee3fd5893cc5cde8957d86a2ef0cdd95ad4ef4acc2a5abb27eca7dc; // deploy-salt
constructor(
string memory name_,
string memory symbol_,
uint256 totalSupply_, // en unités humaines (sera ×10^18)
address recipient_ // reçoit la totalité du supply
) ERC20(name_, symbol_) {
require(recipient_ != address(0), "TokenSafe: zero recipient");
_mint(recipient_, totalSupply_ * (10 ** 18));
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "totalSupply_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "recipient_",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "ERC20InsufficientAllowance",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "allowance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InsufficientBalance",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
},
{
"name": "balance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InvalidApprover",
"type": "error",
"inputs": [
{
"name": "approver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidReceiver",
"type": "error",
"inputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSender",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSpender",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
}
]
},
{
"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": "DEPLOY_SALT",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"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": "view"
},
{
"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"
}
]0x60406080815234620003fc5762000b82803803806200001e8162000401565b9283398101608082820312620003fc5781516001600160401b039290838111620003fc57826200005091830162000427565b6020928383015190858211620003fc576200006d91840162000427565b906060868401519301519460018060a01b038616809603620003fc578151818111620002fc576003908154906001948583811c93168015620003f1575b89841014620003db578190601f9384811162000385575b5089908483116001146200031e5760009262000312575b505060001982851b1c191690851b1782555b8451928311620002fc5760049485548581811c91168015620002f1575b89821014620002dc5782811162000291575b508791841160011462000226579383949184926000956200021a575b50501b92600019911b1c19161781555b8315620001d757670de0b6b3a764000091828102928184041490151715620001c25760025490828201809211620001c2575060025560008381528083528481208054830190558451918252917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a3516106e890816200049a8239f35b601190634e487b7160e01b6000525260246000fd5b845162461bcd60e51b8152908101839052601960248201527f546f6b656e536166653a207a65726f20726563697069656e74000000000000006044820152606490fd5b01519350388062000135565b9190601f198416928660005284896000209460005b8b898383106200027957505050106200025e575b50505050811b01815562000145565b01519060f884600019921b161c19169055388080806200024f565b8686015189559097019694850194889350016200023b565b86600052886000208380870160051c8201928b8810620002d2575b0160051c019086905b828110620002c557505062000119565b60008155018690620002b5565b92508192620002ac565b602287634e487b7160e01b6000525260246000fd5b90607f169062000107565b634e487b7160e01b600052604160045260246000fd5b015190503880620000d8565b90879350601f19831691866000528b6000209260005b8d8282106200036e575050841162000355575b505050811b018255620000ea565b015160001983871b60f8161c1916905538808062000347565b8385015186558b9790950194938401930162000334565b90915084600052896000208480850160051c8201928c8610620003d1575b918991869594930160051c01915b828110620003c1575050620000c1565b60008155859450899101620003b1565b92508192620003a3565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000aa565b600080fd5b6040519190601f01601f191682016001600160401b03811183821017620002fc57604052565b919080601f84011215620003fc5782516001600160401b038111620002fc576020906200045d601f8201601f1916830162000401565b92818452828287010111620003fc5760005b8181106200048557508260009394955001015290565b85810183015184820184015282016200046f56fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461048057508163095ea7b3146103d257816318160ddd146103b357816323b872dd146102bc578163313ce567146102a057816370a082311461026957816395d89b411461014857508063a9059cbb14610118578063c112a8a2146100de5763dd62ed3e1461009357600080fd5b346100da57806003193601126100da57806020926100af6105a3565b6100b76105be565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100da57816003193601126100da57602090517fafcdd4d63ee3fd5893cc5cde8957d86a2ef0cdd95ad4ef4acc2a5abb27eca7dc8152f35b50346100da57806003193601126100da576020906101416101376105a3565b60243590336105d4565b5160018152f35b8383346100da57816003193601126100da5780519082845460018160011c906001831692831561025f575b602093848410811461024c5783885290811561023057506001146101db575b505050829003601f01601f191682019267ffffffffffffffff8411838510176101c857508291826101c492528261055a565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b83851061021c5750505050830101858080610192565b805488860183015293019284908201610206565b60ff1916878501525050151560051b8401019050858080610192565b634e487b7160e01b895260228a52602489fd5b91607f1691610173565b5050346100da5760203660031901126100da5760209181906001600160a01b036102916105a3565b16815280845220549051908152f35b5050346100da57816003193601126100da576020905160128152f35b905082346103b05760603660031901126103b0576102d86105a3565b6102e06105be565b916044359360018060a01b03831680835260016020528683203384526020528683205491600019831061031c575b6020886101418989896105d4565b86831061038457811561036d573315610356575082526001602090815286832033845281529186902090859003905582906101418761030e565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b8751637dc7a0d960e11b8152339181019182526020820193909352604081018790528291506060010390fd5b80fd5b5050346100da57816003193601126100da576020906002549051908152f35b90503461047c578160031936011261047c576103ec6105a3565b602435903315610465576001600160a01b031691821561044e57508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b8280fd5b8490843461047c578260031936011261047c578260035460018160011c9060018316928315610550575b602093848410811461024c5783885290811561023057506001146104fa57505050829003601f01601f191682019267ffffffffffffffff8411838510176101c857508291826101c492528261055a565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b83851061053c5750505050830101858080610192565b805488860183015293019284908201610526565b91607f16916104aa565b6020808252825181830181905290939260005b82811061058f57505060409293506000838284010152601f8019910116010190565b81810186015184820160400152850161056d565b600435906001600160a01b03821682036105b957565b600080fd5b602435906001600160a01b03821682036105b957565b916001600160a01b038084169283156106995716928315610680576000908382528160205260408220549083821061064e575091604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fdfea2646970667358221220707def9a4a8cbf3b62dca7d1a58cd9c7f3a95b7848ce5c5cb9ac6cc69719d87264736f6c63430008180033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000b84c875f54671461859d825191e138ed67c4e4410000000000000000000000000000000000000000000000000000000000000009426173656443686164000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054241534544000000000000000000000000000000000000000000000000000000
0x608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461048057508163095ea7b3146103d257816318160ddd146103b357816323b872dd146102bc578163313ce567146102a057816370a082311461026957816395d89b411461014857508063a9059cbb14610118578063c112a8a2146100de5763dd62ed3e1461009357600080fd5b346100da57806003193601126100da57806020926100af6105a3565b6100b76105be565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b50346100da57816003193601126100da57602090517fafcdd4d63ee3fd5893cc5cde8957d86a2ef0cdd95ad4ef4acc2a5abb27eca7dc8152f35b50346100da57806003193601126100da576020906101416101376105a3565b60243590336105d4565b5160018152f35b8383346100da57816003193601126100da5780519082845460018160011c906001831692831561025f575b602093848410811461024c5783885290811561023057506001146101db575b505050829003601f01601f191682019267ffffffffffffffff8411838510176101c857508291826101c492528261055a565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b83851061021c5750505050830101858080610192565b805488860183015293019284908201610206565b60ff1916878501525050151560051b8401019050858080610192565b634e487b7160e01b895260228a52602489fd5b91607f1691610173565b5050346100da5760203660031901126100da5760209181906001600160a01b036102916105a3565b16815280845220549051908152f35b5050346100da57816003193601126100da576020905160128152f35b905082346103b05760603660031901126103b0576102d86105a3565b6102e06105be565b916044359360018060a01b03831680835260016020528683203384526020528683205491600019831061031c575b6020886101418989896105d4565b86831061038457811561036d573315610356575082526001602090815286832033845281529186902090859003905582906101418761030e565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b8751637dc7a0d960e11b8152339181019182526020820193909352604081018790528291506060010390fd5b80fd5b5050346100da57816003193601126100da576020906002549051908152f35b90503461047c578160031936011261047c576103ec6105a3565b602435903315610465576001600160a01b031691821561044e57508083602095338152600187528181208582528752205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8351634a1406b160e11b8152908101859052602490fd5b835163e602df0560e01b8152808401869052602490fd5b8280fd5b8490843461047c578260031936011261047c578260035460018160011c9060018316928315610550575b602093848410811461024c5783885290811561023057506001146104fa57505050829003601f01601f191682019267ffffffffffffffff8411838510176101c857508291826101c492528261055a565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b83851061053c5750505050830101858080610192565b805488860183015293019284908201610526565b91607f16916104aa565b6020808252825181830181905290939260005b82811061058f57505060409293506000838284010152601f8019910116010190565b81810186015184820160400152850161056d565b600435906001600160a01b03821682036105b957565b600080fd5b602435906001600160a01b03821682036105b957565b916001600160a01b038084169283156106995716928315610680576000908382528160205260408220549083821061064e575091604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fdfea2646970667358221220707def9a4a8cbf3b62dca7d1a58cd9c7f3a95b7848ce5c5cb9ac6cc69719d87264736f6c63430008180033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x5da257…619fc0 | 33 days agoWed, 15 Jul 2026 15:07:22 UTC | Transfer | [0] 0x000000000000…ec0e05a2 [1] 0x000000000000…67c4e441 data: 0x000000000000000000…9e41e491 |
| 0xc15279…ad424a | 33 days agoWed, 15 Jul 2026 15:06:53 UTC | Transfer | [0] 0x000000000000…0e150f73 [1] 0x000000000000…ec0e05a2 data: 0x000000000000000000…dad7a815 |
| 0x6b9762…a9b574 | 33 days agoWed, 15 Jul 2026 15:06:53 UTC | Transfer | [0] 0x000000000000…d6159c51 [1] 0x000000000000…ec0e05a2 data: 0x000000000000000000…292ba8d0 |
| 0x3c1cb3…117e07 | 33 days agoWed, 15 Jul 2026 15:06:53 UTC | Approval | [0] 0x000000000000…d6159c51 [1] 0x000000000000…262c40dc data: 0xffffffffffffffffff…ffffffff |
| 0x5de252…487724 | 33 days agoWed, 15 Jul 2026 15:06:53 UTC | Approval | [0] 0x000000000000…0e150f73 [1] 0x000000000000…262c40dc data: 0xffffffffffffffffff…ffffffff |
| 0x13f12f…980726 | 33 days agoWed, 15 Jul 2026 15:06:28 UTC | Transfer | [0] 0x000000000000…ec0e05a2 [1] 0x000000000000…123a20c1 data: 0x000000000000000000…c4139103 |
| 0xca45e5…0d1fe6 | 33 days agoWed, 15 Jul 2026 15:05:35 UTC | Approval | [0] 0x000000000000…123a20c1 [1] 0x000000000000…34442049 data: 0xffffffffffffffffff…ffffffff |
| 0x33fdb5…1e2f56 | 33 days agoWed, 15 Jul 2026 15:05:34 UTC | Transfer | [0] 0x000000000000…ec0e05a2 [1] 0x000000000000…123a20c1 data: 0x000000000000000000…85aa8055 |
| 0xf45a67…833d5b | 33 days agoWed, 15 Jul 2026 15:03:35 UTC | Approval | [0] 0x000000000000…d6159c51 [1] 0x000000000000…34442049 data: 0xffffffffffffffffff…ffffffff |
| 0xabaeed…2a8f96 | 33 days agoWed, 15 Jul 2026 15:03:27 UTC | Transfer | [0] 0x000000000000…ec0e05a2 [1] 0x000000000000…d6159c51 data: 0x000000000000000000…d18fb6ed |
| 0xbe8a72…b0e531 | 33 days agoWed, 15 Jul 2026 15:03:21 UTC | Transfer | [0] 0x000000000000…ec0e05a2 [1] 0x000000000000…d6159c51 data: 0x000000000000000000…28e7171c |
| 0xaffa22…459b7f | 33 days agoWed, 15 Jul 2026 15:03:19 UTC | Transfer | [0] 0x000000000000…ec0e05a2 [1] 0x000000000000…d6159c51 data: 0x000000000000000000…3fb3b399 |
| 0xe25f50…3378b7 | 33 days agoWed, 15 Jul 2026 15:03:19 UTC | Transfer | [0] 0x000000000000…ec0e05a2 [1] 0x000000000000…0e150f73 data: 0x000000000000000000…06a30181 |
| 0x7e9687…46c9b4 | 33 days agoWed, 15 Jul 2026 15:03:16 UTC | Transfer | [0] 0x000000000000…ec0e05a2 [1] 0x000000000000…0e150f73 data: 0x000000000000000000…d434a694 |
| 0x10dba0…05838e | 33 days agoWed, 15 Jul 2026 15:03:16 UTC | Transfer | [0] 0x000000000000…ec0e05a2 [1] 0x000000000000…d6159c51 data: 0x000000000000000000…ef01272e |
| 0xff09b3…e4ac44 | 33 days agoWed, 15 Jul 2026 15:01:49 UTC | Transfer | [0] 0x000000000000…67c4e441 [1] 0x000000000000…ec0e05a2 data: 0x000000000000000000…e7fff5ee |
| 0x235c2b…57d196 | 33 days agoWed, 15 Jul 2026 15:01:45 UTC | Approval | [0] 0x000000000000…67c4e441 [1] 0x000000000000…638de0d3 data: 0xffffffffffffffffff…ffffffff |
| 0x8ca87f…162293 | 33 days agoWed, 15 Jul 2026 15:00:14 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…67c4e441 data: 0x000000000000000000…e8000000 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| 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 ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x3c1cb3…117e07 | Approve | 10,488,073 | 33 days agoWed, 15 Jul 2026 15:06:53 UTC | 0x1b32…9c51 | IN | BasedChad | $0.000 ETH | 0.00000285 | |
| 0x5de252…487724 | Approve | 10,488,073 | 33 days agoWed, 15 Jul 2026 15:06:53 UTC | 0xed13…0f73 | IN | BasedChad | $0.000 ETH | 0.00000285 | |
| 0xca45e5…0d1fe6 | Approve | 10,487,271 | 33 days agoWed, 15 Jul 2026 15:05:35 UTC | 0x63ab…20c1 | IN | BasedChad | $0.000 ETH | 0.00000295 | |
| 0xf45a67…833d5b | Approve | 10,486,082 | 33 days agoWed, 15 Jul 2026 15:03:35 UTC | 0x1b32…9c51 | IN | BasedChad | $0.000 ETH | 0.00000285 | |
| 0x235c2b…57d196 | Approve | 10,484,992 | 33 days agoWed, 15 Jul 2026 15:01:45 UTC | 0xb84c…e441 | IN | BasedChad | $0.000 ETH | 0.00000291 |