42 lines
971 B
Go
42 lines
971 B
Go
package auth
|
|
|
|
import (
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
crypto "github.com/tendermint/go-crypto"
|
|
)
|
|
|
|
// MsgChangeKey - high level transaction of the auth module
|
|
type MsgChangeKey struct {
|
|
Address sdk.Address `json:"address"`
|
|
NewPubKey crypto.PubKey `json:"public_key"`
|
|
}
|
|
|
|
var _ sdk.Msg = MsgChangeKey{}
|
|
|
|
// NewMsgChangeKey - msg to claim an account and set the PubKey
|
|
func NewMsgChangeKey(addr sdk.Address, pubkey crypto.PubKey) MsgChangeKey {
|
|
return MsgChangeKey{Address: addr, NewPubKey: pubkey}
|
|
}
|
|
|
|
// Implements Msg.
|
|
func (msg MsgChangeKey) Type() string { return "auth" }
|
|
|
|
// Implements Msg.
|
|
func (msg MsgChangeKey) ValidateBasic() sdk.Error {
|
|
return nil
|
|
}
|
|
|
|
// Implements Msg.
|
|
func (msg MsgChangeKey) GetSignBytes() []byte {
|
|
b, err := msgCdc.MarshalJSON(msg) // XXX: ensure some canonical form
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return b
|
|
}
|
|
|
|
// Implements Msg.
|
|
func (msg MsgChangeKey) GetSigners() []sdk.Address {
|
|
return []sdk.Address{msg.Address}
|
|
}
|