common

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2023 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Contains

func Contains(s []*btss.PartyID, e *btss.PartyID) bool

func GetMsgRound

func GetMsgRound(msg []byte, partyID *btss.PartyID, isBroadcast bool) (blame.RoundInfo, error)

func InitLog

func InitLog(level string, pretty bool, serviceValue string)

func MsgToHashInt

func MsgToHashInt(msg []byte) (*big.Int, error)

func MsgToHashString

func MsgToHashString(msg []byte) (string, error)

Types

type BulkWireMsg

type BulkWireMsg struct {
	WiredBulkMsgs []byte
	MsgIdentifier string
	Routing       *btss.MessageRouting
}

func NewBulkWireMsg

func NewBulkWireMsg(msg []byte, id string, r *btss.MessageRouting) BulkWireMsg

type LocalCacheItem

type LocalCacheItem struct {
	Msg  *messages.WireMessage
	Hash string

	ConfirmedList map[string]string
	// contains filtered or unexported fields
}

LocalCacheItem used to cache the unconfirmed broadcast message

func NewLocalCacheItem

func NewLocalCacheItem(msg *messages.WireMessage, hash string) *LocalCacheItem

func (*LocalCacheItem) GetPeers

func (l *LocalCacheItem) GetPeers() []string

func (*LocalCacheItem) TotalConfirmParty

func (l *LocalCacheItem) TotalConfirmParty() int

TotalConfirmParty number of parties that already confirmed their hash

func (*LocalCacheItem) UpdateConfirmList

func (l *LocalCacheItem) UpdateConfirmList(P2PID, hash string)

UpdateConfirmList add the given party's hash into the confirm list

type PartyInfo

type PartyInfo struct {
	PartyMap   *sync.Map
	PartyIDMap map[string]*btss.PartyID
}

PartyInfo the information used by tss key gen and key sign

type Status

type Status byte
const (
	NA Status = iota
	Success
	Fail
)

type TssCommon

type TssCommon struct {
	PartyIDtoP2PID map[string]peer.ID

	TssMsg       chan *p2p.Message
	P2PPeersLock *sync.RWMutex
	P2PPeers     []peer.ID // most of tss message are broadcast, we store the peers ID to avoid iterating
	// contains filtered or unexported fields
}

func NewTssCommon

func NewTssCommon(peerID string, broadcastChannel chan *messages.BroadcastMsgChan, conf TssConfig, msgID string, privKey tcrypto.PrivKey, msgNum int) *TssCommon

func (*TssCommon) GetBlameMgr

func (t *TssCommon) GetBlameMgr() *blame.Manager

func (*TssCommon) GetConf

func (t *TssCommon) GetConf() TssConfig

GetConf get current configuration for Tss

func (*TssCommon) GetLocalPeerID

func (t *TssCommon) GetLocalPeerID() string

func (*TssCommon) GetTaskDone

func (t *TssCommon) GetTaskDone() chan struct{}

func (*TssCommon) NotifyTaskDone

func (t *TssCommon) NotifyTaskDone() error

func (*TssCommon) ProcessInboundMessages

func (t *TssCommon) ProcessInboundMessages(finishChan chan struct{}, wg *sync.WaitGroup)

func (*TssCommon) ProcessOneMessage

func (t *TssCommon) ProcessOneMessage(wrappedMsg *messages.WrappedMessage, peerID string) error

func (*TssCommon) ProcessOutCh

func (t *TssCommon) ProcessOutCh(msg btss.Message, msgType messages.THORChainTSSMessageType) error

func (*TssCommon) SetLocalPeerID

func (t *TssCommon) SetLocalPeerID(peerID string)

func (*TssCommon) SetPartyInfo

func (t *TssCommon) SetPartyInfo(partyInfo *PartyInfo)

func (*TssCommon) TryGetAllLocalCached

func (t *TssCommon) TryGetAllLocalCached() []*LocalCacheItem

func (*TssCommon) TryGetLocalCacheItem

func (t *TssCommon) TryGetLocalCacheItem(key string) *LocalCacheItem

type TssConfig

type TssConfig struct {
	// Party Timeout defines how long do we wait for the party to form
	PartyTimeout time.Duration
	// KeyGenTimeoutSeconds defines how long do we wait the keygen parties to pass messages along
	KeyGenTimeout time.Duration
	// KeySignTimeoutSeconds defines how long do we wait keysign
	KeySignTimeout time.Duration
	// Pre-parameter define the pre-parameter generations timeout
	PreParamTimeout time.Duration
	// enable the tss monitor
	EnableMonitor bool
}

Jump to

Keyboard shortcuts

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