Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
 - func CRandBytes(numBytes int) []byte
 - func CRandHex(numDigits int) string
 - func CReader() io.Reader
 - func CheckConsensusPubKey(from common.Address, consensusPubkey, signature []byte) error
 - func DecodeArmor(armorStr string) (blockType string, headers map[string]string, data []byte, err error)
 - func DecryptSymmetric(ciphertext []byte, secret []byte) (plaintext []byte, err error)
 - func EncodeArmor(blockType string, headers map[string]string, data []byte) string
 - func EncryptSymmetric(plaintext []byte, secret []byte) (ciphertext []byte)
 - func MixEntropy(seedBytes []byte)
 - func Ripemd160(bytes []byte) []byte
 - func Sha256(bytes []byte) []byte
 - type BLSPrivKey
 - func (privKey BLSPrivKey) Bytes() []byte
 - func (privKey BLSPrivKey) Equals(other PrivKey) bool
 - func (privKey BLSPrivKey) MarshalJSON() ([]byte, error)
 - func (privKey BLSPrivKey) PubKey() PubKey
 - func (privKey BLSPrivKey) Sign(msg []byte) Signature
 - func (privKey *BLSPrivKey) UnmarshalJSON(enc []byte) error
 
- type BLSPubKey
 - func (pubKey BLSPubKey) Address() []byte
 - func (pubKey BLSPubKey) Bytes() []byte
 - func (pubKey BLSPubKey) Equals(other PubKey) bool
 - func (pubKey BLSPubKey) KeyString() string
 - func (pubKey BLSPubKey) MarshalJSON() ([]byte, error)
 - func (pubKey *BLSPubKey) UnmarshalJSON(enc []byte) error
 - func (pubKey BLSPubKey) VerifyBytes(msg []byte, sig_ Signature) bool
 
- type BLSSignature
 - type EthereumPrivKey
 - func (privKey EthereumPrivKey) Bytes() []byte
 - func (privKey EthereumPrivKey) Equals(other PrivKey) bool
 - func (privKey EthereumPrivKey) MarshalJSON() ([]byte, error)
 - func (privKey EthereumPrivKey) PubKey() PubKey
 - func (privKey EthereumPrivKey) Sign(msg []byte) Signature
 - func (privKey *EthereumPrivKey) UnmarshalJSON(enc []byte) error
 
- type EthereumPubKey
 - func (pubKey EthereumPubKey) Address() []byte
 - func (pubKey EthereumPubKey) Bytes() []byte
 - func (pubKey EthereumPubKey) Equals(other PubKey) bool
 - func (pubKey EthereumPubKey) KeyString() string
 - func (pubKey EthereumPubKey) MarshalJSON() ([]byte, error)
 - func (p *EthereumPubKey) UnmarshalJSON(enc []byte) error
 - func (pubKey EthereumPubKey) VerifyBytes(msg []byte, sig_ Signature) bool
 
- type EthereumSignature
 - func (sig EthereumSignature) Bytes() []byte
 - func (sig EthereumSignature) Equals(other Signature) bool
 - func (sig EthereumSignature) IsZero() bool
 - func (sig EthereumSignature) MarshalJSON() ([]byte, error)
 - func (sig EthereumSignature) SigByte() []byte
 - func (sig EthereumSignature) String() string
 - func (sig *EthereumSignature) UnmarshalJSON(enc []byte) error
 
- type PrivKey
 - type PrivKeyEd25519
 - func (privKey PrivKeyEd25519) Bytes() []byte
 - func (privKey PrivKeyEd25519) Equals(other PrivKey) bool
 - func (privKey PrivKeyEd25519) Generate(index int) PrivKeyEd25519
 - func (p PrivKeyEd25519) MarshalJSON() ([]byte, error)
 - func (privKey PrivKeyEd25519) PubKey() PubKey
 - func (privKey PrivKeyEd25519) Sign(msg []byte) Signature
 - func (privKey PrivKeyEd25519) String() string
 - func (privKey PrivKeyEd25519) ToCurve25519() *[32]byte
 - func (p *PrivKeyEd25519) UnmarshalJSON(enc []byte) error
 
