Skip to content

Commit

Permalink
rename Pollard to MemForest
Browse files Browse the repository at this point in the history
What we call Pollard is just the full forest with all leaves in it. A
Pollard should give the option to only cache a subset of the leaves in
the accumulator. This commit simply creates a new mod called MemForest
where the old code will live.
  • Loading branch information
Davidson-Souza committed Aug 22, 2024
1 parent 6a8fe53 commit 2ca359f
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 76 deletions.
12 changes: 6 additions & 6 deletions examples/full-accumulator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use std::str::FromStr;

use rustreexo::accumulator::node_hash::NodeHash;
use rustreexo::accumulator::pollard::Pollard;
use rustreexo::accumulator::mem_forest::MemForest;
use rustreexo::accumulator::proof::Proof;
use rustreexo::accumulator::stump::Stump;

Expand All @@ -16,26 +16,26 @@ fn main() {
NodeHash::from_str("d3bd63d53c5a70050a28612a2f4b2019f40951a653ae70736d93745efb1124fa")
.unwrap(),
];
// Create a new Pollard, and add the utxos to it
let mut p = Pollard::new();
// Create a new MemForest, and add the utxos to it
let mut p = MemForest::new();
p.modify(&elements, &[]).unwrap();

// Create a proof that the first utxo is in the Pollard
// Create a proof that the first utxo is in the MemForest
let proof = p.prove(&[elements[0]]).unwrap();
// Verify the proof. Notice how we use the del_hashes returned by `prove` here.
let s = Stump::new()
.modify(&elements, &[], &Proof::default())
.unwrap()
.0;
assert_eq!(s.verify(&proof, &[elements[0]]), Ok(true));
// Now we want to update the Pollard, by removing the first utxo, and adding a new one.
// Now we want to update the MemForest, by removing the first utxo, and adding a new one.
// This would be in case we received a new block with a transaction spending the first utxo,
// and creating a new one.
let new_utxo =
NodeHash::from_str("cac74661f4944e6e1fed35df40da951c6e151e7b0c8d65c3ee37d6dfd3bc3ef7")
.unwrap();
p.modify(&[new_utxo], &[elements[0]]).unwrap();

// Now we can prove that the new utxo is in the Pollard.
// Now we can prove that the new utxo is in the MemForest.
let _ = p.prove(&[new_utxo]).unwrap();
}
Loading

0 comments on commit 2ca359f

Please sign in to comment.