ERC-20 token Upsilon Token (UPX). Deterministic CREATE2 addresses via assembly (create2).
0x57bfdA49355F95799399Deb4ff79aAB8d1971914 (All chains)
| Network | Explorer |
|---|---|
| Sepolia | sepolia.etherscan.io |
| Hoodi | hoodi.etherscan.io |
| BSC testnet | testnet.bscscan.com |
| Feature | Standard |
|---|---|
| Deterministic deploy | CREATE2 (assembly) |
| Gasless approvals | EIP-2612 Permit |
| Governance votes | ERC20Votes + delegation |
| Supply cap | 1,000,000,000 UPX |
| Burn / Pause | Role-gated |
| Access control | DEFAULT_ADMIN, MINTER, PAUSER |
src/
UPX.sol
Create2Deployer.sol
script/
Deploy.s.sol
Predict.s.sol
test/
forge install
forge build
forge test -vvSame ADMIN / INITIAL_MINT + salt on every chain → same address (via Foundry’s 0x4e59… CREATE2 factory).
ADMIN=0xYourAdmin INITIAL_MINT=100000000000000000000000000 \
forge script script/Predict.s.solcp .env.example .env
# edit .env → set PRIVATE_KEY=0x... (and ETHERSCAN_API_KEY if verifying)
# optional overrides
# export ADMIN=0xYourAdmin
# export INITIAL_MINT=100000000000000000000000000 # 100MSame salt + ADMIN / INITIAL_MINT → same CREATE2 address on every chain.
# Sepolia
forge script script/Deploy.s.sol:Deploy --rpc-url sepolia --broadcast --verify -vvvv
# Hoodi
forge script script/Deploy.s.sol:Deploy --rpc-url hoodi --broadcast --verify -vvvv
# BSC testnet
forge script script/Deploy.s.sol:Deploy --rpc-url bsc_testnet --broadcast --verify -vvvvDry-run (no broadcast):
forge script script/Deploy.s.sol:Deploy --rpc-url sepolia -vvvv| Role | Powers |
|---|---|
DEFAULT_ADMIN_ROLE |
Grant / revoke roles |
MINTER_ROLE |
mint |
PAUSER_ROLE |
pause / unpause |