def GetBalance(self, asset_id, watch_only=0):
        """
        Get the balance of a specific token by its asset id.

        Args:
            asset_id (NEP5Token|TransactionOutput): an instance of type neo.Wallets.NEP5Token or neo.Core.TX.Transaction.TransactionOutput to get the balance from.
            watch_only (bool): True, to limit to watch only wallets.

        Returns:
            Fixed8: total balance.
        """
        total = Fixed8(0)

        if type(asset_id) is NEP5Token.NEP5Token:
            return self.GetTokenBalance(asset_id, watch_only)

        for coin in self.GetCoins():
            if coin.Output.AssetId == asset_id:
                if coin.State & CoinState.Confirmed > 0 and \
                        coin.State & CoinState.Spent == 0 and \
                        coin.State & CoinState.Locked == 0 and \
                        coin.State & CoinState.Frozen == 0 and \
                        coin.State & CoinState.WatchOnly == watch_only:
                    total = total + coin.Output.Value

        return total
Get the balance of a specific token by its asset id.

        Args:
            asset_id (NEP5Token|TransactionOutput): an instance of type neo.Wallets.NEP5Token or neo.Core.TX.Transaction.TransactionOutput to get the balance from.
            watch_only (bool): True, to limit to watch only wallets.

        Returns:
            Fixed8: total balance.