func (msg *MsgWirePayForMessage) GetSigners() []sdk.AccAddress {
	address, err := sdk.AccAddressFromBech32(msg.Signer)
	if err != nil {
		panic(err)
	}
	return []sdk.AccAddress{address}
}
GetSigners returns the addresses of the message signers
package types
import (
	"bytes"
	"errors"
	fmt "fmt"
	sdkclient "github.com/cosmos/cosmos-sdk/client"
	sdk "github.com/cosmos/cosmos-sdk/types"
	sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
	"github.com/cosmos/cosmos-sdk/types/tx/signing"
	"github.com/tendermint/tendermint/pkg/consts"
	tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
)
var _ sdk.Msg = &MsgWirePayForMessage{}
func NewWirePayForMessage(namespace, message []byte, sizes ...uint64) (*MsgWirePayForMessage, error) {
	message = padMessage(message)
	out := &MsgWirePayForMessage{
		MessageNameSpaceId:     namespace,
		MessageSize:            uint64(len(message)),
		Message:                message,
		MessageShareCommitment: make([]ShareCommitAndSignature, len(sizes)),
	}
	for i, size := range sizes {
		commit, err := CreateCommitment(size, namespace, message)
		if err != nil {
			return nil, err
		}
		out.MessageShareCommitment[i] = ShareCommitAndSignature{K: size, ShareCommitment: commit}
	}
	return out, nil
}
func (msg *MsgWirePayForMessage) SignShareCommitments(signer *KeyringSigner, builder sdkclient.TxBuilder) error {
	msg.Signer = signer.GetSignerInfo().GetAddress().String()
	for i, commit := range msg.MessageShareCommitment {
		sig, err := msg.createPayForMessageSignature(signer, builder, commit.K)
		if err != nil {
			return err
		}
		msg.MessageShareCommitment[i].Signature = sig
	}
	return nil
}
func (msg *MsgWirePayForMessage) Route() string { return RouterKey }
func (msg *MsgWirePayForMessage) ValidateBasic() error {
	if nsLen := len(msg.GetMessageNameSpaceId()); nsLen != NamespaceIDSize {
		return fmt.Errorf(
			"invalid namespace length: got %d wanted %d",
			nsLen,
			NamespaceIDSize,
		)
	}
	if _, err := sdk.AccAddressFromBech32(msg.Signer); err != nil {
		return sdkerrors.ErrInvalidAddress.Wrapf("invalid 'from' address: %s", err)
	}
	if msgMod := uint64(len(msg.GetMessage())) % ShareSize; msgMod != 0 {
		return fmt.Errorf("Share message must be divisible by %d", ShareSize)
	}
	if msg.MessageSize != uint64(len(msg.Message)) {
		return fmt.Errorf(
			"Declared Message size does not match actual Message size, %d vs %d",
			msg.MessageSize,
			len(msg.Message),
		)
	}
	if bytes.Compare(msg.GetMessageNameSpaceId(), consts.MaxReservedNamespace) < 1 {
		return errors.New("message is not valid: uses a reserved namesapce ID")
	}
	for _, commit := range msg.MessageShareCommitment {
		calculatedCommit, err := CreateCommitment(commit.K, msg.GetMessageNameSpaceId(), msg.Message)
		if err != nil {
			return err
		}
		if string(calculatedCommit) != string(commit.ShareCommitment) {
			return fmt.Errorf("invalid commit for square size %d", commit.K)
		}
	}
	return nil
}
func (msg *MsgWirePayForMessage) GetSignBytes() []byte {
	return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg))
}