Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Relay ¶
type Relay interface {
// GetBestKnownDigest returns the best known digest.
GetBestKnownDigest() (btc.Digest, error)
// IsAncestor checks if ancestorDigest is an ancestor of the
// descendantDigest. The limit parameter determines the number of blocks
// to check.
IsAncestor(
ancestorDigest btc.Digest,
descendantDigest btc.Digest,
limit *big.Int,
) (bool, error)
// FindHeight finds the height of a header by its digest.
FindHeight(digest btc.Digest) (*big.Int, error)
// AddHeaders adds headers to storage after validating. The anchorHeader
// parameter is the header immediately preceding the new chain. Headers
// parameter should be a tightly-packed list of 80-byte Bitcoin headers.
AddHeaders(anchorHeader []byte, headers []byte) error
// AddHeadersWithRetarget adds headers to storage, performs additional
// validation of retarget. The oldPeriodStartHeader is the first header in
// the difficulty period being closed while oldPeriodEndHeader is the last.
// Headers parameter should be a tightly-packed list of 80-byte
// Bitcoin headers.
AddHeadersWithRetarget(
oldPeriodStartHeader []byte,
oldPeriodEndHeader []byte,
headers []byte,
) error
// MarkNewHeaviest gives a new starting point for the relay. The
// ancestorDigest param is the digest of the most recent common ancestor.
// The currentBestHeader is a 80-byte header referenced by bestKnownDigest
// while the newBestHeader param should be the header to mark as new best.
// Limit parameter limits the amount of traversal of the chain.
MarkNewHeaviest(
ancestorDigest btc.Digest,
currentBestHeader []byte,
newBestHeader []byte,
limit *big.Int,
) error
// MarkNewHeaviestPreflight performs a preflight call of the
// MarkNewHeaviest method to check whether its execution will
// succeed. If the preflight call was successful, `true` is returned.
// In case the preflight returns an error, `false` is returned.
MarkNewHeaviestPreflight(
ancestorDigest btc.Digest,
currentBestHeader []byte,
newBestHeader []byte,
limit *big.Int,
) bool
}
Relay is an interface that provides ability to interact with Relay contract.
Click to show internal directories.
Click to hide internal directories.