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
Luke Parker
cc0c6fb5ac
Apply the optimized pow to dalek-ff-group
...
Saves ~40% from Monero hash_to_curve, assisting with #68 .
2022-08-31 00:57:23 -04:00
Luke Parker
c5256d9b06
Use ChaCha20 instead of ChaCha12
...
Despite being slower and only used for blinding values, its still
extremely performant. 20 is far more standard and will avoid an eye
raise from reviewers.
2022-08-30 20:01:46 -04:00
Luke Parker
6093f4ec93
Fix clippy
2022-08-30 16:48:59 -04:00