account

package
v0.13.3 Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2021 License: ISC Imports: 9 Imported by: 2

Documentation

Overview

Package account - types and functions for converting Bitmark accounts (the public key) and their signatures

Index

Constants

View Source
const (
	// list of valid algorithms
	Nothing = iota // zero keytype **Just for Testing**
	ED25519 = iota
)

enumeration of supported key algorithms

Variables

This section is empty.

Functions

func Base58EncodedSeedToPhrase added in v0.11.0

func Base58EncodedSeedToPhrase(encodedSeed string) ([]string, error)

Base58EncodedSeedToPhrase - convert base58 seed to recovery phrase

func NewBase58EncodedSeedV1 added in v0.11.0

func NewBase58EncodedSeedV1(testnet bool) (string, error)

NewBase58EncodedSeedV1 - generate base58 seed v1

func NewBase58EncodedSeedV2 added in v0.11.0

func NewBase58EncodedSeedV2(testnet bool) (string, error)

NewBase58EncodedSeedV2 - generate base58 seed v2

Types

type Account

type Account struct {
	AccountInterface
}

Account - base type for accounts

func AccountFromBase58

func AccountFromBase58(accountBase58Encoded string) (*Account, error)

AccountFromBase58 - this converts a Base58 encoded string and returns an account

one of the specific account types are returned using the base "AccountInterface" interface type to allow individual methods to be called.

func AccountFromBytes

func AccountFromBytes(accountBytes []byte) (*Account, error)

AccountFromBytes - this converts a byte encoded buffer and returns an account

one of the specific account types are returned using the base "AccountInterface" interface type to allow individual methods to be called.

func (*Account) UnmarshalText

func (account *Account) UnmarshalText(s []byte) error

UnmarshalText - create account from text string

type AccountInterface

type AccountInterface interface {
	KeyType() int
	PublicKeyBytes() []byte
	CheckSignature(message []byte, signature Signature) error
	Bytes() []byte
	String() string
	MarshalText() ([]byte, error)
	IsTesting() bool
	IsZero() bool
}

AccountInterface - interface type for account methods

type ED25519Account

type ED25519Account struct {
	Test      bool
	PublicKey []byte
}

ED25519Account - for ed25519 signatures

func (*ED25519Account) Bytes

func (account *ED25519Account) Bytes() []byte

Bytes - byte slice for encoded key

func (*ED25519Account) CheckSignature

func (account *ED25519Account) CheckSignature(message []byte, signature Signature) error

CheckSignature - check the signature of a message

func (ED25519Account) IsTesting added in v0.4.9

func (account ED25519Account) IsTesting() bool

IsTesting - return whether the public key is in test mode or not

func (ED25519Account) IsZero added in v0.8.1

func (account ED25519Account) IsZero() bool

IsZero - return whether the public key is all zero or not

func (*ED25519Account) KeyType

func (account *ED25519Account) KeyType() int

KeyType - key type code (see enumeration above)

func (ED25519Account) MarshalText

func (account ED25519Account) MarshalText() ([]byte, error)

MarshalText - convert an account to its Base58 JSON form

func (*ED25519Account) PublicKeyBytes

func (account *ED25519Account) PublicKeyBytes() []byte

PublicKeyBytes - fetch the public key as byte slice

func (*ED25519Account) String

func (account *ED25519Account) String() string

String - base58 encoding of encoded key

type ED25519PrivateKey added in v0.3.22

type ED25519PrivateKey struct {
	Test       bool
	PrivateKey []byte
}

ED25519PrivateKey - structure for ed25519 keys

func (*ED25519PrivateKey) Account added in v0.3.22

func (privateKey *ED25519PrivateKey) Account() *Account

Account - return the corresponding account

func (*ED25519PrivateKey) Bytes added in v0.3.22

func (privateKey *ED25519PrivateKey) Bytes() []byte

Bytes - byte slice for encoded key

func (*ED25519PrivateKey) IsTesting added in v0.4.9

func (privateKey *ED25519PrivateKey) IsTesting() bool

IsTesting - return whether the private key is in test mode or not

func (*ED25519PrivateKey) KeyType added in v0.3.22

func (privateKey *ED25519PrivateKey) KeyType() int

KeyType - key type code (see enumeration in account.go)

func (ED25519PrivateKey) MarshalText added in v0.3.22

func (privateKey ED25519PrivateKey) MarshalText() ([]byte, error)

MarshalText - convert an privateKey to its Base58 JSON form

func (*ED25519PrivateKey) PrivateKeyBytes added in v0.3.22

func (privateKey *ED25519PrivateKey) PrivateKeyBytes() []byte

PrivateKeyBytes - fetch the private key as byte slice

func (*ED25519PrivateKey) String added in v0.3.22

func (privateKey *ED25519PrivateKey) String() string

String - base58 encoding of encoded key

type NothingAccount

type NothingAccount struct {
	Test      bool
	PublicKey []byte
}

NothingAccount - just for debugging

func (*NothingAccount) Bytes

