Skip to main content

Handler not executing

  • Verify discriminator = &EXTERNAL_CALL_HANDLER_DISCRIMINATOR
  • Allocate sufficient compute_units

Deserialization errors

  • Use UncheckedAccount for committed accounts in handler context
  • Manually deserialize via try_deserialize on borrowed data
  • Check account discriminator matches expected type

Transaction failures

  • Ensure all handler accounts are listed in ShortAccountMeta
  • Match is_writable flags to actual usage
  • Increase compute budget for all handlers in the commit

Limitations & considerations

  • Handlers execute on base layer and consume base-layer fees
  • Standard Solana limits apply (compute, account locks)
  • Atomicity: any handler failure reverts the commit
  • First two handler accounts are injected (escrow, escrow_auth)
I