github.com/InjectiveLabs/sdk-go@v1.53.0/examples/chain/2_MsgBatchCancelSpotOrders/example.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 "time" 7 8 "github.com/InjectiveLabs/sdk-go/client" 9 10 "github.com/InjectiveLabs/sdk-go/client/common" 11 12 exchangetypes "github.com/InjectiveLabs/sdk-go/chain/exchange/types" 13 chainclient "github.com/InjectiveLabs/sdk-go/client/chain" 14 rpchttp "github.com/cometbft/cometbft/rpc/client/http" 15 cosmtypes "github.com/cosmos/cosmos-sdk/types" 16 ) 17 18 func main() { 19 network := common.LoadNetwork("testnet", "lb") 20 tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") 21 if err != nil { 22 panic(err) 23 } 24 25 senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( 26 os.Getenv("HOME")+"/.injectived", 27 "injectived", 28 "file", 29 "inj-user", 30 "12345678", 31 "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided 32 false, 33 ) 34 35 if err != nil { 36 panic(err) 37 } 38 39 clientCtx, err := chainclient.NewClientContext( 40 network.ChainId, 41 senderAddress.String(), 42 cosmosKeyring, 43 ) 44 45 if err != nil { 46 panic(err) 47 } 48 49 clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) 50 51 chainClient, err := chainclient.NewChainClient( 52 clientCtx, 53 network, 54 common.OptionGasPrices(client.DefaultGasPriceWithDenom), 55 ) 56 57 if err != nil { 58 panic(err) 59 } 60 61 defaultSubaccountID := chainClient.DefaultSubaccount(senderAddress) 62 63 marketId := "0xa508cb32923323679f29a032c70342c147c17d0145625922b0ef22e955c844c0" 64 orderHash := "0x17196096ffc32ad088ef959ad95b4cc247a87c7c9d45a2500b81ab8f5a71da5a" 65 cid := "666C5452-B563-445F-977B-539D79C482EE" 66 67 orderWithHash := chainClient.OrderCancel(defaultSubaccountID, &chainclient.OrderCancelData{ 68 MarketId: marketId, 69 OrderHash: orderHash, 70 }) 71 72 orderWithCid := chainClient.OrderCancel(defaultSubaccountID, &chainclient.OrderCancelData{ 73 MarketId: marketId, 74 Cid: cid, 75 }) 76 77 msg := new(exchangetypes.MsgBatchCancelSpotOrders) 78 msg.Sender = senderAddress.String() 79 msg.Data = []exchangetypes.OrderData{*orderWithHash, *orderWithCid} 80 CosMsgs := []cosmtypes.Msg{msg} 81 82 // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg 83 err = chainClient.QueueBroadcastMsg(CosMsgs...) 84 85 if err != nil { 86 fmt.Println(err) 87 } 88 89 time.Sleep(time.Second * 5) 90 91 gasFee, err := chainClient.GetGasFee() 92 93 if err != nil { 94 fmt.Println(err) 95 return 96 } 97 98 fmt.Println("gas fee:", gasFee, "INJ") 99 }