From d1d7b4b7243cfee8a6a4ee0a2fe37e0e23cf6dc3 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Thu, 13 Jul 2023 20:44:38 -0700 Subject: [PATCH 01/12] Remove Nimbus --- .github/workflows/ci-nimbus.yml | 143 -------------------------------- Makefile | 71 ---------------- build.nims | 53 ++++++++++++ codexdht.nimble | 48 +---------- config.nims | 28 +------ env.sh | 7 -- 6 files changed, 55 insertions(+), 295 deletions(-) delete mode 100644 .github/workflows/ci-nimbus.yml delete mode 100644 Makefile create mode 100644 build.nims delete mode 100755 env.sh diff --git a/.github/workflows/ci-nimbus.yml b/.github/workflows/ci-nimbus.yml deleted file mode 100644 index 7f83914..0000000 --- a/.github/workflows/ci-nimbus.yml +++ /dev/null @@ -1,143 +0,0 @@ -name: CI-nimbus -on: - # push: - # paths: - # - atlas.lock - # - .github/workflows/ci-nimbus.yml - push: - branches: - - main - pull_request: - workflow_dispatch: - -jobs: - build: - timeout-minutes: 90 - strategy: - fail-fast: false - matrix: - target: - - os: linux - cpu: amd64 - # - os: macos - # cpu: amd64 - # - os: windows - # cpu: amd64 - branch: [version-1-6] - include: - - target: - os: linux - builder: ubuntu-20.04 - shell: bash - # - target: - # os: macos - # builder: macos-12 - # shell: bash - # - target: - # os: windows - # builder: windows-2019 - # shell: msys2 {0} - - defaults: - run: - shell: ${{ matrix.shell }} - - name: '${{ matrix.target.os }}-${{ matrix.target.cpu }} (Nim ${{ matrix.branch }})' - runs-on: ${{ matrix.builder }} - continue-on-error: ${{ matrix.branch == 'version-1-6' || matrix.branch == 'devel' }} - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - submodules: true - - - name: MSYS2 (Windows amd64) - if: runner.os == 'Windows' && matrix.target.cpu == 'amd64' - uses: msys2/setup-msys2@v2 - with: - path-type: inherit - install: >- - base-devel - git - mingw-w64-x86_64-toolchain - - - name: Restore Nim DLLs dependencies (Windows) from cache - if: runner.os == 'Windows' - id: windows-dlls-cache - uses: actions/cache@v2 - with: - path: external/dlls - key: 'dlls' - - - name: Install DLL dependencies (Windows) - if: > - steps.windows-dlls-cache.outputs.cache-hit != 'true' && - runner.os == 'Windows' - run: | - mkdir external - curl -L "https://nim-lang.org/download/windeps.zip" -o external/windeps.zip - 7z x external/windeps.zip -oexternal/dlls - - - name: Path to cached dependencies (Windows) - if: > - runner.os == 'Windows' - run: | - echo '${{ github.workspace }}'"/external/dlls" >> $GITHUB_PATH - - - name: Derive environment variables - run: | - if [[ '${{ matrix.target.cpu }}' == 'amd64' ]]; then - PLATFORM=x64 - else - PLATFORM=x86 - fi - echo "PLATFORM=$PLATFORM" >> $GITHUB_ENV - - ncpu= - MAKE_CMD="make" - case '${{ runner.os }}' in - 'Linux') - ncpu=$(nproc) - ;; - 'macOS') - ncpu=$(sysctl -n hw.ncpu) - ;; - 'Windows') - ncpu=$NUMBER_OF_PROCESSORS - MAKE_CMD="mingw32-make" - ;; - esac - [[ -z "$ncpu" || $ncpu -le 0 ]] && ncpu=1 - echo "ncpu=$ncpu" >> $GITHUB_ENV - echo "MAKE_CMD=${MAKE_CMD}" >> $GITHUB_ENV - - - uses: jiro4989/setup-nim-action@v1 - with: - nim-version: 1.6.14 - repo-token: ${{ secrets.GITHUB_TOKEN }} - - - name: Restore Nim toolchain binaries from cache - id: nim-cache - uses: actions/cache@v3 - with: - path: NimBinaries - key: ${{ matrix.target.os }}-${{ matrix.target.cpu }}-nim-${{ hashFiles('atlas.lock') }} - - - name: Restore Vendor Clones from cache - id: vendor-cache - uses: actions/cache@v3 - with: - path: vendor/*/ - key: ${{ matrix.target.os }}-${{ matrix.target.cpu }}-vendor-${{ hashFiles('atlas.lock') }} - - - name: Run tests - run: | - if [[ "${{ matrix.target.os }}" == "windows" ]]; then - # https://github.com/status-im/nimbus-eth2/issues/3121 - export NIMFLAGS="-d:nimRawSetjmp" - fi - - echo "BUILD: " - export NIM_COMMIT=${{ matrix.branch }} - make -j${ncpu} CI_CACHE=NimBinaries ARCH_OVERRIDE=${PLATFORM} QUICK_AND_DIRTY_COMPILER=1 - make test -j${ncpu} diff --git a/Makefile b/Makefile deleted file mode 100644 index 384bad5..0000000 --- a/Makefile +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright (c) 2020 Status Research & Development GmbH. Licensed under -# either of: -# - Apache License, version 2.0 -# - MIT license -# at your option. This file may not be copied, modified, or distributed except -# according to those terms. - -SHELL := bash # the shell used internally by Make - -# used inside the included makefiles -BUILD_SYSTEM_DIR := vendor/nimbus-build-system - -# -d:insecure - Necessary to enable Prometheus HTTP endpoint for metrics -# -d:chronicles_colors:none - Necessary to disable colors in logs for Docker -DOCKER_IMAGE_NIM_PARAMS ?= -d:chronicles_colors:none -d:insecure - -LINK_PCRE := 0 - -# we don't want an error here, so we can handle things later, in the ".DEFAULT" target --include $(BUILD_SYSTEM_DIR)/makefiles/variables.mk - -.PHONY: \ - all \ - clean \ - coverage \ - deps \ - libbacktrace \ - test \ - update - -ifeq ($(NIM_PARAMS),) -# "variables.mk" was not included, so we update the submodules. -GIT_SUBMODULE_UPDATE := nimble install https://github.com/nim-lang/atlas@\#2ab291c9f37e9d7acce906d1bb7fa49f57f10b22 && atlas rep --noexec atlas.lock -.DEFAULT: - +@ echo -e "Git submodules not found. Running '$(GIT_SUBMODULE_UPDATE)'.\n"; \ - $(GIT_SUBMODULE_UPDATE); \ - echo -# Now that the included *.mk files appeared, and are newer than this file, Make will restart itself: -# https://www.gnu.org/software/make/manual/make.html#Remaking-Makefiles -# -# After restarting, it will execute its original goal, so we don't have to start a child Make here -# with "$(MAKE) $(MAKECMDGOALS)". Isn't hidden control flow great? - -else # "variables.mk" was included. Business as usual until the end of this file. - -# default target, because it's the first one that doesn't start with '.' - -# Builds the codex binary -all: | build deps - echo -e $(BUILD_MSG) "$@" && \ - $(ENV_SCRIPT) nim test $(NIM_PARAMS) - -# must be included after the default target --include $(BUILD_SYSTEM_DIR)/makefiles/targets.mk - -deps: | deps-common nat-libs - -#- deletes and recreates "codexdht.nims" which on Windows is a copy instead of a proper symlink -update: | update-common - rm -rf codexdht.nims && \ - $(MAKE) codexdht.nims $(HANDLE_OUTPUT) - -# Builds and run a part of the test suite -test: | build deps - echo -e $(BUILD_MSG) "$@" && \ - $(ENV_SCRIPT) nim test $(NIM_PARAMS) config.nims - -# usual cleaning -clean: | clean-common - -endif # "variables.mk" was not included diff --git a/build.nims b/build.nims new file mode 100644 index 0000000..129eb1d --- /dev/null +++ b/build.nims @@ -0,0 +1,53 @@ +import std / strutils + +switch("define", "libp2p_pki_schemes=secp256k1") + +task testAll, "Run DHT tests": + exec "nim c -r tests/testAll.nim" + +task test, "Run DHT tests": + exec "nim c -r -d:testsAll --verbosity:0 tests/testAllParallel.nim" + +task testPart1, "Run DHT tests A": + exec "nim c -r -d:testsPart1 tests/testAllParallel.nim" + +task testPart2, "Run DHT tests B": + exec "nim c -r -d:testsPart2 tests/testAllParallel.nim" + +task coverage, "generates code coverage report": + var (output, exitCode) = gorgeEx("which lcov") + if exitCode != 0: + echo "" + echo " ************************** ⛔️ ERROR ⛔️ **************************" + echo " ** **" + echo " ** ERROR: lcov not found, it must be installed to run code **" + echo " ** coverage locally **" + echo " ** **" + echo " *****************************************************************" + echo "" + quit 1 + + (output, exitCode) = gorgeEx("gcov --version") + if output.contains("Apple LLVM"): + echo "" + echo " ************************* ⚠️ WARNING ⚠️ *************************" + echo " ** **" + echo " ** WARNING: Using Apple's llvm-cov in place of gcov, which **" + echo " ** emulates an old version of gcov (4.2.0) and therefore **" + echo " ** coverage results will differ than those on CI (which **" + echo " ** uses a much newer version of gcov). **" + echo " ** **" + echo " *****************************************************************" + echo "" + + exec("nimble --verbose test --opt:speed -d:debug --verbosity:0 --hints:off --lineDir:on -d:chronicles_log_level=INFO --nimcache:nimcache --passC:-fprofile-arcs --passC:-ftest-coverage --passL:-fprofile-arcs --passL:-ftest-coverage") + exec("cd nimcache; rm *.c; cd ..") + mkDir("coverage") + exec("lcov --capture --directory nimcache --output-file coverage/coverage.info") + exec("$(which bash) -c 'shopt -s globstar; ls $(pwd)/codexdht/{*,**/*}.nim'") + exec("$(which bash) -c 'shopt -s globstar; lcov --extract coverage/coverage.info $(pwd)/codexdht/{*,**/*}.nim --output-file coverage/coverage.f.info'") + echo "Generating HTML coverage report" + exec("genhtml coverage/coverage.f.info --output-directory coverage/report") + echo "Opening HTML coverage report in browser..." + exec("open coverage/report/index.html") + diff --git a/codexdht.nimble b/codexdht.nimble index 00d943a..25df1ef 100644 --- a/codexdht.nimble +++ b/codexdht.nimble @@ -23,52 +23,6 @@ requires "asynctest >= 0.3.1 & < 0.4.0" requires "https://github.com/status-im/nim-datastore#head" requires "questionable" -task testAll, "Run DHT tests": - exec "nim c -r tests/testAll.nim" +include "build.nims" -task test, "Run DHT tests": - exec "nim c -r -d:testsAll --verbosity:0 tests/testAllParallel.nim" - -task testPart1, "Run DHT tests A": - exec "nim c -r -d:testsPart1 tests/testAllParallel.nim" - -task testPart2, "Run DHT tests B": - exec "nim c -r -d:testsPart2 tests/testAllParallel.nim" - -# task coverage, "generates code coverage report": -# var (output, exitCode) = gorgeEx("which lcov") -# if exitCode != 0: -# echo "" -# echo " ************************** ⛔️ ERROR ⛔️ **************************" -# echo " ** **" -# echo " ** ERROR: lcov not found, it must be installed to run code **" -# echo " ** coverage locally **" -# echo " ** **" -# echo " *****************************************************************" -# echo "" -# quit 1 - -# (output, exitCode) = gorgeEx("gcov --version") -# if output.contains("Apple LLVM"): -# echo "" -# echo " ************************* ⚠️ WARNING ⚠️ *************************" -# echo " ** **" -# echo " ** WARNING: Using Apple's llvm-cov in place of gcov, which **" -# echo " ** emulates an old version of gcov (4.2.0) and therefore **" -# echo " ** coverage results will differ than those on CI (which **" -# echo " ** uses a much newer version of gcov). **" -# echo " ** **" -# echo " *****************************************************************" -# echo "" - -# exec("nimble --verbose test --opt:speed -d:debug --verbosity:0 --hints:off --lineDir:on -d:chronicles_log_level=INFO --nimcache:nimcache --passC:-fprofile-arcs --passC:-ftest-coverage --passL:-fprofile-arcs --passL:-ftest-coverage") -# exec("cd nimcache; rm *.c; cd ..") -# mkDir("coverage") -# exec("lcov --capture --directory nimcache --output-file coverage/coverage.info") -# exec("$(which bash) -c 'shopt -s globstar; ls $(pwd)/codexdht/{*,**/*}.nim'") -# exec("$(which bash) -c 'shopt -s globstar; lcov --extract coverage/coverage.info $(pwd)/codexdht/{*,**/*}.nim --output-file coverage/coverage.f.info'") -# echo "Generating HTML coverage report" -# exec("genhtml coverage/coverage.f.info --output-directory coverage/report") -# echo "Opening HTML coverage report in browser..." -# exec("open coverage/report/index.html") diff --git a/config.nims b/config.nims index 13a33d5..831d5cd 100644 --- a/config.nims +++ b/config.nims @@ -1,31 +1,5 @@ -import std/os -const currentDir = currentSourcePath()[0 .. ^(len("config.nims") + 1)] - -switch("define", "libp2p_pki_schemes=secp256k1") - -task testAll, "Run DHT tests": - exec "nim c -r tests/testAll.nim" - -task test, "Run DHT tests": - exec "nim c -r -d:testsAll --verbosity:0 tests/testAllParallel.nim" - -task testPart1, "Run DHT tests A": - exec "nim c -r -d:testsPart1 tests/testAllParallel.nim" - -task testPart2, "Run DHT tests B": - exec "nim c -r -d:testsPart2 tests/testAllParallel.nim" - -when getEnv("NIMBUS_BUILD_SYSTEM") == "yes" and - # BEWARE - # In Nim 1.6, config files are evaluated with a working directory - # matching where the Nim command was invocated. This means that we - # must do all file existance checks with full absolute paths: - system.fileExists(currentDir & "nimbus-build-system.paths"): - echo "Using Nimbus Paths" - include "nimbus-build-system.paths" -elif withDir(thisDir(), system.fileExists("nimble.paths")): - echo "Using Nimble Paths" +include "build.nims" # begin Nimble config (version 2) --noNimblePath diff --git a/env.sh b/env.sh deleted file mode 100755 index 697a426..0000000 --- a/env.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -# We use ${BASH_SOURCE[0]} instead of $0 to allow sourcing this file -# and we fall back to a Zsh-specific special var to also support Zsh. -REL_PATH="$(dirname ${BASH_SOURCE[0]:-${(%):-%x}})" -ABS_PATH="$(cd ${REL_PATH}; pwd)" -source ${ABS_PATH}/vendor/nimbus-build-system/scripts/env.sh From b8ec1cc6cb02e35b0648ae31c52658ebf5bd7908 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Thu, 13 Jul 2023 20:24:11 -0700 Subject: [PATCH 02/12] adds docs for Nimble 0.14 --- README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/README.md b/README.md index 780f686..805008a 100644 --- a/README.md +++ b/README.md @@ -19,3 +19,26 @@ This DHT implementation is aiming to provide a DHT for Codex with the following Current implementation is based on nim-eth's Discovery v5 implementation. Base files were copied from [`status-im/nim-eth@779d767b024175a51cf74c79ec7513301ebe2f46`](https://github.com/status-im/nim-eth/commit/779d767b024175a51cf74c79ec7513301ebe2f46) + +## Building + +This repo is setup to use Nimble lockfiles. This requires Nimble 0.14+ which isn't installed by default when this was written. If `nimble -v` reports `0.13.x` then you will need to install Nimble 0.14. Note that using Nimble 0.14 changes how Nimble behaves! + +Nimble 0.14 can be install by: + +```sh +nimble install nimble@0.14.2 +``` + +After this you can setup your Nimble environment. Note that this will build the pinned version of Nim! The first run can take ~15 minutes. + +```sh +nimble setup # creates a nimble.paths used for rest of Nimble commands +nimble testAll +``` + +You can also run tasks directly: + +```sh +nim testAll +``` From 4f30012c2d466e7ffc51a36447267e3e80a62051 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Thu, 13 Jul 2023 22:13:40 -0700 Subject: [PATCH 03/12] fix coverage? --- .gitignore | 1 + build.nims | 23 ++++++++++++++--------- tests/coverage.nim | 2 ++ tests/coverage.nims | 15 +++++++++++++++ tests/testAll.nim | 11 ++++++++--- 5 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 tests/coverage.nim create mode 100644 tests/coverage.nims diff --git a/.gitignore b/.gitignore index 49331ec..9eaaf60 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ nimbus-build-system.paths vendor/* NimBinaries .update.timestamp +*.dSYM diff --git a/build.nims b/build.nims index 129eb1d..164c795 100644 --- a/build.nims +++ b/build.nims @@ -1,4 +1,4 @@ -import std / strutils +import std / [os, strutils, sequtils] switch("define", "libp2p_pki_schemes=secp256k1") @@ -40,14 +40,19 @@ task coverage, "generates code coverage report": echo " *****************************************************************" echo "" - exec("nimble --verbose test --opt:speed -d:debug --verbosity:0 --hints:off --lineDir:on -d:chronicles_log_level=INFO --nimcache:nimcache --passC:-fprofile-arcs --passC:-ftest-coverage --passL:-fprofile-arcs --passL:-ftest-coverage") - exec("cd nimcache; rm *.c; cd ..") - mkDir("coverage") + var nimSrcs = "" + for f in walkDirRec(".", {pcFile}): + if f.endswith(".nim"): nimSrcs.add " " & f.quoteShell() + + echo "======== Running Tests ======== " + exec("nim c -r tests/coverage.nim") + # exec("rm nimcache/*.c") + rmDir("coverage"); mkDir("coverage") + echo " ======== Running LCOV ======== " exec("lcov --capture --directory nimcache --output-file coverage/coverage.info") - exec("$(which bash) -c 'shopt -s globstar; ls $(pwd)/codexdht/{*,**/*}.nim'") - exec("$(which bash) -c 'shopt -s globstar; lcov --extract coverage/coverage.info $(pwd)/codexdht/{*,**/*}.nim --output-file coverage/coverage.f.info'") - echo "Generating HTML coverage report" - exec("genhtml coverage/coverage.f.info --output-directory coverage/report") - echo "Opening HTML coverage report in browser..." + exec("lcov --extract coverage/coverage.info --output-file coverage/coverage.f.info " & nimSrcs) + echo " ======== Generating HTML coverage report ======== " + exec("genhtml coverage/coverage.f.info --output-directory coverage/report ") + echo " ======== Opening HTML coverage report in browser... ======== " exec("open coverage/report/index.html") diff --git a/tests/coverage.nim b/tests/coverage.nim new file mode 100644 index 0000000..e9146c9 --- /dev/null +++ b/tests/coverage.nim @@ -0,0 +1,2 @@ + +include ./testAll diff --git a/tests/coverage.nims b/tests/coverage.nims new file mode 100644 index 0000000..f14fce4 --- /dev/null +++ b/tests/coverage.nims @@ -0,0 +1,15 @@ +switch("define", "testsAll") + +switch("debugger", "native") +switch("lineDir", "on") +switch("define", "debug") +# switch("opt", "none") +switch("verbosity", "0") +switch("hints", "off") +switch("warnings", "off") +switch("define", "chronicles_log_level=INFO") +switch("nimcache", "nimcache") +switch("passC", "-fprofile-arcs") +switch("passC", "-ftest-coverage") +switch("passL", "-fprofile-arcs") +switch("passL", "-ftest-coverage") diff --git a/tests/testAll.nim b/tests/testAll.nim index f9fc17c..c191dfb 100644 --- a/tests/testAll.nim +++ b/tests/testAll.nim @@ -1,5 +1,10 @@ -import - ./dht/[test_providers, test_providermngr], - ./discv5/[test_discoveryv5, test_discoveryv5_encoding] +when defined(testsPart1) or not defined(testParts): + import ./dht/test_providers +when defined(testsPart2) or not defined(testParts): + import ./dht/test_providermngr +when defined(testsPart3) or not defined(testParts): + import ./discv5/test_discoveryv5 +when defined(testsPart4) or not defined(testParts): + import ./discv5/test_discoveryv5_encoding {.warning[UnusedImport]: off.} From 9a78c70bb1cfdcd0c46fa88ad7c0470efa4dc4df Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Thu, 13 Jul 2023 22:21:25 -0700 Subject: [PATCH 04/12] cleanup --- tests/testAll.nim | 12 ++++-------- tests/testAllParallel.nim | 10 +++++----- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/tests/testAll.nim b/tests/testAll.nim index c191dfb..af432e0 100644 --- a/tests/testAll.nim +++ b/tests/testAll.nim @@ -1,10 +1,6 @@ -when defined(testsPart1) or not defined(testParts): - import ./dht/test_providers -when defined(testsPart2) or not defined(testParts): - import ./dht/test_providermngr -when defined(testsPart3) or not defined(testParts): - import ./discv5/test_discoveryv5 -when defined(testsPart4) or not defined(testParts): - import ./discv5/test_discoveryv5_encoding +import ./dht/test_providers +import ./dht/test_providermngr +import ./discv5/test_discoveryv5 +import ./discv5/test_discoveryv5_encoding {.warning[UnusedImport]: off.} diff --git a/tests/testAllParallel.nim b/tests/testAllParallel.nim index 9127064..7bff2e1 100644 --- a/tests/testAllParallel.nim +++ b/tests/testAllParallel.nim @@ -8,15 +8,15 @@ var cmds: seq[string] when defined(testsPart1) or defined(testsAll): cmds.add [ - "nim c -r --verbosity:0 tests/dht/test_providers.nim", - "nim c -r --verbosity:0 tests/dht/test_providermngr.nim", + "nim c -r tests/dht/test_providers.nim", + "nim c -r tests/dht/test_providermngr.nim", ] when defined(testsPart2) or defined(testsAll): cmds.add [ - "nim c -r --verbosity:0 tests/discv5/test_discoveryv5.nim", - "nim c -r --verbosity:0 tests/discv5/test_discoveryv5_encoding.nim", + "nim c -r tests/discv5/test_discoveryv5.nim", + "nim c -r tests/discv5/test_discoveryv5_encoding.nim", ] -echo "CMDS: ", cmds +echo "Running Test Commands: ", cmds quit execProcesses(cmds) From 7e05ef5ad6e544fa8fdc3fc850e734aa73419114 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Fri, 14 Jul 2023 00:39:27 -0700 Subject: [PATCH 05/12] import nimble lock --- atlas.lock | 226 ++++++++++++++++++++++++++--------------------------- 1 file changed, 111 insertions(+), 115 deletions(-) diff --git a/atlas.lock b/atlas.lock index f672e7f..3354126 100644 --- a/atlas.lock +++ b/atlas.lock @@ -1,143 +1,139 @@ { "items": { - "nimbus-build-system": { - "dir": "vendor/nimbus-build-system", - "url": "https://github.com/status-im/nimbus-build-system", - "commit": "239c3a7fbb88fd241da0ade3246fd2e5fcff4f25" + "unittest2": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/unittest2", + "url": "https://github.com/status-im/nim-unittest2.git", + "commit": "02c49b8a994dd3f9eddfaab45262f9b8fa507f8e" }, - "nim-nat-traversal": { - "dir": "vendor/nim-nat-traversal", - "url": "https://github.com/status-im/nim-nat-traversal", - "commit": "802d75edcc656e616120fb27f950ff1285ddcbba" - }, - "nim-zlib": { - "dir": "vendor/nim-zlib", - "url": "https://github.com/status-im/nim-zlib", - "commit": "f34ca261efd90f118dc1647beefd2f7a69b05d93" - }, - "nim-stew": { - "dir": "vendor/nim-stew", + "stew": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/stew", "url": "https://github.com/status-im/nim-stew.git", "commit": "e18f5a62af2ade7a1fd1d39635d4e04d944def08" }, - "nim-http-utils": { - "dir": "vendor/nim-http-utils", - "url": "https://github.com/status-im/nim-http-utils.git", - "commit": "3b491a40c60aad9e8d3407443f46f62511e63b18" + "nimcrypto": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/nimcrypto", + "url": "https://github.com/cheatfate/nimcrypto.git", + "commit": "a5742a9a214ac33f91615f3862c7b099aec43b00" }, - "nim-chronos": { - "dir": "vendor/nim-chronos", - "url": "https://github.com/status-im/nim-chronos.git", - "commit": "6525f4ce1d1a7eba146e5f1a53f6f105077ae686" - }, - "upraises": { - "dir": "vendor/upraises", - "url": "https://github.com/markspanbroek/upraises.git", - "commit": "bc2628989b63854d980e92dadbd58f83e34b6f25" - }, - "nim-sqlite3-abi": { - "dir": "vendor/nim-sqlite3-abi", - "url": "https://github.com/arnetheduck/nim-sqlite3-abi.git", - "commit": "362e1bd9f689ad9f5380d9d27f0705b3d4dfc7d3" - }, - "questionable": { - "dir": "vendor/questionable", - "url": "https://github.com/status-im/questionable.git", - "commit": "0d7ce8efdedaf184680cb7268721fca0af947a74" - }, - "nim-websock": { - "dir": "vendor/nim-websock", - "url": "https://github.com/status-im/nim-websock.git", - "commit": "2c3ae3137f3c9cb48134285bd4a47186fa51f0e8" - }, - "nim-secp256k1": { - "dir": "vendor/nim-secp256k1", + "secp256k1": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/secp256k1", "url": "https://github.com/status-im/nim-secp256k1.git", "commit": "5340cf188168d6afcafc8023770d880f067c0b2f" }, - "nim-bearssl": { - "dir": "vendor/nim-bearssl", + "bearssl": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/bearssl", "url": "https://github.com/status-im/nim-bearssl.git", "commit": "f4c4233de453cb7eac0ce3f3ffad6496295f83ab" }, - "dnsclient.nim": { - "dir": "vendor/dnsclient.nim", - "url": "https://github.com/ba0f3/dnsclient.nim", - "commit": "23214235d4784d24aceed99bbfe153379ea557c8" + "httputils": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/httputils", + "url": "https://github.com/status-im/nim-http-utils.git", + "commit": "e88e231dfcef4585fe3b2fbd9b664dbd28a88040" }, - "nimcrypto": { - "dir": "vendor/nimcrypto", - "url": "https://github.com/status-im/nimcrypto.git", - "commit": "a5742a9a214ac33f91615f3862c7b099aec43b00" + "chronos": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/chronos", + "url": "https://github.com/status-im/nim-chronos.git", + "commit": "6525f4ce1d1a7eba146e5f1a53f6f105077ae686" }, - "nim-json-serialization": { - "dir": "vendor/nim-json-serialization", - "url": "https://github.com/status-im/nim-json-serialization.git", - "commit": "e5b18fb710c3d0167ec79f3b892f5a7a1bc6d1a4" - }, - "nim-testutils": { - "dir": "vendor/nim-testutils", - "url": "https://github.com/status-im/nim-testutils", - "commit": "b56a5953e37fc5117bd6ea6dfa18418c5e112815" - }, - "nim-unittest2": { - "dir": "vendor/nim-unittest2", - "url": "https://github.com/status-im/nim-unittest2.git", - "commit": "b178f47527074964f76c395ad0dfc81cf118f379" - }, - "npeg": { - "dir": "vendor/npeg", - "url": "https://github.com/zevv/npeg", - "commit": "b15a10e388b91b898c581dbbcb6a718d46b27d2f" - }, - "nim-serialization": { - "dir": "vendor/nim-serialization", - "url": "https://github.com/status-im/nim-serialization.git", - "commit": "493d18b8292fc03aa4f835fd825dea1183f97466" - }, - "nim-faststreams": { - "dir": "vendor/nim-faststreams", - "url": "https://github.com/status-im/nim-faststreams.git", - "commit": "1b561a9e71b6bdad1c1cdff753418906037e9d09" - }, - "nim-datastore": { - "dir": "vendor/nim-datastore", - "url": "https://github.com/codex-storage/nim-datastore.git", - "commit": "0cde8aeb67c59fd0ac95496dc6b5e1168d6632aa" - }, - "asynctest": { - "dir": "vendor/asynctest", - "url": "https://github.com/markspanbroek/asynctest", - "commit": "a236a5f0f3031573ac2cb082b63dbf6e170e06e7" - }, - "nim-stint": { - "dir": "vendor/nim-stint", - "url": "https://github.com/status-im/nim-stint.git", - "commit": "036c71d06a6b22f8f967ba9d54afd2189c3872ca" - }, - "nim-metrics": { - "dir": "vendor/nim-metrics", + "metrics": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/metrics", "url": "https://github.com/status-im/nim-metrics.git", "commit": "743f81d4f6c6ebf0ac02389f2392ff8b4235bee5" }, - "nim-libp2p": { - "dir": "vendor/nim-libp2p", - "url": "https://github.com/status-im/nim-libp2p.git", - "commit": "a3e9d1ed80c048cd5abc839cbe0863cefcedc702" + "testutils": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/testutils", + "url": "https://github.com/status-im/nim-testutils", + "commit": "dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34" }, - "nim-chronicles": { - "dir": "vendor/nim-chronicles", + "faststreams": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/faststreams", + "url": "https://github.com/status-im/nim-faststreams.git", + "commit": "1b561a9e71b6bdad1c1cdff753418906037e9d09" + }, + "serialization": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/serialization", + "url": "https://github.com/status-im/nim-serialization.git", + "commit": "493d18b8292fc03aa4f835fd825dea1183f97466" + }, + "json_serialization": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/json_serialization", + "url": "https://github.com/status-im/nim-json-serialization.git", + "commit": "e5b18fb710c3d0167ec79f3b892f5a7a1bc6d1a4" + }, + "chronicles": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/chronicles", "url": "https://github.com/status-im/nim-chronicles.git", "commit": "7631f7b2ee03398cb1512a79923264e8f9410af6" }, - "nim-protobuf-serialization": { - "dir": "vendor/nim-protobuf-serialization", + "dnsclient": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/dnsclient", + "url": "https://github.com/ba0f3/dnsclient.nim", + "commit": "23214235d4784d24aceed99bbfe153379ea557c8" + }, + "zlib": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/zlib", + "url": "https://github.com/status-im/nim-zlib", + "commit": "74cdeb54b21bededb5a515d36f608bc1850555a2" + }, + "websock": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/websock", + "url": "https://github.com/status-im/nim-websock.git", + "commit": "7b2ed397d6e4c37ea4df08ae82aeac7ff04cd180" + }, + "libp2p": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/libp2p", + "url": "https://github.com/status-im/nim-libp2p.git", + "commit": "a3e9d1ed80c048cd5abc839cbe0863cefcedc702" + }, + "combparser": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/combparser", + "url": "https://github.com/PMunch/combparser.git", + "commit": "ba4464c005d7617c008e2ed2ebc1ba52feb469c6" + }, + "asynctest": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/asynctest", + "url": "https://github.com/status-im/asynctest.git", + "commit": "a236a5f0f3031573ac2cb082b63dbf6e170e06e7" + }, + "questionable": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/questionable", + "url": "https://github.com/status-im/questionable.git", + "commit": "30e4184a99c8c1ba329925912d2c5d4b09acf8cc" + }, + "upraises": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/upraises", + "url": "https://github.com/markspanbroek/upraises.git", + "commit": "ff4f8108e44fba9b35cac535ab63d3927e8fd3c2" + }, + "sqlite3_abi": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/sqlite3_abi", + "url": "https://github.com/arnetheduck/nim-sqlite3-abi", + "commit": "362e1bd9f689ad9f5380d9d27f0705b3d4dfc7d3" + }, + "protobuf_serialization": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/protobuf_serialization", "url": "https://github.com/status-im/nim-protobuf-serialization", - "commit": "28214b3e40c755a9886d2ec8f261ec48fbb6bec6" + "commit": "27b400fdf3bd8ce7120ca66fc1de39d3f1a5804a" + }, + "datastore": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/datastore", + "url": "https://github.com/status-im/nim-datastore", + "commit": "0cde8aeb67c59fd0ac95496dc6b5e1168d6632aa" + }, + "stint": { + "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/stint", + "url": "https://github.com/status-im/nim-stint", + "commit": "036c71d06a6b22f8f967ba9d54afd2189c3872ca" } }, - "nimcfg": "############# begin Atlas config section ##########\n--noNimblePath\n--path:\"vendor/nim-secp256k1\"\n--path:\"vendor/nim-protobuf-serialization\"\n--path:\"vendor/nimcrypto\"\n--path:\"vendor/nim-bearssl\"\n--path:\"vendor/nim-chronicles\"\n--path:\"vendor/nim-chronos\"\n--path:\"vendor/nim-libp2p\"\n--path:\"vendor/nim-metrics\"\n--path:\"vendor/nim-stew\"\n--path:\"vendor/nim-stint\"\n--path:\"vendor/asynctest\"\n--path:\"vendor/nim-datastore\"\n--path:\"vendor/questionable\"\n--path:\"vendor/nim-faststreams\"\n--path:\"vendor/nim-serialization\"\n--path:\"vendor/npeg/src\"\n--path:\"vendor/nim-unittest2\"\n--path:\"vendor/nim-testutils\"\n--path:\"vendor/nim-json-serialization\"\n--path:\"vendor/nim-http-utils\"\n--path:\"vendor/dnsclient.nim/src\"\n--path:\"vendor/nim-websock\"\n--path:\"vendor/nim-sqlite3-abi\"\n--path:\"vendor/upraises\"\n--path:\"vendor/nim-zlib\"\n############# end Atlas config section ##########\n", + "nimcfg": "", + "nimbleFile": { + "filename": "", + "content": "" + }, + "hostOS": "macosx", + "hostCPU": "arm64", "nimVersion": "1.6.14", "gccVersion": "", "clangVersion": "" -} +} \ No newline at end of file From f42840dc4d1a70310417437cc62e73ea702dda3a Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Fri, 14 Jul 2023 01:41:41 -0700 Subject: [PATCH 06/12] fix atlas lock --- atlas.lock | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/atlas.lock b/atlas.lock index 3354126..6f9fe1e 100644 --- a/atlas.lock +++ b/atlas.lock @@ -1,127 +1,127 @@ { "items": { "unittest2": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/unittest2", + "dir": "vendor/unittest2", "url": "https://github.com/status-im/nim-unittest2.git", "commit": "02c49b8a994dd3f9eddfaab45262f9b8fa507f8e" }, "stew": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/stew", + "dir": "vendor/stew", "url": "https://github.com/status-im/nim-stew.git", "commit": "e18f5a62af2ade7a1fd1d39635d4e04d944def08" }, "nimcrypto": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/nimcrypto", + "dir": "vendor/nimcrypto", "url": "https://github.com/cheatfate/nimcrypto.git", "commit": "a5742a9a214ac33f91615f3862c7b099aec43b00" }, "secp256k1": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/secp256k1", + "dir": "vendor/secp256k1", "url": "https://github.com/status-im/nim-secp256k1.git", "commit": "5340cf188168d6afcafc8023770d880f067c0b2f" }, "bearssl": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/bearssl", + "dir": "vendor/bearssl", "url": "https://github.com/status-im/nim-bearssl.git", "commit": "f4c4233de453cb7eac0ce3f3ffad6496295f83ab" }, "httputils": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/httputils", + "dir": "vendor/httputils", "url": "https://github.com/status-im/nim-http-utils.git", "commit": "e88e231dfcef4585fe3b2fbd9b664dbd28a88040" }, "chronos": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/chronos", + "dir": "vendor/chronos", "url": "https://github.com/status-im/nim-chronos.git", "commit": "6525f4ce1d1a7eba146e5f1a53f6f105077ae686" }, "metrics": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/metrics", + "dir": "vendor/metrics", "url": "https://github.com/status-im/nim-metrics.git", "commit": "743f81d4f6c6ebf0ac02389f2392ff8b4235bee5" }, "testutils": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/testutils", + "dir": "vendor/testutils", "url": "https://github.com/status-im/nim-testutils", "commit": "dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34" }, "faststreams": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/faststreams", + "dir": "vendor/faststreams", "url": "https://github.com/status-im/nim-faststreams.git", "commit": "1b561a9e71b6bdad1c1cdff753418906037e9d09" }, "serialization": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/serialization", + "dir": "vendor/serialization", "url": "https://github.com/status-im/nim-serialization.git", "commit": "493d18b8292fc03aa4f835fd825dea1183f97466" }, "json_serialization": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/json_serialization", + "dir": "vendor/json_serialization", "url": "https://github.com/status-im/nim-json-serialization.git", "commit": "e5b18fb710c3d0167ec79f3b892f5a7a1bc6d1a4" }, "chronicles": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/chronicles", + "dir": "vendor/chronicles", "url": "https://github.com/status-im/nim-chronicles.git", "commit": "7631f7b2ee03398cb1512a79923264e8f9410af6" }, "dnsclient": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/dnsclient", + "dir": "vendor/dnsclient", "url": "https://github.com/ba0f3/dnsclient.nim", "commit": "23214235d4784d24aceed99bbfe153379ea557c8" }, "zlib": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/zlib", + "dir": "vendor/zlib", "url": "https://github.com/status-im/nim-zlib", "commit": "74cdeb54b21bededb5a515d36f608bc1850555a2" }, "websock": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/websock", + "dir": "vendor/websock", "url": "https://github.com/status-im/nim-websock.git", "commit": "7b2ed397d6e4c37ea4df08ae82aeac7ff04cd180" }, "libp2p": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/libp2p", + "dir": "vendor/libp2p", "url": "https://github.com/status-im/nim-libp2p.git", "commit": "a3e9d1ed80c048cd5abc839cbe0863cefcedc702" }, "combparser": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/combparser", + "dir": "vendor/combparser", "url": "https://github.com/PMunch/combparser.git", "commit": "ba4464c005d7617c008e2ed2ebc1ba52feb469c6" }, "asynctest": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/asynctest", + "dir": "vendor/asynctest", "url": "https://github.com/status-im/asynctest.git", "commit": "a236a5f0f3031573ac2cb082b63dbf6e170e06e7" }, "questionable": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/questionable", + "dir": "vendor/questionable", "url": "https://github.com/status-im/questionable.git", "commit": "30e4184a99c8c1ba329925912d2c5d4b09acf8cc" }, "upraises": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/upraises", + "dir": "vendor/upraises", "url": "https://github.com/markspanbroek/upraises.git", "commit": "ff4f8108e44fba9b35cac535ab63d3927e8fd3c2" }, "sqlite3_abi": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/sqlite3_abi", + "dir": "vendor/sqlite3_abi", "url": "https://github.com/arnetheduck/nim-sqlite3-abi", "commit": "362e1bd9f689ad9f5380d9d27f0705b3d4dfc7d3" }, "protobuf_serialization": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/protobuf_serialization", + "dir": "vendor/protobuf_serialization", "url": "https://github.com/status-im/nim-protobuf-serialization", "commit": "27b400fdf3bd8ce7120ca66fc1de39d3f1a5804a" }, "datastore": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/datastore", + "dir": "vendor/datastore", "url": "https://github.com/status-im/nim-datastore", "commit": "0cde8aeb67c59fd0ac95496dc6b5e1168d6632aa" }, "stint": { - "dir": "/Users/jaremycreechley/projs/status/nim-codex-dht/vendor/stint", + "dir": "vendor/stint", "url": "https://github.com/status-im/nim-stint", "commit": "036c71d06a6b22f8f967ba9d54afd2189c3872ca" } From 1f92aa0c0289dc7bc48d7d5177e1c992561fd494 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Fri, 14 Jul 2023 02:11:59 -0700 Subject: [PATCH 07/12] update stint --- atlas.lock | 188 ++++++++++++++++++++++++++--------------------------- 1 file changed, 94 insertions(+), 94 deletions(-) diff --git a/atlas.lock b/atlas.lock index 6f9fe1e..9648bf3 100644 --- a/atlas.lock +++ b/atlas.lock @@ -1,30 +1,15 @@ { "items": { - "unittest2": { - "dir": "vendor/unittest2", - "url": "https://github.com/status-im/nim-unittest2.git", - "commit": "02c49b8a994dd3f9eddfaab45262f9b8fa507f8e" + "zlib": { + "dir": "vendor/zlib", + "url": "https://github.com/status-im/nim-zlib", + "commit": "74cdeb54b21bededb5a515d36f608bc1850555a2" }, "stew": { "dir": "vendor/stew", "url": "https://github.com/status-im/nim-stew.git", "commit": "e18f5a62af2ade7a1fd1d39635d4e04d944def08" }, - "nimcrypto": { - "dir": "vendor/nimcrypto", - "url": "https://github.com/cheatfate/nimcrypto.git", - "commit": "a5742a9a214ac33f91615f3862c7b099aec43b00" - }, - "secp256k1": { - "dir": "vendor/secp256k1", - "url": "https://github.com/status-im/nim-secp256k1.git", - "commit": "5340cf188168d6afcafc8023770d880f067c0b2f" - }, - "bearssl": { - "dir": "vendor/bearssl", - "url": "https://github.com/status-im/nim-bearssl.git", - "commit": "f4c4233de453cb7eac0ce3f3ffad6496295f83ab" - }, "httputils": { "dir": "vendor/httputils", "url": "https://github.com/status-im/nim-http-utils.git", @@ -35,71 +20,6 @@ "url": "https://github.com/status-im/nim-chronos.git", "commit": "6525f4ce1d1a7eba146e5f1a53f6f105077ae686" }, - "metrics": { - "dir": "vendor/metrics", - "url": "https://github.com/status-im/nim-metrics.git", - "commit": "743f81d4f6c6ebf0ac02389f2392ff8b4235bee5" - }, - "testutils": { - "dir": "vendor/testutils", - "url": "https://github.com/status-im/nim-testutils", - "commit": "dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34" - }, - "faststreams": { - "dir": "vendor/faststreams", - "url": "https://github.com/status-im/nim-faststreams.git", - "commit": "1b561a9e71b6bdad1c1cdff753418906037e9d09" - }, - "serialization": { - "dir": "vendor/serialization", - "url": "https://github.com/status-im/nim-serialization.git", - "commit": "493d18b8292fc03aa4f835fd825dea1183f97466" - }, - "json_serialization": { - "dir": "vendor/json_serialization", - "url": "https://github.com/status-im/nim-json-serialization.git", - "commit": "e5b18fb710c3d0167ec79f3b892f5a7a1bc6d1a4" - }, - "chronicles": { - "dir": "vendor/chronicles", - "url": "https://github.com/status-im/nim-chronicles.git", - "commit": "7631f7b2ee03398cb1512a79923264e8f9410af6" - }, - "dnsclient": { - "dir": "vendor/dnsclient", - "url": "https://github.com/ba0f3/dnsclient.nim", - "commit": "23214235d4784d24aceed99bbfe153379ea557c8" - }, - "zlib": { - "dir": "vendor/zlib", - "url": "https://github.com/status-im/nim-zlib", - "commit": "74cdeb54b21bededb5a515d36f608bc1850555a2" - }, - "websock": { - "dir": "vendor/websock", - "url": "https://github.com/status-im/nim-websock.git", - "commit": "7b2ed397d6e4c37ea4df08ae82aeac7ff04cd180" - }, - "libp2p": { - "dir": "vendor/libp2p", - "url": "https://github.com/status-im/nim-libp2p.git", - "commit": "a3e9d1ed80c048cd5abc839cbe0863cefcedc702" - }, - "combparser": { - "dir": "vendor/combparser", - "url": "https://github.com/PMunch/combparser.git", - "commit": "ba4464c005d7617c008e2ed2ebc1ba52feb469c6" - }, - "asynctest": { - "dir": "vendor/asynctest", - "url": "https://github.com/status-im/asynctest.git", - "commit": "a236a5f0f3031573ac2cb082b63dbf6e170e06e7" - }, - "questionable": { - "dir": "vendor/questionable", - "url": "https://github.com/status-im/questionable.git", - "commit": "30e4184a99c8c1ba329925912d2c5d4b09acf8cc" - }, "upraises": { "dir": "vendor/upraises", "url": "https://github.com/markspanbroek/upraises.git", @@ -110,26 +30,106 @@ "url": "https://github.com/arnetheduck/nim-sqlite3-abi", "commit": "362e1bd9f689ad9f5380d9d27f0705b3d4dfc7d3" }, - "protobuf_serialization": { - "dir": "vendor/protobuf_serialization", - "url": "https://github.com/status-im/nim-protobuf-serialization", - "commit": "27b400fdf3bd8ce7120ca66fc1de39d3f1a5804a" + "questionable": { + "dir": "vendor/questionable", + "url": "https://github.com/status-im/questionable.git", + "commit": "30e4184a99c8c1ba329925912d2c5d4b09acf8cc" }, - "datastore": { - "dir": "vendor/datastore", + "websock": { + "dir": "vendor/websock", + "url": "https://github.com/status-im/nim-websock.git", + "commit": "7b2ed397d6e4c37ea4df08ae82aeac7ff04cd180" + }, + "secp256k1": { + "dir": "vendor/secp256k1", + "url": "https://github.com/status-im/nim-secp256k1.git", + "commit": "5340cf188168d6afcafc8023770d880f067c0b2f" + }, + "bearssl": { + "dir": "vendor/bearssl", + "url": "https://github.com/status-im/nim-bearssl.git", + "commit": "f4c4233de453cb7eac0ce3f3ffad6496295f83ab" + }, + "dnsclient": { + "dir": "vendor/dnsclient", + "url": "https://github.com/ba0f3/dnsclient.nim", + "commit": "23214235d4784d24aceed99bbfe153379ea557c8" + }, + "nimcrypto": { + "dir": "vendor/nimcrypto", + "url": "https://github.com/cheatfate/nimcrypto.git", + "commit": "a5742a9a214ac33f91615f3862c7b099aec43b00" + }, + "json_serialization": { + "dir": "vendor/json_serialization", + "url": "https://github.com/status-im/nim-json-serialization.git", + "commit": "e5b18fb710c3d0167ec79f3b892f5a7a1bc6d1a4" + }, + "testutils": { + "dir": "vendor/testutils", + "url": "https://github.com/status-im/nim-testutils", + "commit": "dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34" + }, + "unittest2": { + "dir": "vendor/unittest2", + "url": "https://github.com/status-im/nim-unittest2.git", + "commit": "02c49b8a994dd3f9eddfaab45262f9b8fa507f8e" + }, + "combparser": { + "dir": "vendor/combparser", + "url": "https://github.com/PMunch/combparser.git", + "commit": "ba4464c005d7617c008e2ed2ebc1ba52feb469c6" + }, + "serialization": { + "dir": "vendor/serialization", + "url": "https://github.com/status-im/nim-serialization.git", + "commit": "493d18b8292fc03aa4f835fd825dea1183f97466" + }, + "faststreams": { + "dir": "vendor/faststreams", + "url": "https://github.com/status-im/nim-faststreams.git", + "commit": "1b561a9e71b6bdad1c1cdff753418906037e9d09" + }, + "nim-datastore": { + "dir": "vendor/nim-datastore", "url": "https://github.com/status-im/nim-datastore", "commit": "0cde8aeb67c59fd0ac95496dc6b5e1168d6632aa" }, + "asynctest": { + "dir": "vendor/asynctest", + "url": "https://github.com/status-im/asynctest.git", + "commit": "a236a5f0f3031573ac2cb082b63dbf6e170e06e7" + }, "stint": { "dir": "vendor/stint", "url": "https://github.com/status-im/nim-stint", - "commit": "036c71d06a6b22f8f967ba9d54afd2189c3872ca" + "commit": "86621eced1dcfb5e25903019ebcfc76ed9128ec5" + }, + "metrics": { + "dir": "vendor/metrics", + "url": "https://github.com/status-im/nim-metrics.git", + "commit": "743f81d4f6c6ebf0ac02389f2392ff8b4235bee5" + }, + "libp2p": { + "dir": "vendor/libp2p", + "url": "https://github.com/status-im/nim-libp2p.git", + "commit": "a3e9d1ed80c048cd5abc839cbe0863cefcedc702" + }, + "chronicles": { + "dir": "vendor/chronicles", + "url": "https://github.com/status-im/nim-chronicles.git", + "commit": "7631f7b2ee03398cb1512a79923264e8f9410af6" + }, + "protobuf_serialization": { + "dir": "vendor/protobuf_serialization", + "url": "https://github.com/status-im/nim-protobuf-serialization", + "commit": "27b400fdf3bd8ce7120ca66fc1de39d3f1a5804a" } }, - "nimcfg": "", + "nimcfg": "\n############# begin Atlas config section ##########\n--noNimblePath\n--path:\"vendor/secp256k1\"\n--path:\"vendor/protobuf_serialization\"\n--path:\"vendor/nimcrypto\"\n--path:\"vendor/bearssl\"\n--path:\"vendor/chronicles\"\n--path:\"vendor/chronos\"\n--path:\"vendor/libp2p\"\n--path:\"vendor/metrics\"\n--path:\"vendor/stew\"\n--path:\"vendor/stint\"\n--path:\"vendor/asynctest\"\n--path:\"vendor/nim-datastore\"\n--path:\"vendor/questionable\"\n--path:\"vendor/faststreams\"\n--path:\"vendor/serialization\"\n--path:\"vendor/combparser/src\"\n--path:\"vendor/unittest2\"\n--path:\"vendor/testutils\"\n--path:\"vendor/json_serialization\"\n--path:\"vendor/httputils\"\n--path:\"vendor/dnsclient/src\"\n--path:\"vendor/websock\"\n--path:\"vendor/sqlite3_abi\"\n--path:\"vendor/upraises\"\n--path:\"vendor/zlib\"\n############# end Atlas config section ##########\n", "nimbleFile": { - "filename": "", - "content": "" + "filename": "nim-codex-dht.nimble", + "content": "# Package\n\nversion = \"0.3.1\"\nauthor = \"Status Research & Development GmbH\"\ndescription = \"DHT based on the libp2p Kademlia spec\"\nlicense = \"MIT\"\nskipDirs = @[\"tests\"]\n\n\n# Dependencies\nrequires \"nim >= 1.2.0\"\nrequires \"secp256k1#b3f38e2795e805743b299dc5d96d332db375b520\" # >= 0.5.2 & < 0.6.0\nrequires \"protobuf_serialization#27b400fdf3bd8ce7120ca66fc1de39d3f1a5804a\" # >= 0.2.0 & < 0.3.0\nrequires \"nimcrypto == 0.5.4\"\nrequires \"bearssl#head\"\nrequires \"chronicles >= 0.10.2 & < 0.11.0\"\nrequires \"chronos#1394c9e04957928afc1db33d2e0965cfb677a1e0\" # >= 3.0.11 & < 3.1.0\nrequires \"libp2p#unstable\"\nrequires \"metrics\"\nrequires \"stew#head\"\nrequires \"stint\"\nrequires \"asynctest >= 0.3.1 & < 0.4.0\"\nrequires \"https://github.com/status-im/nim-datastore#head\"\nrequires \"questionable\"\n\ninclude \"build.nims\"\n\n\n" }, "hostOS": "macosx", "hostCPU": "arm64", From 88d6ee088ab1e32d642a7884ba7288b1ad6e7463 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Mon, 17 Jul 2023 16:48:15 -0700 Subject: [PATCH 08/12] cleanup urls --- atlas.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/atlas.lock b/atlas.lock index 9648bf3..6a98b6c 100644 --- a/atlas.lock +++ b/atlas.lock @@ -57,7 +57,7 @@ }, "nimcrypto": { "dir": "vendor/nimcrypto", - "url": "https://github.com/cheatfate/nimcrypto.git", + "url": "https://github.com/status-im/nimcrypto.git", "commit": "a5742a9a214ac33f91615f3862c7b099aec43b00" }, "json_serialization": { @@ -92,12 +92,12 @@ }, "nim-datastore": { "dir": "vendor/nim-datastore", - "url": "https://github.com/status-im/nim-datastore", + "url": "https://github.com/codex-storage/nim-datastore", "commit": "0cde8aeb67c59fd0ac95496dc6b5e1168d6632aa" }, "asynctest": { "dir": "vendor/asynctest", - "url": "https://github.com/status-im/asynctest.git", + "url": "https://github.com/codex-storage/asynctest.git", "commit": "a236a5f0f3031573ac2cb082b63dbf6e170e06e7" }, "stint": { From 486d5f23266cbca33d3cbb61869b8bec4527fcc6 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Mon, 17 Jul 2023 20:00:42 -0700 Subject: [PATCH 09/12] import full secret hash from upstream --- .../private/eth/p2p/discoveryv5/crypto.nim | 89 +++++++++++++++++-- 1 file changed, 80 insertions(+), 9 deletions(-) diff --git a/codexdht/private/eth/p2p/discoveryv5/crypto.nim b/codexdht/private/eth/p2p/discoveryv5/crypto.nim index f0bc7ba..a62cb42 100644 --- a/codexdht/private/eth/p2p/discoveryv5/crypto.nim +++ b/codexdht/private/eth/p2p/discoveryv5/crypto.nim @@ -1,8 +1,28 @@ import std/sugar, - libp2p/crypto/[crypto, secp] + libp2p/crypto/[crypto, secp], + stew/[byteutils, objects, results, ptrops] -from secp256k1 import ecdhRaw, SkEcdhRawSecret, toRaw +# from secp256k1 import ecdh, SkEcdhSecretSize, toRaw, SkSecretKey, SkPublicKey +import secp256k1 + +const + KeyLength* = SkEcdhSecretSize + ## Ecdh shared secret key length without leading byte + ## (publicKey * privateKey).x, where length of x is 32 bytes + + FullKeyLength* = KeyLength + 1 + ## Ecdh shared secret with leading byte 0x02 or 0x03 + +type + SharedSecret* = object + ## Representation of ECDH shared secret, without leading `y` byte + data*: array[KeyLength, byte] + + SharedSecretFull* = object + ## Representation of ECDH shared secret, with leading `y` byte + ## (`y` is 0x02 when (publicKey * privateKey).y is even or 0x03 when odd) + data*: array[FullKeyLength, byte] proc fromHex*(T: type PrivateKey, data: string): Result[PrivateKey, cstring] = let skKey = ? SkPrivateKey.init(data).mapErr(e => @@ -14,17 +34,68 @@ proc fromHex*(T: type PublicKey, data: string): Result[PublicKey, cstring] = ("Failed to init public key from hex string: " & $e).cstring) ok PublicKey.init(skKey) -func ecdhRaw*(seckey: SkPrivateKey, pubkey: SkPublicKey): SkEcdhRawSecret {.borrow.} + +proc ecdhSharedSecretHash(output: ptr byte, x32, y32: ptr byte, data: pointer): cint + {.cdecl, raises: [].} = + ## Hash function used by `ecdhSharedSecret` below + ## + ## `x32` and `y32` are result of scalar multiplication of publicKey * privateKey. + ## Both `x32` and `y32` are 32 bytes length. + ## + ## Take the `x32` part as ecdh shared secret. + ## output length is derived from x32 length and taken from ecdh + ## generic parameter `KeyLength` + copyMem(output, x32, SkEcdhSecretSize) + return 1 + +func ecdhSharedSecret(seckey: SkPrivateKey, pubkey: secp.SkPublicKey): SharedSecret = + ## Compute ecdh agreed shared secret. + let res = ecdh[SkEcdhSecretSize](secp256k1.SkSecretKey(seckey), + secp256k1.SkPublicKey(pubkey), + ecdhSharedSecretHash, nil) + # This function only fail if the hash function return zero. + # Because our hash function always success, we can turn the error into defect + doAssert res.isOk, $res.error + SharedSecret(data: res.get) + +proc toRaw*(pubkey: PublicKey): seq[byte] = + secp256k1.SkPublicKey(pubkey.skkey).toRaw()[1..^1] + +proc ecdhSharedSecretFullHash(output: ptr byte, x32, y32: ptr byte, data: pointer): cint + {.cdecl, raises: [].} = + ## Hash function used by `ecdhSharedSecretFull` below + # `x32` and `y32` are result of scalar multiplication of publicKey * privateKey. + # Leading byte is 0x02 if `y32` is even and 0x03 if odd. Then concat with `x32`. + + # output length is derived from `x32` length + 1 and taken from ecdh + # generic parameter `FullKeyLength` + + # output[0] = 0x02 | (y32[31] & 1) + output[] = 0x02 or (y32.offset(31)[] and 0x01) + copyMem(output.offset(1), x32, KeyLength) + return 1 + +func ecdhSharedSecretFull*(seckey: PrivateKey, pubkey: PublicKey): SharedSecretFull = + ## Compute ecdh agreed shared secret with leading byte. + ## + let res = ecdh[FullKeyLength](secp256k1.SkSecretKey(seckey.skkey), + secp256k1.SkPublicKey(pubkey.skkey), + ecdhSharedSecretFullHash, nil) + # This function only fail if the hash function return zero. + # Because our hash function always success, we can turn the error into defect + doAssert res.isOk, $res.error + SharedSecretFull(data: res.get) proc ecdhRaw*( priv: PrivateKey, - pub: PublicKey): Result[SkEcdhRawSecret, cstring] = - + pub: PublicKey +): Result[SharedSecret, cstring] = + ## emulate old ecdhRaw style keys + ## + ## this includes a leading 0x02 or 0x03 + ## # TODO: Do we need to support non-secp256k1 schemes? if priv.scheme != Secp256k1 or pub.scheme != Secp256k1: return err "Must use secp256k1 scheme".cstring - ok ecdhRaw(priv.skkey, pub.skkey) - -proc toRaw*(pubkey: PublicKey): seq[byte] = - secp256k1.SkPublicKey(pubkey.skkey).toRaw()[1..^1] + ok ecdhSharedSecret(priv.skkey, pub.skkey) From 9cb9f6677f94ca261ae928a43eac7b1b5a7b9ed6 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Mon, 17 Jul 2023 20:04:58 -0700 Subject: [PATCH 10/12] use full secret hash including prefix byte 0x02 / 0x03 --- codexdht/private/eth/p2p/discoveryv5/crypto.nim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codexdht/private/eth/p2p/discoveryv5/crypto.nim b/codexdht/private/eth/p2p/discoveryv5/crypto.nim index a62cb42..2ba3939 100644 --- a/codexdht/private/eth/p2p/discoveryv5/crypto.nim +++ b/codexdht/private/eth/p2p/discoveryv5/crypto.nim @@ -89,7 +89,7 @@ func ecdhSharedSecretFull*(seckey: PrivateKey, pubkey: PublicKey): SharedSecretF proc ecdhRaw*( priv: PrivateKey, pub: PublicKey -): Result[SharedSecret, cstring] = +): Result[SharedSecretFull, cstring] = ## emulate old ecdhRaw style keys ## ## this includes a leading 0x02 or 0x03 @@ -98,4 +98,4 @@ proc ecdhRaw*( if priv.scheme != Secp256k1 or pub.scheme != Secp256k1: return err "Must use secp256k1 scheme".cstring - ok ecdhSharedSecret(priv.skkey, pub.skkey) + ok ecdhSharedSecretFull(priv, pub) From 1dccf0792093c78eb5231b0abe577fb3fa24f477 Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Mon, 17 Jul 2023 20:24:58 -0700 Subject: [PATCH 11/12] bump lock files --- atlas.lock | 8 +- nimble.lock | 495 +++++++++++++++++++++++++--------------------------- 2 files changed, 240 insertions(+), 263 deletions(-) diff --git a/atlas.lock b/atlas.lock index 6a98b6c..4de1841 100644 --- a/atlas.lock +++ b/atlas.lock @@ -43,7 +43,7 @@ "secp256k1": { "dir": "vendor/secp256k1", "url": "https://github.com/status-im/nim-secp256k1.git", - "commit": "5340cf188168d6afcafc8023770d880f067c0b2f" + "commit": "2acbbdcc0e63002a013fff49f015708522875832" }, "bearssl": { "dir": "vendor/bearssl", @@ -73,7 +73,7 @@ "unittest2": { "dir": "vendor/unittest2", "url": "https://github.com/status-im/nim-unittest2.git", - "commit": "02c49b8a994dd3f9eddfaab45262f9b8fa507f8e" + "commit": "b178f47527074964f76c395ad0dfc81cf118f379" }, "combparser": { "dir": "vendor/combparser", @@ -126,10 +126,10 @@ "commit": "27b400fdf3bd8ce7120ca66fc1de39d3f1a5804a" } }, - "nimcfg": "\n############# begin Atlas config section ##########\n--noNimblePath\n--path:\"vendor/secp256k1\"\n--path:\"vendor/protobuf_serialization\"\n--path:\"vendor/nimcrypto\"\n--path:\"vendor/bearssl\"\n--path:\"vendor/chronicles\"\n--path:\"vendor/chronos\"\n--path:\"vendor/libp2p\"\n--path:\"vendor/metrics\"\n--path:\"vendor/stew\"\n--path:\"vendor/stint\"\n--path:\"vendor/asynctest\"\n--path:\"vendor/nim-datastore\"\n--path:\"vendor/questionable\"\n--path:\"vendor/faststreams\"\n--path:\"vendor/serialization\"\n--path:\"vendor/combparser/src\"\n--path:\"vendor/unittest2\"\n--path:\"vendor/testutils\"\n--path:\"vendor/json_serialization\"\n--path:\"vendor/httputils\"\n--path:\"vendor/dnsclient/src\"\n--path:\"vendor/websock\"\n--path:\"vendor/sqlite3_abi\"\n--path:\"vendor/upraises\"\n--path:\"vendor/zlib\"\n############# end Atlas config section ##########\n", + "nimcfg": "############# begin Atlas config section ##########\n--noNimblePath\n--path:\"vendor/secp256k1\"\n--path:\"vendor/protobuf_serialization\"\n--path:\"vendor/nimcrypto\"\n--path:\"vendor/bearssl\"\n--path:\"vendor/chronicles\"\n--path:\"vendor/chronos\"\n--path:\"vendor/libp2p\"\n--path:\"vendor/metrics\"\n--path:\"vendor/stew\"\n--path:\"vendor/stint\"\n--path:\"vendor/asynctest\"\n--path:\"vendor/nim-datastore\"\n--path:\"vendor/questionable\"\n--path:\"vendor/faststreams\"\n--path:\"vendor/serialization\"\n--path:\"vendor/combparser/src\"\n--path:\"vendor/unittest2\"\n--path:\"vendor/testutils\"\n--path:\"vendor/json_serialization\"\n--path:\"vendor/httputils\"\n--path:\"vendor/dnsclient/src\"\n--path:\"vendor/websock\"\n--path:\"vendor/sqlite3_abi\"\n--path:\"vendor/upraises\"\n--path:\"vendor/zlib\"\n############# end Atlas config section ##########\n", "nimbleFile": { "filename": "nim-codex-dht.nimble", - "content": "# Package\n\nversion = \"0.3.1\"\nauthor = \"Status Research & Development GmbH\"\ndescription = \"DHT based on the libp2p Kademlia spec\"\nlicense = \"MIT\"\nskipDirs = @[\"tests\"]\n\n\n# Dependencies\nrequires \"nim >= 1.2.0\"\nrequires \"secp256k1#b3f38e2795e805743b299dc5d96d332db375b520\" # >= 0.5.2 & < 0.6.0\nrequires \"protobuf_serialization#27b400fdf3bd8ce7120ca66fc1de39d3f1a5804a\" # >= 0.2.0 & < 0.3.0\nrequires \"nimcrypto == 0.5.4\"\nrequires \"bearssl#head\"\nrequires \"chronicles >= 0.10.2 & < 0.11.0\"\nrequires \"chronos#1394c9e04957928afc1db33d2e0965cfb677a1e0\" # >= 3.0.11 & < 3.1.0\nrequires \"libp2p#unstable\"\nrequires \"metrics\"\nrequires \"stew#head\"\nrequires \"stint\"\nrequires \"asynctest >= 0.3.1 & < 0.4.0\"\nrequires \"https://github.com/status-im/nim-datastore#head\"\nrequires \"questionable\"\n\ninclude \"build.nims\"\n\n\n" + "content": "# Package\n\nversion = \"0.3.2\"\nauthor = \"Status Research & Development GmbH\"\ndescription = \"DHT based on the libp2p Kademlia spec\"\nlicense = \"MIT\"\nskipDirs = @[\"tests\"]\n\n\n# Dependencies\nrequires \"nim >= 1.2.0\"\nrequires \"secp256k1#b3f38e2795e805743b299dc5d96d332db375b520\" # >= 0.5.2 & < 0.6.0\nrequires \"protobuf_serialization#27b400fdf3bd8ce7120ca66fc1de39d3f1a5804a\" # >= 0.2.0 & < 0.3.0\nrequires \"nimcrypto == 0.5.4\"\nrequires \"bearssl#head\"\nrequires \"chronicles >= 0.10.2 & < 0.11.0\"\nrequires \"chronos#1394c9e04957928afc1db33d2e0965cfb677a1e0\" # >= 3.0.11 & < 3.1.0\nrequires \"libp2p#unstable\"\nrequires \"metrics\"\nrequires \"stew#head\"\nrequires \"stint\"\nrequires \"asynctest >= 0.3.1 & < 0.4.0\"\nrequires \"https://github.com/status-im/nim-datastore#head\"\nrequires \"questionable\"\n\ninclude \"build.nims\"\n\n\n" }, "hostOS": "macosx", "hostCPU": "arm64", diff --git a/nimble.lock b/nimble.lock index 3ef8ef0..8546310 100644 --- a/nimble.lock +++ b/nimble.lock @@ -1,5 +1,4 @@ { - "version": 2, "packages": { "nim": { "version": "1.6.14", @@ -11,180 +10,6 @@ "sha1": "f9ce6fa986a4e75514fe26d4c773789b8897eb18" } }, - "unittest2": { - "version": "0.0.2", - "vcsRevision": "02c49b8a994dd3f9eddfaab45262f9b8fa507f8e", - "url": "https://github.com/status-im/nim-unittest2.git", - "downloadMethod": "git", - "dependencies": [], - "checksums": { - "sha1": "a7f3331cabb5fad0d04c93be0aad1f020f9c8033" - } - }, - "stew": { - "version": "0.1.0", - "vcsRevision": "e18f5a62af2ade7a1fd1d39635d4e04d944def08", - "url": "https://github.com/status-im/nim-stew.git", - "downloadMethod": "git", - "dependencies": [ - "unittest2" - ], - "checksums": { - "sha1": "2a80972f66597bf87d820dca8164d89d3bb24c6d" - } - }, - "nimcrypto": { - "version": "0.5.4", - "vcsRevision": "a5742a9a214ac33f91615f3862c7b099aec43b00", - "url": "https://github.com/cheatfate/nimcrypto.git", - "downloadMethod": "git", - "dependencies": [], - "checksums": { - "sha1": "f76c87707cd4e96355b8bb6ef27e7f8b0aac1e08" - } - }, - "secp256k1": { - "version": "0.5.2", - "vcsRevision": "5340cf188168d6afcafc8023770d880f067c0b2f", - "url": "https://github.com/status-im/nim-secp256k1.git", - "downloadMethod": "git", - "dependencies": [ - "stew", - "nimcrypto" - ], - "checksums": { - "sha1": "ae9cbea4487be94a06653ffee075a7f1bd1e231e" - } - }, - "bearssl": { - "version": "0.1.5", - "vcsRevision": "f4c4233de453cb7eac0ce3f3ffad6496295f83ab", - "url": "https://github.com/status-im/nim-bearssl.git", - "downloadMethod": "git", - "dependencies": [ - "unittest2" - ], - "checksums": { - "sha1": "dabf4aaac8969fb10281ebd9ff51875d37eeaaa9" - } - }, - "httputils": { - "version": "0.3.0", - "vcsRevision": "e88e231dfcef4585fe3b2fbd9b664dbd28a88040", - "url": "https://github.com/status-im/nim-http-utils.git", - "downloadMethod": "git", - "dependencies": [ - "stew", - "unittest2" - ], - "checksums": { - "sha1": "dd0dcef76616ad35922944671c49222c8a17fb1f" - } - }, - "chronos": { - "version": "3.0.11", - "vcsRevision": "6525f4ce1d1a7eba146e5f1a53f6f105077ae686", - "url": "https://github.com/status-im/nim-chronos.git", - "downloadMethod": "git", - "dependencies": [ - "stew", - "bearssl", - "httputils", - "unittest2" - ], - "checksums": { - "sha1": "8cdf821ecc76fb91fdfb5191cad31f813822fcb2" - } - }, - "metrics": { - "version": "0.0.1", - "vcsRevision": "743f81d4f6c6ebf0ac02389f2392ff8b4235bee5", - "url": "https://github.com/status-im/nim-metrics.git", - "downloadMethod": "git", - "dependencies": [ - "chronos" - ], - "checksums": { - "sha1": "6274c7ae424b871bc21ca3a6b6713971ff6a8095" - } - }, - "testutils": { - "version": "0.5.0", - "vcsRevision": "dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34", - "url": "https://github.com/status-im/nim-testutils", - "downloadMethod": "git", - "dependencies": [ - "unittest2" - ], - "checksums": { - "sha1": "756d0757c4dd06a068f9d38c7f238576ba5ee897" - } - }, - "faststreams": { - "version": "0.3.0", - "vcsRevision": "1b561a9e71b6bdad1c1cdff753418906037e9d09", - "url": "https://github.com/status-im/nim-faststreams.git", - "downloadMethod": "git", - "dependencies": [ - "stew", - "testutils", - "chronos", - "unittest2" - ], - "checksums": { - "sha1": "97edf9797924af48566a0af8267203dc21d80c77" - } - }, - "serialization": { - "version": "0.1.0", - "vcsRevision": "493d18b8292fc03aa4f835fd825dea1183f97466", - "url": "https://github.com/status-im/nim-serialization.git", - "downloadMethod": "git", - "dependencies": [ - "faststreams", - "unittest2", - "stew" - ], - "checksums": { - "sha1": "893921d41eb4e90a635442f02dd17b5f90bcbb00" - } - }, - "json_serialization": { - "version": "0.1.0", - "vcsRevision": "e5b18fb710c3d0167ec79f3b892f5a7a1bc6d1a4", - "url": "https://github.com/status-im/nim-json-serialization.git", - "downloadMethod": "git", - "dependencies": [ - "serialization", - "stew" - ], - "checksums": { - "sha1": "bdcdeefca4e2b31710a23cc817aa6abfa0d041e2" - } - }, - "chronicles": { - "version": "0.10.3", - "vcsRevision": "7631f7b2ee03398cb1512a79923264e8f9410af6", - "url": "https://github.com/status-im/nim-chronicles.git", - "downloadMethod": "git", - "dependencies": [ - "testutils", - "json_serialization" - ], - "checksums": { - "sha1": "2b6795cc40a687d3716b617e70d96e5af361c4af" - } - }, - "dnsclient": { - "version": "0.3.4", - "vcsRevision": "23214235d4784d24aceed99bbfe153379ea557c8", - "url": "https://github.com/ba0f3/dnsclient.nim", - "downloadMethod": "git", - "dependencies": [], - "checksums": { - "sha1": "65262c7e533ff49d6aca5539da4bc6c6ce132f40" - } - }, "zlib": { "version": "0.1.0", "vcsRevision": "74cdeb54b21bededb5a515d36f608bc1850555a2", @@ -197,72 +22,40 @@ "sha1": "01d330dc4c1924e56b1559ee73bc760e526f635c" } }, - "websock": { + "stew": { "version": "0.1.0", - "vcsRevision": "7b2ed397d6e4c37ea4df08ae82aeac7ff04cd180", - "url": "https://github.com/status-im/nim-websock.git", + "vcsRevision": "e18f5a62af2ade7a1fd1d39635d4e04d944def08", + "url": "https://github.com/status-im/nim-stew.git", "downloadMethod": "git", "dependencies": [ - "chronos", - "httputils", - "chronicles", - "stew", - "nimcrypto", - "bearssl", - "zlib" + "unittest2" ], "checksums": { - "sha1": "d27f126527be59f5a0dc35303cb37b82d4e2770b" + "sha1": "2a80972f66597bf87d820dca8164d89d3bb24c6d" } }, - "libp2p": { - "version": "1.0.0", - "vcsRevision": "a3e9d1ed80c048cd5abc839cbe0863cefcedc702", - "url": "https://github.com/status-im/nim-libp2p.git", + "httputils": { + "version": "0.3.0", + "vcsRevision": "e88e231dfcef4585fe3b2fbd9b664dbd28a88040", + "url": "https://github.com/status-im/nim-http-utils.git", "downloadMethod": "git", "dependencies": [ - "nimcrypto", - "dnsclient", - "bearssl", - "chronicles", - "chronos", - "metrics", - "secp256k1", - "stew", - "websock" + "unittest2" ], "checksums": { - "sha1": "65e473566f19f7f9a3529745e7181fb58d30b5ef" + "sha1": "dd0dcef76616ad35922944671c49222c8a17fb1f" } }, - "combparser": { - "version": "0.2.0", - "vcsRevision": "ba4464c005d7617c008e2ed2ebc1ba52feb469c6", - "url": "https://github.com/PMunch/combparser.git", + "chronos": { + "version": "3.0.11", + "vcsRevision": "6525f4ce1d1a7eba146e5f1a53f6f105077ae686", + "url": "https://github.com/status-im/nim-chronos.git", "downloadMethod": "git", - "dependencies": [], + "dependencies": [ + "unittest2" + ], "checksums": { - "sha1": "a3635260961a893b88f69aac19f1b24e032a7e97" - } - }, - "asynctest": { - "version": "0.3.2", - "vcsRevision": "a236a5f0f3031573ac2cb082b63dbf6e170e06e7", - "url": "https://github.com/status-im/asynctest.git", - "downloadMethod": "git", - "dependencies": [], - "checksums": { - "sha1": "0ef50d086659835b0a23a4beb77cb11747695448" - } - }, - "questionable": { - "version": "0.10.6", - "vcsRevision": "30e4184a99c8c1ba329925912d2c5d4b09acf8cc", - "url": "https://github.com/status-im/questionable.git", - "downloadMethod": "git", - "dependencies": [], - "checksums": { - "sha1": "ca2d1e2e0be6566b4bf13261b29645721d01673d" + "sha1": "8cdf821ecc76fb91fdfb5191cad31f813822fcb2" } }, "upraises": { @@ -285,13 +78,227 @@ "sha1": "8e91db8156a82383d9c48f53b33e48f4e93077b1" } }, + "questionable": { + "version": "0.10.6", + "vcsRevision": "30e4184a99c8c1ba329925912d2c5d4b09acf8cc", + "url": "https://github.com/status-im/questionable.git", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "ca2d1e2e0be6566b4bf13261b29645721d01673d" + } + }, + "websock": { + "version": "0.1.0", + "vcsRevision": "7b2ed397d6e4c37ea4df08ae82aeac7ff04cd180", + "url": "https://github.com/status-im/nim-websock.git", + "downloadMethod": "git", + "dependencies": [ + "httputils", + "stew", + "chronos", + "chronicles", + "zlib" + ], + "checksums": { + "sha1": "d27f126527be59f5a0dc35303cb37b82d4e2770b" + } + }, + "secp256k1": { + "version": "0.6.0.3.1", + "vcsRevision": "2acbbdcc0e63002a013fff49f015708522875832", + "url": "https://github.com/status-im/nim-secp256k1.git", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "146818431dec16ededb951f42fc36832949bcc8f" + } + }, + "bearssl": { + "version": "0.1.5", + "vcsRevision": "f4c4233de453cb7eac0ce3f3ffad6496295f83ab", + "url": "https://github.com/status-im/nim-bearssl.git", + "downloadMethod": "git", + "dependencies": [ + "unittest2" + ], + "checksums": { + "sha1": "dabf4aaac8969fb10281ebd9ff51875d37eeaaa9" + } + }, + "dnsclient": { + "version": "0.3.4", + "vcsRevision": "23214235d4784d24aceed99bbfe153379ea557c8", + "url": "https://github.com/ba0f3/dnsclient.nim", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "65262c7e533ff49d6aca5539da4bc6c6ce132f40" + } + }, + "nimcrypto": { + "version": "0.5.4", + "vcsRevision": "a5742a9a214ac33f91615f3862c7b099aec43b00", + "url": "https://github.com/status-im/nimcrypto.git", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "f76c87707cd4e96355b8bb6ef27e7f8b0aac1e08" + } + }, + "json_serialization": { + "version": "0.1.0", + "vcsRevision": "e5b18fb710c3d0167ec79f3b892f5a7a1bc6d1a4", + "url": "https://github.com/status-im/nim-json-serialization.git", + "downloadMethod": "git", + "dependencies": [ + "serialization" + ], + "checksums": { + "sha1": "bdcdeefca4e2b31710a23cc817aa6abfa0d041e2" + } + }, + "testutils": { + "version": "0.5.0", + "vcsRevision": "dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34", + "url": "https://github.com/status-im/nim-testutils", + "downloadMethod": "git", + "dependencies": [ + "unittest2" + ], + "checksums": { + "sha1": "756d0757c4dd06a068f9d38c7f238576ba5ee897" + } + }, + "unittest2": { + "version": "0.0.2", + "vcsRevision": "02c49b8a994dd3f9eddfaab45262f9b8fa507f8e", + "url": "https://github.com/status-im/nim-unittest2.git", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "a7f3331cabb5fad0d04c93be0aad1f020f9c8033" + } + }, + "combparser": { + "version": "0.2.0", + "vcsRevision": "ba4464c005d7617c008e2ed2ebc1ba52feb469c6", + "url": "https://github.com/PMunch/combparser.git", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "a3635260961a893b88f69aac19f1b24e032a7e97" + } + }, + "serialization": { + "version": "0.1.0", + "vcsRevision": "493d18b8292fc03aa4f835fd825dea1183f97466", + "url": "https://github.com/status-im/nim-serialization.git", + "downloadMethod": "git", + "dependencies": [ + "unittest2", + "faststreams" + ], + "checksums": { + "sha1": "893921d41eb4e90a635442f02dd17b5f90bcbb00" + } + }, + "faststreams": { + "version": "0.3.0", + "vcsRevision": "1b561a9e71b6bdad1c1cdff753418906037e9d09", + "url": "https://github.com/status-im/nim-faststreams.git", + "downloadMethod": "git", + "dependencies": [ + "unittest2", + "testutils" + ], + "checksums": { + "sha1": "97edf9797924af48566a0af8267203dc21d80c77" + } + }, + "datastore": { + "version": "0.0.1", + "vcsRevision": "0cde8aeb67c59fd0ac95496dc6b5e1168d6632aa", + "url": "https://github.com/codex-storage/nim-datastore", + "downloadMethod": "git", + "dependencies": [ + "unittest2", + "questionable", + "asynctest", + "upraises", + "sqlite3_abi" + ], + "checksums": { + "sha1": "2c03bb47de97962d2a64be1ed0a8161cd9d65159" + } + }, + "asynctest": { + "version": "0.3.2", + "vcsRevision": "a236a5f0f3031573ac2cb082b63dbf6e170e06e7", + "url": "https://github.com/codex-storage/asynctest.git", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "0ef50d086659835b0a23a4beb77cb11747695448" + } + }, + "stint": { + "version": "0.0.1", + "vcsRevision": "86621eced1dcfb5e25903019ebcfc76ed9128ec5", + "url": "https://github.com/status-im/nim-stint", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "6b4a6fdd317202b7c092dc32b74a6573f81cca62" + } + }, + "metrics": { + "version": "0.0.1", + "vcsRevision": "743f81d4f6c6ebf0ac02389f2392ff8b4235bee5", + "url": "https://github.com/status-im/nim-metrics.git", + "downloadMethod": "git", + "dependencies": [], + "checksums": { + "sha1": "6274c7ae424b871bc21ca3a6b6713971ff6a8095" + } + }, + "libp2p": { + "version": "1.0.0", + "vcsRevision": "a3e9d1ed80c048cd5abc839cbe0863cefcedc702", + "url": "https://github.com/status-im/nim-libp2p.git", + "downloadMethod": "git", + "dependencies": [ + "metrics", + "nimcrypto", + "bearssl", + "websock", + "dnsclient", + "secp256k1", + "chronicles" + ], + "checksums": { + "sha1": "65e473566f19f7f9a3529745e7181fb58d30b5ef" + } + }, + "chronicles": { + "version": "0.10.3", + "vcsRevision": "7631f7b2ee03398cb1512a79923264e8f9410af6", + "url": "https://github.com/status-im/nim-chronicles.git", + "downloadMethod": "git", + "dependencies": [ + "testutils", + "json_serialization" + ], + "checksums": { + "sha1": "2b6795cc40a687d3716b617e70d96e5af361c4af" + } + }, "protobuf_serialization": { "version": "0.2.0", "vcsRevision": "27b400fdf3bd8ce7120ca66fc1de39d3f1a5804a", "url": "https://github.com/status-im/nim-protobuf-serialization", "downloadMethod": "git", "dependencies": [ - "stew", "faststreams", "serialization", "combparser" @@ -299,37 +306,7 @@ "checksums": { "sha1": "9c30c45b92900b425b147aeceae87bee6295dd80" } - }, - "datastore": { - "version": "0.0.1", - "vcsRevision": "0cde8aeb67c59fd0ac95496dc6b5e1168d6632aa", - "url": "https://github.com/status-im/nim-datastore", - "downloadMethod": "git", - "dependencies": [ - "asynctest", - "chronos", - "questionable", - "sqlite3_abi", - "stew", - "unittest2", - "upraises" - ], - "checksums": { - "sha1": "2c03bb47de97962d2a64be1ed0a8161cd9d65159" - } - }, - "stint": { - "version": "0.0.1", - "vcsRevision": "036c71d06a6b22f8f967ba9d54afd2189c3872ca", - "url": "https://github.com/status-im/nim-stint", - "downloadMethod": "git", - "dependencies": [ - "stew" - ], - "checksums": { - "sha1": "0f187a2115315ca898e5f9a30c5e506cf6057062" - } } }, - "tasks": {} -} + "version": 1 +} \ No newline at end of file From 750bfac97f737e5ef87afe8aaabeef920400376d Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Mon, 17 Jul 2023 20:26:49 -0700 Subject: [PATCH 12/12] match lockfiles --- nimble.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nimble.lock b/nimble.lock index 8546310..07d30c8 100644 --- a/nimble.lock +++ b/nimble.lock @@ -171,13 +171,13 @@ } }, "unittest2": { - "version": "0.0.2", - "vcsRevision": "02c49b8a994dd3f9eddfaab45262f9b8fa507f8e", + "version": "0.0.7", + "vcsRevision": "b178f47527074964f76c395ad0dfc81cf118f379", "url": "https://github.com/status-im/nim-unittest2.git", "downloadMethod": "git", "dependencies": [], "checksums": { - "sha1": "a7f3331cabb5fad0d04c93be0aad1f020f9c8033" + "sha1": "b6d4a5cbe28b43c166d6442ba6804aafd4abe368" } }, "combparser": {