Opus
  • Meet Opus and CASH
  • Rewards
  • Borrowing
  • Liquidations
  • Peg Stability
  • Recovery Mode
  • Global Settlement
  • Risks
  • Resources
  • Glossary
  • Technical Documentation
    • Overview
    • Smart Contracts
      • Shrine Module
      • Abbot Module
      • Gate Module
      • Sentinel Module
      • Purger Module
      • Absorber Module
      • Controller Module
      • Equalizer Module
      • Stabilizer Module
      • Seer Module
      • Receptor Module
      • Flash Mint Module
      • Caretaker Module
      • Transmuter Module
    • Security
      • Internal
      • External
      • Emergency Procedures
    • Governance
      • Onboarding collateral
      • Monitoring collateral
      • Onboarding a reward to the Absorber
    • Deployed Contracts
Powered by GitBook
On this page
  • Description of key functions
  • Conditions for triggering a yin price update
  1. Technical Documentation
  2. Smart Contracts

Receptor Module

The controller's sensor

PreviousSeer ModuleNextFlash Mint Module

Last updated 7 months ago

The Receptor module acts as the sensor of the Controller module by providing the yin's price to Shrine for the Controller to actuate on.

At the moment for CASH, the Receptor relies on Ekubo's to read the median time-weighted average price (TWAP) of CASH / {DAI, USDC, USDT}. The TWAP duration is initially set to 3 hours but is expected to be adjusted downwards over time.

Description of key functions

  • update_yin_price : fetch the current price of yin and submit it to Shrine. This is intended to be executed via the ITask.execute_task() interface.

Conditions for triggering a yin price update

There are two possible ways in which a price update can be triggered:

  1. sufficient time has elapsed from the last successful attempt to update yin's price; or

  2. the caller has been granted access to call update_yin_price, bypassing the requirement in (1).

Option (2) is not used in the current design of the protocol.

oracle extension