Commit Graph

374 Commits

Author SHA1 Message Date
Luke Parker
b993ff1cc8 Provide a dedicated signature in Precommit of just the block hash
Greatly simplifies verifying when syncing.
2022-10-17 02:32:45 -04:00
Luke Parker
1c71e25234 Make the infinite test non-infinite 2022-10-16 10:25:36 -04:00
Luke Parker
329a48c19d Implement usage of the signature scheme 2022-10-16 10:20:29 -04:00
Luke Parker
987aa5189a Implement serialization via parity's scale codec
Ideally, this would be generic. Unfortunately, the generic API serde 
doesn't natively support borsh, nor SCALE, and while there is a serde 
SCALE crate, it's old. While it may be complete, it's not worth working 
with.

While we could still grab bincode, and a variety of other formats, it 
wasn't worth it to go custom and for Serai, we'll be using SCALE almost 
everywhere anyways.
2022-10-16 10:06:27 -04:00
Luke Parker
85962c00a9 Define a signature scheme trait 2022-10-16 09:42:33 -04:00
Luke Parker
a0bc9dc3e5 Misc cleanup 2022-10-16 09:16:44 -04:00
Luke Parker
c53c15fd95 Finish timeouts 2022-10-16 09:09:14 -04:00
Luke Parker
3b2352baed Fix test 2022-10-16 09:09:05 -04:00
Luke Parker
079eee931a Calculate timeouts 2022-10-16 07:54:07 -04:00
Luke Parker
77ba1c00e2 Successfully compiling 2022-10-16 07:30:11 -04:00
Luke Parker
f79321233d Refactor <V, B> to type V, type B 2022-10-16 03:55:39 -04:00
Luke Parker
a5f1ddaf1b Refactor out external parts to generics
Also creates a dedicated file for the message log.
2022-10-16 03:29:55 -04:00
Luke Parker
1237c41c53 Delete the old paper doc 2022-10-16 03:29:16 -04:00
Luke Parker
ccd4ef193c Move substrate/consensus/tendermint to substrate/tendermint 2022-10-16 01:32:54 -04:00
Luke Parker
d081934725 Time code 2022-10-12 21:36:40 -04:00
Luke Parker
b56c88468e Machine without timeouts 2022-10-02 23:23:58 -04:00
Luke Parker
b334c96906 Allow manually running the tests workflow 2022-09-30 23:26:40 -04:00
Luke Parker
482a8ec209 Update to the latest Serai Substrate (#125)
* Update to the latest Serai Substrate

* Add Protobuf to build dependencies

Docker shouldn't need updating as this should've been added to the image 
in 
2dbace5b01.

* Get substrate to build

* Correct protoc build step

* Remove the benchmarking code

There's some macro resolution error that isn't apparent. I worked on it 
for about half an hour but...

* Remove unnecessary clone

* Correct runtime-benchmarks flag usage
2022-09-29 13:33:09 -05:00
Luke Parker
2c3f36fd3f Single quotes 2022-09-29 10:22:39 -05:00
Luke Parker
9ff4cfab0d Add a repository field to monero-generators 2022-09-29 10:37:25 -04:00
Luke Parker
503ae02cae Version bump monero-generators to consolidate a dependency 2022-09-29 10:36:40 -04:00
Luke Parker
695f7ec5f9 Version bump Monero for documentation purposes 2022-09-29 10:35:11 -04:00
Luke Parker
95aa1ab827 Lock the cache to a specific rustc + dependencies
Apparently, GitHub doesn't write back to the cache, leading to massive 
build times a few moments after its initialization (when a change 
happens invalidating it). While this forces a new cache whenever 
dependencies change, it'll restore from an older set of dependencies in 
that case, still minimizing build times.
2022-09-29 10:34:20 -04:00
Luke Parker
8da0743361 Use sha3 in monero-generators 2022-09-29 08:08:49 -04:00
Luke Parker
2b7c9378c0 Update to FROST v10
Further expands documentation to near-completion.
2022-09-29 07:08:20 -04:00
Luke Parker
7870084b9e Add further FROST documentation 2022-09-29 06:02:43 -04:00
Luke Parker
8d9315b797 Use HashMarker for Transcript and when generating scalars from digests 2022-09-29 05:33:46 -04:00
Luke Parker
ca091a5f04 Expand and correct documentation 2022-09-29 05:25:29 -04:00
Luke Parker
19cd609cba Use doc_auto_cfg 2022-09-29 04:47:55 -04:00
Luke Parker
8b0f0a3713 Publish an alpha version of the Monero crate (#123)
* Label the version as an alpha

* Add versions to Cargo.tomls

* Update to Zeroize 1.5

* Drop patch versions from monero-serai Cargo.toml

* Add a repository field

* Move generators to OUT_DIR

IIRC, I didn't do this originally as it constantly re-generated them. 
Unfortunately, since cargo is complaining about .generators, we have to.

* Remove Timelock::fee_weight

Transaction::fee_weight's has a comment, "Assumes Timelock::None since 
this library won't let you create a TX with a timelock". Accordingly, 
this is dead code.
2022-09-29 01:24:33 -05:00
Luke Parker
49749d96a0 Replace tiny_keccak with sha3 in Monero 2022-09-28 09:29:58 -04:00
Luke Parker
fd48bbd15e Initial documentation for the Monero libraries (#122)
* Document all features

* Largely document the Monero libraries

Relevant to https://github.com/serai-dex/serai/issues/103 and likely 
sufficient to get this removed from 
https://github.com/serai-dex/serai/issues/102.
2022-09-28 07:44:49 -05:00
Luke Parker
f48a48ec3f Support v1 transactions
Closes https://github.com/serai-dex/serai/issues/117.
2022-09-28 05:28:42 -04:00
Luke Parker
5a4eb0a076 cargo update
Removes the potential applicability of CVE-2021-3520.
2022-09-18 15:30:38 -04:00
Luke Parker
2edf61614f Revert nightly workflow testing data 2022-09-18 15:27:47 -04:00
Luke Parker
0431089592 Correct PR creation in workflow 2022-09-18 15:25:43 -04:00
Luke Parker
a52b2e2148 Add a workflow file to update the nightly version every month (#118)
Part of https://github.com/serai-dex/serai/issues/116
2022-09-18 13:49:18 -05:00
Luke Parker
2393cdfe8c Specify shell in build-dependencies 2022-09-17 16:29:44 -04:00
Luke Parker
34ffdfa8be Use a fixed nightly version for the wasm toolchain 2022-09-17 16:26:56 -04:00
Luke Parker
b2f6c23e2f clippy --all-features 2022-09-17 06:07:49 -04:00
Luke Parker
7e17b4f2db Correct the fmt workflow 2022-09-17 04:40:50 -04:00
Luke Parker
c96b595f42 Pin nightly used for fmt/clippy
As per https://github.com/serai-dex/serai/issues/116.
2022-09-17 04:37:43 -04:00
Luke Parker
65c20638ce fmt/clippy 2022-09-17 04:35:08 -04:00
Luke Parker
fd6c58805f Merge branch 'develop' of github.com:serai-dex/serai into develop 2022-09-16 12:18:31 -04:00
Luke Parker
7d4fcdea9e Update FROST Ed448 per request 2022-09-16 12:16:37 -04:00
TheArchitect108
978304e224 Cluster Orchestration with Docker Compose (#114)
* add file

* builds + caching fixed

* bitcoin orchestration

* remove default entrypoint

* eth image and cleanup

* working monero

* remove signature file

* cleanup on aisle eth

* cleanup on aisle btc

* eth working

* remove docker ignore

* remove bitcoin image readme

* fix serai builds

* serai clusters

* added readme for docker

* formatting

* share the image

* newlines at EOF

* add multi profile example

* coin order

* coin order

* profile order

* fix grammar

* fix whitespace

* reduce trusted signature set, require at least 3 signatures.

* remove echo

* update comment to ref trusted keys

* comment fix

* use 16 keys, check for laanwj, name compose

* don't use bash

* monero fingerprints & eth fixes

* eth fixes

* remove extra eth keys
2022-09-12 15:01:14 -05:00
Luke Parker
31b64b3082 Update according to the latest clippy 2022-09-04 21:23:38 -04:00
Luke Parker
73566e756d Minimize use of lazy_static in ed448
Increases usage of const values along with overall Field impl sanity 
with regards to the crypto_bigint backend.
2022-08-31 03:33:19 -04:00
Luke Parker
a59bbe7635 Impl is_odd for dfg::Scalar 2022-08-31 01:05:30 -04:00
Luke Parker
faa43b6874 Move the featured address vectors to a vectors folder 2022-08-31 01:01:51 -04:00