Pass spam filter option upstream

This commit is contained in:
Hanh 2022-08-31 23:35:21 +08:00
parent deb75ba3c7
commit b0b966bc7d
5 changed files with 13 additions and 2 deletions

View File

@ -20,6 +20,7 @@ message BlockID {
message BlockRange {
BlockID start = 1;
BlockID end = 2;
uint64 spamFilterThreshold = 3;
}
// A TxFilter contains the information needed to identify a particular

View File

@ -152,6 +152,7 @@ pub async fn download_chain(
start_height: u32,
end_height: u32,
mut prev_hash: Option<[u8; 32]>,
max_cost: u32,
blocks_tx: Sender<Blocks>,
cancel: &'static Mutex<bool>,
) -> anyhow::Result<()> {
@ -170,6 +171,7 @@ pub async fn download_chain(
height: end_height as u64,
hash: vec![],
}),
spam_filter_threshold: max_cost as u64,
};
*DOWNLOADED_BYTES.lock().unwrap() = 0;
*TRIAL_DECRYPTIONS.lock().unwrap() = 0;
@ -201,14 +203,19 @@ pub async fn download_chain(
prev_hash = Some(ph);
for b in block.vtx.iter_mut() {
b.actions.clear(); // don't need Orchard actions
let mut skipped = false;
for co in b.outputs.iter_mut() {
if co.epk.is_empty() {
skipped = true;
co.epk = vec![0; 32];
}
if co.ciphertext.is_empty() {
co.ciphertext = vec![0; 52];
}
}
if skipped {
log::info!("Output skipped {}", b.outputs.len());
}
}
let block_output_count: usize = block.vtx.iter().map(|tx| tx.outputs.len()).sum();

View File

@ -109,6 +109,8 @@ pub struct BlockRange {
pub start: ::core::option::Option<BlockId>,
#[prost(message, optional, tag="2")]
pub end: ::core::option::Option<BlockId>,
#[prost(uint64, tag="3")]
pub spam_filter_threshold: u64,
}
/// A TxFilter contains the information needed to identify a particular
/// transaction: either a block and an index, or a direct transaction hash.

View File

@ -11,7 +11,7 @@ use rocket::{response, Request, Response, State};
use std::collections::HashMap;
use std::fs::File;
use std::io::{BufReader, Read};
use std::sync::atomic::AtomicBool;
use std::sync::Mutex;
use thiserror::Error;
use warp_api_ffi::api::payment::{Recipient, RecipientMemo};
use warp_api_ffi::api::payment_uri::PaymentURI;
@ -21,7 +21,7 @@ use warp_api_ffi::{
};
lazy_static! {
static ref SYNC_CANCELED: AtomicBool = AtomicBool::new(false);
static ref SYNC_CANCELED: Mutex<bool> = Mutex::new(false);
}
#[derive(Error, Debug)]

View File

@ -94,6 +94,7 @@ pub async fn sync_async(
start_height,
end_height,
prev_hash,
max_cost,
decryptor_tx,
cancel,
)