@@ -371,7 +371,7 @@ func (r *RpcPriceOracle) QuerySellPrice(ctx context.Context,
371
371
return & OracleResponse {
372
372
Err : & OracleError {
373
373
Msg : result .Error .Message ,
374
- Code : OracleErrorCode (result .Error .Code ),
374
+ Code : marshallErrorCode (result .Error .Code ),
375
375
},
376
376
}, nil
377
377
@@ -380,6 +380,19 @@ func (r *RpcPriceOracle) QuerySellPrice(ctx context.Context,
380
380
}
381
381
}
382
382
383
+ // marshallErrorCode marshalls an over-the-wire error code into an
384
+ // OracleErrorCode.
385
+ func marshallErrorCode (code oraclerpc.ErrorCode ) OracleErrorCode {
386
+ switch code {
387
+ case oraclerpc .ErrorCode_ERROR_UNSPECIFIED :
388
+ return ErrUnspecifiedOracleError
389
+ case oraclerpc .ErrorCode_ERROR_UNSUPPORTED :
390
+ return ErrUnsupportedOracleAsset
391
+ default :
392
+ return ErrUnspecifiedOracleError
393
+ }
394
+ }
395
+
383
396
// QueryBuyPrice returns a buy price for the given asset amount.
384
397
func (r * RpcPriceOracle ) QueryBuyPrice (ctx context.Context ,
385
398
assetSpecifier asset.Specifier , assetMaxAmt fn.Option [uint64 ],
@@ -483,7 +496,7 @@ func (r *RpcPriceOracle) QueryBuyPrice(ctx context.Context,
483
496
return & OracleResponse {
484
497
Err : & OracleError {
485
498
Msg : result .Error .Message ,
486
- Code : OracleErrorCode (result .Error .Code ),
499
+ Code : marshallErrorCode (result .Error .Code ),
487
500
},
488
501
}, nil
489
502
0 commit comments