github.com/InjectiveLabs/sdk-go@v1.53.0/examples/chain/exchange/12_MsgCancelDerivativeOrder/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  )
    16  
    17  func main() {
    18  	network := common.LoadNetwork("testnet", "lb")
    19  	tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket")
    20  	if err != nil {
    21  		panic(err)
    22  	}
    23  
    24  	senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring(
    25  		os.Getenv("HOME")+"/.injectived",
    26  		"injectived",
    27  		"file",
    28  		"inj-user",
    29  		"12345678",
    30  		"5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided
    31  		false,
    32  	)
    33  
    34  	if err != nil {
    35  		panic(err)
    36  	}
    37  
    38  	clientCtx, err := chainclient.NewClientContext(
    39  		network.ChainId,
    40  		senderAddress.String(),
    41  		cosmosKeyring,
    42  	)
    43  
    44  	if err != nil {
    45  		panic(err)
    46  	}
    47  
    48  	clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient)
    49  
    50  	chainClient, err := chainclient.NewChainClient(
    51  		clientCtx,
    52  		network,
    53  		common.OptionGasPrices(client.DefaultGasPriceWithDenom),
    54  	)
    55  
    56  	if err != nil {
    57  		panic(err)
    58  	}
    59  
    60  	msg := &exchangetypes.MsgCancelDerivativeOrder{
    61  		Sender:       senderAddress.String(),
    62  		MarketId:     "0x4ca0f92fc28be0c9761326016b5a1a2177dd6375558365116b5bdda9abc229ce",
    63  		SubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000",
    64  		OrderHash:    "0x8cf97e586c0d84cd7864ccc8916b886557120d84fc97a21ae193b67882835ec5",
    65  	}
    66  
    67  	// AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg
    68  	err = chainClient.QueueBroadcastMsg(msg)
    69  
    70  	if err != nil {
    71  		fmt.Println(err)
    72  	}
    73  
    74  	time.Sleep(time.Second * 5)
    75  
    76  	gasFee, err := chainClient.GetGasFee()
    77  
    78  	if err != nil {
    79  		fmt.Println(err)
    80  		return
    81  	}
    82  
    83  	fmt.Println("gas fee:", gasFee, "INJ")
    84  }