Commit Graph

11 Commits

Author SHA1 Message Date
akildemir
3a319b229f update address public API design 2023-01-04 16:26:25 +03:00
akildemir
d9fa88fa76 fix clippy error 2023-01-02 13:35:06 +03:00
akildemir
ce5b5f2b37 Merge https://github.com/serai-dex/serai into develop 2023-01-01 15:16:25 +03:00
Luke Parker
5599a052ad Run latest nightly clippy
Also runs clippy on the tests and updates the CI accordingly
2023-01-01 04:18:23 -05:00
akildemir
f502d67282 fix pr issues 2022-12-22 13:13:09 +03:00
akildemir
0e829f8531 add scan tests 2022-12-15 13:56:53 +03:00
Luke Parker
3ec5189fbf Use Zeroize for the ViewPair 2022-12-14 09:27:49 -05:00
Luke Parker
af86b7a499 Support caching preprocesses in FROST (#190)
* Remove the explicit included participants from FROST

Now, whoever submits preprocesses becomes the signing set. Better separates
preprocess from sign, at the cost of slightly more annoying integrations
(Monero needs to now independently lagrange/offset its key images).

* Support caching preprocesses

Closes https://github.com/serai-dex/serai/issues/40.

I *could* have added a serialization trait to Algorithm and written a ton of
data to disk, while requiring Algorithm implementors also accept such work.
Instead, I moved preprocess to a seeded RNG (Chacha20) which should be as
secure as the regular RNG. Rebuilding from cache simply loads the previously
used Chacha seed, making the Algorithm oblivious to the fact it's being
rebuilt from a cache. This removes any requirements for it to be modified
while guaranteeing equivalency.

This builds on the last commit which delayed determining the signing set till
post-preprocess acquisition. Unfortunately, that commit did force preprocess
from ThresholdView to ThresholdKeys which had visible effects on Monero.

Serai will actually need delayed set determination for #163, and overall,
it remains better, hence it's inclusion.

* Document FROST preprocess caching

* Update ethereum to new FROST

* Fix bug in Monero offset calculation and update processor
2022-12-08 19:04:35 -05:00
akildemir
ba157ea84b fix for #166 & cleanup (#184)
* add vscode

* fix for #166 & cleanup

* remove unused self

* fix issues on pr
2022-12-07 10:08:04 -05:00
Luke Parker
7d3a06ac05 Add missing mine_blocks call to the Monero test runner 2022-12-06 06:02:13 -05:00
Luke Parker
8f352353ba Write a test runner for Monero transactions
Also includes a few fixes for the library itself. Supersedes #172.
2022-12-05 17:25:09 -05:00