fix(option_shims): import wherever valueOr is called on std/Option

PR #3807 still uses std/Option.valueOr in ~30 places across logos_delivery
but does not consistently import waku/common/option_shims (the local
template that restores libp2p-1.15.2's valueOr/withValue for Option[T];
libp2p 1.15.3 dropped those overloads). Without the shim, nim picks up
only Result[T,E].valueOr from nim-results and fails with 'type mismatch'.

Surfaced when building liblogoschat which pulls a much wider slice of
nwaku than liblogosdelivery does. Each touched file now imports
option_shims either inline alongside other ../common/ entries or as a
standalone top-level import where the file uses absolute logos_delivery/
paths.

No semantic change — the shim restores the historical Option valueOr
behavior. Same files compiling against the older libp2p (where valueOr
on Option came from libp2p/utility) would behave identically.
This commit is contained in:
Arseniy Klempner 2026-06-15 15:58:29 -06:00 committed by akshaya
parent c042c8f837
commit f3e6b51e9c
No known key found for this signature in database
GPG Key ID: 12C1A9E9F5629D18
38 changed files with 67 additions and 0 deletions

View File

@ -6,6 +6,7 @@ import json_serialization, json_serialization/std/options as json_options
import
logos_delivery/waku/common/utils/parse_size_units,
logos_delivery/waku/common/logging,
logos_delivery/waku/common/option_shims,
logos_delivery/waku/factory/waku_conf,
logos_delivery/waku/factory/conf_builder/conf_builder,
logos_delivery/waku/factory/networks_config,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import std/options, results, eth/keys as eth_keys, libp2p/crypto/crypto as libp2p_crypto
import eth/p2p/discoveryv5/enr except TypedRecord, toTypedRecord

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
## A set of utilities to integrate EIP-1459 DNS-based discovery
## for Waku v2 nodes.
##

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import std/[options, sequtils]
import
chronos,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options, sequtils, strformat],
results,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options, sets, random, sequtils, json, strutils, tables],
chronos,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[sets, options],
results,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options, sugar, tables, sequtils, os, net],
chronos,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options, tables, net],
chronos,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options],
chronos,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options],
chronos,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import results
import chronicles, json_serialization, json_serialization/std/options
import ../serdes

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options, strutils, net],
regex,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/sequtils,
stew/byteutils,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/typetraits,
std/os,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[sets, strformat, uri, options, sequtils],
stew/byteutils,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import chronos, std/[options, sequtils], results
import ../discovery/waku_discv5, ../waku_relay, ../waku_core, ./message_cache

View File

@ -9,6 +9,7 @@ import
metrics
import
../common/paging,
../common/option_shims,
./driver,
./retention_policy,
../waku_core,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options, sequtils, strutils, strformat, times, sugar],
stew/[byteutils, arrayops],

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import std/options, results, stew/sorted_set, chronicles, chronos
import ../../../waku_core, ../../common, ../../driver, ./index

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import std/[strutils, options], regex, results
import
../retention_policy,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options, sequtils, strutils, uri, net],
results,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options, bitops, sequtils, net, tables], results, eth/keys, libp2p/crypto/crypto
import ../common/enr, ../waku_core/codecs

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options, sequtils, net],
stew/endians2,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options, strutils],
results,

View File

@ -7,6 +7,7 @@ import
../node/peer_manager,
../utils/requests,
../waku_core,
../common/option_shims,
./common,
./protocol_metrics,
./rpc,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options, sequtils],
results,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
## Mix RLN client: fetches roots/proofs from logos-core via the C++ RLN module.
## The C++ delivery module registers an RLN fetcher at startup; event-push
## caching avoids round-trips on the hot path.

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import chronicles, std/options, chronos, results, metrics
import

View File

@ -9,6 +9,7 @@ import
eth/p2p/discoveryv5/enr
import
../common/nimchronos,
../common/option_shims,
../node/peer_manager,
../waku_core,
../discovery/waku_discv5,

View File

@ -15,6 +15,7 @@ import
logos_delivery/waku/node/peer_manager,
logos_delivery/waku/waku_core/peers,
logos_delivery/waku/waku_core/codecs,
logos_delivery/waku/common/option_shims,
./common,
./waku_peer_record

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import std/options, chronos
import ../common/enr, ../waku_enr/capabilities, ../waku_enr/sharding

View File

@ -19,6 +19,7 @@ import metrics except collect
import
../node/peer_manager,
../common/callbacks,
../common/option_shims,
../waku_enr/capabilities,
../waku_core/peers,
../waku_core/codecs,

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import std/options, results, chronicles, chronos, bearssl/rand
import libp2p/stream/connection
import

View File

@ -1,5 +1,7 @@
{.push raises: [].}
import logos_delivery/waku/common/option_shims
import
std/[options, sets],
results,

View File

@ -13,6 +13,7 @@ import
import
../common/databases/db_sqlite,
../common/option_shims,
../waku_core,
../waku_archive,
../common/nimchronos,

View File

@ -14,6 +14,7 @@ import
eth/p2p/discoveryv5/enr
import
../common/nimchronos,
../common/option_shims,
../common/protobuf,
../common/paging,
../waku_enr,

View File

@ -13,6 +13,7 @@ import
eth/p2p/discoveryv5/enr
import
../common/nimchronos,
../common/option_shims,
../common/protobuf,
../waku_enr,
../waku_core/codecs,