github.com/InjectiveLabs/sdk-go@v1.53.0/examples/exchange/portfolio/2_StreamAccountPortfolioBankBalances/example.go (about)

     1  package main
     2  
     3  import (
     4  	"context"
     5  	"encoding/json"
     6  	"fmt"
     7  
     8  	"github.com/InjectiveLabs/sdk-go/client/common"
     9  
    10  	exchangeclient "github.com/InjectiveLabs/sdk-go/client/exchange"
    11  )
    12  
    13  func main() {
    14  	// select network: local, testnet, mainnet
    15  	network := common.LoadNetwork("testnet", "lb")
    16  	exchangeClient, err := exchangeclient.NewExchangeClient(network)
    17  	if err != nil {
    18  		panic(err)
    19  	}
    20  
    21  	ctx := context.Background()
    22  
    23  	stream, err := exchangeClient.StreamAccountPortfolio(ctx, "inj1rgxjfea3y2e7n0frz5syly8n5zulagy3fc56jy", "", "")
    24  	if err != nil {
    25  		panic(err)
    26  	}
    27  
    28  	for {
    29  		select {
    30  		case <-ctx.Done():
    31  			return
    32  		default:
    33  			res, err := stream.Recv()
    34  			if err != nil {
    35  				fmt.Println(err)
    36  				return
    37  			}
    38  			str, _ := json.MarshalIndent(res, "", " ")
    39  			fmt.Print(string(str))
    40  		}
    41  	}
    42  }