Remove option usage for spr

This commit is contained in:
Arnaud 2026-05-25 16:59:43 +04:00
parent da955907a5
commit 15187dd935
No known key found for this signature in database
GPG Key ID: A6C7C781817146FA
4 changed files with 7 additions and 17 deletions

View File

@ -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": {

View File

@ -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

View File

@ -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

View File

@ -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},