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