From 50f660867d44ed6227884e5f941b22f7aa3e2e31 Mon Sep 17 00:00:00 2001 From: Adrian Gallagher Date: Wed, 15 Mar 2017 15:23:58 +1100 Subject: [PATCH] Update config portfolio balances --- portfolio.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/portfolio.go b/portfolio.go index 3247318b..2dbb566e 100644 --- a/portfolio.go +++ b/portfolio.go @@ -118,6 +118,14 @@ func AddressExists(address string) bool { return false } +func UpdateAddressBalance(address string, amount float64) { + for x, _ := range bot.config.Portfolio.Addresses { + if bot.config.Portfolio.Addresses[x].Address == address { + bot.config.Portfolio.Addresses[x].Balance = amount + } + } +} + func UpdatePortfolio(addresses []string, coinType string) bool { if coinType == "ETH" { result, err := GetEthereumBalance(addresses) @@ -127,6 +135,8 @@ func UpdatePortfolio(addresses []string, coinType string) bool { for _, x := range result.Data { if !AddressExists(x.Address) { bot.config.Portfolio.Addresses = append(bot.config.Portfolio.Addresses, PortfolioAddress{Address: x.Address, CoinType: coinType, Balance: x.Balance / WEI_PER_ETHER}) + } else { + UpdateAddressBalance(x.Address, x.Balance) } } return true @@ -139,6 +149,8 @@ func UpdatePortfolio(addresses []string, coinType string) bool { for _, x := range result.Data { if !AddressExists(x.Address) { bot.config.Portfolio.Addresses = append(bot.config.Portfolio.Addresses, PortfolioAddress{Address: x.Address, CoinType: coinType, Balance: x.Balance}) + } else { + UpdateAddressBalance(x.Address, x.Balance) } } } else { @@ -148,6 +160,8 @@ func UpdatePortfolio(addresses []string, coinType string) bool { } if !AddressExists(result.Data.Address) { bot.config.Portfolio.Addresses = append(bot.config.Portfolio.Addresses, PortfolioAddress{Address: result.Data.Address, CoinType: coinType, Balance: result.Data.Balance}) + } else { + UpdateAddressBalance(result.Data.Address, result.Data.Balance) } } return true