2018-11-19 02:52:11 +00:00
|
|
|
mode = ScriptMode.Verbose
|
|
|
|
|
2018-11-19 04:03:23 +00:00
|
|
|
packageName = "libp2p"
|
2019-11-06 11:01:16 +00:00
|
|
|
version = "0.0.2"
|
2018-11-19 02:52:11 +00:00
|
|
|
author = "Status Research & Development GmbH"
|
|
|
|
description = "LibP2P implementation"
|
|
|
|
license = "MIT"
|
2018-11-27 12:20:05 +00:00
|
|
|
skipDirs = @["tests", "examples", "Nim"]
|
2018-11-19 02:52:11 +00:00
|
|
|
|
2020-04-14 05:26:12 +00:00
|
|
|
requires "nim >= 1.2.0",
|
|
|
|
"nimcrypto >= 0.4.1",
|
|
|
|
"chronos >= 2.3.8",
|
2020-03-06 19:19:43 +00:00
|
|
|
"bearssl >= 0.1.4",
|
2020-03-27 06:02:21 +00:00
|
|
|
"chronicles >= 0.7.1",
|
2020-04-14 13:27:07 +00:00
|
|
|
"chronos >= 2.3.8",
|
|
|
|
"metrics",
|
|
|
|
"nimcrypto >= 0.4.1",
|
|
|
|
"secp256k1",
|
2019-12-13 09:42:47 +00:00
|
|
|
"stew"
|
2018-11-19 02:52:11 +00:00
|
|
|
|
2019-03-25 21:45:34 +00:00
|
|
|
proc runTest(filename: string) =
|
2020-04-14 13:21:16 +00:00
|
|
|
exec "nim c -r --opt:speed -d:debug --verbosity:0 --hints:off tests/" & filename
|
|
|
|
rmFile "tests/" & filename.toExe
|
2019-03-14 02:55:47 +00:00
|
|
|
|
2020-04-19 05:04:53 +00:00
|
|
|
proc buildSample(filename: string) =
|
|
|
|
exec "nim c --opt:speed --threads:on -d:debug --verbosity:0 --hints:off examples/" & filename
|
|
|
|
rmFile "examples" & filename.toExe
|
|
|
|
|
2018-11-19 21:03:50 +00:00
|
|
|
task test, "Runs the test suite":
|
2019-03-25 21:45:34 +00:00
|
|
|
runTest "testnative"
|
2019-08-01 05:56:59 +00:00
|
|
|
runTest "testdaemon"
|
Noise (#90)
* Start ChaCha20Poly1305 integration (BearSSL)
* Add Curve25519 (BearSSL) required operations for noise
* Fix curve mulgen iterate/derive
* Fix misleading header
* Add chachapoly proper test
* Curve25519 integration tests (failing, something is wrong)
* Add few converters, finish c25519 integration tests
* Remove implicit converters
* removed internal globals
* Start noise implementation
* Fix public() using proper bear mulgen
* Noise protocol WIP
* Noise progress
* Add a quick nim version of HKDF
* Converted hkdf to iterator, useful for noise
* Noise protocol implementation progress
* Noise progress
* XX handshake almost there
* noise progress
* Noise, testing handshake with test vectors
* Noise handshake progress, still wrong somewhere!
* Noise handshake success!
* Full verified noise XX handshake completed
* Fix and rewrite test to be similar to switch one
* Start with connection upgrade
* Switch chachapoly to CT implementations
* Improve HKDF implementation
* Use a type insted of tuple for HandshakeResult
* Remove unnecessary Let
* More cosmetic fixes
* Properly check randomBytes result
* Fix chachapoly signature
* Noise full circle (altho dispatcher is nil cursed)
* Allow nil aads in chachapoly routines
* Noise implementation up to running full test
* Use bearssl HKDF as well
* Directly use bearssl rng for curve25519 keys
* Add a (disabled/no CI) noise interop test server
* WIP on fixing interop issues
* More fixes in noise implementation for interop
* bump chronos requirement (nimble)
* Add a chachapoly test for very small size payloads
* Noise, more tracing
* Add 2 properly working noise tests
* Fix payload packing, following the spec properly (and not go version but
rather rust)
* Sanity, replace discard with asyncCheck
* Small fixes and optimization
* Use stew endian2 rather then system endian module
* Update nimble deps (chronos)
* Minor cosmetic/code sanity fixes
* Noise, handle Nonce max
* Noise tests, make sure to close secured conns
* More polish, improve code readability too
* More polish and testing again which test fails
* Further polishing
* Restore noise tests
* Remove useless Future[void]
* Remove useless CipherState initializer
* add a proper read wait future in second noise test
* Remove noise generic secure implementation for now
* Few fixes to run eth2 sim
* Add more debug info in noise traces
* Merge size + payload write in sendEncryptedMessage
* Revert secure interface, add outgoing property directly in newNoise
* remove sendEncrypted and receiveEncrypted
* Use openarray in chachapoly and curve25519 helpers
2020-03-17 12:30:01 +00:00
|
|
|
runTest "testinterop"
|
2020-04-19 05:04:53 +00:00
|
|
|
|
|
|
|
task examples_build, "Build the samples":
|
|
|
|
buildSample "directchat"
|