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].}
|
{.push raises: [Defect].}
|
||||||
|
|
||||||
import tables
|
import tables, hashes
|
||||||
import multibase, multicodec, multihash, vbuffer, varint
|
import multibase, multicodec, multihash, vbuffer, varint
|
||||||
import stew/[base58, results]
|
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))
|
## Cid.init(CIDv0, multiCodec("dag-pb"), MultiHash.digest("sha2-256", data))
|
||||||
##
|
##
|
||||||
## All other encodings and hashes are not supported by CIDv0.
|
## All other encodings and hashes are not supported by CIDv0.
|
||||||
|
|
||||||
var res: Cid
|
var res: Cid
|
||||||
res.cidver = version
|
res.cidver = version
|
||||||
|
|
||||||
if version == CIDv0:
|
if version == CIDv0:
|
||||||
if content != multiCodec("dag-pb"):
|
if content != multiCodec("dag-pb"):
|
||||||
return err(CidError.Unsupported)
|
return err(CidError.Unsupported)
|
||||||
|
@ -268,6 +268,9 @@ proc encode*(mbtype: typedesc[MultiBase], encoding: string,
|
||||||
## ``encoding``.
|
## ``encoding``.
|
||||||
result = MultiBase.encode(encoding, cid.data.buffer).tryGet()
|
result = MultiBase.encode(encoding, cid.data.buffer).tryGet()
|
||||||
|
|
||||||
|
proc hash*(cid: Cid): Hash {.inline.} =
|
||||||
|
hash(cid.data.buffer)
|
||||||
|
|
||||||
proc `$`*(cid: Cid): string =
|
proc `$`*(cid: Cid): string =
|
||||||
## Return official string representation of content identifier ``cid``.
|
## Return official string representation of content identifier ``cid``.
|
||||||
if cid.cidver == CIDv0:
|
if cid.cidver == CIDv0:
|
||||||
|
|
Loading…
Reference in New Issue