}
func (ctx *walletTestContext) getBalance(accountAlias string, assetAlias string) (uint64, error) {
- balances := ctx.Wallet.GetAccountBalances("")
+ balances, _ := ctx.Wallet.GetAccountBalances("")
for _, balance := range balances {
if balance.Alias == accountAlias && balance.AssetAlias == assetAlias {
return balance.Amount, nil
func (ctx *walletTestContext) getAccBalances() map[string]map[string]uint64 {
accBalances := make(map[string]map[string]uint64)
- balances := ctx.Wallet.GetAccountBalances("")
+ balances, _ := ctx.Wallet.GetAccountBalances("")
for _, balance := range balances {
if accBalance, ok := accBalances[balance.Alias]; ok {
if _, ok := accBalance[balance.AssetAlias]; ok {
}
// GetAccountBalances return all account balances
-func (w *Wallet) GetAccountBalances(id string) []AccountBalance {
+func (w *Wallet) GetAccountBalances(id string) ([]AccountBalance, error) {
return w.indexBalances(w.GetAccountUTXOs(""))
}
// AccountBalance account balance
type AccountBalance struct {
- AccountID string `json:"account_id"`
- Alias string `json:"account_alias"`
- AssetAlias string `json:"asset_alias"`
- AssetID string `json:"asset_id"`
- Amount uint64 `json:"amount"`
+ AccountID string `json:"account_id"`
+ Alias string `json:"account_alias"`
+ AssetAlias string `json:"asset_alias"`
+ AssetID string `json:"asset_id"`
+ Amount uint64 `json:"amount"`
+ AssetDefinition map[string]interface{} `json:"asset_definition"`
}
-func (w *Wallet) indexBalances(accountUTXOs []account.UTXO) []AccountBalance {
+func (w *Wallet) indexBalances(accountUTXOs []account.UTXO) ([]AccountBalance, error) {
accBalance := make(map[string]map[string]uint64)
balances := make([]AccountBalance, 0)
- tmpBalance := AccountBalance{}
for _, accountUTXO := range accountUTXOs {
assetID := accountUTXO.AssetID.String()
for _, assetID := range sortedAsset {
alias := w.AccountMgr.GetAliasByID(id)
- assetAlias := w.AssetReg.GetAliasByID(assetID)
- tmpBalance.Alias = alias
- tmpBalance.AccountID = id
- tmpBalance.AssetID = assetID
- tmpBalance.AssetAlias = assetAlias
- tmpBalance.Amount = accBalance[id][assetID]
- balances = append(balances, tmpBalance)
+ targetAsset, err := w.AssetReg.GetAsset(assetID)
+ if err != nil {
+ return nil, err
+ }
+
+ assetAlias := *targetAsset.Alias
+ balances = append(balances, AccountBalance{
+ Alias: alias,
+ AccountID: id,
+ AssetID: assetID,
+ AssetAlias: assetAlias,
+ Amount: accBalance[id][assetID],
+ AssetDefinition: targetAsset.DefinitionMap,
+ })
}
}
- return balances
+ return balances, nil
}