Components: echelon_oracle and initia_deploy
Description
The initia_deploy::factory module is responsible for deploying and managing extend references for new Move packages. It publishes and stores code for newly deployed modules on chain and generates signer permissions for newly created on-chain objects, enabling them to act as signers in subsequent transactions.
The echelon_oracle::oracle module is responsible for storing and retrieving on-chain price information for assets. It maps each fungible asset’s metadata to an oracle price identifier and retrieves and validates price data from a general on-chain oracle, ensuring freshness of the price via a max-staleness constraint.
Invariants
For initia_deploy::factory, only a valid object signer can retrieve the object’s ExtendRef.
For echelon_oracle::oracle, price-feed updates are only allowed by an entity recognized as a manager. The max-staleness check ensures that no stale price data can be used.