Documentation ¶
Index ¶
- type ConfigPublicKey
- type EncryptedKeyBundle
- type KeyBundle
- func (pk *KeyBundle) ConfigDiffieHellman(base *[curve25519.PointSize]byte) (sharedPoint *[curve25519.PointSize]byte, err error)
- func (pk *KeyBundle) Encrypt(auth string, scryptParams utils.ScryptParams) (*EncryptedKeyBundle, error)
- func (pk KeyBundle) GoStringer() string
- func (pk *KeyBundle) MarshalJSON() ([]byte, error)
- func (pk *KeyBundle) PublicKeyAddressOnChain() ocrtypes.OnChainSigningAddress
- func (pk *KeyBundle) PublicKeyConfig() [curve25519.PointSize]byte
- func (pk *KeyBundle) PublicKeyOffChain() ocrtypes.OffchainPublicKey
- func (pk *KeyBundle) SignOffChain(msg []byte) (signature []byte, err error)
- func (pk *KeyBundle) SignOnChain(msg []byte) (signature []byte, err error)
- func (pk KeyBundle) String() string
- func (pk *KeyBundle) UnmarshalJSON(b []byte) (err error)
- type OffChainPublicKey
- type OnChainPublicKey
- type OnChainSigningAddress
- func (ocsa OnChainSigningAddress) MarshalJSON() ([]byte, error)
- func (ocsa *OnChainSigningAddress) Scan(value interface{}) error
- func (ocsa OnChainSigningAddress) String() string
- func (ocsa *OnChainSigningAddress) UnmarshalJSON(input []byte) error
- func (ocsa OnChainSigningAddress) Value() (driver.Value, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConfigPublicKey ¶
type ConfigPublicKey [curve25519.PointSize]byte
ConfigPublicKey represents the public key for the config decryption keypair
func (ConfigPublicKey) MarshalJSON ¶
func (cpk ConfigPublicKey) MarshalJSON() ([]byte, error)
func (*ConfigPublicKey) Scan ¶
func (cpk *ConfigPublicKey) Scan(value interface{}) error
Scan reads the database value and returns an instance.
func (ConfigPublicKey) String ¶
func (cpk ConfigPublicKey) String() string
func (*ConfigPublicKey) UnmarshalJSON ¶
func (cpk *ConfigPublicKey) UnmarshalJSON(input []byte) error
type EncryptedKeyBundle ¶
type EncryptedKeyBundle struct { ID models.Sha256Hash `json:"-" gorm:"primary_key"` OnChainSigningAddress OnChainSigningAddress `json:"onChainSigningAddress"` OffChainPublicKey OffChainPublicKey `json:"offChainPublicKey"` ConfigPublicKey ConfigPublicKey `json:"configPublicKey"` EncryptedPrivateKeys []byte `json:"-"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt,omitempty"` DeletedAt null.Time `json:"deletedAt,omitempty"` }
EncryptedKeyBundle holds an encrypted KeyBundle
func (*EncryptedKeyBundle) Decrypt ¶
func (ekb *EncryptedKeyBundle) Decrypt(auth string) (*KeyBundle, error)
Decrypt returns the PrivateKeys in e, decrypted via auth, or an error
func (EncryptedKeyBundle) GetID ¶
func (ekb EncryptedKeyBundle) GetID() string
func (*EncryptedKeyBundle) SetID ¶
func (ekb *EncryptedKeyBundle) SetID(value string) error
func (EncryptedKeyBundle) TableName ¶
func (EncryptedKeyBundle) TableName() string
type KeyBundle ¶
type KeyBundle struct { ID models.Sha256Hash // contains filtered or unexported fields }
KeyBundle represents the bundle of keys needed for OCR
func NewKeyBundle ¶
NewKeyBundle makes a new set of OCR key bundles from cryptographically secure entropy
func NewKeyBundleFrom ¶
func (*KeyBundle) ConfigDiffieHellman ¶
func (pk *KeyBundle) ConfigDiffieHellman(base *[curve25519.PointSize]byte) ( sharedPoint *[curve25519.PointSize]byte, err error, )
ConfigDiffieHellman returns the shared point obtained by multiplying someone's public key by a secret scalar ( in this case, the offChainEncryption key.)
func (*KeyBundle) Encrypt ¶
func (pk *KeyBundle) Encrypt(auth string, scryptParams utils.ScryptParams) (*EncryptedKeyBundle, error)
Encrypt combines the KeyBundle into a single json-serialized bytes array and then encrypts
func (KeyBundle) GoStringer ¶
GoStringer reduces the risk of accidentally logging the private key
func (*KeyBundle) MarshalJSON ¶
MarshalJSON marshals the private keys into json
func (*KeyBundle) PublicKeyAddressOnChain ¶
func (pk *KeyBundle) PublicKeyAddressOnChain() ocrtypes.OnChainSigningAddress
PublicKeyAddressOnChain returns public component of the keypair used in SignOnChain
func (*KeyBundle) PublicKeyConfig ¶
func (pk *KeyBundle) PublicKeyConfig() [curve25519.PointSize]byte
PublicKeyConfig returns the public component of the keypair used in ConfigKeyShare
func (*KeyBundle) PublicKeyOffChain ¶
func (pk *KeyBundle) PublicKeyOffChain() ocrtypes.OffchainPublicKey
PublicKeyOffChain returns the pbulic component of the keypair used in SignOffChain
func (*KeyBundle) SignOffChain ¶
SignOffChain returns an EdDSA-Ed25519 signature on msg.
func (*KeyBundle) SignOnChain ¶
SignOnChain returns an ethereum-style ECDSA secp256k1 signature on msg.
func (*KeyBundle) UnmarshalJSON ¶
UnmarshalJSON constructs KeyBundle from raw json
type OffChainPublicKey ¶
func (OffChainPublicKey) String ¶
func (ocpk OffChainPublicKey) String() string
type OnChainPublicKey ¶
func (OnChainPublicKey) Address ¶
func (k OnChainPublicKey) Address() OnChainSigningAddress
type OnChainSigningAddress ¶
type OnChainSigningAddress ocrtypes.OnChainSigningAddress
func (OnChainSigningAddress) MarshalJSON ¶
func (ocsa OnChainSigningAddress) MarshalJSON() ([]byte, error)
func (*OnChainSigningAddress) Scan ¶
func (ocsa *OnChainSigningAddress) Scan(value interface{}) error
func (OnChainSigningAddress) String ¶
func (ocsa OnChainSigningAddress) String() string
func (*OnChainSigningAddress) UnmarshalJSON ¶
func (ocsa *OnChainSigningAddress) UnmarshalJSON(input []byte) error