register and balances accept bpi
This commit is contained in:
@@ -9,6 +9,23 @@ type Balances map[string]Balance
|
||||
|
||||
type Balance map[Currency]float64
|
||||
|
||||
func (balances Balances) WithBPIs(bpis BPIs) Balances {
|
||||
result := make(Balances)
|
||||
for k, v := range balances {
|
||||
if _, ok := result[k]; !ok {
|
||||
result[k] = make(Balance)
|
||||
}
|
||||
for k2, v2 := range v {
|
||||
scalar := 1.0
|
||||
if k2 != USD {
|
||||
scalar = bpis[k2].Lookup("9")
|
||||
}
|
||||
result[k][USD] += v2 * scalar
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func (balances Balances) PushAll(other Balances) {
|
||||
for k, v := range other {
|
||||
if _, ok := balances[k]; !ok {
|
||||
|
||||
Reference in New Issue
Block a user