| 
					
				 | 
			
			
				@@ -143,13 +143,28 @@ impl ProofWriter { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /// Rollback all changes in this ProofWriter consuming it. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    pub async fn rollback(mut self, tx: &mut Tx<'_, '_>) -> Result<(), Error> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pub async fn rollback(mut self) -> Result<(), Error> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let db = if let Some(db) = self.db.take() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            db 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return Ok(()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let mut tx = db.begin_transaction().await?; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let (ys, original_states) = if let Some(proofs) = self.proof_original_states.take() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             proofs.into_iter().unzip::<_, _, Vec<_>, Vec<_>>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return Ok(()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        reset_proofs_to_original_state(tx, &ys, original_states).await?; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tracing::info!( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Rollback proofs to their original states {:?} {:?}", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ys, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            original_states 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        reset_proofs_to_original_state(&mut tx, &ys, original_states).await?; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tx.commit().await?; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Ok(()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |