-
Notifications
You must be signed in to change notification settings - Fork 0
/
module.go
41 lines (31 loc) · 1021 Bytes
/
module.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package volunteer
import (
"github.com/xpladev/xpla.go/core"
"github.com/xpladev/xpla.go/types/errors"
"github.com/xpladev/xpla.go/util"
cmclient "github.com/cosmos/cosmos-sdk/client"
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
)
type coreModule struct{}
func NewCoreModule() core.CoreModule {
return &coreModule{}
}
func (c *coreModule) Name() string {
return VolunteerModule
}
func (c *coreModule) NewTxRouter(builder cmclient.TxBuilder, msgType string, msg interface{}) (cmclient.TxBuilder, error) {
switch {
case msgType == VolunteerRegisterVolunteerValidatorMsgType:
convertMsg := msg.(govtypes.MsgSubmitProposal)
builder.SetMsgs(&convertMsg)
case msgType == VolunteerUnregisterVolunteerValidatorMsgType:
convertMsg := msg.(govtypes.MsgSubmitProposal)
builder.SetMsgs(&convertMsg)
default:
return nil, util.LogErr(errors.ErrInvalidMsgType, msgType)
}
return builder, nil
}
func (c *coreModule) NewQueryRouter(q core.QueryClient) (string, error) {
return QueryVolunteer(q)
}