Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

GiftableToken

ERC-20 voucher: mint, optional expiry, writer minters.

Proxy: yes.

initialize(name, symbol, decimals, owner, expiresAt)  // expiresAt=0 → never
mintTo(to, amount)     // owner or writer
burn(amount)           // owner, from own balance
applyExpiry()          // anyone; no-op if expiresAt=0
addWriter / deleteWriter / isWriter

Behaviour

  • After expiry, every transfer including mint reverts TokenExpired.
  • Expiry flips on the first transfer at block.timestamp >= expiresAt, or via applyExpiry().
  • Public: expired, totalMinted, totalBurned.

Events: Mint, Burn, Expired, WriterAdded, WriterRemoved.

Many instances, one implementation (0x34445d13…df2d8). Deploy a proxy per voucher. Symbol must be unique in each TokenUniqueSymbolIndex you register it into.