NovaToken NOVA

A supply-capped ERC-20 with burn, pause and gasless EIP-2612 permits — 100% written from scratch, no OpenZeppelin.

Total Supply—
Max Supply—
Your Balance—
Status—
Owner—
Your Nonce—

Token Actions

↗

Transfer

Send tokens to any address.

✓

Approve

Allow a spender to move your tokens.

⇄

Transfer From

Move tokens on behalf of someone who approved you.

🔥

Burn

Permanently destroy tokens (reduces total supply).

🔥

Burn From

Burn someone else's tokens using your allowance.

🔍

Balance Checker

Read anyone's balance (no wallet needed).

—

🔍

Allowance Checker

Read any owner → spender allowance.

—

Live Activity (recent events from the chain)

EventDetailsBlockTx
Loading…
showing the latest 15 events

Understand this dApp (how to use it + the on-chain process)

🧭

How to use

The dApp is configured for the Sepolia testnet. Six quick steps:

  1. Connect your wallet — press Connect Wallet (top-right) and make sure your wallet is on Sepolia.
  2. Get test ETH — grab some Sepolia ETH from a faucet to pay gas, then read any balance for free with the Balance Checker card.
  3. Send & approve — use Transfer to send NOVA, Approve to authorize a spender, or Transfer From to spend an allowance someone gave you.
  4. Go gasless — in the Permit card enter a spender and value, then press Sign & Submit Permit: one signature lets anyone submit your approval for you.
  5. Burn tokens — Burn your own NOVA or Burn From an account that approved you; burning is permanent and lowers total supply.
  6. Watch the chain — the Live Activity table shows the latest 15 events (press ↻ Refresh). Owner-only cards (Mint, Pause, Ownership) only appear if you are the contract owner.
⛓

The process — what happens on-chain

Every button submits a signed transaction to the project's contracts:

  1. Your wallet builds a transaction against the NovaToken contract (src/Token.sol), deployed on Sepolia at 0x26b4…8B62 — you sign it and pay gas in test ETH.
  2. NovaToken updates its state — transfer, approve, transferFrom, burn and burnFrom edit the internal balances and allowances mappings; checked math reverts anything invalid (no funds, over the 100M cap, or paused).
  3. Events are recorded on-chain — NovaToken emits Transfer, Approval, Minted and Burned events, which is what the Live Activity table reads to show history.
  4. Owner actions route through Ownable — mint, pause/unpause and ownership changes are guarded by the onlyOwner modifier inherited from src/Ownable.sol; only the owner can call them.
  5. Two-step ownership — Ownable first records a pending owner when you press Nominate; the nominee must then call acceptOwnership (Accept) for the change to take effect, and renounceOwnership locks admin forever.
  6. Permit skips the approve tx — your wallet signs EIP-712 typed data off-chain; NovaToken.permit verifies it with ecrecover, checks the nonce and deadline, and sets the allowance in one transaction.
🕸

Flow graph

The happy path, left to right — from your wallet to on-chain events on Sepolia.

NovaToken dApp flow — wallet → approve/permit → transfer → owner controls → events 1 · Connect wallet your wallet · Sepolia 2 · Approve / Permit NovaToken · permit 3 · Move tokens NovaToken.transfer 4 · Owner controls NovaToken + Ownable 5 · Live events NovaToken events