github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/wasm/client/utils/client_adapter.go (about)

     1  package utils
     2  
     3  import (
     4  	"net/http"
     5  
     6  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/context"
     7  	clientCtx "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/context"
     8  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/server"
     9  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
    10  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/rest"
    11  	authUtils "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/auth/client/utils"
    12  	"github.com/spf13/cobra"
    13  	"github.com/spf13/pflag"
    14  )
    15  
    16  var (
    17  	ClientContextKey = sdk.ContextKey("client.context")
    18  	ServerContextKey = sdk.ContextKey("server.context")
    19  )
    20  
    21  func GetClientContextFromCmd(cmd *cobra.Command) clientCtx.CLIContext {
    22  	// TODO need cdc like context.NewCLIContext().WithCodec(cdc)
    23  	if v := cmd.Context().Value(ClientContextKey); v != nil {
    24  		clientCtxPtr := v.(*context.CLIContext)
    25  		return *clientCtxPtr
    26  	}
    27  	return context.NewCLIContext()
    28  }
    29  
    30  func GetServerContextFromCmd(cmd *cobra.Command) server.Context {
    31  	// TODO need real server.context
    32  	if v := cmd.Context().Value(ServerContextKey); v != nil {
    33  		clientCtxPtr := v.(*server.Context)
    34  		return *clientCtxPtr
    35  	}
    36  	ctx := server.NewDefaultContext()
    37  	return *ctx
    38  }
    39  
    40  func GetClientQueryContext(cmd *cobra.Command) (clientCtx.CLIContext, error) {
    41  	// TODO need cdc like context.NewCLIContext().WithCodec(cdc)
    42  	if v := cmd.Context().Value(ClientContextKey); v != nil {
    43  		clientCtxPtr := v.(*context.CLIContext)
    44  		return *clientCtxPtr, nil
    45  	}
    46  	return context.NewCLIContext(), nil
    47  }
    48  
    49  func GetClientTxContext(cmd *cobra.Command) (clientCtx.CLIContext, error) {
    50  	// TODO need cdc like context.NewCLIContext().WithCodec(cdc)
    51  	if v := cmd.Context().Value(ClientContextKey); v != nil {
    52  		clientCtxPtr := v.(*context.CLIContext)
    53  		return *clientCtxPtr, nil
    54  	}
    55  	return context.NewCLIContext(), nil
    56  }
    57  
    58  func GenerateOrBroadcastTxCLI(cliCtx clientCtx.CLIContext, flagSet *pflag.FlagSet, msgs ...sdk.Msg) error {
    59  	//TODO need cmd and cdc
    60  	//inBuf := bufio.NewReader(cmd.InOrStdin())
    61  	//txBldr := auth.NewTxBuilderFromCLI(inBuf).WithTxEncoder(authUtils.GetTxEncoder(cdc))
    62  	//if cliCtx.GenerateOnly {
    63  	//	return authUtils.PrintUnsignedStdTx(txBldr, cliCtx, msgs)
    64  	//}
    65  	//
    66  	//return authUtils.CompleteAndBroadcastTxCLI(txBldr, cliCtx, msgs)
    67  	return nil
    68  }
    69  
    70  func WriteGeneratedTxResponse(
    71  	clientCtx clientCtx.CLIContext, w http.ResponseWriter, br rest.BaseReq, msgs ...sdk.Msg,
    72  ) {
    73  	authUtils.WriteGenerateStdTxResponse(w, clientCtx, br, msgs)
    74  }