- type PrivKeyS
 - type PrivKeySecp256k1
 - func (privKey PrivKeySecp256k1) Bytes() []byte
 - func (privKey PrivKeySecp256k1) Equals(other PrivKey) bool
 - func (p PrivKeySecp256k1) MarshalJSON() ([]byte, error)
 - func (privKey PrivKeySecp256k1) PubKey() PubKey
 - func (privKey PrivKeySecp256k1) Sign(msg []byte) Signature
 - func (privKey PrivKeySecp256k1) String() string
 - func (p *PrivKeySecp256k1) UnmarshalJSON(enc []byte) error
 
- type PubKey
 - type PubKeyEd25519
 - func (pubKey PubKeyEd25519) Address() []byte
 - func (pubKey PubKeyEd25519) Bytes() []byte
 - func (pubKey PubKeyEd25519) Equals(other PubKey) bool
 - func (pubKey PubKeyEd25519) KeyString() string
 - func (p PubKeyEd25519) MarshalJSON() ([]byte, error)
 - func (pubKey PubKeyEd25519) String() string
 - func (pubKey PubKeyEd25519) ToCurve25519() *[32]byte
 - func (p *PubKeyEd25519) UnmarshalJSON(enc []byte) error
 - func (pubKey PubKeyEd25519) VerifyBytes(msg []byte, sig_ Signature) bool
 
- type PubKeyS
 - type PubKeySecp256k1
 - func (pubKey PubKeySecp256k1) Address() []byte
 - func (pubKey PubKeySecp256k1) Bytes() []byte
 - func (pubKey PubKeySecp256k1) Equals(other PubKey) bool
 - func (pubKey PubKeySecp256k1) KeyString() string
 - func (p PubKeySecp256k1) MarshalJSON() ([]byte, error)
 - func (pubKey PubKeySecp256k1) String() string
 - func (p *PubKeySecp256k1) UnmarshalJSON(enc []byte) error
 - func (pubKey PubKeySecp256k1) VerifyBytes(msg []byte, sig_ Signature) bool
 
- type Signature
 - type SignatureEd25519
 - func (sig SignatureEd25519) Bytes() []byte
 - func (sig SignatureEd25519) Equals(other Signature) bool
 - func (sig SignatureEd25519) IsZero() bool
 - func (p SignatureEd25519) MarshalJSON() ([]byte, error)
 - func (sig SignatureEd25519) String() string
 - func (p *SignatureEd25519) UnmarshalJSON(enc []byte) error
 
- type SignatureS
 - type SignatureSecp256k1
 - func (sig SignatureSecp256k1) Bytes() []byte
 - func (sig SignatureSecp256k1) Equals(other Signature) bool
 - func (sig SignatureSecp256k1) IsZero() bool
 - func (p SignatureSecp256k1) MarshalJSON() ([]byte, error)
 - func (sig SignatureSecp256k1) String() string
 - func (p *SignatureSecp256k1) UnmarshalJSON(enc []byte) error
 
