htree

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Copyright 2022 Codenotary Inc. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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() (root [sha256.Size]byte, err error)

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