mirror of
https://github.com/serai-dex/serai.git
synced 2024-11-17 01:17:36 +00:00
ee29f6d6d8
* Initial attempt at Bulletproofs I don't know why this doesn't work. The generators and hash_cache lines up without issue. AFAICT, the inner product proof is valid as well, as are all included formulas. * Add yinvpow asserts * Clean code * Correct bad imports * Fix the definition of TWO_N Bulletproofs work now :D * Tidy up a bit * fmt + clippy * Compile a variety of XMR dependencies with optimizations, even under dev The Rust bulletproof implementation is 8% slower than C right now, under release. This is acceptable, even if suboptimal. Under debug, they take a quarter of a second to two seconds though, depending on the amount of outputs, which justifies this move. * Remove unnecessary deref in BPs
44 lines
879 B
TOML
44 lines
879 B
TOML
[workspace]
|
|
members = [
|
|
"crypto/transcript",
|
|
|
|
"crypto/dalek-ff-group",
|
|
"crypto/multiexp",
|
|
|
|
"crypto/dleq",
|
|
"crypto/frost",
|
|
|
|
"coins/ethereum",
|
|
"coins/monero",
|
|
|
|
"processor",
|
|
|
|
"substrate/runtime",
|
|
"substrate/consensus",
|
|
"substrate/node",
|
|
|
|
"contracts/extension",
|
|
"contracts/multisig",
|
|
]
|
|
|
|
# Always compile Monero (and a variety of dependencies) with optimizations due
|
|
# to the unoptimized performance of Bulletproofs
|
|
[profile.dev.package]
|
|
subtle = { opt-level = 3 }
|
|
curve25519-dalek = { opt-level = 3 }
|
|
|
|
ff = { opt-level = 3 }
|
|
group = { opt-level = 3 }
|
|
|
|
crypto-bigint = { opt-level = 3 }
|
|
dalek-ff-group = { opt-level = 3 }
|
|
|
|
multiexp = { opt-level = 3 }
|
|
|
|
monero-serai = { opt-level = 3 }
|
|
|
|
[profile.release]
|
|
panic = "unwind"
|
|
|
|
[patch.crates-io]
|
|
zip = { version = "0.6.2", git = "https://github.com/zip-rs/zip", rev = "bb230ef56adc13436d1fcdfaa489249d119c498f" }
|