diff --git a/apps/liteprotocoltester/tester_message.nim b/apps/liteprotocoltester/tester_message.nim index e91a2a3702..eeff7b531a 100644 --- a/apps/liteprotocoltester/tester_message.nim +++ b/apps/liteprotocoltester/tester_message.nim @@ -87,7 +87,7 @@ proc readValue*( ) size = some(reader.readValue(uint64)) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if sender.isNone(): reader.raiseUnexpectedValue("Field `sender` is missing") diff --git a/vendor/nimbus-build-system b/vendor/nimbus-build-system index 741274439c..8fafcd0bac 160000 --- a/vendor/nimbus-build-system +++ b/vendor/nimbus-build-system @@ -1 +1 @@ -Subproject commit 741274439ce72162ab3c740e7c0ef624d32725f9 +Subproject commit 8fafcd0bac9f409091b7bcaee62ab6330f57441e diff --git a/waku/waku_api/rest/admin/types.nim b/waku/waku_api/rest/admin/types.nim index fc6470658e..bb7dd2b0c9 100644 --- a/waku/waku_api/rest/admin/types.nim +++ b/waku/waku_api/rest/admin/types.nim @@ -83,7 +83,7 @@ proc readValue*( ) connected = some(reader.readValue(bool)) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if connected.isNone(): reader.raiseUnexpectedValue("Field `connected` is missing") @@ -116,7 +116,7 @@ proc readValue*( reader.raiseUnexpectedField("Multiple `origin` fields found", "WakuPeer") origin = some(reader.readValue(PeerOrigin)) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if multiaddr.isNone(): reader.raiseUnexpectedValue("Field `multiaddr` is missing") @@ -153,7 +153,7 @@ proc readValue*( ) contentTopic = some(reader.readValue(string)) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if pubsubTopic.isNone(): reader.raiseUnexpectedValue("Field `pubsubTopic` is missing") @@ -185,7 +185,7 @@ proc readValue*( ) filterCriteria = some(reader.readValue(seq[FilterTopic])) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if peerId.isNone(): reader.raiseUnexpectedValue("Field `peerId` is missing") diff --git a/waku/waku_api/rest/debug/types.nim b/waku/waku_api/rest/debug/types.nim index 0ca52c4a55..8fa1068f90 100644 --- a/waku/waku_api/rest/debug/types.nim +++ b/waku/waku_api/rest/debug/types.nim @@ -2,6 +2,7 @@ import chronicles, json_serialization, json_serialization/std/options import ../../../waku_node, ../serdes +import std/typetraits #### Types @@ -47,7 +48,7 @@ proc readValue*( reader.raiseUnexpectedField("Multiple `enrUri` fields found", "DebugWakuInfo") enrUri = some(reader.readValue(string)) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if listenAddresses.isNone(): reader.raiseUnexpectedValue("Field `listenAddresses` is missing") diff --git a/waku/waku_api/rest/filter/types.nim b/waku/waku_api/rest/filter/types.nim index 0506a7a741..6d18e7f6e4 100644 --- a/waku/waku_api/rest/filter/types.nim +++ b/waku/waku_api/rest/filter/types.nim @@ -187,7 +187,7 @@ proc readValue*( of "ephemeral": ephemeral = some(reader.readValue(bool)) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if payload.isNone(): reader.raiseUnexpectedValue("Field `payload` is missing") @@ -225,7 +225,7 @@ proc readValue*( of "contentFilters": contentFilters = some(reader.readValue(seq[ContentTopic])) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if contentFilters.isNone(): reader.raiseUnexpectedValue("Field `contentFilters` is missing") @@ -262,7 +262,7 @@ proc readValue*( of "requestId": requestId = some(reader.readValue(string)) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if requestId.isNone(): reader.raiseUnexpectedValue("Field `requestId` is missing") @@ -296,7 +296,7 @@ proc readValue*( of "contentFilters": contentFilters = some(reader.readValue(seq[ContentTopic])) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if requestId.isNone(): reader.raiseUnexpectedValue("Field `requestId` is missing") @@ -344,7 +344,7 @@ proc readValue*( of "contentFilters": contentFilters = some(reader.readValue(seq[ContentTopic])) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if requestId.isNone(): reader.raiseUnexpectedValue("Field `requestId` is missing") @@ -385,7 +385,7 @@ proc readValue*( of "requestId": requestId = some(reader.readValue(string)) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if requestId.isNone(): reader.raiseUnexpectedValue("Field `requestId` is missing") @@ -416,7 +416,7 @@ proc readValue*( of "statusDesc": statusDesc = some(reader.readValue(string)) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if requestId.isNone(): reader.raiseUnexpectedValue("Field `requestId` is missing") diff --git a/waku/waku_api/rest/health/types.nim b/waku/waku_api/rest/health/types.nim index db76f5b8c5..ce58ab711b 100644 --- a/waku/waku_api/rest/health/types.nim +++ b/waku/waku_api/rest/health/types.nim @@ -65,7 +65,7 @@ proc readValue*( protocolsHealth = some(reader.readValue(seq[ProtocolHealth])) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if nodeHealth.isNone(): reader.raiseUnexpectedValue("Field `nodeHealth` is missing") diff --git a/waku/waku_api/rest/lightpush/types.nim b/waku/waku_api/rest/lightpush/types.nim index f499600b7a..60368403fd 100644 --- a/waku/waku_api/rest/lightpush/types.nim +++ b/waku/waku_api/rest/lightpush/types.nim @@ -52,7 +52,7 @@ proc readValue*( of "message": message = some(reader.readValue(RelayWakuMessage)) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if message.isNone(): reader.raiseUnexpectedValue("Field `message` is missing") diff --git a/waku/waku_api/rest/relay/types.nim b/waku/waku_api/rest/relay/types.nim index 1ffb59384e..6da0f401e7 100644 --- a/waku/waku_api/rest/relay/types.nim +++ b/waku/waku_api/rest/relay/types.nim @@ -117,7 +117,7 @@ proc readValue*( of "ephemeral": ephemeral = some(reader.readValue(bool)) else: - unrecognizedFieldWarning() + unrecognizedFieldWarning(value) if payload.isNone() or isEmptyOrWhitespace(string(payload.get())): reader.raiseUnexpectedValue("Field `payload` is missing or empty") diff --git a/waku/waku_api/rest/serdes.nim b/waku/waku_api/rest/serdes.nim index 6c26574152..2c8ebb4b7e 100644 --- a/waku/waku_api/rest/serdes.nim +++ b/waku/waku_api/rest/serdes.nim @@ -20,12 +20,12 @@ createJsonFlavor RestJson Json.setWriter JsonWriter, PreferredOutput = string -template unrecognizedFieldWarning*() = +template unrecognizedFieldWarning*(field: typed) = # TODO: There should be a different notification mechanism for informing the # caller of a deserialization routine for unexpected fields. # The chonicles import in this module should be removed. debug "JSON field not recognized by the current version of nwaku. Consider upgrading", - fieldName, typeName = typetraits.name(typeof value) + fieldName, typeName = typetraits.name(typeof field) type SerdesResult*[T] = Result[T, cstring]