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.