Luke Parker
1f093cfbc6
Big-endian secq256k1 scalars
...
Also restores the prior, safer, Encryption::register function.
2024-08-15 15:32:32 -04:00
Luke Parker
35c54da756
Don't use [0; 32] for the embedded keys in the coordinator rotation test
...
The key_gen function expects the random values already decided.
2024-08-15 14:21:39 -04:00
Luke Parker
6bc746e876
cargo fmt
2024-08-15 11:51:38 -04:00
Luke Parker
e098369fdf
Merge branch 'develop' into one-round-dkg
2024-08-15 08:48:28 -07:00
Luke Parker
5f1fcff75c
Correct shimmed setting of a secq256k1 key
2024-08-15 11:44:44 -04:00
Luke Parker
843396fe8f
Add necessary calls to set_embedded_elliptic_curve_key in coordinator set rotation tests
2024-08-15 11:39:23 -04:00
akildemir
a2df54dd6a
merge genesis complete block with genesis ended
2024-08-15 08:15:40 -07:00
akildemir
efc45c391b
update emissions pallet author email
2024-08-15 08:12:47 -07:00
akildemir
cccc1fc7e6
Implement block emissions ( #551 )
...
* add genesis liquidity implementation
* add missing deposit event
* fix CI issues
* minor fixes
* make math safer
* fix fmt
* implement block emissions
* make remove liquidity an authorized call
* implement setting initial values for coins
* add genesis liquidity test & misc fixes
* updato develop latest
* fix rotation test
* fix licencing
* add fast-epoch feature
* only create the pool when adding liquidity first time
* add initial reward era test
* test whole pre ec security emissions
* fix clippy
* add swap-to-staked-sri feature
* rebase changes
* fix tests
* Remove accidentally commited ETH ABI files
* fix some pr comments
* Finish up fixing pr comments
* exclude SRI from is_allowed check
* Misc changes
---------
Co-authored-by: akildemir <aeg_asd@hotmail.com >
Co-authored-by: Luke Parker <lukeparker5132@gmail.com >
2024-08-14 23:12:04 -04:00
Luke Parker
0fe7360ce5
Further contextualize DkgConfirmer by ValidatorSet
...
Caught by a safety check we wouldn't reuse preprocesses across messages. That
raises the question of we were prior reusing preprocesses (reusing keys)?
Except that'd have caused a variety of signing failures (suggesting we had some
staggered timing avoiding it in practice but yes, this was possible in theory).
2024-08-14 15:21:10 -04:00
akildemir
bf1c493d9a
add missing prevotes ( #590 )
...
* add missing prevotes
* remove the TODO
* add missing current step checks
---------
Co-authored-by: akildemir <aeg_asd@hotmail.com >
2024-08-14 15:00:48 -04:00
Luke Parker
756db823df
Correct construction of signature_participants in serai-client tests
...
Fault identified by akil.
2024-08-11 22:27:06 -04:00
Luke Parker
470b5f7d9e
Increase time allowed for the DKG on the GH CI
2024-08-06 05:44:49 -04:00
Luke Parker
01de73efd9
Updating existing TX size limit test for the new DKG parameters
2024-08-06 05:43:56 -04:00
Luke Parker
dbf32d515f
Correct ThresholdKeys serialization in modular-frost test
2024-08-06 05:37:19 -04:00
Luke Parker
e9d09ef4e2
Send/Recv Participation one at a time
...
Sending all, then attempting to receive all in an expected order, wasn't working
even with notable delays between sending messages. This points to the mempool
not working as expected...
2024-08-06 03:03:12 -04:00
Luke Parker
ec629308d6
Update a few comments in the validator-sets pallet
2024-08-06 01:14:29 -04:00
Luke Parker
f27fb9b652
Correct error in the Processor spec document
2024-08-06 01:10:43 -04:00
Luke Parker
c790efa212
Update TX size limit
...
We now no longer have to support the ridiculous case of having 49 DKG
participations within a 101-of-150 DKG. It does remain quite high due to
needing to _sign_ so many times. It'd may be optimal for parties with multiple
key shares to independently send their preprocesses/shares (despite the
overhead that'll cause with signatures and the transaction structure).
2024-08-06 01:10:28 -04:00
Luke Parker
8c50a31633
Improve documentation on functions
2024-08-06 00:27:54 -04:00
Luke Parker
d943e037e5
Remove bad panic in coordinator
...
It expected ConfirmationShare to be n-of-n, not t-of-n.
2024-08-06 00:27:19 -04:00
Luke Parker
3042697243
Update orchestration
2024-08-06 00:27:07 -04:00
Luke Parker
8de696f169
Add an extra sleep to ensure expected ordering of Participations
2024-08-05 23:50:23 -04:00
Luke Parker
b8912e4b7b
cargo machete
2024-08-05 23:43:38 -04:00
Luke Parker
89fc88b283
Get clippy to pass across the repo
2024-08-05 23:29:51 -04:00
Luke Parker
2ae2883106
Update spec to the new DKG
2024-08-05 06:58:44 -04:00
Luke Parker
3de1e4dee2
Remove stray file in docs/
2024-08-05 06:52:15 -04:00
Luke Parker
e74c8f38d5
Get coordinator tests to pass
2024-08-05 06:50:26 -04:00
Luke Parker
9e8e134ef7
Replace Interpolation::None with Interpolation::Constant
...
Allows the MuSig DKG to keep the secret share as the original private key,
enabling deriving FROST nonces consistently regardless of the MuSig context.
2024-08-05 06:32:37 -04:00
Luke Parker
f08faeadff
Have the DKG explicitly declare how to interpolate its shares
...
Removes the hack for MuSig where we multiply keys by the inverse of their
lagrange interpolation factor.
2024-08-05 06:06:56 -04:00
Luke Parker
1b7613329c
Add sensible Debug to key_gen::[Processor, Coordinator]Message
2024-08-05 04:04:02 -04:00
Luke Parker
54eefbde0c
Update the coordinator binary for the new DKG
...
This does not yet update any tests.
2024-08-04 04:48:12 -04:00
Luke Parker
58a435d4e9
Have set_keys take signature_participants, not removed_participants
...
Now no one is removed from the DKG. Only `t` people publish the key however.
Uses a BitVec for an efficient encoding of the participants.
2024-08-04 01:19:08 -04:00
Luke Parker
5ed355902b
Update processor key gen tests to the eVRF DKG
2024-08-03 03:17:55 -04:00
Luke Parker
2591b5ade9
Update Gemfile.lock to silence a rexml disclosure
2024-08-03 02:57:56 -04:00
Luke Parker
fc51c9b71c
Add embedded elliptic curve keys to Substrate
2024-08-03 02:24:08 -04:00
Luke Parker
9e716c07fc
Correct amount of yx coefficients, get processor key gen test to pass
2024-08-02 05:03:14 -04:00
akildemir
e6620963c7
update author email
2024-08-02 01:50:33 -07:00
Luke Parker
b5bf70bdb1
Update serai-processor tests to the new key gen
2024-08-02 00:53:24 -04:00
Luke Parker
d3f0378f66
Deduplicate and better document in processor key_gen
2024-08-02 00:53:24 -04:00
Luke Parker
2f564c230e
Finish routing the new key gen in the processor
...
Doesn't touch the tests, coordinator, nor Substrate yet.
`cargo +nightly fmt && cargo +nightly-2024-07-01 clippy --all-features -p serai-processor`
does pass.
2024-08-02 00:53:24 -04:00
Luke Parker
12f74e1813
Rewrite processor key-gen around the eVRF DKG
...
Still a WIP.
2024-08-02 00:53:24 -04:00
Luke Parker
fb7e966b94
Only participate once per key, not once per key share
2024-08-02 00:53:24 -04:00
Luke Parker
65efbf46c7
Support participating multiple times in the eVRF DKG
2024-08-02 00:53:23 -04:00
Luke Parker
c5cc0dc883
Add Ristretto eVRF trait impls
2024-08-02 00:53:23 -04:00
Luke Parker
a6775d7dc5
Implement eVRF traits, all the way up to the DKG, for secp256k1/ed25519
2024-08-02 00:53:23 -04:00
Luke Parker
681010f422
Ban zero ECDH keys, document non-zero requirements
2024-08-02 00:53:23 -04:00
Luke Parker
f93bd42b99
Resolve various TODOs
...
Supports recovering multiple key shares from the eVRF DKG.
Inlines two loops to save 2**16 iterations.
Adds support for creating a constant time representation of scalars < NUM_BITS.
2024-08-02 00:53:23 -04:00
Luke Parker
c960d6baaf
Start using a proper error for the eVRF DKG
2024-08-02 00:53:23 -04:00
Luke Parker
31ac0ac299
Improve eVRF DKG
...
Updates how we calculcate verification shares, improves performance when
extracting multiple sets of keys, and adds more to the test for it.
2024-08-02 00:53:23 -04:00