Skip to main content

AssetGuard

A whitelist contract that controls which tokens can be committed and revealed through the Ghost Protocol.

Address: 0xa1E7d557333CE14D897510220442d0DEfCf5A8A1

Purpose

Not every ERC20 token can be used with Ghost Protocol — tokens must be explicitly authorized. AssetGuard maintains the allowlist and is consulted by the CommitRevealVault before every commit operation.

Key functions

// Check if a token is authorized
function isAuthorized(address token) external view returns (bool);

// Authorize a token (owner only)
function authorize(address token) external;

// Revoke authorization (owner only)
function revoke(address token) external;

Usage

# Check if a token is authorized
cast call 0xa1E7d557333CE14D897510220442d0DEfCf5A8A1 \
"isAuthorized(address)(bool)" $TOKEN_ADDRESS \
--rpc-url https://testnet.specterchain.com

Authorized tokens on testnet

  • Native GHOST (address(0)) — always authorized
  • gUSDC (0x65c9091a6A45Db302a343AF460657C298FAA222D)
  • gWETH (0x923295a3e3bE5eDe29Fc408A507dA057ee044E81)
  • gLABS (0x062f8a68f6386c1b448b3379abd369825bec9aa2)

All tokens deployed via GhostERC20Factory are automatically authorized by the factory during deployment.