htree

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2023 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const LeafPrefix = byte(0)
View Source
const NodePrefix = byte(1)

Variables

View Source
var ErrIllegalArguments = errors.New("htree: illegal arguments")
View Source
var ErrIllegalState = errors.New("htree: illegal state")
View Source
var ErrMaxWidthExceeded = errors.New("htree: max width exceeded")

Functions

func VerifyInclusion

func VerifyInclusion(proof *InclusionProof, digest, root [sha256.Size]byte) bool

Types

type HTree

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

func New

func New(maxWidth int) (*HTree, error)

func (*HTree) BuildWith

func (t *HTree) BuildWith(digests [][sha256.Size]byte) error

func (*HTree) InclusionProof

func (t *HTree) InclusionProof(i int) (proof *InclusionProof, err error)

InclusionProof returns the shortest list of additional nodes required to compute the root It's an adaption from the algorithm for proof construction at github.com/codenotary/merkletree

func (*HTree) Root

func (t *HTree) Root() [sha256.Size]byte

type InclusionProof

type InclusionProof struct {
	Leaf  int
	Width int
	Terms [][sha256.Size]byte
}

Jump to

Keyboard shortcuts

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