Skip to content

Comments

[VPD-566]: RedStone oracle feed expansion for BSC Core Pool#669

Open
Debugger022 wants to merge 7 commits intomainfrom
feat/VPD-566
Open

[VPD-566]: RedStone oracle feed expansion for BSC Core Pool#669
Debugger022 wants to merge 7 commits intomainfrom
feat/VPD-566

Conversation

@Debugger022
Copy link
Contributor

@Debugger022 Debugger022 commented Feb 13, 2026

Summary

  • Register 13 new RedStone price feeds and update resilient oracle configurations to strengthen price reliability through multi-vendor redundancy across the BSC Core Pool
  • Add fallback oracle redundancy for BTCB, TRX, and USD1
  • Continues the Two-Vendor OEV Integration Framework adopted in VIP-586

Changes

VIP Proposal (vips/vip-650/bscmainnet.ts)

  • Register RedStone oracle feeds for: XVS, LTC, BCH, DOT, LINK, DAI, FIL, DOGE, AAVE, UNI, FDUSD, TWT, SOL (7h stale period)
  • Update resilient oracle configs for 12 standard assets: MAIN=Chainlink, PIVOT=Binance, FALLBACK=RedStone
  • Update TWT oracle config: MAIN=Binance, PIVOT=RedStone (no Chainlink USD feed available)
  • Update USDe oracle config: MAIN=USDT Chainlink, PIVOT=Chainlink, FALLBACK=RedStone
  • Add BoundValidator config for TWT (required since TWT previously had no PIVOT oracle)
  • Add fallback oracles:
    • BTCB: Add Binance as FALLBACK (MAIN=Chainlink, PIVOT=RedStone, FALLBACK=Binance)
    • TRX: Add Binance as FALLBACK (MAIN=Chainlink, PIVOT=RedStone, FALLBACK=Binance)
    • USD1: Update FALLBACK to Binance (MAIN=RedStone, PIVOT=Chainlink, FALLBACK=Binance)
  • Configure Binance Oracle: symbol override BTCB→BTC, stale period BTC (25min), TRX/USD1 (25h)

Simulation (simulations/vip-650/bscmainnet.ts)

  • Pre-VIP checks: verify no existing RedStone feeds, verify old oracle configs and old fallback configs match expected state
  • Post-VIP checks: verify RedStone feeds, resilient oracle configs, BoundValidator config for TWT, fallback oracle configs
  • Price stability check: verify all asset prices (14 standard + 3 fallback) remain within 3% tolerance after oracle reconfiguration
  • Special handling for USDe (USDT_CHAINLINK_ORACLE) and BTCB (Binance "BTC" symbol after override)
  • Workaround for TWT feed staleness in fork simulation using setDirectPrice

Test plan

  • Run simulation: npx hardhat test simulations/vip-650/bscmainnet.ts --fork bscmainnet
  • Verify RedStone feed addresses match on-chain deployed feeds
  • Verify Binance Oracle returns valid prices for BTC, TRX, USD1
  • Cross-reference asset addresses against deployed contracts

Register 13 new RedStone price feeds (XVS, LTC, BCH, DOT, LINK, DAI,
FIL, DOGE, AAVE, UNI, FDUSD, TWT, SOL) and update resilient oracle
configs to use RedStone as MAIN with Chainlink/Binance redundancy.
Includes BoundValidator config for TWT which previously had no PIVOT.
@Debugger022 Debugger022 self-assigned this Feb 13, 2026
Add pre-VIP check verifying TWT has no BoundValidator config and
post-VIP ValidateConfigAdded event verification.
Copy link
Contributor

@GitGuru7 GitGuru7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rest LGTM

Keep Chainlink as the main oracle with Binance as pivot and RedStone
as fallback, matching the existing oracle hierarchy. TWT retains
Binance as main with RedStone as pivot since no Chainlink feed exists.
Align with RedStone's 6-hour heartbeat interval plus a 1-hour buffer
to avoid false staleness rejections.
ASSET: "0x4B0F1812e5Df2A09796481Ff14017e6005508003",
MAIN: BINANCE_ORACLE,
PIVOT: REDSTONE_ORACLE,
FALLBACK: addressZero,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Chainlink feed being TWT/BNB (not TWT/USD) means it can't be used directly as a standard ChainlinkOracle feed — it would need BNB/USD conversion to derive a TWT/USD price.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, let's skip for now

Add Binance fallback for BTCB/TRX/USD1 and RedStone fallback for USDe.
Configure Binance Oracle symbol override and stale periods.
Update simulation to verify fallback configs and price stability.
…eriod for VIP-650

USDe is now treated as a RedStone-enabled asset alongside the others,
moved from fallback oracle configs to standard oracle configs.
BTC Binance stale period updated to 25 min to match its 1-min feed interval.
USDe's RedStone feed is already registered on-chain, so it should
not be listed under new feed registrations (only its resilient
oracle config is being updated).
@GitGuru7 GitGuru7 self-requested a review February 25, 2026 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants