30 lines
780 B
Go
30 lines
780 B
Go
package client
|
|
|
|
import (
|
|
"github.com/spf13/cobra"
|
|
|
|
"github.com/cosmos/cosmos-sdk/client/context"
|
|
"github.com/cosmos/cosmos-sdk/codec"
|
|
"github.com/cosmos/cosmos-sdk/x/gov/client/rest"
|
|
)
|
|
|
|
// function to create the rest handler
|
|
type RESTHandlerFn func(context.CLIContext) rest.ProposalRESTHandler
|
|
|
|
// function to create the cli handler
|
|
type CLIHandlerFn func(*codec.Codec) *cobra.Command
|
|
|
|
// The combined type for a proposal handler for both cli and rest
|
|
type ProposalHandler struct {
|
|
CLIHandler CLIHandlerFn
|
|
RESTHandler RESTHandlerFn
|
|
}
|
|
|
|
// NewProposalHandler creates a new ProposalHandler object
|
|
func NewProposalHandler(cliHandler CLIHandlerFn, restHandler RESTHandlerFn) ProposalHandler {
|
|
return ProposalHandler{
|
|
CLIHandler: cliHandler,
|
|
RESTHandler: restHandler,
|
|
}
|
|
}
|