Skip to main content
Version: 1.15.0

Function: assertNonSiloedLockReleasePool()

assertNonSiloedLockReleasePool(operation: string, poolAddress: string, type: "BurnMintTokenPool" | "BurnFromMintTokenPool" | "BurnWithFromMintTokenPool" | "BurnToAddressTokenPool" | "BurnMintWithLockReleaseFlagTokenPool" | "LockReleaseTokenPool" | "SiloedLockReleaseTokenPool"): void

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

Guards an op that needs the one lockbox a LockRelease pool escrows through: a LockRelease pool, and not the siloed variant.

Parameters​

ParameterTypeDescription
operationstringOperation name, for the error's context.
poolAddressstringToken pool being read.
type"BurnMintTokenPool" | "BurnFromMintTokenPool" | "BurnWithFromMintTokenPool" | "BurnToAddressTokenPool" | "BurnMintWithLockReleaseFlagTokenPool" | "LockReleaseTokenPool" | "SiloedLockReleaseTokenPool"Pool type, as resolved by resolveTokenPool.

Returns​

void

Remarks​

Stricter than assertLockReleasePool, which both variants satisfy. A SiloedLockReleaseTokenPool escrows per remote chain and declares getLockBox(uint64) with no no-arg overload, so there is no single lockbox to name; rejecting it on its type (rather than letting the call revert) is what makes readTokenPoolLockbox safe to call.

Throws​

CCTContractTypeInvalidError if type is a BurnMint pool, or is siloed