Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean the Monero lib for auditing #577

Merged
merged 67 commits into from
Jul 7, 2024
Merged

Clean the Monero lib for auditing #577

merged 67 commits into from
Jul 7, 2024

Commits on Jul 4, 2024

  1. Configuration menu
    Copy the full SHA
    98b08ea View commit details
    Browse the repository at this point in the history
  2. Rename Bulletproofs to Bulletproof, since they are a single Bulletproof

    Also bifurcates prove with prove_plus, and adds a few documentation items.
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    f5d9d03 View commit details
    Browse the repository at this point in the history
  3. Make CLSAG signing private

    Also adds a bit more documentation and does a bit more tidying.
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    cd8b054 View commit details
    Browse the repository at this point in the history
  4. 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.
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    f1ad768 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c165c36 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d2a27dc View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a1d1de0 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5cdae6e View commit details
    Browse the repository at this point in the history
  9. Begin crate smashing

    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    784a273 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    9c21791 View commit details
    Browse the repository at this point in the history
  11. Document and clean clsag

    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    865dee8 View commit details
    Browse the repository at this point in the history
  12. Add a dedicated send/recv CLSAG mask struct

    Abstracts the types used internally.
    
    Also moves the tests from monero-serai to monero-clsag.
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    798ffc9 View commit details
    Browse the repository at this point in the history
  13. 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.
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    f7c13fd View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d9107b5 View commit details
    Browse the repository at this point in the history
  15. Tidy and document monero-bulletproofs

    I still don't like the impl of the original Bulletproofs...
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    77a2496 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    60d5c06 View commit details
    Browse the repository at this point in the history
  17. Smash out MLSAG

    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    303e72c View commit details
    Browse the repository at this point in the history
  18. Smash out Borromean

    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    3e82ee6 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    3a1c6c7 View commit details
    Browse the repository at this point in the history
  20. Smash out RPC, wallet

    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    d740bd2 View commit details
    Browse the repository at this point in the history
  21. Document the RPC

    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    08b95ab View commit details
    Browse the repository at this point in the history
  22. Improve docs a bit

    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    6f61861 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    b5b9d4a View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    1db4091 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    74aaac4 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    6fc8b30 View commit details
    Browse the repository at this point in the history
  27. Only read transactions with one Input::Gen or all Input::ToKey

    Also adds a helper to fetch a transaction's prefix.
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    df095f0 View commit details
    Browse the repository at this point in the history
  28. Smash out polyseed

    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    1e2e3bd View commit details
    Browse the repository at this point in the history
  29. Smash out seed

    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    11dba91 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    0b20004 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    eb0c19b View commit details
    Browse the repository at this point in the history
  32. Document cargo features

    Credit to @hinto-janai for adding such sections to their work on documenting
    monero-serai in #568.
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    0f47753 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    b3b0edb View commit details
    Browse the repository at this point in the history
  34. 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).
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    70c36ed View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    abd48e9 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    08d604f View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    891362a View commit details
    Browse the repository at this point in the history
  38. 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.
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    8319d21 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    69e077b View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    0624661 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    64e74c5 View commit details
    Browse the repository at this point in the history
  42. Diversify ViewPair/Scanner into ViewPair/GuaranteedViewPair and Scann…

    …er/GuaranteedScanner
    
    Also cleans the Scanner impl.
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    daa0f8f View commit details
    Browse the repository at this point in the history
  43. 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.
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    b56c6fb View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    08169e2 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    3de89c7 View commit details
    Browse the repository at this point in the history
  46. Remove possible panic in monero-serai on systems < 32 bits

    This was done by requiring the system's usize can represent a certain number.
    kayabaNerve committed Jul 4, 2024
    Configuration menu
    Copy the full SHA
    0f9a5af View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    e94a04d View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. fmt, machete, GH CI

    kayabaNerve committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    90880cc View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2024

  1. Configuration menu
    Copy the full SHA
    1f5e5fc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    04df229 View commit details
    Browse the repository at this point in the history
  3. Fix a pair of bugs in the decoy tests

    Unfortunately, this test is still failing.
    kayabaNerve committed Jul 6, 2024
    Configuration menu
    Copy the full SHA
    788c4fc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b2c962c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d847ec5 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0631607 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2334725 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    6357bc0 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    9f7dbf2 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    c138950 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2024

  1. Configuration menu
    Copy the full SHA
    3cf0b84 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4743ea7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d99ed96 View commit details
    Browse the repository at this point in the history
  4. Correct the if check about when to mine blocks on start

    Finally fixes the lack of decoy candidates failures in CI.
    kayabaNerve committed Jul 7, 2024
    Configuration menu
    Copy the full SHA
    86facae View commit details
    Browse the repository at this point in the history
  5. Run Monero on Debian, even for internal testnets

    Change made due to a segfault incurred when locally testing.
    
    monero-project/monero#9141 for the upstream.
    kayabaNerve committed Jul 7, 2024
    Configuration menu
    Copy the full SHA
    c521bbb View commit details
    Browse the repository at this point in the history
  6. Don't attempt running tests on the verify-chain binary

    Adds a minimum XMR fee to the processor and runs fmt.
    kayabaNerve committed Jul 7, 2024
    Configuration menu
    Copy the full SHA
    1bfd7d9 View commit details
    Browse the repository at this point in the history
  7. Increase minimum Monero fee in processor

    I'm truly unsure why this is required right now.
    kayabaNerve committed Jul 7, 2024
    Configuration menu
    Copy the full SHA
    9e4d83b View commit details
    Browse the repository at this point in the history
  8. Distinguish fee from necessary_fee in monero-wallet

    If there's no change, the fee is difference of the inputs to the outputs. The
    prior code wouldn't check that amount is greater than or equal to the necessary
    fee, and returning the would-be change amount as the fee isn't necessarily
    helpful.
    
    Now the fee is validated in such cases and the necessary fee is returned,
    enabling operating off of that.
    kayabaNerve committed Jul 7, 2024
    Configuration menu
    Copy the full SHA
    d88bd70 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6994d93 View commit details
    Browse the repository at this point in the history