forked from denkhaus/go-bitshares
/
pricefeed.go
34 lines (27 loc) · 992 Bytes
/
pricefeed.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
package types
import (
"github.com/iuouiyiuty/bitshares/util"
"github.com/juju/errors"
)
//go:generate ffjson $GOFILE
type PriceFeed struct {
MaintenanceCollateralRatio UInt16 `json:"maintenance_collateral_ratio"`
MaximumShortSqueezeRatio UInt16 `json:"maximum_short_squeeze_ratio"`
SettlementPrice Price `json:"settlement_price"`
CoreExchangeRate Price `json:"core_exchange_rate"`
}
func (p PriceFeed) Marshal(enc *util.TypeEncoder) error {
if err := enc.Encode(p.SettlementPrice); err != nil {
return errors.Annotate(err, "encode SettlementPrice")
}
if err := enc.Encode(p.MaintenanceCollateralRatio); err != nil {
return errors.Annotate(err, "encode MaintenanceCollateralRatio")
}
if err := enc.Encode(p.MaximumShortSqueezeRatio); err != nil {
return errors.Annotate(err, "encode MaximumShortSqueezeRatio")
}
if err := enc.Encode(p.CoreExchangeRate); err != nil {
return errors.Annotate(err, "encode CoreExchangeRate")
}
return nil
}