Skip to content

Commit a8c6bf7

Browse files
committed
Make mappings optional
1 parent 017a933 commit a8c6bf7

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

src/tool/subcommands/api_cmd/generate_test_snapshot.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,17 @@ pub(super) fn build_index(db: Arc<ReadOpsTrackingStore<ManyCar<ParityDb>>>) -> O
7474
let mut index = Index::default();
7575
let reader = db.tracker.eth_mappings_db.read();
7676
for (k, v) in reader.iter() {
77-
index.eth_mappings.insert(k.to_string(), Payload(v.clone()));
77+
index
78+
.eth_mappings
79+
.get_or_insert_with(ahash::HashMap::default)
80+
.insert(k.to_string(), Payload(v.clone()));
7881
}
7982
let reader = db.tracker.indices_db.read();
8083
for (k, v) in reader.iter() {
81-
index.eth_mappings.insert(k.to_string(), Payload(v.clone()));
84+
index
85+
.indices
86+
.get_or_insert_with(ahash::HashMap::default)
87+
.insert(k.to_string(), Payload(v.clone()));
8288
}
8389
if index == Index::default() {
8490
None

src/tool/subcommands/api_cmd/test_snapshot.rs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ pub struct Payload(#[serde(with = "crate::lotus_json::base64_standard")] pub Vec
3434

3535
#[derive(Default, PartialEq, Debug, Clone, Serialize, Deserialize)]
3636
pub struct Index {
37-
pub eth_mappings: ahash::HashMap<String, Payload>,
37+
pub eth_mappings: Option<ahash::HashMap<String, Payload>>,
38+
pub indices: Option<ahash::HashMap<String, Payload>>,
3839
}
3940

4041
#[derive(Debug, Clone, Serialize, Deserialize)]
@@ -52,16 +53,20 @@ pub struct RpcTestSnapshot {
5253
fn backfill_eth_mappings(db: &MemoryDB, index: Option<Index>) -> anyhow::Result<()> {
5354
if let Some(index) = index {
5455
if let Some(mut guard) = db.eth_mappings_db.try_write() {
55-
for (k, v) in index.eth_mappings.iter() {
56-
if let Ok(hash) = EthHash::from_str(k) {
57-
guard.insert(hash, v.0.clone());
56+
if let Some(eth_mappings) = index.eth_mappings {
57+
for (k, v) in eth_mappings.iter() {
58+
if let Ok(hash) = EthHash::from_str(k) {
59+
guard.insert(hash, v.0.clone());
60+
}
5861
}
5962
}
6063
}
6164
if let Some(mut guard) = db.indices_db.try_write() {
62-
for (k, v) in index.eth_mappings.iter() {
63-
if let Ok(cid) = Cid::from_str(k) {
64-
guard.insert(cid, v.0.clone());
65+
if let Some(indices) = index.indices {
66+
for (k, v) in indices.iter() {
67+
if let Ok(cid) = Cid::from_str(k) {
68+
guard.insert(cid, v.0.clone());
69+
}
6570
}
6671
}
6772
}

0 commit comments

Comments
 (0)