mirror of https://github.com/vacp2p/nim-libp2p.git
add hash proc to support using with containers (#516)
This commit is contained in:
parent
5aebf0990e
commit
5c234ddd37
|
@ -11,7 +11,7 @@
|
|||
|
||||
{.push raises: [Defect].}
|
||||
|
||||
import tables
|
||||
import tables, hashes
|
||||
import multibase, multicodec, multihash, vbuffer, varint
|
||||
import stew/[base58, results]
|
||||
|
||||
|
@ -199,10 +199,10 @@ proc init*(ctype: typedesc[Cid], version: CidVersion, content: MultiCodec,
|
|||
## Cid.init(CIDv0, multiCodec("dag-pb"), MultiHash.digest("sha2-256", data))
|
||||
##
|
||||
## All other encodings and hashes are not supported by CIDv0.
|
||||
|
||||
|
||||
var res: Cid
|
||||
res.cidver = version
|
||||
|
||||
|
||||
if version == CIDv0:
|
||||
if content != multiCodec("dag-pb"):
|
||||
return err(CidError.Unsupported)
|
||||
|
@ -268,6 +268,9 @@ proc encode*(mbtype: typedesc[MultiBase], encoding: string,
|
|||
## ``encoding``.
|
||||
result = MultiBase.encode(encoding, cid.data.buffer).tryGet()
|
||||
|
||||
proc hash*(cid: Cid): Hash {.inline.} =
|
||||
hash(cid.data.buffer)
|
||||
|
||||
proc `$`*(cid: Cid): string =
|
||||
## Return official string representation of content identifier ``cid``.
|
||||
if cid.cidver == CIDv0:
|
||||
|
|
Loading…
Reference in New Issue