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  }