19 Commits

Author SHA1 Message Date
Mark Spanbroek
03ed357ca4 Only support unmarshalling of little-endian bytes
Big-endian bytes had weird padding; 0's to the right,
then a single 0 to the left.
2023-11-02 09:31:10 +01:00
Mark Spanbroek
10b4a3659a Pad big endian bytes with 0's to the right 2023-11-02 09:31:10 +01:00
Mark Spanbroek
996a1c8a7a Ensure that we don't have any side-effects
Required for integration into libp2p, and a
good idea in general :)
2023-11-02 09:31:10 +01:00
Mark Spanbroek
43c2aab913 move unmarshal into its own module called 'io'
Includes separate tests for unmarshalling that
were previously tested as part of the merkleRoot
calculation.

Includes tests for unmarshalling little endian
and big endian byte arrays.
2023-11-02 09:31:10 +01:00
Mark Spanbroek
e19a08e6c3 Test merkleRoot() against reference
Co-Authored-By: Balazs Komuves <bkomuves@gmail.com>
2023-11-02 09:31:10 +01:00
Mark Spanbroek
4668f09496 Determine merkle root of byte arrays 2023-11-02 09:31:10 +01:00
Mark Spanbroek
40eac466e2 Add installation instructions to Readme 2023-10-26 09:52:28 +02:00
Mark Spanbroek
331a68e4bd Add continous integration through Github actions 2023-10-26 09:52:28 +02:00
Mark Spanbroek
1d9d0d1f54 Perform string to array conversion at compiletime 2023-10-26 09:52:28 +02:00
Mark Spanbroek
0e91bea0f6 Convert under_scores to camelCase 2023-10-26 09:52:28 +02:00
Mark Spanbroek
f73bce6aa1 convert visual inspection tests to unit tests 2023-10-26 09:52:28 +02:00
Mark Spanbroek
b72c92639b Fix imports 2023-10-26 09:52:28 +02:00
Mark Spanbroek
0cdbed1dc2 Remove trailing whitespace 2023-10-26 09:52:28 +02:00
Mark Spanbroek
5220f372c1 Add nimble dependency on constantine 2023-10-26 09:52:28 +02:00
Mark Spanbroek
660330d216 Add nimble file 2023-10-26 09:52:28 +02:00
Mark Spanbroek
721fd6ac89 Add license file 2023-10-26 09:52:28 +02:00
Mark Spanbroek
1d81384c0c Add editorconfig and gitignore 2023-10-26 09:52:28 +02:00
Mark Spanbroek
9f202e0a39 Moving files around to be compatible with nimble 2023-10-26 09:52:28 +02:00
Balazs Komuves
20b4ee4079 quick Nim implementation of Poseidon2 via constantine (BN254, t=3) 2023-10-24 13:19:11 +02:00