@@ -24,7 +24,8 @@ import (
2424)
2525
2626const (
27- exchangeRate string = umeeapp .DisplayDenom
27+ displayDenom string = umeeapp .DisplayDenom
28+ bondDenom string = umeeapp .BondDenom
2829)
2930
3031type IntegrationTestSuite struct {
@@ -177,7 +178,7 @@ func (s *IntegrationTestSuite) TestAggregateExchangeRateVote() {
177178
178179 var tuples types.ExchangeRateTuples
179180 tuples = append (tuples , types.ExchangeRateTuple {
180- Denom : exchangeRate ,
181+ Denom : displayDenom ,
181182 ExchangeRate : sdk .ZeroDec (),
182183 })
183184
@@ -205,8 +206,8 @@ func (s *IntegrationTestSuite) TestAggregateExchangeRateVoteError() {
205206
206207func (s * IntegrationTestSuite ) TestSetExchangeRateWithEvent () {
207208 app , ctx := s .app , s .ctx
208- app .OracleKeeper .SetExchangeRateWithEvent (ctx , exchangeRate , sdk .OneDec ())
209- rate , err := app .OracleKeeper .GetExchangeRate (ctx , exchangeRate )
209+ app .OracleKeeper .SetExchangeRateWithEvent (ctx , displayDenom , sdk .OneDec ())
210+ rate , err := app .OracleKeeper .GetExchangeRate (ctx , displayDenom )
210211 s .Require ().NoError (err )
211212 s .Require ().Equal (rate , sdk .OneDec ())
212213}
@@ -221,30 +222,53 @@ func (s *IntegrationTestSuite) TestGetExchangeRate_InvalidDenom() {
221222func (s * IntegrationTestSuite ) TestGetExchangeRate_NotSet () {
222223 app , ctx := s .app , s .ctx
223224
224- _ , err := app .OracleKeeper .GetExchangeRate (ctx , exchangeRate )
225+ _ , err := app .OracleKeeper .GetExchangeRate (ctx , displayDenom )
225226 s .Require ().Error (err )
226227}
227228
228229func (s * IntegrationTestSuite ) TestGetExchangeRate_Valid () {
229230 app , ctx := s .app , s .ctx
230231
231- app .OracleKeeper .SetExchangeRate (ctx , exchangeRate , sdk .OneDec ())
232- rate , err := app .OracleKeeper .GetExchangeRate (ctx , exchangeRate )
232+ app .OracleKeeper .SetExchangeRate (ctx , displayDenom , sdk .OneDec ())
233+ rate , err := app .OracleKeeper .GetExchangeRate (ctx , displayDenom )
233234 s .Require ().NoError (err )
234235 s .Require ().Equal (rate , sdk .OneDec ())
235236
236- app .OracleKeeper .SetExchangeRate (ctx , strings .ToLower (exchangeRate ), sdk .OneDec ())
237- rate , err = app .OracleKeeper .GetExchangeRate (ctx , exchangeRate )
237+ app .OracleKeeper .SetExchangeRate (ctx , strings .ToLower (displayDenom ), sdk .OneDec ())
238+ rate , err = app .OracleKeeper .GetExchangeRate (ctx , displayDenom )
238239 s .Require ().NoError (err )
239240 s .Require ().Equal (rate , sdk .OneDec ())
240241}
241242
243+ func (s * IntegrationTestSuite ) TestGetExchangeRateBase () {
244+ oracleParams := s .app .OracleKeeper .GetParams (s .ctx )
245+
246+ var exponent uint64
247+ for _ , denom := range oracleParams .AcceptList {
248+ if denom .BaseDenom == bondDenom {
249+ exponent = uint64 (denom .Exponent )
250+ }
251+ }
252+
253+ power := sdk .MustNewDecFromStr ("10" ).Power (exponent )
254+
255+ s .app .OracleKeeper .SetExchangeRate (s .ctx , displayDenom , sdk .OneDec ())
256+ rate , err := s .app .OracleKeeper .GetExchangeRateBase (s .ctx , bondDenom )
257+ s .Require ().NoError (err )
258+ s .Require ().Equal (rate .Mul (power ), sdk .OneDec ())
259+
260+ s .app .OracleKeeper .SetExchangeRate (s .ctx , strings .ToLower (displayDenom ), sdk .OneDec ())
261+ rate , err = s .app .OracleKeeper .GetExchangeRateBase (s .ctx , bondDenom )
262+ s .Require ().NoError (err )
263+ s .Require ().Equal (rate .Mul (power ), sdk .OneDec ())
264+ }
265+
242266func (s * IntegrationTestSuite ) TestDeleteExchangeRate () {
243267 app , ctx := s .app , s .ctx
244268
245- app .OracleKeeper .SetExchangeRate (ctx , exchangeRate , sdk .OneDec ())
246- app .OracleKeeper .DeleteExchangeRate (ctx , exchangeRate )
247- _ , err := app .OracleKeeper .GetExchangeRate (ctx , exchangeRate )
269+ app .OracleKeeper .SetExchangeRate (ctx , displayDenom , sdk .OneDec ())
270+ app .OracleKeeper .DeleteExchangeRate (ctx , displayDenom )
271+ _ , err := app .OracleKeeper .GetExchangeRate (ctx , displayDenom )
248272 s .Require ().Error (err )
249273}
250274
0 commit comments