Skip to content

Conversation

teor2345
Copy link
Member

This PR backports the latest compatible Proof of Space changes from abundance, including some API refactors, including all relevant files up until commit:
nazar-pc/abundance@6d56b48

It should be reviewed one commit at a time.
The copied code is best reviewed by:

  • checking out abundance at that commit
  • copying across the code from abundance
  • checking there are no differences

The copied code includes:

  • ab-proof-of-space replacing subspace-proof-of-space
  • ab-chacha8 copied into shared
  • SolutionPotVerifier trait from ab-core-primitives

Various minor fixes are then made to get it to compile and pass CI:

  • Cargo.toml build files
  • imports
  • incompatibilities
  • revert dependency and compiler changes we haven't updated to yet
  • clippy fixes
  • missed docs

Code contributor checklist:

@teor2345 teor2345 self-assigned this Oct 15, 2025
@teor2345 teor2345 added enhancement New feature or request performance Related to performance measurement or improvement labels Oct 15, 2025
Copy link

🛡️ Immunefi PR Reviews

We noticed that your project isn't set up for automatic code reviews. If you'd like this PR reviewed by the Immunefi team, you can request it manually using the link below:

🔗 Send this PR in for review

Once submitted, we'll take care of assigning a reviewer and follow up here.

@teor2345 teor2345 enabled auto-merge October 15, 2025 13:50
@teor2345
Copy link
Member Author

The benchmark failure might take some time to fix, and I've run out of time today. Looks like the benchmarks expect Proof of Space to return Ok, but instead it's returning an error.

The "check individually" failure is trivial, just some missing dead code annotations.

Copy link
Member

@nazar-pc nazar-pc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that miri annotations may not be necessary since this repo doesn't run tests under Miri (abundance does to have additional guarantees that unsafe code maintains invariants, but some tests are too slow to run regularly in CI or impractical to run in general, hence corresponding annotations).

Similarly no-panic ensures compiler can figure out the code can't possibly panic at compile time, which allows for better optimizations, but this repo doesn't run corresponding tests, so not sure how useful it is to port over.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request performance Related to performance measurement or improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants