@@ -190,6 +190,13 @@ const getPrice_wOETH_OETH = async (ctx: Context, block: Block['header']) => {
190190 return woeth . previewRedeem ( 1_000_000_000_000_000_000n )
191191}
192192
193+ // wOUSD is ERC4626-wrapped OUSD; same previewRedeem interface as wOETH (deployed at 14566204).
194+ const getPrice_wOUSD_OUSD = async ( ctx : Context , block : Block [ 'header' ] ) => {
195+ if ( block . height < 14566204 ) return 1_000_000_000_000_000_000n
196+ const wousd = new woethAbi . Contract ( ctx , { height : block . height } , mainnetCurrencies . wOUSD )
197+ return wousd . previewRedeem ( 1_000_000_000_000_000_000n )
198+ }
199+
193200const getPrice_OUSD_ETH = async ( ctx : Context , block : Block [ 'header' ] ) => {
194201 const ousdusd = await getPrice_OUSD_USD ( ctx , block )
195202 const ethusd = await getChainlinkPrice ( ctx , block . height , 'ETH' , 'USD' )
@@ -267,6 +274,11 @@ export const priceMap: Partial<
267274 ...twoWay ( 'ETH' , 'rETH' , getRETHPrice ) ,
268275 ...twoWay ( 'ETH' , 'frxETH' , getFrxEthPrice ) ,
269276 ...twoWay ( 'wOETH' , 'OETH' , getPrice_wOETH_OETH ) ,
277+ ...twoWay ( 'wOUSD' , 'OUSD' , getPrice_wOUSD_OUSD ) ,
278+ ...derived ( 'wOUSD' , 'USD' , [
279+ { base : 'wOUSD' , quote : 'OUSD' } ,
280+ { base : 'OUSD' , quote : 'USD' } ,
281+ ] ) ,
270282 ...twoWay ( 'OUSD' , 'USD' , getPrice_OUSD_USD ) ,
271283 ...twoWay ( 'OUSD' , 'ETH' , getPrice_OUSD_ETH ) ,
272284 ...twoWay ( 'ETH' , 'stETH' , ( ctx , block ) => getOethOraclePrice ( ctx , block . height , 'stETH' ) ) ,
0 commit comments