github.com/InjectiveLabs/sdk-go@v1.53.0/examples/exchange/portfolio/3_StreamAccountPortfolioSubaccountBalances/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 exchangeclient "github.com/InjectiveLabs/sdk-go/client/exchange" 10 ) 11 12 func main() { 13 // select network: local, testnet, mainnet 14 network := common.LoadNetwork("testnet", "lb") 15 exchangeClient, err := exchangeclient.NewExchangeClient(network) 16 if err != nil { 17 panic(err) 18 } 19 20 ctx := context.Background() 21 22 stream, err := exchangeClient.StreamAccountPortfolio(ctx, "inj1clw20s2uxeyxtam6f7m84vgae92s9eh7vygagt", "0xc7dca7c15c364865f77a4fb67ab11dc95502e6fe000000000000000000000001", "total_balances") 23 if err != nil { 24 panic(err) 25 } 26 27 for { 28 select { 29 case <-ctx.Done(): 30 return 31 default: 32 res, err := stream.Recv() 33 if err != nil { 34 fmt.Println(err) 35 return 36 } 37 str, _ := json.MarshalIndent(res, "", " ") 38 fmt.Print(string(str)) 39 } 40 } 41 }