Versions in this module Expand all Collapse all v0 v0.0.0 Sep 4, 2021 Changes in this version + const ChainCodeLength + func GenerateKeypair() (*SecretKey, *PublicKey, error) + func MnemonicToEntropy(mnemonic string) ([]byte, error) + func NewRandomElement() (*r255.Element, error) + func NewRandomScalar() (*r255.Scalar, error) + func NewSigningContext(context, msg []byte) *merlin.Transcript + func ScalarFromBytes(b [32]byte) (*r255.Scalar, error) + func SeedFromMnemonic(mnemonic string, password string) ([64]byte, error) + func TranscriptWithMalleabilityAddressed(t *merlin.Transcript, pk *PublicKey) *merlin.Transcript + type DerivableKey interface + Decode func([32]byte) error + DeriveKey func(*merlin.Transcript, [ChainCodeLength]byte) (*ExtendedKey, error) + Encode func() [32]byte + type ExtendedKey struct + func DeriveKeySimple(key DerivableKey, i []byte, cc [ChainCodeLength]byte) (*ExtendedKey, error) + func NewExtendedKey(k DerivableKey, cc [ChainCodeLength]byte) *ExtendedKey + func (ek *ExtendedKey) ChainCode() [ChainCodeLength]byte + func (ek *ExtendedKey) DeriveKey(t *merlin.Transcript) (*ExtendedKey, error) + func (ek *ExtendedKey) Key() DerivableKey + func (ek *ExtendedKey) Public() (*PublicKey, error) + func (ek *ExtendedKey) Secret() (*SecretKey, error) + type MiniSecretKey struct + func GenerateMiniSecretKey() (*MiniSecretKey, error) + func MiniSecretFromMnemonic(mnemonic string, password string) (*MiniSecretKey, error) + func NewMiniSecretKey(b [64]byte) *MiniSecretKey + func NewMiniSecretKeyFromRaw(b [32]byte) (*MiniSecretKey, error) + func (s *MiniSecretKey) Decode(in [32]byte) (err error) + func (s *MiniSecretKey) Encode() [32]byte + func (s *MiniSecretKey) ExpandEd25519() *SecretKey + func (s *MiniSecretKey) ExpandUniform() *SecretKey + func (s *MiniSecretKey) Public() *PublicKey + type PublicKey struct + func NewPublicKey(b [32]byte) *PublicKey + func (p *PublicKey) Compress() [32]byte + func (p *PublicKey) Decode(in [32]byte) error + func (p *PublicKey) Encode() [32]byte + func (p *PublicKey) Verify(s *Signature, t *merlin.Transcript) bool + func (pk *PublicKey) DeriveKey(t *merlin.Transcript, cc [ChainCodeLength]byte) (*ExtendedKey, error) + func (pk *PublicKey) DeriveScalarAndChaincode(t *merlin.Transcript, cc [ChainCodeLength]byte) (*r255.Scalar, [ChainCodeLength]byte) + func (pk *PublicKey) VrfVerify(t *merlin.Transcript, inout *VrfInOut, proof *VrfProof) (bool, error) + type SecretKey struct + func NewSecretKey(key [32]byte, nonce [32]byte) *SecretKey + func (s *SecretKey) Decode(in [32]byte) error + func (s *SecretKey) Encode() [32]byte + func (s *SecretKey) Public() (*PublicKey, error) + func (sk *SecretKey) DeriveKey(t *merlin.Transcript, cc [ChainCodeLength]byte) (*ExtendedKey, error) + func (sk *SecretKey) Sign(t *merlin.Transcript) (*Signature, error) + func (sk *SecretKey) VrfSign(t *merlin.Transcript) (*VrfInOut, *VrfProof, error) + type Signature struct + R *r255.Element + S *r255.Scalar + func (s *Signature) Decode(in [64]byte) error + func (s *Signature) Encode() [64]byte + type VrfInOut struct + func (io *VrfInOut) Encode() []byte + func (io *VrfInOut) Output() *VrfOutput + type VrfOutput struct + func NewOutput(in [32]byte) *VrfOutput + func (out *VrfOutput) AttachInput(pub *PublicKey, t *merlin.Transcript) *VrfInOut + func (out *VrfOutput) Decode(in [32]byte) error + func (out *VrfOutput) Encode() [32]byte + type VrfProof struct + func (p *VrfProof) Decode(in [64]byte) error + func (p *VrfProof) Encode() [64]byte