Constants ¶
const ( TypeEd25519 = byte(0x01) TypeSecp256k1 = byte(0x02) TypeEthereum = byte(0x03) TypeBls = byte(0x04) NameEd25519 = "ed25519" NameSecp256k1 = "secp256k1" NameEthereum = "ethereum" NameBls = "bls" )
Types of implementations
Variables ¶
This section is empty.
Functions ¶
func CheckConsensusPubKey ¶
func DecodeArmor ¶
func DecryptSymmetric ¶
secret must be 32 bytes long. Use something like Sha256(Bcrypt(passphrase)) The ciphertext is (secretbox.Overhead + 24) bytes longer than the plaintext.
func EncodeArmor ¶
func EncryptSymmetric ¶
secret must be 32 bytes long. Use something like Sha256(Bcrypt(passphrase)) The ciphertext is (secretbox.Overhead + 24) bytes longer than the plaintext. NOTE: call crypto.MixEntropy() first.
func MixEntropy ¶
func MixEntropy(seedBytes []byte)
Mix additional bytes of randomness, e.g. from hardware, user-input, etc. It is OK to call it multiple times. It does not diminish security.
Types ¶
type BLSPrivKey ¶
type BLSPrivKey [32]byte
func (BLSPrivKey) Bytes ¶
func (privKey BLSPrivKey) Bytes() []byte
func (BLSPrivKey) Equals ¶
func (privKey BLSPrivKey) Equals(other PrivKey) bool
func (BLSPrivKey) MarshalJSON ¶
func (privKey BLSPrivKey) MarshalJSON() ([]byte, error)
func (BLSPrivKey) PubKey ¶
func (privKey BLSPrivKey) PubKey() PubKey
func (BLSPrivKey) Sign ¶
func (privKey BLSPrivKey) Sign(msg []byte) Signature
func (*BLSPrivKey) UnmarshalJSON ¶
func (privKey *BLSPrivKey) UnmarshalJSON(enc []byte) error
type BLSPubKey ¶
type BLSPubKey [128]byte
//------------------------------------- // Implements PubKey. type BLSPubKey []byte
func (pubKey BLSPubKey) getElement() *pbc.Element {
	return pairing.NewG2().SetBytes(pubKey)
}
func (pubKey BLSPubKey) GetElement() *pbc.Element {
	return pairing.NewG2().SetBytes(pubKey)
}
func (pubKey BLSPubKey) Set1() {
	copy(pubKey, pairing.NewG1().Set1().Bytes())
}
func CreateBLSPubKey() BLSPubKey {
	pubKey := pairing.NewG2().Rand()
	return pubKey.Bytes()
}
func PubKeyMul(l, r BLSPubKey) BLSPubKey {
	el1 := l.getElement()
	el2 := r.getElement()
	rs := pairing.NewG2().Mul(el1, el2)
	return rs.Bytes()
}
func (pubKey BLSPubKey) Mul(other PubKey) bool {
	if otherPub, ok := other.(BLSPubKey); ok {
		el1 := pubKey.getElement()
		el2 := otherPub.getElement()
		rs := pairing.NewG2().Mul(el1, el2)
		copy(pubKey, rs.Bytes())
		return true
	} else {
		return false
	}
}
func (pubKey BLSPubKey) MulWithSet1(other PubKey) bool {
	if otherPub, ok := other.(BLSPubKey); ok {
		el1 := pubKey.getElement()
		el1.Set1()
		el2 := otherPub.getElement()
		rs := pairing.NewG2().Mul(el1, el2)
		copy(pubKey, rs.Bytes())
		return true
	} else {
		return false
	}
}
func (pubKey BLSPubKey) Bytes() []byte {
	return pubKey
}
func (pubKey BLSPubKey) Address() []byte {
	hasherSHA256 := sha256.New()
	hasherSHA256.Write(pubKey[:]) // does not error
	sha := hasherSHA256.Sum(nil)
	hasherRIPEMD160 := ripemd160.New()
	hasherRIPEMD160.Write(sha) // does not error
	return hasherRIPEMD160.Sum(nil)
}
func (pubKey BLSPubKey) KeyString() string {
	return Fmt("EthPubKey{%X}", pubKey[:])
}
func (pubKey BLSPubKey) VerifyBytes(msg []byte, sig_ Signature) bool {
	if otherSign, ok := sig_.(BLSSignature); ok {
		h := pairing.NewG1().SetFromStringHash(string(msg), sha256.New())
		temp1 := pairing.NewGT().Pair(h, pubKey.getElement())
		temp2 := pairing.NewGT().Pair(otherSign.getElement(), g)
		return temp1.Equals(temp2)
	} else {
		return false;
	}
}
func (pubKey BLSPubKey) Equals(other PubKey) bool {
	if otherBLS, ok := other.(BLSPubKey); ok {
		return pubKey.getElement().Equals(otherBLS.getElement())
	} else {
		return false
	}
}
func (pubKey BLSPubKey) MarshalJSON() ([]byte, error) {
return data.Encoder.Marshal(pubKey) }
func (p *BLSPubKey) UnmarshalJSON(enc []byte) error {
	var ref []byte
	err := data.Encoder.Unmarshal(&ref, enc)
	copy(*p, ref)
	return err
}
func BLSPubKeyAggregate ¶
func (BLSPubKey) MarshalJSON ¶
func (*BLSPubKey) UnmarshalJSON ¶
type BLSSignature ¶
type BLSSignature []byte
//------------------------------------- // Implements Signature type BLSSignature []byte
func CreateBLSSignature() BLSSignature {
	pubKey := pairing.NewG2().Rand()
	return pubKey.Bytes()
}
func (sig BLSSignature) getElement() *pbc.Element {
	return pairing.NewG2().SetBytes(sig)
}
func (sig BLSSignature) GetElement() *pbc.Element {
	return pairing.NewG2().SetBytes(sig)
}
func (sig BLSSignature) Set1() {
	copy(sig, pairing.NewG1().Set1().Bytes())
}
func BLSSignatureMul(l, r Signature) Signature {
	lSign,lok := l.(BLSSignature);
	rSign, rok := r.(BLSSignature);
	if  lok&&rok {
		el1 := lSign.getElement()
		el2 := rSign.getElement()
		rs := pairing.NewG2().Mul(el1, el2)
		return BLSSignature(rs.Bytes())
	} else {
		return nil
	}
}
func (sig BLSSignature) Mul(other Signature) bool {
	if otherSign,ok := other.(BLSSignature); ok {
		el1 := sig.getElement()
		fmt.Println(el1.Bytes()[:3])
		el2 := otherSign.getElement()
		fmt.Println(el2.Bytes()[:3])
		rs := el1.Mul(el1, el2)
		fmt.Println("el1",el1.Bytes()[:3])
		fmt.Println("rs", rs.Bytes()[:3])
		copy(sig, rs.Bytes())
		return true
	} else {
		return false
	}
}
func (sig BLSSignature) MulWithSet1(other Signature) bool {
	if otherSign,ok := other.(BLSSignature); ok {
		el1 := sig.getElement()
		el1.Set1()
		fmt.Println(el1.Bytes()[:3])
		el2 := otherSign.getElement()
		fmt.Println(el2.Bytes()[:3])
		rs := el1.Mul(el1, el2)
		fmt.Println("el1",el1.Bytes()[:3])
		fmt.Println("rs", rs.Bytes()[:3])
		copy(sig, rs.Bytes())
		return true
	} else {
		return false
	}
}
func (sig BLSSignature) Bytes() []byte {
	return sig
}
func (sig BLSSignature) IsZero() bool { return len(sig) == 0 }
func (sig BLSSignature) String() string { return fmt.Sprintf("/%X.../", Fingerprint(sig)) }
func (sig BLSSignature) Equals(other Signature) bool {
	if otherBLS, ok := other.(BLSSignature); ok {
		return sig.getElement().Equals(otherBLS.getElement())
	} else {
		return false
	}
}
func (p BLSSignature) MarshalJSON() ([]byte, error) {
	return data.Encoder.Marshal(p)
}
func (p *BLSSignature) UnmarshalJSON(enc []byte) error {
	var ref []byte
	err := data.Encoder.Unmarshal(&ref, enc)
	copy(*p, ref)
	return err
}
func BLSSignatureAggregate ¶
func BLSSignatureAggregate(sigs []*Signature) BLSSignature
func (BLSSignature) Bytes ¶
func (sig BLSSignature) Bytes() []byte
func (BLSSignature) Equals ¶
func (sig BLSSignature) Equals(other Signature) bool
func (BLSSignature) IsZero ¶
func (sig BLSSignature) IsZero() bool
func (BLSSignature) MarshalJSON ¶
func (p BLSSignature) MarshalJSON() ([]byte, error)
func (BLSSignature) String ¶
func (sig BLSSignature) String() string
func (*BLSSignature) UnmarshalJSON ¶
func (p *BLSSignature) UnmarshalJSON(enc []byte) error
type EthereumPrivKey ¶
type EthereumPrivKey []byte
func (EthereumPrivKey) Bytes ¶
func (privKey EthereumPrivKey) Bytes() []byte
func (EthereumPrivKey) Equals ¶
func (privKey EthereumPrivKey) Equals(other PrivKey) bool
func (EthereumPrivKey) MarshalJSON ¶
func (privKey EthereumPrivKey) MarshalJSON() ([]byte, error)
func (EthereumPrivKey) PubKey ¶
func (privKey EthereumPrivKey) PubKey() PubKey
func (EthereumPrivKey) Sign ¶
func (privKey EthereumPrivKey) Sign(msg []byte) Signature
func (*EthereumPrivKey) UnmarshalJSON ¶
func (privKey *EthereumPrivKey) UnmarshalJSON(enc []byte) error
type EthereumPubKey ¶
type EthereumPubKey []byte
func (EthereumPubKey) Address ¶
func (pubKey EthereumPubKey) Address() []byte
func (EthereumPubKey) Bytes ¶
func (pubKey EthereumPubKey) Bytes() []byte
func (EthereumPubKey) Equals ¶
func (pubKey EthereumPubKey) Equals(other PubKey) bool
func (EthereumPubKey) KeyString ¶
func (pubKey EthereumPubKey) KeyString() string
func (EthereumPubKey) MarshalJSON ¶
func (pubKey EthereumPubKey) MarshalJSON() ([]byte, error)
func (*EthereumPubKey) UnmarshalJSON ¶
func (p *EthereumPubKey) UnmarshalJSON(enc []byte) error
func (EthereumPubKey) VerifyBytes ¶
func (pubKey EthereumPubKey) VerifyBytes(msg []byte, sig_ Signature) bool
type EthereumSignature ¶
type EthereumSignature []byte
func (EthereumSignature) Bytes ¶
func (sig EthereumSignature) Bytes() []byte
func (EthereumSignature) Equals ¶
func (sig EthereumSignature) Equals(other Signature) bool
func (EthereumSignature) IsZero ¶
func (sig EthereumSignature) IsZero() bool
func (EthereumSignature) MarshalJSON ¶
func (sig EthereumSignature) MarshalJSON() ([]byte, error)
func (EthereumSignature) SigByte ¶
func (sig EthereumSignature) SigByte() []byte
func (EthereumSignature) String ¶
func (sig EthereumSignature) String() string
func (*EthereumSignature) UnmarshalJSON ¶
func (sig *EthereumSignature) UnmarshalJSON(enc []byte) error
type PrivKey ¶
type PrivKey interface {
	Bytes() []byte
	Sign(msg []byte) Signature
	PubKey() PubKey
	Equals(PrivKey) bool
}
    PrivKey is part of PrivAccount and state.PrivValidator.
