Skip to content

Commit 2ba0b64

Browse files
committed
removed filters field from ChainState (ez)
1 parent 4be4cef commit 2ba0b64

File tree

5 files changed

+0
-73
lines changed

5 files changed

+0
-73
lines changed

dash-spv-ffi/src/types.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,6 @@ impl From<DetailedSyncProgress> for FFIDetailedSyncProgress {
182182
#[repr(C)]
183183
pub struct FFIChainState {
184184
pub header_height: u32,
185-
pub filter_header_height: u32,
186185
pub masternode_height: u32,
187186
pub last_chainlock_height: u32,
188187
pub last_chainlock_hash: FFIString,
@@ -193,7 +192,6 @@ impl From<ChainState> for FFIChainState {
193192
fn from(state: ChainState) -> Self {
194193
FFIChainState {
195194
header_height: state.headers.len() as u32,
196-
filter_header_height: state.filter_headers.len() as u32,
197195
masternode_height: state.last_masternode_diff_height.unwrap_or(0),
198196
last_chainlock_height: state.last_chainlock_height.unwrap_or(0),
199197
last_chainlock_hash: FFIString::new(

dash-spv-ffi/tests/unit/test_type_conversions.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,6 @@ mod tests {
164164
fn test_chain_state_none_values() {
165165
let state = dash_spv::ChainState {
166166
headers: vec![],
167-
filter_headers: vec![],
168167
last_chainlock_height: None,
169168
last_chainlock_hash: None,
170169
current_filter_tip: None,
@@ -175,7 +174,6 @@ mod tests {
175174

176175
let ffi_state = FFIChainState::from(state);
177176
assert_eq!(ffi_state.header_height, 0);
178-
assert_eq!(ffi_state.filter_header_height, 0);
179177
assert_eq!(ffi_state.masternode_height, 0);
180178
assert_eq!(ffi_state.last_chainlock_height, 0);
181179
assert_eq!(ffi_state.current_filter_tip, 0);

dash-spv/src/client/core.rs

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -271,42 +271,6 @@ impl<
271271
Ok(())
272272
}
273273

274-
/// Clear all stored filter headers and compact filters while keeping other data intact.
275-
pub async fn clear_filters(&mut self) -> Result<()> {
276-
{
277-
let mut storage = self.storage.lock().await;
278-
storage.clear_filters().await.map_err(SpvError::Storage)?;
279-
}
280-
281-
// Reset in-memory chain state for filters
282-
{
283-
let mut state = self.state.write().await;
284-
state.filter_headers.clear();
285-
state.current_filter_tip = None;
286-
}
287-
288-
// Reset filter sync manager tracking
289-
self.sync_manager.filter_sync_mut().clear_filter_state().await;
290-
291-
// Reset filter-related statistics
292-
let received_heights = {
293-
let stats = self.stats.read().await;
294-
stats.received_filter_heights.clone()
295-
};
296-
297-
{
298-
let mut stats = self.stats.write().await;
299-
stats.filter_headers_downloaded = 0;
300-
stats.filter_height = 0;
301-
stats.filters_downloaded = 0;
302-
stats.filters_received = 0;
303-
}
304-
305-
received_heights.lock().await.clear();
306-
307-
Ok(())
308-
}
309-
310274
// ============ Configuration ============
311275

312276
/// Update the client configuration.

dash-spv/src/storage/state.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,6 @@ impl DiskStorageManager {
2222
// For checkpoint sync, we need to store headers starting from the checkpoint height
2323
self.store_headers_at_height(&state.headers, state.sync_base_height).await?;
2424

25-
// Store filter headers
26-
self.filter_headers
27-
.write()
28-
.await
29-
.store_items(&state.filter_headers, state.sync_base_height, self)
30-
.await?;
31-
3225
// Store other state as JSON
3326
let state_data = serde_json::json!({
3427
"last_chainlock_height": state.last_chainlock_height,
@@ -87,10 +80,6 @@ impl DiskStorageManager {
8780
if let Some(tip_height) = self.get_tip_height().await? {
8881
state.headers = self.load_headers(range_start..tip_height + 1).await?;
8982
}
90-
if let Some(filter_tip_height) = self.get_filter_tip_height().await? {
91-
state.filter_headers =
92-
self.load_filter_headers(range_start..filter_tip_height + 1).await?;
93-
}
9483

9584
Ok(Some(state))
9685
}

dash-spv/src/types.rs

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -257,9 +257,6 @@ pub struct ChainState {
257257
/// Block headers indexed by height.
258258
pub headers: Vec<BlockHeader>,
259259

260-
/// Filter headers indexed by height.
261-
pub filter_headers: Vec<FilterHeader>,
262-
263260
/// Last ChainLock height.
264261
pub last_chainlock_height: Option<u32>,
265262

@@ -355,28 +352,11 @@ impl ChainState {
355352
self.headers.get(index)
356353
}
357354

358-
/// Get filter header at the given height.
359-
pub fn filter_header_at_height(&self, height: u32) -> Option<&FilterHeader> {
360-
if height < self.sync_base_height {
361-
return None; // Height is before our sync base
362-
}
363-
let index = (height - self.sync_base_height) as usize;
364-
self.filter_headers.get(index)
365-
}
366-
367355
/// Add headers to the chain.
368356
pub fn add_headers(&mut self, headers: Vec<BlockHeader>) {
369357
self.headers.extend(headers);
370358
}
371359

372-
/// Add filter headers to the chain.
373-
pub fn add_filter_headers(&mut self, filter_headers: Vec<FilterHeader>) {
374-
if let Some(last) = filter_headers.last() {
375-
self.current_filter_tip = Some(*last);
376-
}
377-
self.filter_headers.extend(filter_headers);
378-
}
379-
380360
/// Get the tip header
381361
pub fn get_tip_header(&self) -> Option<BlockHeader> {
382362
self.headers.last().copied()
@@ -458,7 +438,6 @@ impl ChainState {
458438
) {
459439
// Clear any existing headers
460440
self.headers.clear();
461-
self.filter_headers.clear();
462441

463442
// Set sync base height to checkpoint
464443
self.sync_base_height = checkpoint_height;
@@ -498,7 +477,6 @@ impl std::fmt::Debug for ChainState {
498477
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
499478
f.debug_struct("ChainState")
500479
.field("headers", &format!("{} headers", self.headers.len()))
501-
.field("filter_headers", &format!("{} filter headers", self.filter_headers.len()))
502480
.field("last_chainlock_height", &self.last_chainlock_height)
503481
.field("last_chainlock_hash", &self.last_chainlock_hash)
504482
.field("current_filter_tip", &self.current_filter_tip)

0 commit comments

Comments
 (0)