func (account *NothingAccount) Bytes() []byte

Bytes - byte slice for encoded key

func (*NothingAccount) CheckSignature

func (account *NothingAccount) CheckSignature(message []byte, signature Signature) error

CheckSignature - check the signature of a message

func (NothingAccount) IsTesting added in v0.4.9

func (account NothingAccount) IsTesting() bool

IsTesting - return whether the public key is in test mode or not

func (NothingAccount) IsZero added in v0.8.1

func (account NothingAccount) IsZero() bool

IsZero - return whether the public key is all zero or not

func (*NothingAccount) KeyType

func (account *NothingAccount) KeyType() int

KeyType - key type code (see enumeration above)

func (NothingAccount) MarshalText

func (account NothingAccount) MarshalText() ([]byte, error)

MarshalText - convert an account to its Base58 JSON form

func (*NothingAccount) PublicKeyBytes

func (account *NothingAccount) PublicKeyBytes() []byte

PublicKeyBytes - fetch the public key as byte slice

func (*NothingAccount) String

func (account *NothingAccount) String() string

String - base58 encoding of encoded key

type NothingPrivateKey added in v0.3.22

type NothingPrivateKey struct {
	Test       bool
	PrivateKey []byte
}

NothingPrivateKey - just for debugging

func (*NothingPrivateKey) Account added in v0.3.22

func (privateKey *NothingPrivateKey) Account() *Account

Account - return the corresponding account

func (*NothingPrivateKey) Bytes added in v0.3.22

func (privateKey *NothingPrivateKey) Bytes() []byte

Bytes - byte slice for encoded key

func (*NothingPrivateKey) IsTesting added in v0.4.9

func (privateKey *NothingPrivateKey) IsTesting() bool

IsTesting - return whether the private key is in test mode or not

func (*NothingPrivateKey) KeyType added in v0.3.22

func (privateKey *NothingPrivateKey) KeyType() int

KeyType - key type code (see enumeration in account.go)

func (NothingPrivateKey) MarshalText added in v0.3.22

func (privateKey NothingPrivateKey) MarshalText() ([]byte, error)

MarshalText - convert an privateKey to its Base58 JSON form

func (*NothingPrivateKey) PrivateKeyBytes added in v0.3.22

func (privateKey *NothingPrivateKey) PrivateKeyBytes() []byte

PrivateKeyBytes - fetch the private key as byte slice

func (*NothingPrivateKey) String added in v0.3.22

func (privateKey *NothingPrivateKey) String() string

String - base58 encoding of encoded key

type PrivateKey added in v0.3.22

type PrivateKey struct {
	PrivateKeyInterface
}

PrivateKey - base type for PrivateKey

func PrivateKeyFromBase58 added in v0.3.22

func PrivateKeyFromBase58(privateKeyBase58Encoded string) (*PrivateKey, error)

PrivateKeyFromBase58 - this converts a Base58 encoded string and returns an private key

one of the specific private key types are returned using the base "PrivateKeyInterface" interface type to allow individual methods to be called.

func PrivateKeyFromBase58Seed added in v0.3.22

func PrivateKeyFromBase58Seed(seedBase58Encoded string) (*PrivateKey, error)

PrivateKeyFromBase58Seed - this converts a Base58 encoded seed string and returns a private key

one of the specific private key types are returned using the base "PrivateKeyInterface" interface type to allow individual methods to be called.

func PrivateKeyFromBytes added in v0.3.22

func PrivateKeyFromBytes(privateKeyBytes []byte) (*PrivateKey, error)

PrivateKeyFromBytes - this converts a byte encoded buffer and returns an private key

one of the specific private key types are returned using the base "PrivateKeyInterface" interface type to allow individual methods to be called.

func (*PrivateKey) UnmarshalText added in v0.3.22

func (privateKey *PrivateKey) UnmarshalText(s []byte) error

UnmarshalText - convert string to private key structure

type PrivateKeyInterface added in v0.3.22

type PrivateKeyInterface interface {
	Account() *Account
	KeyType() int
	PrivateKeyBytes() []byte
	Bytes() []byte
	String() string
	IsTesting() bool
	MarshalText() ([]byte, error)
}

PrivateKeyInterface - interface type for private key methods

type Signature

type Signature []byte

Signature - the type for a signature

func (Signature) GoString

func (signature Signature) GoString() string

GoString - convert a binary signature to hex string for use by the fmt package (for %#v)

func (Signature) MarshalText

func (signature Signature) MarshalText() ([]byte, error)

MarshalText - convert signature to text

func (*Signature) Scan

func (signature *Signature) Scan(state fmt.ScanState, verb rune) error

Scan - convert a text representation to a signature for use by the format package scan routines

func (Signature) String

func (signature Signature) String() string

String - convert a binary signature to hex string for use by the fmt package (for %s)

func (*Signature) UnmarshalText

func (signature *Signature) UnmarshalText(s []byte) error

UnmarshalText - convert text into a signature

Jump to

Keyboard shortcuts

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