Agent documentation index: llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Skip to main content

ITeeCommonErrors

Shared custom errors used across multiple FlareTeeManager facet interfaces.

The interface has no functions. It exists so the same error selectors can be declared once and inherited by many facets without "Identifier already declared" when those interfaces are combined into IFlareTeeManager.

Facet-specific errors stay on the facet pages (IExtensionManager, IMachineManager, IVerification, IOperationFees, IOwnerAllowlist).

Access control

OnlyOwner

The caller is not the owner of the resource the function acts on (TEE machine, wallet, or wallet project).

error OnlyOwner()

OnlyExtensionOwner

The caller is not the owner of the extension.

error OnlyExtensionOwner()

OnlyExtensionOwnerOrOperator

The caller is neither the extension owner nor the optional extension operator. Used for prep steps such as machine-path-list lifecycle, where the real security gate is a later governance threshold.

error OnlyExtensionOwnerOrOperator()

OnlyProposedOwner

The caller is not the address proposed in a two-step ownership transfer (proposeNewOwner / confirmOwnership).

error OnlyProposedOwner()

OnlyOwnerOrBackupManager

The caller is neither the wallet project owner nor that project's backup manager.

error OnlyOwnerOrBackupManager()

OnlyProductionOrPausedStatus

The wallet is not in PRODUCTION or PAUSED status. Thrown by Protocol Managed Wallet payment flows that require the wallet to be usable or paused, not uninitialized or banned.

error OnlyProductionOrPausedStatus()

OwnerNotAllowed

The address is not on the relevant IOwnerAllowlist (extension owner, TEE machine owner, or wallet project owner).

error OwnerNotAllowed()

NotOwnerOrPauser

The caller cannot pause: they are not the owner and not a listed pauser for that extension or wallet project.

error NotOwnerOrPauser(address caller)

Parameters

  • caller: The address that attempted the pause.

NotOwnerOrUnpauser

The caller cannot unpause: they are not the owner and not a listed unpauser for that extension or wallet project.

error NotOwnerOrUnpauser(address caller)

Parameters

  • caller: The address that attempted the unpause.

Validation

ExtensionIdMismatch

The TEE machines, wallets, or backups in the call do not all belong to the same extension.

error ExtensionIdMismatch()

TeeMachineNotAvailable

The TEE machine is not in PRODUCTION. Thrown when sending non-system instructions or when confirming availability for a machine that is not live.

error TeeMachineNotAvailable()

InvalidKeyType

The key type on the proof or backup does not match the wallet project's configured key type.

error InvalidKeyType()

InvalidSigningAlgo

The signing algorithm on the proof or backup does not match the wallet project's configured algorithm.

error InvalidSigningAlgo()

InvalidPublicKey

The public key is empty or does not match the key already stored for that wallet.

error InvalidPublicKey()

InvalidDuration

A governance duration is outside the allowed range. Availability-check validity must be between 1 hour and 365 days, signing-policy validity between 1 and 100 reward epochs, and challenge validity between 1 minute and 1 hour.

error InvalidDuration()

InvalidResponseData

An availability-check proof's response body failed verification (code hash, platform, signing policy, or state). See IVerification.confirmAvailability.

error InvalidResponseData()

InvalidThreshold

A threshold is zero, larger than the signer or cosigner set, or does not match the stored configuration.

error InvalidThreshold()

InvalidCosigner

A cosigner address is zero, or the caller is not a registered wallet cosigner.

error InvalidCosigner(address cosigner)

Parameters

  • cosigner: The invalid or unauthorized address.

DuplicatedCosigner

The same cosigner address appears more than once in the list.

error DuplicatedCosigner(address cosigner)

Parameters

  • cosigner: The duplicated address.

InvalidAvailabilityCheckStatus

The availability-check proof status is not OK.

error InvalidAvailabilityCheckStatus()

InvalidWalletStatus

The wallet is not in the status the function requires (for example, not PRODUCTION when generating keys).

error InvalidWalletStatus()

LengthsMismatch

Parallel arrays in the call (for example operation types, commands, and fees) do not have the same length.

error LengthsMismatch()

VersionNotSupported

The (codeHash, platform) pair is not supported for the extension.

error VersionNotSupported()

AvailabilityCheckTimestampInvalid

The proof header timestamp is not strictly before block.timestamp, is earlier than the stored challenge time, or is before the machine's last status change.

error AvailabilityCheckTimestampInvalid()

KeyTypeNotSupported

The key type is not on the extension's supported list (or the system-supported list when adding types).

error KeyTypeNotSupported(bytes32 keyType)

Parameters

  • keyType: The unsupported key type.

InvalidNonce

The nonce is zero, out of range, or does not match the stored nonce for that TEE (machine-path lists and key confirmation).

error InvalidNonce()

InvalidGovernanceHash

The governance hash is unknown, has a zero threshold, or is not the extension's latest hash at machine registration.

error InvalidGovernanceHash()

InvalidAddress

An address in the list is zero, or a stored address does not match the value in the call.

error InvalidAddress()

AddressAlreadyInSet

The address is already in the allowlist or pauser set.

error AddressAlreadyInSet(address addr)

Parameters

  • addr: The address that is already present.

AddressNotInSet

The address is not in the allowlist or pauser set, so it cannot be removed.

error AddressNotInSet(address addr)

Parameters

  • addr: The address that was not found.

NoAddresses

The call passed an empty address list.

error NoAddresses()