Commit Graph

25 Commits

Author SHA1 Message Date
Ben Bierens 5f38fd9570
GCC-14 (#98)
* bumps bearssl

* updates version of bearssl in lockfiles

* fixes that checksum

* attempt to bump various dependencies

* updates asynctest version tag

* asynctest sha

* bumps to working version of nim-datastore

* adjusts asynctest imports for chronos

* chronos checksum

* checksum for datastore

* libp2p version tag

* libp2p checksum

* moves libp2p from codex-branch to latest master

* libp2p checksum

* splits the test dependencies from the dev dependencies (example nim-ethers)

* sets path

* pathing in tests

* oops wrong version

* adds build.nims to installfiles for test module

* attempt to fix import paths

* bumps nim-datastore

* datastore checksum

* greatly simplify CI

* fixes asynctest import

* builds parallel tests before running

* bumps datastore

* turns nim-stable back off

* pins nim-datastore version

* bumps checkout to v4

* Review comment by Mark

Co-authored-by: markspanbroek <mark@spanbroek.net>

* Review comment by Mark

Co-authored-by: markspanbroek <mark@spanbroek.net>

---------

Co-authored-by: markspanbroek <mark@spanbroek.net>
2024-08-20 11:04:48 +02:00
Jaremy Creechley 60dc4e764c
Fix changes from stint (#81)
* some formatting tweaks to make errors easier to grok

* stint removed overloads for regular ints - use stew versions instead

* various name style fixes

* ignore vscode stuff

* revert style changes

* revert unneeded var rename changes

---------

Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
2023-11-17 11:08:45 -08:00
Dmitriy Ryajov 9ae0bfb1c3
Fix nimble install (#78)
* make encryption scheme explicit

* supress compiler noise

* make `nimble install` without `-d` work

* move `libp2p_pki_schemes=secp256k1` to config.nims

* fix include
2023-07-21 15:51:42 -06:00
Jaremy Creechley 7464c8e9a6
Split windows tests (#70)
Changes the CI to properly cache Nimble deps *including* Nim binaries. 

* parallelize tests
* speed up tests
* cache whole nimble
* use nimble install without -d
* bump version
* new nimble cache
* fix github_env
* compare speed
* readd msys2
* don't need make for nimble
* ugh renames
2023-07-13 20:42:43 -07:00
Jaremy Creechley d7cc0ae783
renaming imports 2023-07-12 14:58:29 -07:00
Dmitriy Ryajov e4e7a3e11f
track nim-libp2p's unstable branch and nim-bearssl's master branch (#51)
* track nim-libp2p's unstable branch and nim-bearssl's master branch

refactor accordingly: mainly switching from `import bearssl` to
`import bearssl/rand`, `BrHmacDrbgContext` to `HmacDrbgContext`, and related
changes

* fix ambiguous identifier

* nim 1.4 is deprecated

Co-authored-by: Michael Bradley, Jr <michaelsbradleyjr@gmail.com>
2022-11-02 10:21:05 -06:00
Dmitriy Ryajov 4b9fa0356e
Adding maintenance routines to cleanup expired and orphaned records (#52)
* add maintenance routines and split out cache

* start provider manager

* export provider manager

* add maintenance tests

* start is now async
2022-10-01 10:05:03 -06:00
Dmitriy Ryajov 69ae7c2012
Persist providers (#49)
* initial providers manager implementation

* misc license update

* spelling

* rename provider tests

* add provider tests

* reexport provider manager

* only update provider record if it changed

* small bug in getProvByKey

* pass providers to both constructors

* fix records retrieval

* disable cache during tests

* avoid redefining data

* adding back tests with cache

* use `.errorOption`

* proper err msg unpacking
2022-09-29 17:49:55 -06:00
Dmitriy Ryajov 9dfa86767d Revert "track nim-libp2p's unstable branch and nim-bearssl's master branch"
This reverts commit c480fb5732.
2022-09-23 15:59:31 -06:00
Michael Bradley, Jr c480fb5732 track nim-libp2p's unstable branch and nim-bearssl's master branch
refactor accordingly: mainly switching from `import bearssl` to
`import bearssl/rand`, `BrHmacDrbgContext` to `HmacDrbgContext`, and related
changes
2022-09-19 20:05:34 -05:00
Eric Mastro 4c65f4bd94 chore: remove nim-eth/keys in favour of over to libp2p/crypto
Closes: #2.

Libp2p supports multiple cryptographic curves, however we have currently only implented support for secp256k1.

This needs to be run with the compiler flag `libp2p_pki_schemes` set to `secp256k1`. If running the tests, this can be run like so: `nimble test —libp2p_pki_schemes=secp256k1` to put secp as the first supported crypto scheme.
2022-04-07 14:11:48 -05:00
Csaba Kiraly 50df73da1b fixup: tests: expose startup delay parameter 2022-03-22 11:53:55 +01:00
Csaba Kiraly d14222e8d1 tests: add back test after bootnode dies
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-03-22 11:53:55 +01:00
Csaba Kiraly 0431587765 test_providers: add optional delay during bootstrap
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-03-22 11:53:55 +01:00
Csaba Kiraly 4d7e773c42 fix tests: make bootstrap nodes async 2022-03-22 11:53:55 +01:00
Csaba Kiraly 9a01791e11 feat: Swap ENR to libp2p SignedPeerRecords
Swap all instances of Record with SignedPeerRecord.

Allow for `SignedPeerRecord`s to be updated by updating the first multiaddress in the `PeerRecord`. This also increments the `seqNo` in the `PeerRecord` only if the address was actually updated.
2022-03-22 11:00:26 +11:00
Eric Mastro b843c8823c feat: merge add/get providers with discv5
Merge the add/get providers messages with the discovery v5 messages inside of the discovery v5 code. Discovery v5 uses RLP encoding, while the add/get providers uses protobufs, as per the libp2p spec. The merge of these two uses RLP on the outer wrapper of the message, and a protobuf-encoded blob on the “inside” for the add/get providers messages only. Eventually this needs to change so that we use protobufs only.

There is still some code in the libp2pdht/dht directory, which is being read from the discovery v5 directory. Eventually these two should merge as well.
2022-03-17 14:56:54 +11:00
Eric Mastro cbcaf926a1 feat: Swap PeerRecord for SignedPeerReocrd (PR comments)
- Add example addresses in tests
- Change bootnode private key in tests
- bump libp2p to get access to SignedPeerRecord.encode
2022-03-10 17:00:33 +11:00
Eric Mastro 35026762b4 feat: Swap PeerRecords with SignedPeerRecords
Providers now add/get SignedPeerRecords to/from the DHT.

Changed the PeerId calculation to use the public key of the discovery node.
2022-03-09 15:03:16 +11:00
Csaba Kiraly b65e0aa7ef comment out test instead of using skip()
after calling skip(), the test was still
executed and failed. Better to disable the
whole test.
2022-03-07 15:11:31 +11:00
Eric Mastro 0d0da71b65
build: Add CI Actions
Add CI workflow to run tests.

Add code coverage workflow that publishes results to CodeCov.

Add CI and coverage badges to README.

Bump asynctest to allow for `setupAll` and `teardownAll`.

Add local coverage nimble task.

Combine tests in to a testAll file.
2022-03-04 18:04:50 +11:00
Eric Mastro 55a43b2d89 chore: bump asynctest, use all/each test harness nouns
Using `setupAll`/`setupEach` and `teardownAll`/`teardownEach` for test harnesses.
2022-02-25 14:06:43 +11:00
Eric Mastro acd03ff831 feat: reorg project to add nimble build system
Project has been updated to use nimble as a build system. All required dependencies have been added.

All nim-eth mirrored files were added to a private folder in the libp2pdht module. A libp2pdht/discv5 module was added to alias the nim-eth modules (which will change over time).

Test have been updated to use status-im/asynctest. This PR uses a branch of asynctest that supports async suite before/after. This seemed like the only the tests would work without throwing gcsafe errors.

All tests working.
2022-02-25 09:10:43 +11:00
Csaba Kiraly e6cea68326 tests: give more time to bootstrap 2022-02-23 22:12:32 +01:00
Csaba Kiraly 0b301fdeae moving test under dht folder 2022-02-23 22:12:32 +01:00