// SPDX-License-Identifier: BUSL-1.1
// ====================================================================================================
// NICEHOOD LAUNCHPAD
//
// d8b db d888888b .o88b. d88888b db db .d88b. .d88b. d8888b. .o88b. .d88b. .88b d88.
// 888o 88 `88' d8P Y8 88' 88 88 .8P Y8. .8P Y8. 88 `8D d8P Y8 .8P Y8. 88'YbdP`88
// 88V8o 88 88 8P 88ooooo 88ooo88 88 88 88 88 88 88 8P 88 88 88 88 88
// 88 V8o88 88 8b 88~~~~~ 88~~~88 88 88 88 88 88 88 8b 88 88 88 88 88
// 88 V888 .88. Y8b d8 88. 88 88 `8b d8' `8b d8' 88 .8D db Y8b d8 `8b d8' 88 88 88
// VP V8P Y888888P `Y88P' Y88888P YP YP `Y88P' `Y88P' Y8888D' VP `Y88P' `Y88P' YP YP YP
//
// Fair-launch bonding curve for community tokens
// https://nicehood.com/
// ====================================================================================================
pragma solidity ^0.8.24;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
/// @notice ERC-20 minted entirely to the factory.
contract NiceHoodToken is ERC20 {
address public immutable factory;
constructor(string memory name, string memory symbol, uint256 totalSupply, address niceHoodFactory)
ERC20(name, symbol)
{
factory = niceHoodFactory;
_mint(niceHoodFactory, totalSupply);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name",
"type": "string",
"internalType": "string"
},
{
"name": "symbol",
"type": "string",
"internalType": "string"
},
{
"name": "totalSupply",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "niceHoodFactory",
"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": "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": "factory",
"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": "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"
}
]0x6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461044057508063095ea7b3146103be57806318160ddd146103a157806323b872dd146102c1578063313ce567146102a657806370a082311461026f57806395d89b4114610153578063a9059cbb14610122578063c45a0155146100de5763dd62ed3e1461008a575f80fd5b346100da5760403660031901126100da576100a361053a565b6100ab610550565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b5f80fd5b346100da575f3660031901126100da576040517f0000000000000000000000006cfcd5a336e08ba4c600b4bf4745959f766493eb6001600160a01b03168152602090f35b346100da5760403660031901126100da5761014861013e61053a565b6024359033610566565b602060405160018152f35b346100da575f3660031901126100da576040515f6004548060011c90600181168015610265575b6020831081146102515782855290811561023557506001146101df575b50819003601f01601f191681019067ffffffffffffffff8211818310176101cb576101c782918260405282610510565b0390f35b634e487b7160e01b5f52604160045260245ffd5b60045f9081529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82821061021f57506020915082010182610197565b600181602092548385880101520191019061020a565b90506020925060ff191682840152151560051b82010182610197565b634e487b7160e01b5f52602260045260245ffd5b91607f169161017a565b346100da5760203660031901126100da576001600160a01b0361029061053a565b165f525f602052602060405f2054604051908152f35b346100da575f3660031901126100da57602060405160128152f35b346100da5760603660031901126100da576102da61053a565b6102e2610550565b6001600160a01b0382165f818152600160208181526040808420338552909152909120549193604435939290918101610321575b506101489350610566565b83811061038657841561037357331561036057610148945f52600160205260405f2060018060a01b0333165f526020528360405f209103905584610316565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b346100da575f3660031901126100da576020600254604051908152f35b346100da5760403660031901126100da576103d761053a565b602435903315610373576001600160a01b031690811561036057335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100da575f3660031901126100da575f6003548060011c90600181168015610506575b6020831081146102515782855290811561023557506001146104b05750819003601f01601f191681019067ffffffffffffffff8211818310176101cb576101c782918260405282610510565b60035f9081529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8282106104f057506020915082010182610197565b60018160209254838588010152019101906104db565b91607f1691610464565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100da57565b602435906001600160a01b03821682036100da57565b6001600160a01b0316908115610610576001600160a01b03169182156105fd57815f525f60205260405f20548181106105e457817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffdfea264697066735822122087ca5b424303b4536bc279427fbc33a7bc7c0ab8279650780423bbd79b691bf964736f6c634300081a0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| 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 |
|---|---|---|---|
| 0xd0fb52…0b0ac5 | 21 days agoMon, 27 Jul 2026 10:50:01 UTC | Transfer | [0] 0x000000000000…ecae3504 [1] 0x000000000000…766493eb data: 0x000000000000000000…e9470f06 |
| 0x9a243c…3846aa | 21 days agoMon, 27 Jul 2026 10:49:56 UTC | Approval | [0] 0x000000000000…ecae3504 [1] 0x000000000000…766493eb data: 0xffffffffffffffffff…ffffffff |
| 0x436b48…4ecb08 | 24 days agoFri, 24 Jul 2026 16:48:00 UTC | Transfer | [0] 0x000000000000…766493eb [1] 0x000000000000…ecae3504 data: 0x000000000000000000…e9470f06 |
| 0x436b48…4ecb08 | 24 days agoFri, 24 Jul 2026 16:48:00 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…766493eb data: 0x000000000000000000…cc000000 |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x9a243c…3846aa | Approve | 20,673,158 | 21 days agoMon, 27 Jul 2026 10:49:56 UTC | 0xc5ef…3504 | IN | LeBow by Nicehood | $0.000 ETH | 0.00000172 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 18,304,216 | 24 days agoFri, 24 Jul 2026 16:48:00 UTC | 0x436b48…4ecb08 | CREATE2 | createToken | 0x2d3f…3942 | IN | 0xb536…5181 | 0 ETH |