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()