MCPcopy Create free account
hub / github.com/BitVM/BitVM / save_to_data_store

Method save_to_data_store

bridge/src/client/client.rs:478–515  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

476 }
477
478 async fn save_to_data_store(&mut self) {
479 // read newly created data before pushing
480 let latest_file_names_result = Self::get_latest_file_names(
481 &self.data_store,
482 Some(&self.remote_file_path),
483 self.latest_processed_file_name.clone(),
484 )
485 .await;
486
487 if latest_file_names_result.is_ok() {
488 let mut latest_file_names = latest_file_names_result.unwrap();
489 latest_file_names.reverse();
490 let latest_valid_file_name = Self::process_files(self, latest_file_names).await;
491 self.latest_processed_file_name = latest_valid_file_name;
492 }
493
494 // push data
495 self.data.version += 1;
496
497 let contents = serialize(&self.data);
498 let result = self
499 .data_store
500 .write_compressed_data(&contents.as_bytes().to_vec(), Some(&self.remote_file_path))
501 .await;
502 match result {
503 Ok((file_name, size)) => {
504 println!(
505 "Pushed new file: {} (size: {}, compressed: {})",
506 file_name,
507 human_bytes(contents.len() as f64),
508 human_bytes(size as f64)
509 );
510 save_local_public_file(&self.local_file_path, &file_name, &contents);
511 self.latest_processed_file_name = Some(file_name);
512 }
513 Err(err) => println!("Failed to push: {}", err),
514 }
515 }
516
517 pub async fn validate_data_by_key(
518 &self,

Callers 1

flushMethod · 0.80

Calls 4

serializeFunction · 0.85
save_local_public_fileFunction · 0.85
cloneMethod · 0.80
write_compressed_dataMethod · 0.80

Tested by

no test coverage detected