nim-codex/codex/utils/json.nim
Adam Uhlíř e5df8c50d3
style: nph formatting (#1067)
* style: nph setup

* chore: formates codex/ and tests/ folder with nph 0.6.1
2025-01-21 20:54:46 +00:00

38 lines
794 B
Nim

import std/options
import std/typetraits
from pkg/ethers import Address
from pkg/libp2p import
Cid, PeerId, SignedPeerRecord, MultiAddress, AddressInfo, init, `$`
import pkg/contractabi
import pkg/codexdht/discv5/node as dn
import pkg/serde/json
import pkg/questionable/results
import ../errors
export json
proc fromJson*(_: type Cid, json: JsonNode): ?!Cid =
expectJsonKind(Cid, JString, json)
Cid.init(json.str).mapFailure
func `%`*(cid: Cid): JsonNode =
% $cid
func `%`*(obj: PeerId): JsonNode =
% $obj
func `%`*(obj: SignedPeerRecord): JsonNode =
% $obj
func `%`*(obj: dn.Address): JsonNode =
% $obj
func `%`*(obj: AddressInfo): JsonNode =
% $obj.address
func `%`*(obj: MultiAddress): JsonNode =
% $obj
func `%`*(address: ethers.Address): JsonNode =
% $address