// SPDX-License-Identifier: MIT
pragma solidity ^0.8.33;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
/// @dev Unique deploy tag — her uretim farkli bytecode / CA adayi
contract ProofOfPatience is ERC20, Ownable {
bytes32 public constant DEPLOY_TAG = 0x395e987bf1cb28ef1a10b624b6e8c568415cd5cb06d9a6dcf84ca63a49349e6f;
uint256 public immutable maxWalletAmount;
address public immutable maxWalletDeveloper;
function walletCap() external view returns (uint256) { return maxWalletAmount; }
function getMaxWalletAmount() external view returns (uint256) { return maxWalletAmount; }
function _update(address from, address to, uint256 value) internal override {
if (
from != address(0)
&& to != address(0)
&& to != maxWalletDeveloper
&& from != maxWalletDeveloper
&& to.code.length == 0
) {
require(balanceOf(to) + value <= maxWalletAmount, "max wallet exceeded");
}
super._update(from, to, value);
}
constructor(
string memory name_,
string memory symbol_,
uint256 number,
address toAddress
) ERC20(name_, symbol_) Ownable(msg.sender) {
require(toAddress != address(0), "zero recipient");
maxWalletDeveloper = toAddress;
maxWalletAmount = (number * (10 ** 18) * 400) / 10_000;
_mint(toAddress, number * (10 ** 18));
renounceOwnership();
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "number",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "toAddress",
"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": "OwnableInvalidOwner",
"type": "error",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "OwnableUnauthorizedAccount",
"type": "error",
"inputs": [
{
"name": "account",
"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": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"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_TAG",
"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": "getMaxWalletAmount",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "maxWalletAmount",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "maxWalletDeveloper",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"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"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "walletCap",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
}
]0x608060405234801561000f575f5ffd5b5060043610610106575f3560e01c806358950c221161009e57806395d89b411161006e57806395d89b411461024e578063a9059cbb14610256578063aa4bde2814610269578063dd62ed3e14610290578063f2fde38b146102c8575f5ffd5b806358950c221461014b57806370a082311461020b578063715018a6146102335780638da5cb5b1461023d575f5ffd5b80631a513374116100d95780631a5133741461018357806323b872dd146101aa578063313ce567146101bd57806356c9b119146101cc575f5ffd5b806306fdde031461010a578063095ea7b31461012857806309c95a1b1461014b57806318160ddd1461017b575b5f5ffd5b6101126102db565b60405161011f91906108c2565b60405180910390f35b61013b610136366004610912565b61036b565b604051901515815260200161011f565b7f00000000000000000000000000000000000000000021165458500521280000005b60405190815260200161011f565b60025461016d565b61016d7f395e987bf1cb28ef1a10b624b6e8c568415cd5cb06d9a6dcf84ca63a49349e6f81565b61013b6101b836600461093a565b610384565b6040516012815260200161011f565b6101f37f000000000000000000000000e88e0ccc070f80c9bf2a6ec17a1ebf221aaacba381565b6040516001600160a01b03909116815260200161011f565b61016d610219366004610974565b6001600160a01b03165f9081526020819052604090205490565b61023b6103a7565b005b6005546001600160a01b03166101f3565b6101126103ba565b61013b610264366004610912565b6103c9565b61016d7f000000000000000000000000000000000000000000211654585005212800000081565b61016d61029e366004610994565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61023b6102d6366004610974565b6103d6565b6060600380546102ea906109c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610316906109c5565b80156103615780601f1061033857610100808354040283529160200191610361565b820191905f5260205f20905b81548152906001019060200180831161034457829003601f168201915b5050505050905090565b5f33610378818585610418565b60019150505b92915050565b5f3361039185828561042a565b61039c8585856104a6565b506001949350505050565b6103af610503565b6103b85f610530565b565b6060600480546102ea906109c5565b5f336103788185856104a6565b6103de610503565b6001600160a01b03811661040c57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61041581610530565b50565b6104258383836001610581565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f198110156104a0578181101561049257604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610403565b6104a084848484035f610581565b50505050565b6001600160a01b0383166104cf57604051634b637e8f60e11b81525f6004820152602401610403565b6001600160a01b0382166104f85760405163ec442f0560e01b81525f6004820152602401610403565b610425838383610653565b6005546001600160a01b031633146103b85760405163118cdaa760e01b8152336004820152602401610403565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0384166105aa5760405163e602df0560e01b81525f6004820152602401610403565b6001600160a01b0383166105d357604051634a1406b160e11b81525f6004820152602401610403565b6001600160a01b038085165f90815260016020908152604080832093871683529290522082905580156104a057826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161064591815260200190565b60405180910390a350505050565b6001600160a01b0383161580159061067357506001600160a01b03821615155b80156106b157507f000000000000000000000000e88e0ccc070f80c9bf2a6ec17a1ebf221aaacba36001600160a01b0316826001600160a01b031614155b80156106ef57507f000000000000000000000000e88e0ccc070f80c9bf2a6ec17a1ebf221aaacba36001600160a01b0316836001600160a01b031614155b801561070357506001600160a01b0382163b155b15610796577f000000000000000000000000000000000000000000211654585005212800000081610748846001600160a01b03165f9081526020819052604090205490565b61075291906109fd565b11156107965760405162461bcd60e51b81526020600482015260136024820152721b585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610403565b6104258383836001600160a01b0383166107c6578060025f8282546107bb91906109fd565b909155506108369050565b6001600160a01b0383165f90815260208190526040902054818110156108185760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610403565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661085257600280548290039055610870565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108b591815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461090d575f5ffd5b919050565b5f5f60408385031215610923575f5ffd5b61092c836108f7565b946020939093013593505050565b5f5f5f6060848603121561094c575f5ffd5b610955846108f7565b9250610963602085016108f7565b929592945050506040919091013590565b5f60208284031215610984575f5ffd5b61098d826108f7565b9392505050565b5f5f604083850312156109a5575f5ffd5b6109ae836108f7565b91506109bc602084016108f7565b90509250929050565b600181811c908216806109d957607f821691505b6020821081036109f757634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561037e57634e487b7160e01b5f52601160045260245ffdfea26469706673582212203144904921fbec2bd21ee8f9ca36eae7e89386be255fcec7e98140de397ec27464736f6c63430008230033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x27ba20…0078af | 23 days agoSun, 26 Jul 2026 06:34:40 UTC | Approval | [0] 0x000000000000…51c11924 [1] 0x000000000000…eb649eba data: 0xffffffffffffffffff…ffffffff |
| 0x62f03d…c36204 | 23 days agoSun, 26 Jul 2026 06:33:19 UTC | Transfer | [0] 0x000000000000…eb649eba [1] 0x000000000000…1aaacba3 data: 0x000000000000000000…cdccec7c |
| 0x62f03d…c36204 | 23 days agoSun, 26 Jul 2026 06:33:19 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…eb649eba data: 0x000000000000000000…cdccec7c |
| 0x1bc9a0…d2058b | 23 days agoSun, 26 Jul 2026 06:32:10 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…f4ff929c data: 0x000000000000000000…bdc5715b |
| 0xf82434…07eabe | 23 days agoSun, 26 Jul 2026 06:31:54 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…fcddad26 data: 0x000000000000000000…1a9f431b |
| 0xb9a509…5754be | 23 days agoSun, 26 Jul 2026 06:31:32 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…71daaade data: 0x000000000000000000…2a0fb814 |
| 0xebb494…9967f4 | 23 days agoSun, 26 Jul 2026 06:31:03 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…f4721ab1 data: 0x000000000000000000…77b9f61c |
| 0xdd74c8…1dc5c4 | 23 days agoSun, 26 Jul 2026 06:30:47 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…1246e25d data: 0x000000000000000000…c682b813 |
| 0x1c4250…b18801 | 23 days agoSun, 26 Jul 2026 06:30:24 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…390984ad data: 0x000000000000000000…e0b2947f |
| 0x5b02d9…4499e0 | 23 days agoSun, 26 Jul 2026 06:30:11 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…c57684bc data: 0x000000000000000000…0a7763e9 |
| 0x1345f7…8941fe | 23 days agoSun, 26 Jul 2026 06:29:53 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…bc0908e1 data: 0x000000000000000000…03935998 |
| 0xd912b6…fe3a65 | 23 days agoSun, 26 Jul 2026 06:29:39 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…b9181fa1 data: 0x000000000000000000…119deac6 |
| 0xfcefff…5f03e5 | 23 days agoSun, 26 Jul 2026 06:29:20 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…5de076b5 data: 0x000000000000000000…e64443a9 |
| 0x8fecce…5db379 | 23 days agoSun, 26 Jul 2026 06:29:05 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…d86ad96d data: 0x000000000000000000…1cf2a647 |
| 0x3cc127…086838 | 23 days agoSun, 26 Jul 2026 06:28:53 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…e35f87e9 data: 0x000000000000000000…bdc5d62a |
| 0x4d1bf9…fe9b07 | 23 days agoSun, 26 Jul 2026 06:28:34 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…2fdfd36c data: 0x000000000000000000…1228da13 |
| 0xd54ea6…f660eb | 23 days agoSun, 26 Jul 2026 06:28:31 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…4719f630 data: 0x000000000000000000…bd7a967b |
| 0xcfa6b7…ef48be | 23 days agoSun, 26 Jul 2026 06:28:27 UTC | Transfer | [0] 0x000000000000…180e03a3 [1] 0x000000000000…53aac325 data: 0x000000000000000000…47666978 |
| 0x165cbc…0b7f66 | 23 days agoSun, 26 Jul 2026 06:28:18 UTC | Transfer | [0] 0x000000000000…1aaacba3 [1] 0x000000000000…180e03a3 data: 0x000000000000000000…e8000000 |
| 0xf8de90…e11199 | 23 days agoSun, 26 Jul 2026 06:27:38 UTC | Approval | [0] 0x000000000000…1aaacba3 [1] 0x000000000000…eb649eba data: 0xffffffffffffffffff…ffffffff |
| 0xd58d45…381e6a | 23 days agoSun, 26 Jul 2026 06:27:33 UTC | 0x8be007…57e0 | [0] 0x000000000000…c0b4956c [1] 0x000000000000…00000000 |
| 0xd58d45…381e6a | 23 days agoSun, 26 Jul 2026 06:27:33 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…1aaacba3 data: 0x000000000000000000…e8000000 |
| 0xd58d45…381e6a | 23 days agoSun, 26 Jul 2026 06:27:33 UTC | 0x8be007…57e0 | [0] 0x000000000000…00000000 [1] 0x000000000000…c0b4956c |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x27ba20…0078af | Approve | 19,659,199 | 23 days agoSun, 26 Jul 2026 06:34:40 UTC | 0xd5ba…1924 | IN | Proof of Patience | $0.000 ETH | 0.00000285 | |
| 0xf8de90…e11199 | Approve | 19,654,985 | 23 days agoSun, 26 Jul 2026 06:27:38 UTC | 0xe88e…cba3 | IN | Proof of Patience | $0.000 ETH | 0.00000284 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 19,654,931 | 23 days agoSun, 26 Jul 2026 06:27:33 UTC | 0xd58d45…381e6a | CREATE2 | 0x6c9768b6 | 0x4e59…956c | IN | 0xfebf…eef1 | 0 ETH |