github.com/InjectiveLabs/sdk-go@v1.53.0/examples/chain/authz/3_MsgRevoke/example.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 "time" 7 8 "github.com/InjectiveLabs/sdk-go/client" 9 "github.com/InjectiveLabs/sdk-go/client/common" 10 11 chainclient "github.com/InjectiveLabs/sdk-go/client/chain" 12 rpchttp "github.com/cometbft/cometbft/rpc/client/http" 13 authztypes "github.com/cosmos/cosmos-sdk/x/authz" 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 grantee := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" 60 msgType := "/injective.exchange.v1beta1.MsgCreateSpotLimitOrder" 61 62 msg := &authztypes.MsgRevoke{ 63 Granter: senderAddress.String(), 64 Grantee: grantee, 65 MsgTypeUrl: msgType, 66 } 67 68 // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg 69 err = chainClient.QueueBroadcastMsg(msg) 70 71 if err != nil { 72 fmt.Println(err) 73 } 74 75 time.Sleep(time.Second * 5) 76 77 gasFee, err := chainClient.GetGasFee() 78 79 if err != nil { 80 fmt.Println(err) 81 return 82 } 83 84 fmt.Println("gas fee:", gasFee, "INJ") 85 }