HoodToken
0x0ffd88f80dac9c08e4564ad57dc0ea09b9e71534
Verification
Verified
v0.8.26+commit.8a97fa7a
Type
Contract
1,864 bytes
ABI entries
13
6 read · 4 write
License
mit
Contract information
- Address
- 0x0ffd88f80dac9c08e4564ad57dc0ea09b9e71534
- Chain
- Robinhood Chain (4663)
- Compiler
- v0.8.26+commit.8a97fa7a
- Optimization
- Enabled
- Creator
- 0x6900Dfb7D4…91Db0050a4
- Creation tx
- 0xf0179107ad…45d7b4aaa1
Token
- Name
- Build Loud
- Symbol
- BUILD
- Decimals
- 18
- Holders
- 5,335
- Market
- View token page →
Read contract (6)
allowance(address, address) → uint256
balanceOf(address) → uint256
decimals() → uint8
name() → string
symbol() → string
totalSupply() → uint256
Events (2)
ApprovalTransfer
ABI
[
{
"inputs": [
{
"internalType": "string",
"name": "name_",
"type": "string"
},
{
"internalType": "string",
"name": "symbol_",
"type": "string"
},
{
"internalType": "uint8",
"name": "decimals_",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "totalSupply_",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"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"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"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": "value",
"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": "value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]Source code
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;
/**
* ██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗ ██████╗ ██████╗ ██████╗ ███████╗
* ██║ ██║██╔═══██╗██╔═══██╗██╔══██╗██╔════╝██╔═══██╗██╔══██╗██╔════╝ ██╔════╝
* ███████║██║ ██║██║ ██║██║ ██║█████╗ ██║ ██║██████╔╝██║ ███╗█████╗
* ██╔══██║██║ ██║██║ ██║██║ ██║██╔══╝ ██║ ██║██╔══██╗██║ ██║██╔══╝
* ██║ ██║╚██████╔╝╚██████╔╝██████╔╝██║ ╚██████╔╝██║ ██║╚██████╔╝███████╗
* ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
*
* HOODFORGE PRO — ERC-20 Token
* Deployed on Robinhood Chain (Chain ID 4663)
* Standard ERC-20 with burn. No mint, no owner, no hidden functions.
*/
contract HoodToken {
string public name;
string public symbol;
uint8 public immutable decimals;
uint256 public totalSupply;
mapping(address => uint256) public balanceOf;
mapping(address => mapping(address => uint256)) public allowance;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
constructor(
string memory name_,
string memory symbol_,
uint8 decimals_,
uint256 totalSupply_
) {
require(bytes(name_).length > 0, "HoodToken: empty name");
require(bytes(symbol_).length > 0, "HoodToken: empty symbol");
require(totalSupply_ > 0, "HoodToken: zero supply");
name = name_;
symbol = symbol_;
decimals = decimals_;
totalSupply = totalSupply_;
balanceOf[msg.sender] = totalSupply_;
emit Transfer(address(0), msg.sender, totalSupply_);
}
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) {
allowance[msg.sender][spender] = value;
emit Approval(msg.sender, spender, value);
return true;
}
function transferFrom(address from, address to, uint256 value) external returns (bool) {
uint256 allowed = allowance[from][msg.sender];
if (allowed != type(uint256).max) {
require(allowed >= value, "HoodToken: insufficient allowance");
unchecked {
allowance[from][msg.sender] = allowed - value;
}
}
_transfer(from, to, value);
return true;
}
function burn(uint256 value) external {
require(balanceOf[msg.sender] >= value, "HoodToken: burn exceeds balance");
unchecked {
balanceOf[msg.sender] -= value;
totalSupply -= value;
}
emit Transfer(msg.sender, address(0), value);
}
function _transfer(address from, address to, uint256 value) internal {
require(to != address(0), "HoodToken: transfer to zero address");
require(balanceOf[from] >= value, "HoodToken: insufficient balance");
unchecked {
balanceOf[from] -= value;
balanceOf[to] += value;
}
emit Transfer(from, to, value);
}
}
Chain explorer4997msChain node95ms