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 }