github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/evidence/client/evidence_handler.go (about)

     1  package client
     2  
     3  import (
     4  	"github.com/spf13/cobra"
     5  
     6  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/context"
     7  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec"
     8  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/evidence/client/rest"
     9  )
    10  
    11  type (
    12  	// RESTHandlerFn defines a REST service handler for evidence submission
    13  	RESTHandlerFn func(context.CLIContext) rest.EvidenceRESTHandler
    14  
    15  	// CLIHandlerFn defines a CLI command handler for evidence submission
    16  	CLIHandlerFn func(*codec.Codec) *cobra.Command
    17  
    18  	// EvidenceHandler defines a type that exposes REST and CLI client handlers for
    19  	// evidence submission.
    20  	EvidenceHandler struct {
    21  		CLIHandler  CLIHandlerFn
    22  		RESTHandler RESTHandlerFn
    23  	}
    24  )
    25  
    26  func NewEvidenceHandler(cliHandler CLIHandlerFn, restHandler RESTHandlerFn) EvidenceHandler {
    27  	return EvidenceHandler{
    28  		CLIHandler:  cliHandler,
    29  		RESTHandler: restHandler,
    30  	}
    31  }