Luke Parker
755dc84859
Replace rand with rand_core where possible
...
Turns out rand_core offers OsRng.
2022-07-27 05:45:08 -04:00
noot
c589743e2b
ethereum: implement schnorr verification contract deployment and related crypto ( #36 )
...
* basic schnorr verify working
* add schnorr-verify as submodule
* remove previous code
* Misc Ethereum work which will probably be disregarded
* add ecrecover hack test, worksgit add src/
* merge w develop
* starting w/ rust-web3
* trying to use ethers
* deploy_schnorr_verifier_contract finally working
* modify EthereumHram to use 27/28 for point parity
* updated address calc, solidity schnorr verify now working
* add verify failure to test
* update readme
* move ethereum/ to coins/
* un fmt coins/monero
* update .gitmodules
* fix cargo paths
* fix coins/monero
* add #[allow(non_snake_case)]
* un-fmt stuff
* move crypto to coins/ethereum
* move unit tests to ethereum/tests
* remove js, build w ethers
* update .gitignore
* address comments
* add q != 0 check
* update contract param order
* update contract license to AGPL
* update ethereum-serai license to GPL and fmt
* GPLv3 for ethereum-serai
* AGPLv3 for ethereum-serai
* actually fix license
Co-authored-by: Luke Parker <lukeparker5132@gmail.com>
2022-07-16 16:45:41 -05:00
Luke Parker
d81f6270c7
Version bump and synchronize packages
...
Uses "dleq-serai", instead of "dleq", as the dleq crate name hasn't been
transferred yet :(
2022-07-12 03:38:59 -04:00
Luke Parker
daadb43875
Minor doc updates
2022-07-02 11:04:01 -04:00
Luke Parker
3de7a76051
Use GroupEncoding instead of Curve's from_slice/to_bytes
...
Increases usage of standardization while expanding dalek_ff_group.
Closes https://github.com/serai-dex/serai/issues/26 by moving
dfg::EdwardsPoint to only be for the prime subgroup.
2022-06-28 01:25:26 -04:00
Luke Parker
7b70baaa96
Rename transcript-trait to flexible-transcript
...
It offers the trait for flexibility, yet it also offers an incredibly
competent (and logical) transcript format, along with a Merlin wrapper.
2022-06-27 09:02:21 -04:00
Luke Parker
a46524f0ce
Supply a RecommendedTranscript type of DT<Blake2b512>
2022-06-24 18:58:24 -04:00
Luke Parker
71fca06120
Correct monero/processor dependencies
2022-06-19 07:52:03 -04:00
Luke Parker
b4c1adcdfb
Rename FROST's official package name and update documentation
2022-06-19 05:21:22 -04:00
Luke Parker
27751d8d98
Successfully get processor to send a transaction out
...
Modifies FROST behavior so group_key has the offset applied regardless
of if view was called. The unaltered secret_share and
verification_shares (as they have differing values depending on the
signing set) are no longer publicly accessible.
2022-06-09 02:48:53 -04:00
Luke Parker
e4fc469e58
Use a transcript when generating the per-chain binding for a given set of keys
...
While it was fine as-is, as it only had one variable length property,
this is a bit more robust. Also binds the Curve ID, which should declare
differently even for just different basepoints, and therefore adds two
variable length properties (justifying the transcript).
2022-06-03 01:37:12 -04:00
Luke Parker
df2876dbd4
Acknowledge Substrate's ordering and move to a multi-key wallet setup
2022-06-01 03:30:57 -04:00
Luke Parker
d8e794871c
Move the processor to AGPL
...
See https://github.com/serai-dex/serai/issues/13 .
2022-06-01 01:58:07 -04:00
Luke Parker
b5bdb545cc
Add basic key management to the processor
2022-05-28 19:57:10 -04:00
Luke Parker
92098b24ea
Implement get_outputs_in_block for Monero
...
Uses a dummy view/spend for now, as we don't have wallet management yet.
2022-05-28 05:24:17 -04:00
Luke Parker
c398b246ff
Add the bones of the processor
2022-05-26 04:36:19 -04:00