From 15187dd935ce17ee0e606c08feda992b30ef9b72 Mon Sep 17 00:00:00 2001 From: Arnaud Date: Mon, 25 May 2026 16:59:43 +0400 Subject: [PATCH] Remove option usage for spr --- .../requests/node_debug_request.nim | 2 +- .../requests/node_info_request.nim | 6 +----- storage/discovery.nim | 9 +++------ storage/rest/api.nim | 7 ++----- 4 files changed, 7 insertions(+), 17 deletions(-) diff --git a/library/storage_thread_requests/requests/node_debug_request.nim b/library/storage_thread_requests/requests/node_debug_request.nim index a72d7143..2bbead69 100644 --- a/library/storage_thread_requests/requests/node_debug_request.nim +++ b/library/storage_thread_requests/requests/node_debug_request.nim @@ -59,7 +59,7 @@ proc getDebug( let json = %*{ "id": $node.switch.peerInfo.peerId, "addrs": node.switch.peerInfo.addrs.mapIt($it), - "spr": if nodeSpr.isSome: nodeSpr.get.toURI else: "", + "spr": nodeSpr.toURI, "announceAddresses": node.discovery.announceAddrs, "table": table, "nat": { diff --git a/library/storage_thread_requests/requests/node_info_request.nim b/library/storage_thread_requests/requests/node_info_request.nim index f6c8c93c..7c0d818e 100644 --- a/library/storage_thread_requests/requests/node_info_request.nim +++ b/library/storage_thread_requests/requests/node_info_request.nim @@ -39,11 +39,7 @@ proc getRepo( proc getSpr( storage: ptr StorageServer ): Future[Result[string, string]] {.async: (raises: []).} = - let spr = storage[].node.discovery.getSpr() - if spr.isNone: - return err("Failed to get SPR: no SPR record found.") - - return ok(spr.get.toURI) + return ok(storage[].node.discovery.getSpr().toURI) proc getPeerId( storage: ptr StorageServer diff --git a/storage/discovery.nim b/storage/discovery.nim index 4c9a5ef2..919ff237 100644 --- a/storage/discovery.nim +++ b/storage/discovery.nim @@ -176,9 +176,9 @@ method removeProvider*( warn "Error removing provider", peerId = peerId, exc = exc.msg raiseAssert("Unexpected Exception in removeProvider") -proc getSpr*(d: Discovery): ?SignedPeerRecord = +proc getSpr*(d: Discovery): SignedPeerRecord = ## Returns the node's current Signed Peer Record as registered in the DHT. - some(d.protocol.getRecord()) + d.protocol.getRecord() proc updateRecordsAndSpr*( d: Discovery, announceAddrs: openArray[MultiAddress], udpPort: Port @@ -188,7 +188,7 @@ proc updateRecordsAndSpr*( let udpAddrs = tcpAddrs.mapIt(it.remapAddr(protocol = some("udp"), port = some(udpPort))) - debug "Updating addresses", tcpAddrs, udpAddrs + info "Updating announce and DHT records", tcpAddrs, udpAddrs d.announceAddrs = tcpAddrs d.providerRecord = SignedPeerRecord @@ -280,7 +280,4 @@ proc new*( config = discoveryConfig, ) - # Protocol now exists: call again so the SPR is synced into the protocol's local record. - self.updateRecordsAndSpr(announceAddrs, udpPort = discoveryPort) - self diff --git a/storage/rest/api.nim b/storage/rest/api.nim index d53d79c8..e9a14007 100644 --- a/storage/rest/api.nim +++ b/storage/rest/api.nim @@ -489,10 +489,7 @@ proc initNodeApi(node: StorageNodeRef, conf: StorageConf, router: var RestRouter var headers = buildCorsHeaders("GET", allowedOrigin) try: - without spr =? node.discovery.getSpr(): - return RestApiResponse.response( - "", status = Http503, contentType = "application/json", headers = headers - ) + let spr = node.discovery.getSpr() if $preferredContentType().get() == "text/plain": return RestApiResponse.response( @@ -586,7 +583,7 @@ proc initDebugApi( "id": $node.switch.peerInfo.peerId, "addrs": node.switch.peerInfo.addrs.mapIt($it), "repo": $conf.dataDir, - "spr": if nodeSpr.isSome: nodeSpr.get.toURI else: "", + "spr": nodeSpr.toURI, "announceAddresses": node.discovery.announceAddrs, "table": table, "storage": {"version": $storageVersion, "revision": $storageRevision},