Documentation ¶
Overview ¶
Package strkey is an implementation of StrKey, the address scheme for the DiamcircleNetwork.
Index ¶
- Constants
- Variables
- func Decode(expected VersionByte, src string) ([]byte, error)
- func Encode(version VersionByte, src []byte) (string, error)
- func IsValidEd25519PublicKey(i interface{}) bool
- func IsValidEd25519SecretSeed(i interface{}) bool
- func IsValidMuxedAccountEd25519PublicKey(s string) bool
- func MustDecode(expected VersionByte, src string) []byte
- func MustEncode(version VersionByte, src []byte) string
- type MuxedAccount
- type VersionByte
Constants ¶
const ( //VersionByteAccountID is the version byte used for encoded diamcircle addresses VersionByteAccountID VersionByte = 6 << 3 // Base32-encodes to 'G...' //VersionByteSeed is the version byte used for encoded diamcircle seed VersionByteSeed = 18 << 3 // Base32-encodes to 'S...' //VersionByteMuxedAccounts is the version byte used for encoded diamcircle multiplexed addresses VersionByteMuxedAccount = 12 << 3 // Base32-encodes to 'M...' //VersionByteHashTx is the version byte used for encoded diamcircle hashTx //signer keys. VersionByteHashTx = 19 << 3 // Base32-encodes to 'T...' //VersionByteHashX is the version byte used for encoded diamcircle hashX //signer keys. VersionByteHashX = 23 << 3 // Base32-encodes to 'X...' )
Variables ¶
var ErrInvalidVersionByte = errors.New("invalid version byte")
ErrInvalidVersionByte is returned when the version byte from a provided strkey-encoded string is not one of the valid values.
Functions ¶
func Decode ¶
func Decode(expected VersionByte, src string) ([]byte, error)
Decode decodes the provided StrKey into a raw value, checking the checksum and ensuring the expected VersionByte (the version parameter) is the value actually encoded into the provided src string.
func Encode ¶
func Encode(version VersionByte, src []byte) (string, error)
Encode encodes the provided data to a StrKey, using the provided version byte.
func IsValidEd25519PublicKey ¶
func IsValidEd25519PublicKey(i interface{}) bool
IsValidEd25519PublicKey validates a diamcircle public key
func IsValidEd25519SecretSeed ¶
func IsValidEd25519SecretSeed(i interface{}) bool
IsValidEd25519SecretSeed validates a diamcircle secret key
func IsValidMuxedAccountEd25519PublicKey ¶
IsValidMuxedAccountEd25519PublicKey validates a Diamcircle SEP-23 muxed address.
func MustDecode ¶
func MustDecode(expected VersionByte, src string) []byte
MustDecode is like Decode, but panics on error
func MustEncode ¶
func MustEncode(version VersionByte, src []byte) string
MustEncode is like Encode, but panics on error
Types ¶
type MuxedAccount ¶
type MuxedAccount struct {
// contains filtered or unexported fields
}
func DecodeMuxedAccount ¶
func DecodeMuxedAccount(address string) (*MuxedAccount, error)
DecodeMuxedAccount receives a muxed account M-address and parses it into a MuxedAccount object containing an ed25519 address and an id.
func (*MuxedAccount) AccountID ¶
func (m *MuxedAccount) AccountID() (string, error)
AccountID returns the muxed account G-address according with the SEP-23 definition for multiplexed accounts.
func (*MuxedAccount) Address ¶
func (m *MuxedAccount) Address() (string, error)
Address returns the muxed account M-address according with the SEP-23 definition for multiplexed accounts.
func (*MuxedAccount) ID ¶
func (m *MuxedAccount) ID() uint64
ID returns the muxed account id according with the SEP-23 definition for multiplexed accounts.
func (*MuxedAccount) SetAccountID ¶
func (m *MuxedAccount) SetAccountID(address string) error
SetAccountID populates the muxed account G-address.
func (*MuxedAccount) SetID ¶
func (m *MuxedAccount) SetID(id uint64)
SetID populates the muxed account ID.
type VersionByte ¶
type VersionByte byte
VersionByte represents one of the possible prefix values for a StrKey base string--the string the when encoded using base32 yields a final StrKey.
func DecodeAny ¶
func DecodeAny(src string) (VersionByte, []byte, error)
DecodeAny decodes the provided StrKey into a raw value, checking the checksum and if the version byte is one of allowed values.
func Version ¶
func Version(src string) (VersionByte, error)
Version extracts and returns the version byte from the provided source string.