Add RIF/USD and TasksRunner to OMOC; Use RIF/USD₮0 for Liquidity

:memo: MIP#263101

:warning: Status: In voting

Overview

This proposal prepares the Money on Chain Decentralized Oracle protocol (OMOC) for the upcoming migration of RIF on Chain (RoC) and Money on Chain (MoC) to decentralized RIF/USD price provision and protocol task execution.

The proposed changer will:

  • Deploy and register the new RIF/USD coin pair in OMOC,
  • Deploy the TasksRunner infrastructure,
  • Give OMOC oracle operators time to review, upgrade, and subscribe to the new services before they are used by RoC and MoC,
  • Change the conversion route used for RIF revenue collected from RoC to use the more liquid USD₮0/RIF, WBTC/USD₮0, and MOC/WBTC pools,
  • Incorporate the OMOC circuit-breaker improvements described in MIP#262701, and
  • Incorporate the protocol cleanup and fixes described in MIP#262702.

These changes are intended to further decentralize price provision and protocol operations while improving the reliability and efficiency of the revenue used to compensate OMOC operators.


Motivation

Prepare OMOC operators for the RoC and MoC migration

RoC and MoC currently depend on semi-centralized price feeders for the RIF price and on centralized automators for periodic protocol tasks. A separate future governance proposal will migrate those responsibilities to OMOC after the new services are operational and oracle operators have had sufficient time to adopt them.

Before that migration can take place, the RIF/USD coin pair and TasksRunner services must be available in OMOC. Oracle operators also need sufficient time to:

  • Review the new components,
  • Upgrade their nodes,
  • Subscribe to the RIF/USD coin pair,
  • Subscribe to the TasksRunner consensus, and
  • Verify that their infrastructure is ready to provide these services.

Deploying the facilities first separates operator onboarding from the later protocol migration and reduces operational risk.

Improve the conversion of RoC revenue

Part of the revenue collected from RoC is converted from RIF into MOC tokens and used to compensate OMOC nodes. Because there is no direct MOC/RIF liquidity pool, this conversion requires multiple hops.

The existing route uses the WRBTC/RIF pair for one of those hops. That pair frequently lacks sufficient liquidity, which can delay payments and cause unnecessary value loss during conversion.

This proposal changes the conversion route to RIF → USD₮0 → WBTC → MOC, using the USD₮0/RIF, WBTC/USD₮0, and MOC/WBTC pools. These pools have substantially more liquidity than the WRBTC/RIF pool used by the existing route. The change is expected to:

  • Improve the timely payment of OMOC oracle revenue shares,
  • Reduce slippage and value lost during conversions, and
  • Make the revenue-conversion process more reliable.

Proposed Changes

1. Add the RIF/USD coin pair to OMOC

The changer will deploy and register the contracts and configuration required for RIF/USD price consensus in OMOC.

This proposal only establishes the new coin pair and enables operator subscription. Migrating RoC to consume the resulting RIF/USD price will require a separate future governance proposal.

2. Add TasksRunner to OMOC

The changer will deploy the TasksRunner infrastructure used to coordinate recurring on-chain protocol operations among OMOC operators.

TasksRunner extends the oracle network’s consensus-based operating model beyond price publication. Participating operators will be able to subscribe to task-execution consensus, receive execution turns, and execute registered protocol tasks on-chain.

The initial deployment is intended to give operators time to review and adopt the service. Migrating RoC and MoC tasks from centralized automators to TasksRunner will require a separate future governance proposal.

3. Use RIF/USD₮0 liquidity for RoC revenue conversion

The changer will replace the conversion hop that currently depends on WRBTC/RIF liquidity with the multi-hop route RIF → USD₮0 → WBTC → MOC. This route will use the USD₮0/RIF, WBTC/USD₮0, and MOC/WBTC pools, which have substantially greater available liquidity.

The conversion will remain multi-hop because no direct MOC/RIF pool exists.

4. Incorporate the OMOC circuit-breaker improvements

This proposal incorporates the improvements presented in MIP#262701 — Implementation of an Oracle Circuit Breaker and some other improvements, including:

  • The OMOC oracle circuit breaker, and
  • Automatic unsubscription of oracle operators whose stake falls below the required participation threshold.

5. Incorporate the protocol cleanup and fixes

This proposal also incorporates the improvements presented in MIP#262702 — Code Cleanup for Deprecated BTCX Leveraged Positions (and Bug Fixes), including:

  • Removal of deprecated BTCX daily inrate payment logic, and
  • Validation preventing unsupported pegged-token addresses from being accepted in RoC queue transactions.

Expected Outcome

After this proposal is executed:

  • RIF/USD price consensus will be available in OMOC,
  • TasksRunner consensus will be available in OMOC,
  • Operators will be able to upgrade and subscribe before RoC and MoC depend on the new services,
  • RoC revenue conversion will use the more liquid RIF/USD₮0 route,
  • OMOC will include the circuit-breaker and operator-unsubscription improvements from MIP#262701, and
  • The cleanup and fixes from MIP#262702 will be incorporated.

The migration of RoC and MoC to these OMOC services will remain subject to a separate future governance proposal and vote.


Governance Process

As with all protocol-level changes, this proposal will be submitted to a governance vote.

The upgrade will be executed only after:

  1. Proposal approval through governance,
  2. Deployment and verification of the changer contract, and
  3. Execution of the approved changer.

Technical Procedure

:warning: Some technical or coding knowledge is necessary to fully understand this section.

The upgrade will be executed through a changer contract that deploys and configures the RIF/USD coin pair and TasksRunner infrastructure, updates the RoC revenue-conversion route, and incorporates the changes referenced in MIP#262701 and MIP#262702.

The exact contract list, parameters, and verified addresses will be added to this draft before the governance vote.


Changer Contract

The changer contract to vote would be:

Name Address (and link to verified code in RSK blockscout explorer)
PreTasksRunnerChanger 0x015F2836467Ce43E27D22b0d03929c371Ff1d0f1

Existing Contracts to be upgraded

The following contracts are already part of the protocol and will be upgraded as part of this proposal:

Name Type Address
OracleManager Proxy 0x64A5...712C
OracleManager Implementation 0x2ea6...F6A9
OracleManager New implementation 0xDa61...5c54
CoinPairBTCUSD Proxy 0xa288...2672
CoinPairBTCUSD Implementation 0x37ff...e03F
CoinPairBTCUSD New implementation 0xb9F7...8b9A
CoinPairRIFBTC Proxy 0x4D58...98d0
CoinPairRIFBTC Implementation 0x37ff...e03F
CoinPairRIFBTC New implementation 0xb9F7...8b9A
CoinPairUSDARS Proxy 0x44E1...4393
CoinPairUSDARS Implementation 0x37ff...e03F
CoinPairUSDARS New implementation 0xb9F7...8b9A
CoinpairUSDCOP Proxy 0xdD71...166b
CoinpairUSDCOP Implementation 0x37ff...e03F
CoinpairUSDCOP New implementation 0xb9F7...8b9A

Existing Contracts to be reconfigured

The following contracts are already part of the protocol and will be reconfigured as part of this proposal:

Name Address
mocSwapper 0x2412...3C73

New Contracts

Name Address
TasksRunnerProxy 0xD99a...b975
TasksRunnerImplementation 0xA3eA...69D3
BasefeeProvider 0xA9Aa...915C

1 Like

:mega: Call to MOC holders: This proposal is being voted on. How to vote Tutorial. Use the voting site.

:mega: Llamado a los MOC holders: Esta propuesta se está votando. Tutorial de cómo votar. Usar el sitio de voto.