Testnet Faucet · ABIs · 2

Raw Testnet Faucet ABI exports.

Confidential token ABI for the backed ERC-7984 faucet mint; plain ERC-20 ABI for the 18-decimal underlying. Testnet-only.

Available ABIs

  • confidentialTokenopsTestTokenAbi@tokenops/sdk/testnet-faucet

    CTTT: 6-decimal ERC-7984 confidential wrapper (UUPS proxy). Open backed faucet mint(to, amount) → euint64; encrypted balances, disclosure, operator + upgrade surface.

    41 fns13 events
  • tokenopsTestTokenAbi@tokenops/sdk/testnet-faucet

    TTT: plain 18-decimal ERC-20 underlying token. Open mint(to, amount); standard Transfer / Approval surface.

    10 fns2 events

Direct viem usage

The SDK client classes are the recommended surface — they handle address resolution, typed errors, receipt/event parsing, and telemetry. But the ABIs themselves ship for one-off reads, indexing, or third-party tooling integration.

@tokenops/sdk/testnet-faucet
ts
import { getContract } from "viem";
import { confidentialTokenopsTestTokenAbi } from "@tokenops/sdk/testnet-faucet";

// Attach directly to viem if you'd rather skip the SDK client class —
// useful for one-off reads or for surfacing the contract in your own tooling.
const contract = getContract({
  address: contractAddress,
  abi: confidentialTokenopsTestTokenAbi,
  client: { public: publicClient, wallet: walletClient },
});

// Now you have a viem-typed contract — every method exists on contract.read /
// contract.write. The SDK client class wraps this with address resolution, typed errors, receipt/event parsing, and telemetry —
// but the underlying ABI is the same.
For decoded event consumption, see Testnet Faucet › Events — same ABI, indexer-friendly view.Browse recipes