Luke Parker
4186bc93a8
Update the Multisig documentation to be designed around Validator Sets
2022-07-21 23:30:51 -05:00
Luke Parker
1994dab634
Add documentation on Validator Sets
2022-07-21 23:30:51 -05:00
Luke Parker
d320af06a7
Rewrite the Validators spec
...
Moves Oraclization/Report to Consensus for now.
2022-07-21 23:30:51 -05:00
Luke Parker
1b461ca5be
Split Validators and Consensus docs
2022-07-21 23:30:51 -05:00
Luke Parker
895fbae2dc
Add a full success route test for the multisig contract
2022-07-21 23:30:51 -05:00
Luke Parker
21e555192c
Add subsequent_vote test
...
This is the contracts/extension that triggered a Rust ICE, as noted in
my issue there.
2022-07-21 23:30:51 -05:00
Luke Parker
aa0d364fc2
First passing multisig vote test
2022-07-21 23:30:51 -05:00
Luke Parker
43c4487804
Create a dedicated crate for the extension
2022-07-21 23:30:51 -05:00
Luke Parker
5583bf3447
Initial multisig tracking contract in ink
2022-07-21 23:30:51 -05:00
Luke Parker
be921ab2d3
Document various Scenarios
...
- Pong
- Wrap
- SRI -> BTC
- BTC -> Monero
- Add Liquidity (fresh)
- Add Liquidity (SRI holder)
2022-07-21 23:22:48 -05:00
Luke Parker
c48992ab94
Update according to comment
2022-07-21 23:22:48 -05:00
Luke Parker
f7f67f72a2
Correct link in Instructions
2022-07-21 23:22:48 -05:00
Luke Parker
c3ab201517
Document Serai's Application Calls and update Instructions accordingly
2022-07-21 23:22:48 -05:00
Luke Parker
9cc35a06ab
Add authenticated calls to Ethereum
...
Also uses numbered lists for function descriptions.
2022-07-21 23:22:48 -05:00
Luke Parker
004086b85b
Include origin as an Option in Shorthand
...
Converts (Network, Address) to Enum { Native(Address), Serai(Address) }
as it's not valid to send Bitcoin to Ethereum.
Corrects a legacy comment regarding serialization.
2022-07-21 23:22:48 -05:00
Luke Parker
ae3525ca2c
Document Instructions and various network's integrations
...
Tracking issue: https://github.com/serai-dex/serai/issues/57
2022-07-21 23:22:48 -05:00
silverpill
194c5acebb
Fix compilation errors in monero-serai
2022-07-17 16:55:49 -05:00
Luke Parker
c0cac7591d
Correct a missing fmt
2022-07-17 17:18:56 -04:00
Luke Parker
9cb2d8aa4a
Integrate ink!
2022-07-16 21:06:54 -04:00
Luke Parker
314c9cd8f7
Clean Substrate Cargo.tomls
2022-07-16 20:53:28 -04:00
Luke Parker
2bddce2087
Add a patch for zip so ethereum-serai doesn't conflict with Substrate
...
Also commits the lock file and updates documentation.
2022-07-16 17:49:35 -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
e67033a207
Apply an initial set of rustfmt rules
2022-07-16 15:16:30 -05:00
Luke Parker
0b879a53fa
Add an initial Substrate instantiation
...
Consensus has been nuked for an AcceptAny currently routed throough PoW
(when it doesn't have to be, doing so just took care of a few pieces of
leg work).
Updates AGPL handling.
2022-07-15 00:05:00 -04:00
Luke Parker
5ede5b9e8f
Update the DLEq proof for any amount of generators
...
The two-generator limit wasn't required nor beneficial. This does
theoretically optimize FROST, yet not for any current constructions. A
follow up proof which would optimize current constructions has been
noted in #38 .
Adds explicit no_std support to the core DLEq proof.
Closes #34 .
2022-07-13 23:29:48 -04:00
Luke Parker
46975812c3
Add a copy of the AGPL license text to processor/
2022-07-13 16:12:19 -04:00
Luke Parker
95a4101a9a
Tweak the hash_to_point test
...
It ran for too long and had a "test_" prefix not shared with other
tests.
2022-07-13 02:48:36 -04:00
Luke Parker
a1599df126
Update the processor for the previous commit
2022-07-13 02:48:11 -04:00
Luke Parker
6cc8ce840e
Move FROST to Read
...
Fixes https://github.com/serai-dex/serai/issues/33 and
https://github.com/serai-dex/serai/issues/35 . Also fixes a few potential
panics/DoS AFAICT.
2022-07-13 02:38:29 -04:00
Luke Parker
c0c8915698
Add missing Cargo.toml flags
2022-07-12 03:42:45 -04: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
0b55fb6e06
Use a multiexp to calculate the FROST group nonce
2022-07-12 03:21:22 -04:00
Luke Parker
3e5cb5ea1f
Add the proposed IETF secp256k1 FROST vectors as NonIetf
2022-07-12 03:20:50 -04:00
Luke Parker
94f380f857
Update to FROST v7
2022-07-12 02:45:18 -04:00
Luke Parker
5eb61f3a87
Fix https://github.com/serai-dex/serai/issues/14 .
2022-07-12 01:28:01 -04:00
Luke Parker
cf28967754
Consolidate macros in dalek-ff-group
2022-07-10 16:48:08 -04:00
Luke Parker
953a873338
Implement hash_to_point in Rust
...
Closes https://github.com/serai-dex/serai/issues/32 .
2022-07-10 16:12:49 -04:00
Luke Parker
6ce506a79d
Add an implementation of Ed25519 FieldElements
2022-07-10 15:20:42 -04:00
Luke Parker
854fca3806
Close https://github.com/serai-dex/serai/issues/30 .
...
An extremely minimal subset of Monero is now all that's built, and I'm
sufficiently happy with it.
2022-07-09 21:51:39 -04:00
Luke Parker
53267a46c8
Return Timelocked instead of (Timelock, Vec<SpendableOutput>)
...
Timelocked doesn't expose the Vec yet requires calling not_locked(),
unlocked(Timelock), or ignore_timelock().
2022-07-09 18:53:52 -04:00
Luke Parker
a4cd1755a5
Document dalek-ff-group
...
Removes from_canonical_bytes, which is offered by from_repr, and
from_bytes_mod_order, which frequently leads to security issues.
Removes the pointless Compressed type.
Adds From u8/u16/u32 as they're pleasant.
2022-07-09 02:01:22 -04:00
Luke Parker
5942492519
Support transcripts with 32-byte challenges in the DLEq crate
2022-07-09 00:38:30 -04:00
Luke Parker
f8760ae021
Document the transcript library
2022-07-09 00:37:39 -04:00
Luke Parker
c5f75568cd
Add READMEs to Serai and Monero
2022-07-08 16:23:26 -04:00
Luke Parker
f50fd76b31
Fix dalek_ff_group invert
2022-07-08 16:05:17 -04:00
Luke Parker
41eaa1b124
Increase constant-time properties of from_repr/from_bytes
...
It's still not perfect, as it's Option -> CtOption which requires an
unwrap_or, but...
2022-07-08 15:30:56 -04:00
Luke Parker
a4c2f71610
Correct DLEq README column title
2022-07-07 14:28:53 -04:00
Luke Parker
f7106f09ed
Add further must_uses
2022-07-07 14:28:42 -04:00
Luke Parker
6c76458063
Statically link Monero
...
Closes https://github.com/serai-dex/serai/issues/11 .
2022-07-07 14:13:24 -04:00
Luke Parker
7d13be5797
Update Monero submodule
2022-07-07 09:53:31 -04:00