func (msg DeveloperRevokeMsg) GetSignBytes() []byte {
	return getSignBytes(msg)
}
GetSignBytes - implements sdk.Msg
package types
import (
	"fmt"
	"unicode/utf8"
	sdk "github.com/cosmos/cosmos-sdk/types"
	"github.com/lino-network/lino/types"
)
type DeveloperRegisterMsg struct {
	Username    types.AccountKey `json:"username"`
	Website     string           `json:"website"`
	Description string           `json:"description"`
	AppMetaData string           `json:"app_meta_data"`
}
var _ types.Msg = DeveloperRegisterMsg{}
func NewDeveloperRegisterMsg(developer string, website string, description string, appMetaData string) DeveloperRegisterMsg {
	return DeveloperRegisterMsg{
		Username:    types.AccountKey(developer),
		Website:     website,
		Description: description,
		AppMetaData: appMetaData,
	}
}
func (msg DeveloperRegisterMsg) Route() string { return RouterKey }
func (msg DeveloperRegisterMsg) Type() string { return "DeveloperRegisterMsg" }
func (msg DeveloperRegisterMsg) ValidateBasic() sdk.Error {
	if !msg.Username.IsValid() {
		return ErrInvalidUsername()
	}
	if len(msg.Website) > types.MaximumLengthOfDeveloperWebsite {
		return ErrInvalidWebsite()
	}
	if utf8.RuneCountInString(msg.Description) > types.MaximumLengthOfDeveloperDesctiption {
		return ErrInvalidDescription()
	}
	if utf8.RuneCountInString(msg.AppMetaData) > types.MaximumLengthOfAppMetadata {
		return ErrInvalidAppMetadata()
	}
	return nil
}
func (msg DeveloperRegisterMsg) String() string {
	return fmt.Sprintf("DeveloperRegisterMsg{%s}", msg.Username)
}
func (msg DeveloperRegisterMsg) GetPermission() types.Permission {
	return types.TransactionPermission
}
func (msg DeveloperRegisterMsg) GetSignBytes() []byte {
	return getSignBytes(msg)
}
func (msg DeveloperRegisterMsg) GetSigners() []sdk.AccAddress {
	return []sdk.AccAddress{sdk.AccAddress(msg.Username)}
}
func (msg DeveloperRegisterMsg) GetConsumeAmount() types.Coin {
	return types.NewCoinFromInt64(0)
}
type DeveloperUpdateMsg struct {
	Username    types.AccountKey `json:"username"`
	Website     string           `json:"website"`
	Description string           `json:"description"`
	AppMetaData string           `json:"app_meta_data"`
}
var _ types.Msg = DeveloperUpdateMsg{}
func NewDeveloperUpdateMsg(developer string, website string, description string, appMetaData string) DeveloperUpdateMsg {
	return DeveloperUpdateMsg{
		Username:    types.AccountKey(developer),
		Website:     website,
		Description: description,
		AppMetaData: appMetaData,
	}
}
func (msg DeveloperUpdateMsg) Route() string { return RouterKey }
func (msg DeveloperUpdateMsg) Type() string { return "DeveloperUpdateMsg" }
func (msg DeveloperUpdateMsg) ValidateBasic() sdk.Error {
	if !msg.Username.IsValid() {
		return ErrInvalidUsername()
	}
	if len(msg.Website) > types.MaximumLengthOfDeveloperWebsite {
		return ErrInvalidWebsite()
	}
	if utf8.RuneCountInString(msg.Description) > types.MaximumLengthOfDeveloperDesctiption {
		return ErrInvalidDescription()
	}
	if utf8.RuneCountInString(msg.AppMetaData) > types.MaximumLengthOfAppMetadata {
		return ErrInvalidAppMetadata()
	}
	return nil
}
func (msg DeveloperUpdateMsg) String() string {
	return fmt.Sprintf(
		"DeveloperUpdateMsg{Username:%v, Website:%v, Description:%v, Metadata:%v}",
		msg.Username, msg.Website, msg.Description, msg.AppMetaData)
}
func (msg DeveloperUpdateMsg) GetPermission() types.Permission {
	return types.TransactionPermission
}
func (msg DeveloperUpdateMsg) GetSignBytes() []byte {
	return getSignBytes(msg)
}
func (msg DeveloperUpdateMsg) GetSigners() []sdk.AccAddress {
	return []sdk.AccAddress{sdk.AccAddress(msg.Username)}
}
func (msg DeveloperUpdateMsg) GetConsumeAmount() types.Coin {
	return types.NewCoinFromInt64(0)
}
type DeveloperRevokeMsg struct {
	Username types.AccountKey `json:"username"`
}
var _ types.Msg = DeveloperRevokeMsg{}
func NewDeveloperRevokeMsg(developer string) DeveloperRevokeMsg {
	return DeveloperRevokeMsg{
		Username: types.AccountKey(developer),
	}
}
func (msg DeveloperRevokeMsg) Route() string { return RouterKey }
func (msg DeveloperRevokeMsg) Type() string { return "DeveloperRevokeMsg" }
func (msg DeveloperRevokeMsg) ValidateBasic() sdk.Error {
	if !msg.Username.IsValid() {
		return ErrInvalidUsername()
	}
	return nil
}
func (msg DeveloperRevokeMsg) String() string {
	return fmt.Sprintf("DeveloperRevokeMsg{Username:%v}", msg.Username)
}
func (msg DeveloperRevokeMsg) GetPermission() types.Permission {
	return types.TransactionPermission
}