func (m *Auth) SetAccountNum(num uint64) {
	m.Number = num
}
SetPubKey - Implements sdk.Account.
package types
import (
	"github.com/cosmos/cosmos-sdk/codec"
	sdk "github.com/cosmos/cosmos-sdk/types"
	"github.com/tendermint/tendermint/crypto"
	"gopkg.in/yaml.v2"
)
type Auth struct {
	Name      Name           `json:"name" yaml:"name"`
	Address   sdk.AccAddress `json:"address,omitempty" yaml:"address"`
	PublicKey []byte         `json:"public_key,omitempty" yaml:"public_key"`
	Number    uint64         `json:"number,omitempty" yaml:"number"`
	Sequence  uint64         `json:"sequence,omitempty" yaml:"sequence"`
}
func NewAuth(address sdk.AccAddress) Auth {
	return Auth{
		Address:  address,
		Sequence: 1,
	}
}
func (m Auth) GetPubKey() (pk crypto.PubKey) {
	if len(m.PublicKey) == 0 {
		return nil
	}
	codec.Cdc.MustUnmarshalBinaryBare(m.PublicKey, &pk)
	return pk
}
func (m *Auth) SetPubKey(pubKey crypto.PubKey) {
	if pubKey == nil {
		m.PublicKey = nil
	} else {
		m.PublicKey = pubKey.Bytes()
	}
}
func (m Auth) GetSequence() uint64 { return m.Sequence }
func (m Auth) GetNumber() uint64 { return m.Number }
func (m Auth) GetAddress() sdk.AccAddress { return m.Address }
func (m *Auth) SetSequence(s uint64) {
	m.Sequence = s
}