Luke Parker
b56c6fb39e
Remove non-small-order view key bound
...
Guaranteed addresses are in fact guaranteed even with this due to prefixing key
images causing zeroing the ECDH to not zero the shared key.
2024-07-04 02:18:37 -04:00
Luke Parker
daa0f8f7d5
Diversify ViewPair/Scanner into ViewPair/GuaranteedViewPair and Scanner/GuaranteedScanner
...
Also cleans the Scanner impl.
2024-07-04 02:18:37 -04:00
Luke Parker
64e74c52ec
Represent height/block number as a u32
2024-07-04 02:18:37 -04:00
Luke Parker
06246618ab
Sync rest of repo with monero-serai changes
2024-07-04 02:18:37 -04:00
Luke Parker
69e077bf7a
Clean and document monero-address
2024-07-04 02:18:37 -04:00
Luke Parker
8319d219d7
Update monero-wallet tests to compile
...
Some are _consistently_ failing due to the inputs we attempt to spend being too
young. I'm unsure what's up with that. Most seem to pass _consistently_,
implying it's not a random issue yet some configuration/env aspect.
2024-07-04 02:18:37 -04:00
Luke Parker
891362a710
Correct invalid RPC type def in monero-rpc
2024-07-04 02:18:37 -04:00
Luke Parker
08d604fcb3
Restore Monero multisig TX code
2024-07-04 02:18:37 -04:00
Luke Parker
abd48e9206
Add SignableTransaction Read/Write
2024-07-04 02:18:37 -04:00
Luke Parker
70c36ed06c
Rewrite monero-wallet's send code
...
I have yet to redo the multisig code and the builder. This should be much
cleaner, albeit slower due to redoing work.
This compiles with clippy --all-features. I have to finish the multisig/builder
for --all-targets to work (and start updating the rest of Serai).
2024-07-04 02:18:37 -04:00
Luke Parker
b3b0edb82f
Fix deserializing v2 miner transactions
2024-07-04 02:18:37 -04:00
Luke Parker
0f477537a0
Document cargo features
...
Credit to @hinto-janai for adding such sections to their work on documenting
monero-serai in #568 .
2024-07-04 02:18:37 -04:00
Luke Parker
eb0c19bfff
Smash out Monero addresses
2024-07-04 02:18:37 -04:00
Luke Parker
0b20004ba1
Get the repo to compile again
2024-07-04 02:18:37 -04:00
Luke Parker
11dba9173f
Smash out seed
2024-07-04 02:18:37 -04:00
Luke Parker
1e2e3bd5ce
Smash out polyseed
2024-07-04 02:18:37 -04:00
Luke Parker
df095f027f
Only read transactions with one Input::Gen or all Input::ToKey
...
Also adds a helper to fetch a transaction's prefix.
2024-07-04 02:18:37 -04:00
Luke Parker
6fc8b30df2
Remove TODO on reading pseudo_outs for AggregateMlsagBorromean
2024-07-04 02:18:37 -04:00
Luke Parker
74aaac46ef
Finish documenting monero-serai
2024-07-04 02:18:37 -04:00
Luke Parker
1db40914eb
Incomplete work on using Option to remove panic cases
2024-07-04 02:18:37 -04:00
Luke Parker
b5b9d4a871
Move Protocol to monero-wallet
2024-07-04 02:18:37 -04:00
Luke Parker
6f61861d4b
Improve docs a bit
2024-07-04 02:18:37 -04:00
Luke Parker
08b95abdd8
Document the RPC
2024-07-04 02:18:37 -04:00
Luke Parker
d740bd2924
Smash out RPC, wallet
2024-07-04 02:18:37 -04:00
Luke Parker
3a1c6c7247
Tidy up monero-serai as a meta crate
2024-07-04 02:18:37 -04:00
Luke Parker
3e82ee60b3
Smash out Borromean
2024-07-04 02:18:37 -04:00
Luke Parker
303e72c844
Smash out MLSAG
2024-07-04 02:18:37 -04:00
Luke Parker
60d5c06ac3
Error if missing documentation
2024-07-04 02:18:36 -04:00
Luke Parker
77a2496ade
Tidy and document monero-bulletproofs
...
I still don't like the impl of the original Bulletproofs...
2024-07-04 02:18:36 -04:00
Luke Parker
d9107b53a6
Correct no-std builds for monero-clsag and monero-bulletproofs
2024-07-04 02:18:36 -04:00
Luke Parker
f7c13fd1ca
Smash out monero-bulletproofs
...
Removes usage of dalek-ff-group/multiexp for curve25519-dalek.
Makes compiling in the generators an optional feature.
Adds a structured batch verifier which should be notably more performant.
Documentation and clean up still necessary.
2024-07-04 02:18:36 -04:00
Luke Parker
798ffc9b28
Add a dedicated send/recv CLSAG mask struct
...
Abstracts the types used internally.
Also moves the tests from monero-serai to monero-clsag.
2024-07-04 02:18:36 -04:00
Luke Parker
865dee80e5
Document and clean clsag
2024-07-04 02:18:36 -04:00
Luke Parker
9c217913e6
Further documentation, start shoring up API boundaries of existing crates
2024-07-04 02:18:36 -04:00
Luke Parker
784a273747
Begin crate smashing
2024-07-04 02:18:36 -04:00
Luke Parker
5cdae6eeb8
Various RingCT doc comments
2024-07-04 02:18:36 -04:00
Luke Parker
a1d1de0c9c
Move amount_decryption into EncryptedAmount::decrypt
2024-07-04 02:18:36 -04:00
Luke Parker
d2a27dc1e5
Remove experimental feature from monero-serai
2024-07-04 02:18:36 -04:00
Luke Parker
c165c36777
Tidy Borromean/MLSAG a tad
2024-07-04 02:18:36 -04:00
Luke Parker
f1ad768859
Remove the distribution cache
...
It's a notable bandwidth/performance improvement, yet it's not ready. We need a
dedicated Distribution struct which is managed by the wallet and passed in.
While we can do that now, it's not currently worth the effort.
2024-07-04 02:18:36 -04:00
Luke Parker
cd8b0544f4
Make CLSAG signing private
...
Also adds a bit more documentation and does a bit more tidying.
2024-07-04 02:18:36 -04:00
Luke Parker
f5d9d03658
Rename Bulletproofs to Bulletproof, since they are a single Bulletproof
...
Also bifurcates prove with prove_plus, and adds a few documentation items.
2024-07-04 02:18:36 -04:00
Luke Parker
98b08eaa38
Remove unsafe creation of dalek_ff_group::EdwardsPoint in BP+
2024-07-04 02:18:36 -04:00
Luke Parker
9af111b4aa
Rust 1.79, cargo update
2024-06-13 15:57:08 -04:00
Luke Parker
2a05cf3225
June 2024 nightly update
...
Replaces #571 .
2024-06-01 21:46:49 -04:00
Luke Parker
b5e22dca8f
Correct no-std Monero after moving from ToString to Display
2024-04-23 05:25:08 -04:00
Luke Parker
a41329c027
Update clippy now that redundant imports has been reverted
2024-04-23 04:31:27 -04:00
Luke Parker
a25e6330bd
Remove DLEq proofs from CLSAG multisig
...
1) Removes the key image DLEq on the Monero side of things, as the produced
signature share serves as a DLEq for it.
2) Removes the nonce DLEqs from modular-frost as they're unnecessary for
monero-serai. Updates documentation accordingly.
Without the proof the nonces are internally consistent, the produced signatures
from modular-frost can be argued as a batch-verifiable CP93 DLEq (R0, R1, s),
or as a GSP for the CP93 DLEq statement (which naturally produces (R0, R1, s)).
The lack of proving the nonces consistent does make the process weaker, yet
it's also unnecessary for the class of protocols this is intended to service.
To provide DLEqs for the nonces would be to provide PoKs for the nonce
commitments (in the traditional Schnorr case).
2024-04-21 23:01:32 -04:00
Luke Parker
558a2bfa46
Slight tweaks to BP+
2024-04-21 21:51:44 -04:00
expiredhotdog
db2e8376df
use multiscalar_mul for CLSAG ( #553 )
...
* use multiscalar_mul for CLSAG
* use multiscalar_mul for CLSAG signing
* use OnceLock for basepoint precomputation
2024-04-12 19:52:56 -04:00