func PrivKeyFromBytes ¶
type PrivKeyEd25519 ¶
type PrivKeyEd25519 [64]byte
Implements PrivKey
func GenPrivKeyEd25519 ¶
func GenPrivKeyEd25519() PrivKeyEd25519
func GenPrivKeyEd25519FromSecret ¶
func GenPrivKeyEd25519FromSecret(secret []byte) PrivKeyEd25519
NOTE: secret should be the output of a KDF like bcrypt, if it's derived from user input.
func (PrivKeyEd25519) Bytes ¶
func (privKey PrivKeyEd25519) Bytes() []byte
func (PrivKeyEd25519) Equals ¶
func (privKey PrivKeyEd25519) Equals(other PrivKey) bool
func (PrivKeyEd25519) Generate ¶
func (privKey PrivKeyEd25519) Generate(index int) PrivKeyEd25519
Deterministically generates new priv-key bytes from key.
func (PrivKeyEd25519) MarshalJSON ¶
func (p PrivKeyEd25519) MarshalJSON() ([]byte, error)
func (PrivKeyEd25519) PubKey ¶
func (privKey PrivKeyEd25519) PubKey() PubKey
func (PrivKeyEd25519) Sign ¶
func (privKey PrivKeyEd25519) Sign(msg []byte) Signature
func (PrivKeyEd25519) String ¶
func (privKey PrivKeyEd25519) String() string
func (PrivKeyEd25519) ToCurve25519 ¶
func (privKey PrivKeyEd25519) ToCurve25519() *[32]byte
func (*PrivKeyEd25519) UnmarshalJSON ¶
func (p *PrivKeyEd25519) UnmarshalJSON(enc []byte) error
type PrivKeyS ¶
type PrivKeyS struct {
	PrivKey
}
    PrivKeyS add json serialization to PrivKey
