Switchboard provides a trusted execution environment to ensure off-chain oracles are not tempered with.It also allows for developers to deploy custom oracles.



struct AggregatorKey has copy, drop, store {}

A dynamic field key to store the address of the switchboard::aggregator::Aggregator that can that provide data to the oracle.

 struct SwitchboardFeed has drop {}

A witness that is added to the suitears::oracle::Request to prove that it collected data from Coin X Oracle's Pyth Network module.



It requests a price from Pyth Network and submits the information to a Coin X oracle request.

public fun report<Witness: drop>(oracle: &Oracle<Witness>, request: &mut Request, aggregator: &Aggregator)
  • @param self. A suiterars::oracle::Oracle with this module's witness.

  • @param request. A hot potato issued from the self to create a suiterars::oracle::Price.

  • @param aggregator. switchboard::aggregator::Aggregator that the self will use to fetch the price.


  • the aggregator is not whitelisted.

  • the aggregator price is negative or zero.

Last updated