Documentation ¶
Index ¶
- Constants
- func DecryptKeyshares(encrypted []byte, passphrase string) ([]byte, error)
- func EncryptKeyshares(path, passphrase string) ([]byte, error)
- func RecoverKeyShares(conf config.Bifrost, thorchain thorclient.ThorchainBridge) error
- type KeyGen
- type KeySign
- func (s *KeySign) ExportAsKeyStore(password string) (*keys.EncryptedKeyJSON, error)
- func (s *KeySign) ExportAsMnemonic() (string, error)
- func (s *KeySign) ExportAsPrivateKey() (string, error)
- func (s *KeySign) GetAddr() ctypes.AccAddress
- func (s *KeySign) GetPrivKey() crypto.PrivKey
- func (s *KeySign) RemoteSign(msg []byte, poolPubKey string) ([]byte, []byte, error)
- func (s *KeySign) Sign(msg tx.StdSignMsg) ([]byte, error)
- func (s *KeySign) SignWithPool(msg tx.StdSignMsg, poolPubKey common.PubKey) ([]byte, error)
- func (s *KeySign) Start()
- func (s *KeySign) Stop()
- type KeysignError
- type MockThorchainKeyManager
- func (k *MockThorchainKeyManager) ExportAsKeyStore(password string) (*keys.EncryptedKeyJSON, error)
- func (k *MockThorchainKeyManager) ExportAsMnemonic() (string, error)
- func (k *MockThorchainKeyManager) ExportAsPrivateKey() (string, error)
- func (k *MockThorchainKeyManager) GetAddr() ctypes.AccAddress
- func (k *MockThorchainKeyManager) GetPrivKey() crypto.PrivKey
- func (k *MockThorchainKeyManager) RemoteSign(msg []byte, poolPubKey string) ([]byte, []byte, error)
- func (k *MockThorchainKeyManager) Sign(tx.StdSignMsg) ([]byte, error)
- func (k *MockThorchainKeyManager) SignWithPool(msg tx.StdSignMsg, poolPubKey common.PubKey) ([]byte, error)
- func (k *MockThorchainKeyManager) Start()
- func (k *MockThorchainKeyManager) Stop()
- type ThorchainKeyManager
Constants ¶
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 )
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
EncryptKeyshares decrypts the provided encrypted keyshares using the passphrase.
func EncryptKeyshares ¶ added in v1.106.0
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
type KeySign ¶
type KeySign struct {
// contains filtered or unexported fields
}
KeySign is a proxy between signer and TSS
func NewKeySign ¶
func NewKeySign(server 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 ¶
ExportAsMnemonic THORNode don't need this function for TSS, just keep it to fulfill KeyManager interface
func (*KeySign) ExportAsPrivateKey ¶
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 ¶
GetPrivKey THORNode don't actually have any private key , but just return something
func (*KeySign) RemoteSign ¶
RemoteSign send the request to local task queue
func (*KeySign) SignWithPool ¶
type KeysignError ¶
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) IsRound7 ¶ added in v1.109.0
func (k KeysignError) IsRound7() bool
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 (k *MockThorchainKeyManager) GetAddr() ctypes.AccAddress
func (*MockThorchainKeyManager) GetPrivKey ¶
func (k *MockThorchainKeyManager) GetPrivKey() crypto.PrivKey
func (*MockThorchainKeyManager) RemoteSign ¶
func (*MockThorchainKeyManager) Sign ¶
func (k *MockThorchainKeyManager) Sign(tx.StdSignMsg) ([]byte, error)
func (*MockThorchainKeyManager) SignWithPool ¶
func (k *MockThorchainKeyManager) SignWithPool(msg tx.StdSignMsg, poolPubKey common.PubKey) ([]byte, error)
func (*MockThorchainKeyManager) Start ¶ added in v1.117.0
func (k *MockThorchainKeyManager) Start()
func (*MockThorchainKeyManager) Stop ¶ added in v1.117.0
func (k *MockThorchainKeyManager) Stop()
type ThorchainKeyManager ¶
type ThorchainKeyManager interface { keys.KeyManager SignWithPool(msg tx.StdSignMsg, poolPubKey common.PubKey) ([]byte, error) RemoteSign(msg []byte, poolPubKey string) ([]byte, []byte, error) Start() Stop() }
ThorchainKeyManager it is a composite of binance chain keymanager