func WrapPrivKey ¶
func (PrivKeyS) MarshalJSON ¶
func (*PrivKeyS) UnmarshalJSON ¶
type PrivKeySecp256k1 ¶
type PrivKeySecp256k1 [32]byte
Implements PrivKey
func GenPrivKeySecp256k1 ¶
func GenPrivKeySecp256k1() PrivKeySecp256k1
func GenPrivKeySecp256k1FromSecret ¶
func GenPrivKeySecp256k1FromSecret(secret []byte) PrivKeySecp256k1
NOTE: secret should be the output of a KDF like bcrypt, if it's derived from user input.
func (PrivKeySecp256k1) Bytes ¶
func (privKey PrivKeySecp256k1) Bytes() []byte
func (PrivKeySecp256k1) Equals ¶
func (privKey PrivKeySecp256k1) Equals(other PrivKey) bool
func (PrivKeySecp256k1) MarshalJSON ¶
func (p PrivKeySecp256k1) MarshalJSON() ([]byte, error)
func (PrivKeySecp256k1) PubKey ¶
func (privKey PrivKeySecp256k1) PubKey() PubKey
func (PrivKeySecp256k1) Sign ¶
func (privKey PrivKeySecp256k1) Sign(msg []byte) Signature
func (PrivKeySecp256k1) String ¶
func (privKey PrivKeySecp256k1) String() string
func (*PrivKeySecp256k1) UnmarshalJSON ¶
func (p *PrivKeySecp256k1) UnmarshalJSON(enc []byte) error
type PubKey ¶
type PubKey interface {
	Address() []byte
	Bytes() []byte
	KeyString() string
	VerifyBytes(msg []byte, sig Signature) bool
	Equals(PubKey) bool
}
    PubKey is part of Account and Validator.
func PubKeyFromBytes ¶
type PubKeyEd25519 ¶
type PubKeyEd25519 [32]byte
Implements PubKey
func (PubKeyEd25519) Address ¶
func (pubKey PubKeyEd25519) Address() []byte
func (PubKeyEd25519) Bytes ¶
func (pubKey PubKeyEd25519) Bytes() []byte
func (PubKeyEd25519) Equals ¶
func (pubKey PubKeyEd25519) Equals(other PubKey) bool
func (PubKeyEd25519) KeyString ¶
func (pubKey PubKeyEd25519) KeyString() string
Must return the full bytes in hex. Used for map keying, etc.
func (PubKeyEd25519) MarshalJSON ¶
func (p PubKeyEd25519) MarshalJSON() ([]byte, error)
func (PubKeyEd25519) String ¶
func (pubKey PubKeyEd25519) String() string
func (PubKeyEd25519) ToCurve25519 ¶
func (pubKey PubKeyEd25519) ToCurve25519() *[32]byte
For use with golang/crypto/nacl/box If error, returns nil.
func (*PubKeyEd25519) UnmarshalJSON ¶
func (p *PubKeyEd25519) UnmarshalJSON(enc []byte) error
func (PubKeyEd25519) VerifyBytes ¶
func (pubKey PubKeyEd25519) VerifyBytes(msg []byte, sig_ Signature) bool
type PubKeyS ¶
type PubKeyS struct {
	PubKey
}
    PubKeyS add json serialization to PubKey
