Inter Protocol Vaults: Contract Implementations

The Inter Protocol treats IST as worth 1 USD axiomatically. It’s up to the surrounding mechanisms to make it so in the market.

Technical detail

There is a technical detail where Oracle prices are reported using an idealized ERTP brand for USD and then converted prices in IST by a “scaled price authority” contract that sits between the Oracles and the vaultFactory. But the scale is configured to 1:1.

1 Like

Thanks for the quick and thorough responses @dckc! I didn’t intend to divert the convo and would be happy to start a new thread to discuss oracle/asset specifics :sweat_smile:

My statement above that an unofficial Chainlink implementation is not robust nor decentralized is phrased poorly. Chainlink is an open source software that anyone can use! Instead, it should say - does the oracle network implement the same sort of slashing Chainlink has for lack of liveness and misreporting?

Also, I should have mentioned this in my original post, but I am super stoked for the Inter Vaults launch! Price Authorities are a really exciting primitive, and I appreciate all of the work that has gone into this! :clap:

1 Like

Hardly diverting the conversation. Very much on topic, I’d say.

Note the folks most knowledge about the meat of your question about oracle operations aren’t immediately available to answer. Please stay tuned.

I just answered some of the other questions based on already published materials: code, whitepapers, etc.

1 Like

Ok cool, thank you again.

To clarify this question, is the process for adding an asset to the oracle network separate from adding an asset as a collateral type on vaults? I see oracleBrand is available on agoricNames on devnet (agd query vstorage data published.agoricNames.oracleBrand) that returns USD and ATOM, and a priceFeed namespace that returns ATOM-USD_price_feed (agd query vstorage data published.priceFeed.children).

If yes, is this also BLD’er governance / an envisioned governance flow? The use case I am thinking of is oracle support for other protocols building on Agoric, that may want to integrate assets not supported on Inter.

1 Like

Ah. Right. I have worked so much with the situation where an Oracle for X is in service to X as a collateral for Inter Protocol vaults that I read that into your question even though it wasn’t there. :slight_smile:

In general, changes to the Agoric chain are decided by the BLD stakers until they delegate to some other process. Each asset in the oracle network is a separate price aggregator contract. Starting such a contract has not been delegated to anything less than the BLD stakers.

We have experience and code (addAssetToVault.js) to support a BLD staker decision to “bring on another asset type for vaults, including starting an oracle contract” using swingset.CoreEval. But we could separate out the “start an oracle contract” part. Hang on… maybe we already did, in fact: price-feed-proposal.js.

We could try it out on devnet if you like. We should probably take the technical discussion to discord and/or github. Speaking of, one particular opportunity is to review a pull request for documentation on swingset.CoreEval:

2 Likes

The Mainnet 1B release is now available and a separate thread has been created for discussion around testing and milestones.

https://community.agoric.com/t/agoric-upgrade-10-mainnet-1b-upgrade/

1 Like

Hey, I’d like to chime in as one of the people working on coordinating the oracle network supporting IST’s vaults. Responding to your questions below:

  1. The oracle solution does not in any way use an existing official Chainlink feed, and instead uses the open source Chainlink software to submit prices to aggregator smart contracts on Agoric. The contracts cannot be changed by any admin user, only governance. The oracle set is initially a set of 5 Agoric validators who are also experienced in Chainlink node operation on other networks.

Each node operator queries a set of API providers on their backend, and they all submit their median price to each round of the data feed. New rounds are triggered either after 10 mins of inactivity or if a node operator has detected a 1% deviation off chain. We’ve distributed the various API providers across the set of oracle operators, so as to have the least overlap possible, to minimise API provider risk.

2-3. There are talks ongoing to ensure the oracle feed for liquid staked tokens are as robust as possible.

  1. Currently our team at Simply Staking is coordinating the bootstrapping of the oracle network set, maintaining the software and working as a manager of the oracle network (we do not have any on-chain powers, just off-chain coordination, dev work, monitoring/alerting and support).

We are currently in this position as we feel it is critical to ensure the stability and quality of the feeds being used for IST, after many years working on official Chainlink feeds.

The software being used is all open source and documented, being the Chainlink node, monitoring software for the oracle operators and the custom Agoric<>Chainlink middleware. In the long term, it is in the best interest of the network to have a more decentralised approach to oracle set maintenance and monitoring, so we’re happy to support this direction. We’re doing our utmost to upkeep documentation and share knowledge to the other oracle operators.

5 Likes

Hi!

I am Jacques from Simply Staking.
As Simply Staking, we are responsible for monitoring the overall oracle network, including other node operators’ performances and behaviours. To facilitate this task effectively, we have established formal agreements and Service Level Agreements (SLAs) with each individual node operator, outlining their respective requirements and obligations.

I hope this clarifies your question and please feel free to ask any further questions that may arise.

Have a nice day,
Jacques

2 Likes

Following up on this, oracle operators are expected to have an uptime of 99.9%, and can have up to 10% of their rewards deducted should they not meet this SLA. Repeated breaches and loss in quality of their contribution to the data feeds, will result in the Agoric Committee recommending for them to be replaced.

The committee has in depth monitoring dashboards on data feeds to take these decisions, supported by us when required.

3 Likes