-
Notifications
You must be signed in to change notification settings - Fork 0
/
fixed_price_function.go
56 lines (47 loc) · 1.3 KB
/
fixed_price_function.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package test_fixed_price_exchange
import (
"fmt"
"net/http"
"github.com/furyanprotocol/v4-chain/protocol/daemons/pricefeed/client/price_function"
"github.com/furyanprotocol/v4-chain/protocol/daemons/pricefeed/types"
)
type FixedPriceTicker struct {
Pair string
Price string
}
var _ price_function.Ticker = (*FixedPriceTicker)(nil)
func (t FixedPriceTicker) GetPair() string {
return t.Pair
}
func (t FixedPriceTicker) GetAskPrice() string {
return t.Price
}
func (t FixedPriceTicker) GetBidPrice() string {
return t.Price
}
func (t FixedPriceTicker) GetLastPrice() string {
return t.Price
}
func FixedExchangePriceFunction(
response *http.Response,
tickerToExponent map[string]int32,
resolver types.Resolver,
) (tickerToPrice map[string]uint64, unavailableTickers map[string]error, err error) {
btcTicker := FixedPriceTicker{
Pair: "BTC-USD",
Price: fmt.Sprintf("%f", TestFixedPriceExchangeParams.BTCUSDPrice),
}
ethTicker := FixedPriceTicker{
Pair: "ETH-USD",
Price: fmt.Sprintf("%f", TestFixedPriceExchangeParams.ETHUSDPrice),
}
solTicker := FixedPriceTicker{
Pair: "SOL-USD",
Price: fmt.Sprintf("%f", TestFixedPriceExchangeParams.SOLUSDPrice),
}
return price_function.GetMedianPricesFromTickers(
[]FixedPriceTicker{btcTicker, ethTicker, solTicker},
tickerToExponent,
resolver,
)
}