Skip to content

Error Codes

Michael edited this page Oct 23, 2025 · 4 revisions
Contract Error Signature Selector
ProtocolAdapter CommitmentMismatch(bytes32,bytes32) 0xc9e0e757
DeltaMismatch(address,address) 0xe6d44b4c
ECDSAInvalidSignature() 0xf645eedf
ECDSAInvalidSignatureLength(uint256) 0xfce698f7
ECDSAInvalidSignatureS(bytes32) 0xd78bce0c
EmptyCommitment() 0xaac1fcc6
EnforcedPause() 0xd93c0665
ExpectedPause() 0x8dfc202b
ForwarderCallOutputMismatch(bytes,bytes) 0xc504fada
InvalidRoot(bytes32,bytes32) 0xa0d3b062
LogicRefMismatch(bytes32,bytes32) 0x18f639d8
NonExistingCommitment(bytes32) 0xff34f2b6
NonExistingRoot(bytes32) 0xf9849ea3
OwnableInvalidOwner(address) 0x1e4fbdf7
OwnableUnauthorizedAccount(address) 0x118cdaa7
PathLengthExceedsLatestDepth(uint256,uint256) 0x88666ad9
PreExistingCommitment(bytes32) 0x96539bd4
PreExistingNullifier(bytes32) 0x39a940c5
PreExistingRoot(bytes32) 0xdb788c2b
ReentrancyGuardReentrantCall() 0x3ee5aeb5
RiscZeroVerifierStopped() 0x0b1d38a3
TagCountMismatch(uint256,uint256) 0xd3bee78d
TagNotFound(bytes32) 0x89211474
ZeroNotAllowed() 0xcf4b4e2e
CommitmentTree CommitmentIndexOutOfBounds(uint256,uint256) 0xdbc744cd
CommitmentMismatch(bytes32,bytes32) 0xc9e0e757
EmptyCommitment() 0xaac1fcc6
InvalidRoot(bytes32,bytes32) 0xa0d3b062
NonExistingCommitment(bytes32) 0xff34f2b6
NonExistingRoot(bytes32) 0xf9849ea3
PathLengthExceedsLatestDepth(uint256,uint256) 0x88666ad9
PreExistingCommitment(bytes32) 0x96539bd4
PreExistingRoot(bytes32) 0xdb788c2b
MerkleTree NonExistentLeafIndex(uint256) 0xcd567657
NullifierSet PreExistingNullifier(bytes32) 0x39a940c5
Logic TagNotFound(bytes32) 0x89211474
TagUtils TagCountMismatch(uint256,uint256) 0xd3bee78d
Delta DeltaMismatch(address,address) 0xe6d44b4c
`ForwarderBase UnauthorizedCaller(address,address) 0x536dd9ef
UnauthorizedLogicRef(bytes32,bytes32) 0xa97085ab
ZeroNotAllowed() 0xcf4b4e2e
EmergencyMigratableForwarderBase EmergencyCallerAlreadySet(address) 0x5741435f
EmergencyCallerNotSet() 0x8160e4bb
ProtocolAdapterNotStopped() 0xfe40b075
UnauthorizedCaller(address,address) 0x536dd9ef
UnauthorizedLogicRef(bytes32,bytes32) 0xa97085ab
ZeroNotAllowed() 0xcf4b4e2e
ERC20Forwarder CallTypeInvalid() 0x93487993
EmergencyCallerAlreadySet(address) 0x5741435f
EmergencyCallerNotSet() 0x8160e4bb
ProtocolAdapterNotStopped() 0xfe40b075
SafeERC20FailedOperation(address) 0x5274afe7
TypeOverflow(uint256,uint256) 0x3edd19a7
UnauthorizedCaller(address,address) 0x536dd9ef
UnauthorizedLogicRef(bytes32,bytes32) 0xa97085ab
ZeroNotAllowed() 0xcf4b4e2e
Permit2 AllowanceExpired(uint256) 0xd81b2f2e
ExcessiveInvalidation() 0x24d35a26
InsufficientAllowance(uint256) 0xf96fb071
InvalidAmount(uint256) 0x3728b83d
InvalidContractSignature() 0xb0669cbc
InvalidNonce() 0x756688fe
InvalidSignature() 0x8baa579f
InvalidSignatureLength() 0x4be6321b
InvalidSigner() 0x815e1d64
LengthMismatch() 0xff633a38
SignatureExpired(uint256) 0xcd21db4f

Clone this wiki locally