@@ -71,15 +71,15 @@ contract ChainlinkOracle is IOracle {
71
71
// zero) how to scale the output price as Morpho Blue expects, given the input feed prices.
72
72
// Similar explanations would hold in the case where some of the feeds are the address zero.
73
73
74
- // Let A, B1, B2, Q1, Q2 be 5 assets, each respectively having dA, dB1, dB2, dQ1, dQ2 decimals.
74
+ // Let B1, B2, Q1, Q2, C be 5 assets, each respectively having dB1, dB2, dQ1, dQ2, dC decimals.
75
75
// Let pB1 and pB2 be the base prices, and pQ1 and pQ2 the quote prices, so that:
76
76
// - pB1 is the quantity of assets B2 that can be exchanged for 1e(dB1) assets B1, with dB2 decimals.
77
- // - pB2 is the quantity of assets A that can be exchanged for 1e(dB2) assets B2, with dA decimals.
77
+ // - pB2 is the quantity of assets C that can be exchanged for 1e(dB2) assets B2, with dC decimals.
78
78
// - pQ1 is the quantity of assets Q2 that can be exchanged for 1e(dQ1) assets Q1, with dQ2 decimals.
79
- // - pQ2 is the quantity of assets A that can be exchanged for 1e(dQ2) assets B2, with dA decimals.
79
+ // - pQ2 is the quantity of assets C that can be exchanged for 1e(dQ2) assets B2, with dC decimals.
80
80
81
- // Because Blue's oracle does not take into account decimals, this oracle's `price()` should return:
82
- // 1e36 * (pB1 * 1e(dB2 - dB1)) * (pB2 * 1e(dA - dB2)) / (pQ1 * 1e(dQ2 - dQ1)) * (pQ2 * 1e(dA - dQ2))
81
+ // Morpho Blue's market oracle expects to price 1 asset B1 quoted in 1 asset of Q2, so `price()` should return:
82
+ // 1e36 * (pB1 * 1e(dB2 - dB1)) * (pB2 * 1e(dC - dB2)) / (pQ1 * 1e(dQ2 - dQ1)) * (pQ2 * 1e(dC - dQ2))
83
83
// = 1e36 * (pB1 * 1e(-dB1) * pB2) / (pQ1 * 1e(-dQ1) * pQ2)
84
84
85
85
// Let fpB1, fpB2, fpQ1, fpQ2 be the feed precision of the respective prices pB1, pB2, pQ1, pQ2.
0 commit comments