diff --git a/packages/rs-sdk/src/platform/address_sync/mod.rs b/packages/rs-sdk/src/platform/address_sync/mod.rs index 4523627b43..93e2c94f84 100644 --- a/packages/rs-sdk/src/platform/address_sync/mod.rs +++ b/packages/rs-sdk/src/platform/address_sync/mod.rs @@ -115,6 +115,7 @@ pub async fn sync_address_balances( // Step 1: Execute trunk query let (trunk_result, checkpoint_height) = execute_trunk_query(sdk, &mut result.metrics).await?; + result.checkpoint_height = checkpoint_height; trace!( "Trunk query returned {} elements, {} leaf_keys", diff --git a/packages/rs-sdk/src/platform/address_sync/types.rs b/packages/rs-sdk/src/platform/address_sync/types.rs index ff291984b7..4f5903258c 100644 --- a/packages/rs-sdk/src/platform/address_sync/types.rs +++ b/packages/rs-sdk/src/platform/address_sync/types.rs @@ -74,6 +74,12 @@ pub struct AddressSyncResult { /// Metrics about the sync process. pub metrics: AddressSyncMetrics, + + /// The checkpoint height at which balances were synced. + /// + /// This is the block height from which terminal balance updates should start + /// to catch any changes that occurred after the checkpoint. + pub checkpoint_height: u64, } impl AddressSyncResult { @@ -84,6 +90,7 @@ impl AddressSyncResult { absent: BTreeSet::new(), highest_found_index: None, metrics: AddressSyncMetrics::default(), + checkpoint_height: 0, } }