diff --git a/Makefile b/Makefile index c60c5eb6..80cd5e50 100644 --- a/Makefile +++ b/Makefile @@ -214,9 +214,11 @@ NPH:=$(shell dirname $(NIM_BINARY))/nph build-nph: ifeq ("$(wildcard $(NPH))","") - $(ENV_SCRIPT) nim c vendor/nph/src/nph.nim && \ - mv vendor/nph/src/nph $(shell dirname $(NPH)) - echo "nph utility is available at " $(NPH) + cd vendor/nph && \ + nimble setup -l && \ + nimble build && \ + mv ./nph ../../$(shell dirname $(NPH)) && \ + echo "nph utility is available at " $(NPH) endif GIT_PRE_COMMIT_HOOK := .git/hooks/pre-commit diff --git a/build.nims b/build.nims index 6a9d0529..612c5725 100644 --- a/build.nims +++ b/build.nims @@ -20,7 +20,7 @@ proc buildBinary( # allow something like "nim nimbus --verbosity:0 --hints:off nimbus.nims" var extra_params = params - when compiles(commandLineParams): + when defined(commandLineParams): for param in commandLineParams(): extra_params &= " " & param else: diff --git a/codex/codex.nim b/codex/codex.nim index 79e88a5b..001bae89 100644 --- a/codex/codex.nim +++ b/codex/codex.nim @@ -96,13 +96,12 @@ proc stop*(s: CodexServer) {.async.} = notice "Stopping Storage node" - var futures = - @[ - s.codexNode.switch.stop(), - s.codexNode.stop(), - s.repoStore.stop(), - s.maintenance.stop(), - ] + var futures = @[ + s.codexNode.switch.stop(), + s.codexNode.stop(), + s.repoStore.stop(), + s.maintenance.stop(), + ] if s.restServer != nil: futures.add(s.restServer.stop()) diff --git a/codex/rest/api.nim b/codex/rest/api.nim index 1e65e9c6..bf08a2e7 100644 --- a/codex/rest/api.nim +++ b/codex/rest/api.nim @@ -375,13 +375,12 @@ proc initDataApi(node: CodexNodeRef, repoStore: RepoStore, router: var RestRoute return RestApiResponse.response($json, contentType = "application/json") router.api(MethodGet, "/api/storage/v1/space") do() -> RestApiResponse: - let json = - %RestRepoStore( - totalBlocks: repoStore.totalBlocks, - quotaMaxBytes: repoStore.quotaMaxBytes, - quotaUsedBytes: repoStore.quotaUsedBytes, - quotaReservedBytes: repoStore.quotaReservedBytes, - ) + let json = %RestRepoStore( + totalBlocks: repoStore.totalBlocks, + quotaMaxBytes: repoStore.quotaMaxBytes, + quotaUsedBytes: repoStore.quotaUsedBytes, + quotaReservedBytes: repoStore.quotaReservedBytes, + ) return RestApiResponse.response($json, contentType = "application/json") proc initNodeApi(node: CodexNodeRef, conf: CodexConf, router: var RestRouter) = @@ -477,20 +476,16 @@ proc initDebugApi(node: CodexNodeRef, conf: CodexConf, router: var RestRouter) = try: let table = RestRoutingTable.init(node.discovery.protocol.routingTable) - let json = - %*{ - "id": $node.switch.peerInfo.peerId, - "addrs": node.switch.peerInfo.addrs.mapIt($it), - "repo": $conf.dataDir, - "spr": - if node.discovery.dhtRecord.isSome: - node.discovery.dhtRecord.get.toURI - else: - "", - "announceAddresses": node.discovery.announceAddrs, - "table": table, - "storage": {"version": $codexVersion, "revision": $codexRevision}, - } + let json = %*{ + "id": $node.switch.peerInfo.peerId, + "addrs": node.switch.peerInfo.addrs.mapIt($it), + "repo": $conf.dataDir, + "spr": + if node.discovery.dhtRecord.isSome: node.discovery.dhtRecord.get.toURI else: "", + "announceAddresses": node.discovery.announceAddrs, + "table": table, + "storage": {"version": $codexVersion, "revision": $codexRevision}, + } # return pretty json for human readability return RestApiResponse.response( diff --git a/config.nims b/config.nims index e9e3eb0a..4b24ba54 100644 --- a/config.nims +++ b/config.nims @@ -156,7 +156,7 @@ switch("define", "nimOldCaseObjects") # Enable compat mode for Chronos V4 switch("define", "chronosHandleException") -# begin Nimble config (version 1) -when system.fileExists("nimble.paths"): +# begin Nimble config (version 2) +when withDir(thisDir(), system.fileExists("nimble.paths")): include "nimble.paths" # end Nimble config diff --git a/library/storage_thread_requests/requests/node_debug_request.nim b/library/storage_thread_requests/requests/node_debug_request.nim index 405bce5e..c8dab2c4 100644 --- a/library/storage_thread_requests/requests/node_debug_request.nim +++ b/library/storage_thread_requests/requests/node_debug_request.nim @@ -52,15 +52,14 @@ proc getDebug( let node = storage[].node let table = RestRoutingTable.init(node.discovery.protocol.routingTable) - let json = - %*{ - "id": $node.switch.peerInfo.peerId, - "addrs": node.switch.peerInfo.addrs.mapIt($it), - "spr": - if node.discovery.dhtRecord.isSome: node.discovery.dhtRecord.get.toURI else: "", - "announceAddresses": node.discovery.announceAddrs, - "table": table, - } + let json = %*{ + "id": $node.switch.peerInfo.peerId, + "addrs": node.switch.peerInfo.addrs.mapIt($it), + "spr": + if node.discovery.dhtRecord.isSome: node.discovery.dhtRecord.get.toURI else: "", + "announceAddresses": node.discovery.announceAddrs, + "table": table, + } return ok($json) diff --git a/tests/codex/blockexchange/engine/testblockexc.nim b/tests/codex/blockexchange/engine/testblockexc.nim index 1ac035dd..4b0fe173 100644 --- a/tests/codex/blockexchange/engine/testblockexc.nim +++ b/tests/codex/blockexchange/engine/testblockexc.nim @@ -57,14 +57,14 @@ asyncchecksuite "NetworkStore engine - 2 nodes": check: (await allFinished(blocks1[0 .. 3].mapIt(nodeCmps2.localStore.getBlock(it.cid)))) - .filterIt(it.completed and it.read.isOk) - .mapIt($it.read.get.cid) - .sorted(cmp[string]) == blocks1[0 .. 3].mapIt($it.cid).sorted(cmp[string]) + .filterIt(it.completed and it.read.isOk) + .mapIt($it.read.get.cid) + .sorted(cmp[string]) == blocks1[0 .. 3].mapIt($it.cid).sorted(cmp[string]) (await allFinished(blocks2[0 .. 3].mapIt(nodeCmps1.localStore.getBlock(it.cid)))) - .filterIt(it.completed and it.read.isOk) - .mapIt($it.read.get.cid) - .sorted(cmp[string]) == blocks2[0 .. 3].mapIt($it.cid).sorted(cmp[string]) + .filterIt(it.completed and it.read.isOk) + .mapIt($it.read.get.cid) + .sorted(cmp[string]) == blocks2[0 .. 3].mapIt($it.cid).sorted(cmp[string]) test "Should send want-have for block": let blk = bt.Block.new("Block 1".toBytes).tryGet() @@ -138,9 +138,9 @@ asyncchecksuite "NetworkStore - multiple nodes": check: (await allFinished(downloadCids.mapIt(downloader.localStore.getBlock(it)))) - .filterIt(it.completed and it.read.isOk) - .mapIt($it.read.get.cid) - .sorted(cmp[string]) == downloadCids.mapIt($it).sorted(cmp[string]) + .filterIt(it.completed and it.read.isOk) + .mapIt($it.read.get.cid) + .sorted(cmp[string]) == downloadCids.mapIt($it).sorted(cmp[string]) test "Should exchange blocks with multiple nodes": let diff --git a/tests/codex/node/helpers.nim b/tests/codex/node/helpers.nim index 4c318246..72bb1c51 100644 --- a/tests/codex/node/helpers.nim +++ b/tests/codex/node/helpers.nim @@ -97,10 +97,9 @@ template setupAndTearDown*() {.dirty.} = blockDiscovery = Discovery.new( switch.peerInfo.privateKey, - announceAddrs = - @[ - MultiAddress.init("/ip4/127.0.0.1/tcp/0").expect("Should return multiaddress") - ], + announceAddrs = @[ + MultiAddress.init("/ip4/127.0.0.1/tcp/0").expect("Should return multiaddress") + ], ) peerStore = PeerCtxStore.new() pendingBlocks = PendingBlocksManager.new() diff --git a/tests/codex/testlogutils.nim b/tests/codex/testlogutils.nim index 82c24761..ba3a00f3 100644 --- a/tests/codex/testlogutils.nim +++ b/tests/codex/testlogutils.nim @@ -205,11 +205,10 @@ checksuite "Test logging output": check loggedJson("ma", "\"/ip4/127.0.0.1/tcp/0\"") test "logs seq[MultiAddress] correctly": - let ma = - @[ - MultiAddress.init("/ip4/127.0.0.1/tcp/0").tryGet, - MultiAddress.init("/ip4/127.0.0.2/tcp/1").tryGet, - ] + let ma = @[ + MultiAddress.init("/ip4/127.0.0.1/tcp/0").tryGet, + MultiAddress.init("/ip4/127.0.0.2/tcp/1").tryGet, + ] log ma check logged("ma", "\"@[/ip4/127.0.0.1/tcp/0, /ip4/127.0.0.2/tcp/1]\"") check loggedJson("ma", "[\"/ip4/127.0.0.1/tcp/0\",\"/ip4/127.0.0.2/tcp/1\"]") diff --git a/tests/codex/testnat.nim b/tests/codex/testnat.nim index a4161c6f..c47b71de 100644 --- a/tests/codex/testnat.nim +++ b/tests/codex/testnat.nim @@ -22,18 +22,16 @@ suite "NAT Address Tests": # Expected results let - expectedDiscoveryAddrs = - @[ - MultiAddress.init("/ip4/8.8.8.8/udp/1234").expect("valid multiaddr"), - MultiAddress.init("/ip4/8.8.8.8/udp/1234").expect("valid multiaddr"), - MultiAddress.init("/ip4/8.8.8.8/udp/1234").expect("valid multiaddr"), - ] - expectedlibp2pAddrs = - @[ - MultiAddress.init("/ip4/8.8.8.8/tcp/5000").expect("valid multiaddr"), - MultiAddress.init("/ip4/8.8.8.8/tcp/5000").expect("valid multiaddr"), - MultiAddress.init("/ip4/8.8.8.8/tcp/5000").expect("valid multiaddr"), - ] + expectedDiscoveryAddrs = @[ + MultiAddress.init("/ip4/8.8.8.8/udp/1234").expect("valid multiaddr"), + MultiAddress.init("/ip4/8.8.8.8/udp/1234").expect("valid multiaddr"), + MultiAddress.init("/ip4/8.8.8.8/udp/1234").expect("valid multiaddr"), + ] + expectedlibp2pAddrs = @[ + MultiAddress.init("/ip4/8.8.8.8/tcp/5000").expect("valid multiaddr"), + MultiAddress.init("/ip4/8.8.8.8/tcp/5000").expect("valid multiaddr"), + MultiAddress.init("/ip4/8.8.8.8/tcp/5000").expect("valid multiaddr"), + ] #ipv6Addr = MultiAddress.init("/ip6/::1/tcp/5000").expect("valid multiaddr") addrs = @[localAddr, anyAddr, publicAddr] diff --git a/tests/codex/utils/testutils.nim b/tests/codex/utils/testutils.nim index b0bb20b5..b2150deb 100644 --- a/tests/codex/utils/testutils.nim +++ b/tests/codex/utils/testutils.nim @@ -7,13 +7,12 @@ suite "findIt": type AnObject = object attribute1*: int - var objList = - @[ - AnObject(attribute1: 1), - AnObject(attribute1: 3), - AnObject(attribute1: 5), - AnObject(attribute1: 3), - ] + var objList = @[ + AnObject(attribute1: 1), + AnObject(attribute1: 3), + AnObject(attribute1: 5), + AnObject(attribute1: 3), + ] test "should retur index of first object matching predicate": assert objList.findIt(it.attribute1 == 3) == 1 diff --git a/tests/integration/5_minutes/testrestapi.nim b/tests/integration/5_minutes/testrestapi.nim index 1903cce0..4bbf6fa9 100644 --- a/tests/integration/5_minutes/testrestapi.nim +++ b/tests/integration/5_minutes/testrestapi.nim @@ -58,11 +58,10 @@ twonodessuite "REST API": check (await response.body) != "" test "node retrieve the metadata", twoNodesConfig: - let headers = - @[ - ("Content-Type", "text/plain"), - ("Content-Disposition", "attachment; filename=\"example.txt\""), - ] + let headers = @[ + ("Content-Type", "text/plain"), + ("Content-Disposition", "attachment; filename=\"example.txt\""), + ] let uploadResponse = await client1.uploadRaw("some file contents", headers) let cid = await uploadResponse.body let listResponse = await client1.listRaw() @@ -83,11 +82,10 @@ twonodessuite "REST API": check manifest["mimetype"].getStr() == "text/plain" test "node set the headers when for download", twoNodesConfig: - let headers = - @[ - ("Content-Disposition", "attachment; filename=\"example.txt\""), - ("Content-Type", "text/plain"), - ] + let headers = @[ + ("Content-Disposition", "attachment; filename=\"example.txt\""), + ("Content-Type", "text/plain"), + ] let uploadResponse = await client1.uploadRaw("some file contents", headers) let cid = await uploadResponse.body diff --git a/tests/integration/codexclient.nim b/tests/integration/codexclient.nim index c8b3eca5..c406a97b 100644 --- a/tests/integration/codexclient.nim +++ b/tests/integration/codexclient.nim @@ -33,17 +33,17 @@ proc request( async: (raw: true, raises: [CancelledError, HttpError]) .} = HttpClientRequestRef - .new( - self.session, - url, - httpMethod, - version = HttpVersion11, - flags = {}, - maxResponseHeadersSize = HttpMaxHeadersSize, - headers = headers, - body = body.toOpenArrayByte(0, len(body) - 1), - ).get - .send() + .new( + self.session, + url, + httpMethod, + version = HttpVersion11, + flags = {}, + maxResponseHeadersSize = HttpMaxHeadersSize, + headers = headers, + body = body.toOpenArrayByte(0, len(body) - 1), + ).get + .send() proc post*( self: CodexClient, diff --git a/vendor/nph b/vendor/nph index c6e03162..2cacf6cc 160000 --- a/vendor/nph +++ b/vendor/nph @@ -1 +1 @@ -Subproject commit c6e03162dc2820d3088660f644818d7040e95791 +Subproject commit 2cacf6cc28116e4046e0b67a13545af5c4e756bd