github.com/InjectiveLabs/sdk-go@v1.53.0/examples/exchange/derivatives/19_StreamHistoricalOrders/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 derivativeExchangePB "github.com/InjectiveLabs/sdk-go/exchange/derivative_exchange_rpc/pb" 11 ) 12 13 func main() { 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 marketId := "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" 22 subaccountId := "0xc6fe5d33615a1c52c08018c47e8bc53646a0e101000000000000000000000000" 23 direction := "buy" 24 25 req := derivativeExchangePB.StreamOrdersHistoryRequest{ 26 MarketId: marketId, 27 SubaccountId: subaccountId, 28 Direction: direction, 29 } 30 stream, err := exchangeClient.StreamHistoricalDerivativeOrders(ctx, &req) 31 if err != nil { 32 panic(err) 33 } 34 35 for { 36 select { 37 case <-ctx.Done(): 38 return 39 default: 40 res, err := stream.Recv() 41 if err != nil { 42 panic(err) 43 return 44 } 45 str, _ := json.MarshalIndent(res, "", " ") 46 fmt.Print(string(str)) 47 } 48 } 49 }