tss

package
v1.108.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 14, 2023 License: MIT Imports: 45 Imported by: 9

Documentation

Index

Constants

View Source
const (
	// AgeWorkFactor is the work factor used for encryption:
	// https://pkg.go.dev/filippo.io/age#ScryptRecipient.SetWorkFactor
	// NOTE: Periodically re-evaluate and increase work factor as needed.
	AgeWorkFactor = 18

	// Salts are used before hashing the passphrase for each layer of encryption.
	SaltAge    = 1
	SaltAES    = 2
	SaltChaCha = 3
)
View Source
const MinimumMnemonicEntropy = 3.67

MinimumMnemonicEntropy was determined by checking the minimum entropy of 1e8 uniquely generated BIP39 mnemonics. In all likelihood, a validator mnemonic should not have a lower entropy value.

Variables

This section is empty.

Functions

func DecryptKeyshares added in v1.106.0

func DecryptKeyshares(encrypted []byte, passphrase string) ([]byte, error)

EncryptKeyshares decrypts the provided encrypted keyshares using the passphrase.

func EncryptKeyshares added in v1.106.0

func EncryptKeyshares(path, passphrase string) ([]byte, error)

EncryptKeyshares encrypts the keyshares at the provided path using the passphrase.

func RecoverKeyShares added in v1.106.0

func RecoverKeyShares(conf config.Bifrost, thorchain *thorclient.ThorchainBridge) error

Types

type KeyGen

type KeyGen struct {
	// contains filtered or unexported fields
}

KeyGen is

func NewTssKeyGen

func NewTssKeyGen(keys *thorclient.Keys, server *tss.TssServer, bridge *thorclient.ThorchainBridge) (*KeyGen, error)

NewTssKeyGen create a new instance of TssKeyGen which will look after TSS key stuff

func (*KeyGen) GenerateNewKey

func (kg *KeyGen) GenerateNewKey(keygenBlockHeight int64, pKeys common.PubKeys) (common.PubKeySet, types.Blame, error)

type KeySign

type KeySign struct {
	// contains filtered or unexported fields
}

KeySign is a proxy between signer and TSS

func NewKeySign

func NewKeySign(server *tss.TssServer, bridge *thorclient.ThorchainBridge) (*KeySign, error)

NewKeySign create a new instance of KeySign

func (*KeySign) ExportAsKeyStore

func (s *KeySign) ExportAsKeyStore(password string) (*keys.EncryptedKeyJSON, error)

ExportAsKeyStore THORNode don't need this function for TSS, just keep it to fulfill KeyManager interface

func (*KeySign) ExportAsMnemonic

func (s *KeySign) ExportAsMnemonic() (string, error)

ExportAsMnemonic THORNode don't need this function for TSS, just keep it to fulfill KeyManager interface

func (*KeySign) ExportAsPrivateKey

func (s *KeySign) ExportAsPrivateKey() (string, error)

ExportAsPrivateKey THORNode don't need this function for TSS, just keep it to fulfill KeyManager interface

func (*KeySign) GetAddr

func (s *KeySign) GetAddr() ctypes.AccAddress

func (*KeySign) GetPrivKey

func (s *KeySign) GetPrivKey() crypto.PrivKey

GetPrivKey THORNode don't actually have any private key , but just return something

func (*KeySign) RemoteSign

func (s *KeySign) RemoteSign(msg []byte, poolPubKey string) ([]byte, []byte, error)

RemoteSign send the request to local task queue

func (*KeySign) Sign

func (s *KeySign) Sign(msg tx.StdSignMsg) ([]byte, error)

func (*KeySign) SignWithPool

func (s *KeySign) SignWithPool(msg tx.StdSignMsg, poolPubKey common.PubKey) ([]byte, error)

func (*KeySign) Start added in v0.41.0

func (s *KeySign) Start()

Start the keysign workers

func (*KeySign) Stop added in v0.41.0

func (s *KeySign) Stop()

Stop Keysign

type KeysignError

type KeysignError struct {
	Blame types.Blame
}

KeysignError is a custom error create to include which party to blame

func NewKeysignError

func NewKeysignError(blame types.Blame) KeysignError

NewKeysignError create a new instance of KeysignError

func (KeysignError) Error

func (k KeysignError) Error() string

Error implement error interface

type MockThorchainKeyManager

type MockThorchainKeyManager struct{}

MockThorchainKeymanager is to mock the TSS , so as we could test it

func (*MockThorchainKeyManager) ExportAsKeyStore

func (k *MockThorchainKeyManager) ExportAsKeyStore(password string) (*keys.EncryptedKeyJSON, error)

func (*MockThorchainKeyManager) ExportAsMnemonic

func (k *MockThorchainKeyManager) ExportAsMnemonic() (string, error)

func (*MockThorchainKeyManager) ExportAsPrivateKey

func (k *MockThorchainKeyManager) ExportAsPrivateKey() (string, error)

func (*MockThorchainKeyManager) GetAddr

func (*MockThorchainKeyManager) GetPrivKey

func (k *MockThorchainKeyManager) GetPrivKey() crypto.PrivKey

func (*MockThorchainKeyManager) RemoteSign

func (k *MockThorchainKeyManager) RemoteSign(msg []byte, poolPubKey string) ([]byte, []byte, error)

func (*MockThorchainKeyManager) Sign

func (*MockThorchainKeyManager) SignWithPool

func (k *MockThorchainKeyManager) SignWithPool(msg tx.StdSignMsg, poolPubKey common.PubKey) ([]byte, error)

type ThorchainKeyManager

type ThorchainKeyManager interface {
	keys.KeyManager
	SignWithPool(msg tx.StdSignMsg, poolPubKey common.PubKey) ([]byte, error)
	RemoteSign(msg []byte, poolPubKey string) ([]byte, []byte, error)
}

ThorchainKeyManager it is a composite of binance chain keymanager

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL