Skip to main content
Version: 1.17.0

Variable: TOKEN_POOL_FAMILIES

const TOKEN_POOL_FAMILIES: readonly ["BurnMint", "LockRelease", "SiloedLockRelease"]

Defined in: cct/evm/token-pool/contracts.ts:90

Pool families, grouping types by how CCT ops treat them; the ABI and version allowlist are per type, in TOKEN_POOL_INTERFACES. The burn-* variants are interface-compatible for CCT ops (shared TokenPool surface), so they share the BurnMint family. LockRelease (with its liquidity functions) is distinct, and SiloedLockRelease is distinct again because it escrows per remote chain: at 1.6.x it adds the silo functions and lacks transferLiquidity; at 2.0.0 it binds a lockbox per lane (getLockBox(uint64), configureLockBoxes) instead of taking one lockBox in its constructor.

Remarks​

Both lock/release families satisfy isLockReleaseTokenPoolType; test that, not family === 'LockRelease', to ask whether a pool escrows liquidity.