func WrapPubKey ¶
func (PubKeyS) MarshalJSON ¶
func (*PubKeyS) UnmarshalJSON ¶
type PubKeySecp256k1 ¶
type PubKeySecp256k1 [33]byte
Implements PubKey. Compressed pubkey (just the x-cord), prefixed with 0x02 or 0x03, depending on the y-cord.
func (PubKeySecp256k1) Address ¶
func (pubKey PubKeySecp256k1) Address() []byte
Implements Bitcoin style addresses: RIPEMD160(SHA256(pubkey))
func (PubKeySecp256k1) Bytes ¶
func (pubKey PubKeySecp256k1) Bytes() []byte
func (PubKeySecp256k1) Equals ¶
func (pubKey PubKeySecp256k1) Equals(other PubKey) bool
func (PubKeySecp256k1) KeyString ¶
func (pubKey PubKeySecp256k1) KeyString() string
Must return the full bytes in hex. Used for map keying, etc.
func (PubKeySecp256k1) MarshalJSON ¶
func (p PubKeySecp256k1) MarshalJSON() ([]byte, error)
func (PubKeySecp256k1) String ¶
func (pubKey PubKeySecp256k1) String() string
func (*PubKeySecp256k1) UnmarshalJSON ¶
func (p *PubKeySecp256k1) UnmarshalJSON(enc []byte) error
func (PubKeySecp256k1) VerifyBytes ¶
func (pubKey PubKeySecp256k1) VerifyBytes(msg []byte, sig_ Signature) bool
type SignatureEd25519 ¶
type SignatureEd25519 [64]byte
Implements Signature
func (SignatureEd25519) Bytes ¶
func (sig SignatureEd25519) Bytes() []byte
func (SignatureEd25519) Equals ¶
func (sig SignatureEd25519) Equals(other Signature) bool
func (SignatureEd25519) IsZero ¶
func (sig SignatureEd25519) IsZero() bool
func (SignatureEd25519) MarshalJSON ¶
func (p SignatureEd25519) MarshalJSON() ([]byte, error)
func (SignatureEd25519) String ¶
func (sig SignatureEd25519) String() string
func (*SignatureEd25519) UnmarshalJSON ¶
func (p *SignatureEd25519) UnmarshalJSON(enc []byte) error
type SignatureS ¶
type SignatureS struct {
	Signature
}
    SignatureS add json serialization to Signature
func WrapSignature ¶
func WrapSignature(sig Signature) SignatureS
func (SignatureS) Empty ¶
func (p SignatureS) Empty() bool
func (SignatureS) MarshalJSON ¶
func (p SignatureS) MarshalJSON() ([]byte, error)
func (*SignatureS) UnmarshalJSON ¶
func (p *SignatureS) UnmarshalJSON(data []byte) (err error)
type SignatureSecp256k1 ¶
type SignatureSecp256k1 []byte
Implements Signature
func (SignatureSecp256k1) Bytes ¶
func (sig SignatureSecp256k1) Bytes() []byte
func (SignatureSecp256k1) Equals ¶
func (sig SignatureSecp256k1) Equals(other Signature) bool
func (SignatureSecp256k1) IsZero ¶
func (sig SignatureSecp256k1) IsZero() bool
func (SignatureSecp256k1) MarshalJSON ¶
func (p SignatureSecp256k1) MarshalJSON() ([]byte, error)
func (SignatureSecp256k1) String ¶
func (sig SignatureSecp256k1) String() string
func (*SignatureSecp256k1) UnmarshalJSON ¶
func (p *SignatureSecp256k1) UnmarshalJSON(enc []byte) error