name: cairo-oracles description: Explain Cairo oracles for offloading computation in executables, oracle::invoke, and constraints for soundness; use when a request involves experimental oracles or external computation in Cairo.
Cairo Oracles
Overview
Explain how to offload computations to external oracles in Cairo executables and constrain results.
Quick Use
- Read
references/oracles.mdbefore answering. - Emphasize oracles are experimental and not available in Starknet contracts.
- Always show constraints that validate oracle outputs.
Response Checklist
- Use
oracle::invoke(connection, selector, inputs)returningoracle::Result<T>. - Connection strings typically use
stdio:to spawn a process. - Assert constraints immediately after oracle calls.
- Run executables with
scarb execute --experimental-oracles.
Example Requests
- "How do I call an oracle from Cairo?"
- "Why must I validate oracle outputs?"
- "Can oracles be used in Starknet contracts?"