signer

package
v1.101.0 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2023 License: MIT Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultSignerLevelDBFolder = "signer_data"
)

Variables

This section is empty.

Functions

func GetEntropy

func GetEntropy(passphrase string) float64

Return the passphrase entropy based in 'Entropy = log2(S^L)'

Types

type ConstantsProvider

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

ConstantsProvider which will query mayachain to get the constants value per request it will also cache the constant values internally

func NewConstantsProvider

func NewConstantsProvider(bridge *mayaclient.MayachainBridge) *ConstantsProvider

NewConstantsProvider create a new instance of ConstantsProvider

func (*ConstantsProvider) EnsureConstants

func (cp *ConstantsProvider) EnsureConstants(thorchainBlockHeight int64) error

func (*ConstantsProvider) GetInt64Value

func (cp *ConstantsProvider) GetInt64Value(thorchainBlockHeight int64, key constants.ConstantName) (int64, error)

GetInt64Value get the constant value that match the given key

type Signer

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

Signer will pull the tx out from thorchain and then forward it to chain

func NewSigner

func NewSigner(cfg config.BifrostSignerConfiguration,
	thorchainBridge *mayaclient.MayachainBridge,
	thorKeys *mayaclient.Keys,
	pubkeyMgr pubkeymanager.PubKeyValidator,
	tssServer *tssp.TssServer,
	chains map[common.Chain]chainclients.ChainClient,
	m *metrics.Metrics,
	tssKeysignMetricMgr *metrics.TssKeysignMetricMgr,
) (*Signer, error)

NewSigner create a new instance of signer

func (*Signer) Start

func (s *Signer) Start() error

Start signer process

func (*Signer) Stop

func (s *Signer) Stop() error

Stop the signer process

type SignerStorage

type SignerStorage interface {
	Set(item TxOutStoreItem) error
	Batch(items []TxOutStoreItem) error
	Get(key string) (TxOutStoreItem, error)
	Has(key string) bool
	Remove(item TxOutStoreItem) error
	List() []TxOutStoreItem
	OrderedLists() map[string][]TxOutStoreItem
	Close() error
}

type SignerStore

type SignerStore struct {
	*blockscanner.LevelDBScannerStorage
	// contains filtered or unexported fields
}

func NewSignerStore

func NewSignerStore(levelDbFolder, passphrase string) (*SignerStore, error)

NewSignerStore create a new instance of SignerStore. If no folder is given, an in memory implementation is used.

func (*SignerStore) Batch

func (s *SignerStore) Batch(items []TxOutStoreItem) error

func (*SignerStore) Close

func (s *SignerStore) Close() error

Close underlying db

func (*SignerStore) Get

func (s *SignerStore) Get(key string) (item TxOutStoreItem, err error)

func (*SignerStore) GetInternalDb

func (s *SignerStore) GetInternalDb() *leveldb.DB

func (*SignerStore) Has

func (s *SignerStore) Has(key string) (ok bool)

Has check whether the given key exist in key value store

func (*SignerStore) List

func (s *SignerStore) List() []TxOutStoreItem

List send back tx out to retry depending on arg failed only

func (*SignerStore) OrderedLists

func (s *SignerStore) OrderedLists() map[string][]TxOutStoreItem

OrderedLists

func (*SignerStore) Remove

func (s *SignerStore) Remove(item TxOutStoreItem) error

Remove remove the given item from key values store

func (*SignerStore) Set

func (s *SignerStore) Set(item TxOutStoreItem) error

type ThorchainBlockScan

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

func NewThorchainBlockScan

NewThorchainBlockScan create a new instance of thorchain block scanner

func (*ThorchainBlockScan) FetchMemPool

func (c *ThorchainBlockScan) FetchMemPool(height int64) (types.TxIn, error)

func (*ThorchainBlockScan) FetchTxs

func (b *ThorchainBlockScan) FetchTxs(height int64) (types.TxIn, error)

func (*ThorchainBlockScan) GetHeight

func (b *ThorchainBlockScan) GetHeight() (int64, error)

func (*ThorchainBlockScan) GetKeygenMessages

func (b *ThorchainBlockScan) GetKeygenMessages() <-chan ttypes.KeygenBlock

func (*ThorchainBlockScan) GetTxOutMessages

func (b *ThorchainBlockScan) GetTxOutMessages() <-chan types.TxOut

GetMessages return the channel

type TxOutStoreItem

type TxOutStoreItem struct {
	TxOutItem types.TxOutItem
	Status    TxStatus
	Height    int64
	Index     int64
}

func NewTxOutStoreItem

func NewTxOutStoreItem(height int64, item types.TxOutItem, idx int64) TxOutStoreItem

func (*TxOutStoreItem) Key

func (s *TxOutStoreItem) Key() string

type TxStatus

type TxStatus int
const (
	TxUnknown TxStatus = iota
	TxAvailable
	TxUnavailable
	TxSpent
)

Jump to

Keyboard shortcuts

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