github.com/InjectiveLabs/sdk-go@v1.53.0/examples/exchange/accounts/1_StreamSubaccountBalance/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  	// network := common.LoadNetwork("mainnet", "k8s")
    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  	subaccountId := "0x1b99514e320ae0087be7f87b1e3057853c43b799000000000000000000000000"
    22  	stream, err := exchangeClient.StreamSubaccountBalance(ctx, subaccountId)
    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  }