github.com/storacha/go-ucanto@v0.7.2/core/ipld/hash/hash.go (about)

     1  package hash
     2  
     3  type Hasher interface {
     4  	Sum(bytes []byte) (Digest, error)
     5  }
     6  
     7  type Digest interface {
     8  	Code() uint64
     9  	Size() uint64
    10  	Digest() []byte
    11  	Bytes() []byte
    12  }
    13  
    14  type digest struct {
    15  	code   uint64
    16  	size   uint64
    17  	digest []byte
    18  	bytes  []byte
    19  }
    20  
    21  func (d *digest) Bytes() []byte {
    22  	return d.bytes
    23  }
    24  
    25  func (d *digest) Code() uint64 {
    26  	return d.code
    27  }
    28  
    29  func (d *digest) Digest() []byte {
    30  	return d.bytes
    31  }
    32  
    33  func (d *digest) Size() uint64 {
    34  	return d.size
    35  }
    36  
    37  func NewDigest(code uint64, size uint64, digst []byte, bytes []byte) Digest {
    38  	return &digest{code, size, digst, bytes}
    39  }