Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BlockCounter ¶
func BlockCounter() (chain.BlockCounter, error)
BlockCounter creates a BlockCounter that runs completely locally. It is designed to simply increase block height at a set time interval in the background.
Types ¶
type Chain ¶
type Chain interface { chain.Handle // GetLastDKGResult returns the last DKG result submitted to the chain // as well as all the signatures that supported that result. GetLastDKGResult() (*relaychain.DKGResult, map[relaychain.GroupMemberIndex][]byte) // GetLastRelayEntry returns the last relay entry submitted to the chain. GetLastRelayEntry() []byte // GetRelayEntryTimeoutReports returns an array of blocks which denote at what // block a relay entry timeout occured. GetRelayEntryTimeoutReports() []uint64 }
Chain is an extention of chain.Handle interface which exposes additional functions useful for testing.
func Connect ¶
Connect initializes a local stub implementation of the chain interfaces for testing. It uses auto-generated operator key.
func ConnectWithKey ¶
func ConnectWithKey( groupSize int, honestThreshold int, minimumStake *big.Int, operatorKey *ecdsa.PrivateKey, ) Chain
ConnectWithKey initializes a local stub implementation of the chain interfaces for testing.
type StakeMonitor ¶
type StakeMonitor struct {
// contains filtered or unexported fields
}
StakeMonitor implements `chain.StakeMonitor` interface and works as a local stub for testing.
func NewStakeMonitor ¶
func NewStakeMonitor(minimumStake *big.Int) *StakeMonitor
NewStakeMonitor creates a new instance of `StakeMonitor` test stub.
func (*StakeMonitor) HasMinimumStake ¶
func (lsm *StakeMonitor) HasMinimumStake(address string) (bool, error)
HasMinimumStake checks if the provided address staked enough to become a network operator. The minimum stake is an on-chain parameter.
func (*StakeMonitor) StakeTokens ¶
func (lsm *StakeMonitor) StakeTokens(address string) error
StakeTokens stakes enough tokens for the provided address to be a network operator. It stakes `5 * minimumStake` by default.
func (*StakeMonitor) StakerFor ¶
func (lsm *StakeMonitor) StakerFor(address string) (chain.Staker, error)
StakerFor returns a staker.Staker instance for the given address. Returns an error if the address is invalid.
func (*StakeMonitor) UnstakeTokens ¶
func (lsm *StakeMonitor) UnstakeTokens(address string) error
UnstakeTokens unstakes all tokens from the provided address so it can no longer be a network operator.