github.com/InjectiveLabs/sdk-go@v1.53.0/examples/chain/exchange/query/4_AggregateVolume/example.go (about) 1 package main 2 3 import ( 4 "context" 5 "encoding/json" 6 "fmt" 7 8 "os" 9 10 "github.com/InjectiveLabs/sdk-go/client" 11 chainclient "github.com/InjectiveLabs/sdk-go/client/chain" 12 "github.com/InjectiveLabs/sdk-go/client/common" 13 rpchttp "github.com/cometbft/cometbft/rpc/client/http" 14 ) 15 16 func main() { 17 network := common.LoadNetwork("testnet", "lb") 18 tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") 19 if err != nil { 20 panic(err) 21 } 22 23 senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( 24 os.Getenv("HOME")+"/.injectived", 25 "injectived", 26 "file", 27 "inj-user", 28 "12345678", 29 "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided 30 false, 31 ) 32 33 if err != nil { 34 panic(err) 35 } 36 37 clientCtx, err := chainclient.NewClientContext( 38 network.ChainId, 39 senderAddress.String(), 40 cosmosKeyring, 41 ) 42 43 if err != nil { 44 panic(err) 45 } 46 47 clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) 48 49 chainClient, err := chainclient.NewChainClient( 50 clientCtx, 51 network, 52 common.OptionGasPrices(client.DefaultGasPriceWithDenom), 53 ) 54 55 if err != nil { 56 panic(err) 57 } 58 59 ctx := context.Background() 60 61 subaccountId := chainClient.Subaccount(senderAddress, 0) 62 63 res, err := chainClient.FetchAggregateVolume(ctx, senderAddress.String()) 64 if err != nil { 65 fmt.Println(err) 66 } 67 68 str, _ := json.MarshalIndent(res, "", " ") 69 fmt.Print(string(str)) 70 71 res, err = chainClient.FetchAggregateVolume(ctx, subaccountId.Hex()) 72 if err != nil { 73 fmt.Println(err) 74 } 75 76 str, _ = json.MarshalIndent(res, "", " ") 77 fmt.Print(string(str)) 78 79 }