keypair

package
v0.0.0-...-29c49f9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2024 License: Apache-2.0, Apache-2.0 Imports: 10 Imported by: 468

Documentation

Index

Constants

View Source
const (
	// DefaultSignerWeight represents the starting weight of the default signer
	// for an account.
	DefaultSignerWeight = 1
)

Variables

View Source
var (
	// ErrInvalidKey will be returned by operations when the keypair being used
	// could not be decoded.
	ErrInvalidKey = errors.New("invalid key")

	// ErrInvalidSignature is returned when the signature is invalid, either
	// through malformation or if it does not verify the message against the
	// provided public key
	ErrInvalidSignature = errors.New("signature verification failed")

	// ErrCannotSign is returned when attempting to sign a message when
	// the keypair does not have the secret key available
	ErrCannotSign = errors.New("cannot sign")
)

Functions

This section is empty.

Types

type FromAddress

type FromAddress struct {
	// contains filtered or unexported fields
}

FromAddress represents a keypair to which only the address is know. This KP can verify signatures, but cannot sign them.

NOTE: ensure the address provided is a valid strkey encoded stellar address. Some operations will panic otherwise. It's recommended that you create these structs through the Parse() method.

func MustParseAddress

func MustParseAddress(address string) *FromAddress

MustParseAddress is the panic-on-fail version of ParseAddress

func ParseAddress

func ParseAddress(address string) (*FromAddress, error)

ParseAddress constructs a new FromAddress keypair from the provided string, which should be an address.

func (*FromAddress) Address

func (kp *FromAddress) Address() string

func (*FromAddress) Equal

func (kp *FromAddress) Equal(a *FromAddress) bool

func (*FromAddress) FromAddress

func (kp *FromAddress) FromAddress() *FromAddress

FromAddress gets the address-only representation, or public key, of this keypair, which is itself.

func (*FromAddress) Hint

func (kp *FromAddress) Hint() (r [4]byte)

func (*FromAddress) MarshalBinary

func (kp *FromAddress) MarshalBinary() ([]byte, error)

func (*FromAddress) MarshalText

func (kp *FromAddress) MarshalText() ([]byte, error)

func (*FromAddress) Sign

func (kp *FromAddress) Sign(input []byte) ([]byte, error)

func (*FromAddress) SignBase64

func (kp *FromAddress) SignBase64(input []byte) (string, error)

func (*FromAddress) SignDecorated

func (kp *FromAddress) SignDecorated(input []byte) (xdr.DecoratedSignature, error)

func (*FromAddress) SignPayloadDecorated

func (kp *FromAddress) SignPayloadDecorated(input []byte) (xdr.DecoratedSignature, error)

func (*FromAddress) UnmarshalBinary

func (kp *FromAddress) UnmarshalBinary(b []byte) error

func (*FromAddress) UnmarshalText

func (kp *FromAddress) UnmarshalText(text []byte) error

func (*FromAddress) Verify

func (kp *FromAddress) Verify(input []byte, sig []byte) error

type Full

type Full struct {
	// contains filtered or unexported fields
}

func FromRawSeed

func FromRawSeed(rawSeed [32]byte) (*Full, error)

FromRawSeed creates a new keypair from the provided raw ED25519 seed

func MustParseFull

func MustParseFull(seed string) *Full

MustParseFull is the panic-on-fail version of ParseFull

func MustRandom

func MustRandom() *Full

MustRandom is the panic-on-fail version of Random.

func ParseFull

func ParseFull(seed string) (*Full, error)

ParseFull constructs a new Full keypair from the provided string, which should be a seed.

func Random

func Random() (*Full, error)

Random creates a random full keypair

func Root

func Root(networkPassphrase string) *Full

Root returns the root account keypair for a given network passphrase.

func (*Full) Address

func (kp *Full) Address() string

func (*Full) Equal

func (kp *Full) Equal(f *Full) bool

func (*Full) FromAddress

func (kp *Full) FromAddress() *FromAddress

FromAddress gets the address-only representation, or public key, of this Full keypair.

func (*Full) Hint

func (kp *Full) Hint() (r [4]byte)

func (*Full) Seed

func (kp *Full) Seed() string

func (*Full) Sign

func (kp *Full) Sign(input []byte) ([]byte, error)

func (*Full) SignBase64

func (kp *Full) SignBase64(input []byte) (string, error)

SignBase64 signs the input data and returns a base64 encoded string, the common format in which signatures are exchanged.

func (*Full) SignDecorated

func (kp *Full) SignDecorated(input []byte) (xdr.DecoratedSignature, error)

func (*Full) SignPayloadDecorated

func (kp *Full) SignPayloadDecorated(input []byte) (xdr.DecoratedSignature, error)

SignPayloadDecorated returns a decorated signature that signs for a signed payload signer where the input is the payload being signed.

func (*Full) Verify

func (kp *Full) Verify(input []byte, sig []byte) error

type KP

type KP interface {
	Address() string
	FromAddress() *FromAddress
	Hint() [4]byte
	Verify(input []byte, signature []byte) error
	Sign(input []byte) ([]byte, error)
	SignBase64(input []byte) (string, error)
	SignDecorated(input []byte) (xdr.DecoratedSignature, error)
	SignPayloadDecorated(input []byte) (xdr.DecoratedSignature, error)
}

KP is the main interface for this package

func Master

func Master(networkPassphrase string) KP

Master returns the master keypair for a given network passphrase Deprecated: Use keypair.Root instead.

func MustParse

func MustParse(addressOrSeed string) KP

MustParse is the panic-on-fail version of Parse

func Parse

func Parse(addressOrSeed string) (KP, error)

Parse constructs a new KP from the provided string, which should be either an address, or a seed. If the provided input is a seed, the resulting KP will have signing capabilities.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL