hashes

package
v0.0.0-...-30b4086 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2024 License: ISC Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ToStrings

func ToStrings(hashes []*externalapi.DomainHash) []string

ToStrings converts a slice of hashes into a slice of the corresponding strings

Types

type Blake3HashWriter

type Blake3HashWriter struct {
	*blake3.Hasher
}

Blake3HashWriter is exactly the same as HashWriter but for Blake3

func NewPoWHashWriter

func NewPoWHashWriter() Blake3HashWriter

NewPoWHashWriter Returns a new HashWriter used for the PoW function

func (*Blake3HashWriter) Finalize

func (h *Blake3HashWriter) Finalize() *externalapi.DomainHash

Finalize returns the resulting hash

func (*Blake3HashWriter) InfallibleWrite

func (h *Blake3HashWriter) InfallibleWrite(p []byte)

InfallibleWrite is just like write but doesn't return anything

type HashWriter

type HashWriter struct {
	hash.Hash
}

HashWriter is used to incrementally hash data without concatenating all of the data to a single buffer it exposes an io.Writer api and a Finalize function to get the resulting hash. The used hash function is blake2b. This can only be created via one of the domain separated constructors

func NewBlockHashWriter

func NewBlockHashWriter() HashWriter

NewBlockHashWriter Returns a new HashWriter used for hashing blocks

func NewMerkleBranchHashWriter

func NewMerkleBranchHashWriter() HashWriter

NewMerkleBranchHashWriter Returns a new HashWriter used for a merkle tree branch

func NewTransactionHashWriter

func NewTransactionHashWriter() HashWriter

NewTransactionHashWriter Returns a new HashWriter used for transaction hashes

func NewTransactionIDWriter

func NewTransactionIDWriter() HashWriter

NewTransactionIDWriter Returns a new HashWriter used for transaction IDs

func NewTransactionSigningHashECDSAWriter

func NewTransactionSigningHashECDSAWriter() HashWriter

NewTransactionSigningHashECDSAWriter Returns a new HashWriter used for signing on a transaction with ECDSA

func NewTransactionSigningHashWriter

func NewTransactionSigningHashWriter() HashWriter

NewTransactionSigningHashWriter Returns a new HashWriter used for signing on a transaction

func (HashWriter) Finalize

func (h HashWriter) Finalize() *externalapi.DomainHash

Finalize returns the resulting hash

func (HashWriter) InfallibleWrite

func (h HashWriter) InfallibleWrite(p []byte)

InfallibleWrite is just like write but doesn't return anything

type ShakeHashWriter

type ShakeHashWriter struct {
	sha3.ShakeHash
}

ShakeHashWriter is exactly the same as HashWriter but for CShake256

func NewHeavyHashWriter

func NewHeavyHashWriter() ShakeHashWriter

NewHeavyHashWriter Returns a new HashWriter used for the HeavyHash function

func (*ShakeHashWriter) Finalize

func (h *ShakeHashWriter) Finalize() *externalapi.DomainHash

Finalize returns the resulting hash

func (*ShakeHashWriter) InfallibleWrite

func (h *ShakeHashWriter) InfallibleWrite(p []byte)

InfallibleWrite is just like write but doesn't return anything

Jump to

Keyboard shortcuts

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