Skip to content

Commit 4962692

Browse files
committed
fix: remove optional on analysis_db
1 parent 78e2c41 commit 4962692

File tree

1 file changed

+10
-36
lines changed

1 file changed

+10
-36
lines changed

stackslib/src/clarity_cli.rs

Lines changed: 10 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -992,15 +992,19 @@ pub fn add_serialized_output(result: &mut serde_json::Value, value: Value) {
992992

993993
/// Returns (process-exit-code, Option<json-output>)
994994
pub fn invoke_command(invoked_by: &str, args: &[String]) -> (i32, Option<serde_json::Value>) {
995-
invoke_command_with_db(invoked_by, args, None)
995+
let mut store = MemoryBackingStore::new();
996+
let mut analysis_db = store.as_analysis_db();
997+
analysis_db.begin();
998+
999+
invoke_command_with_db(invoked_by, args, &mut analysis_db)
9961000
}
9971001

9981002
/// Returns (process-exit-code, Option<json-output>)
9991003
/// Optionally accepts a shared analysis database for contract dependency resolution
10001004
pub fn invoke_command_with_db(
10011005
invoked_by: &str,
10021006
args: &[String],
1003-
analysis_db: Option<&mut AnalysisDatabase>,
1007+
analysis_db: &mut AnalysisDatabase,
10041008
) -> (i32, Option<serde_json::Value>) {
10051009
if args.is_empty() {
10061010
print_usage(invoked_by);
@@ -1659,8 +1663,7 @@ pub fn invoke_command_with_db(
16591663
} else {
16601664
None
16611665
};
1662-
let (_, _, analysis_result_and_cost) = if let Some(analysis_db) = analysis_db {
1663-
// Use shared analysis database for contract dependency resolution
1666+
let (_, _, analysis_result_and_cost) =
16641667
in_block(header_db, marf_kv, |header_db, mut marf| {
16651668
let analysis_result =
16661669
run_analysis(&contract_identifier, &mut ast, &header_db, &mut marf, true);
@@ -1688,36 +1691,7 @@ pub fn invoke_command_with_db(
16881691
(header_db, marf, Ok((contract_analysis, (result, cost))))
16891692
}
16901693
}
1691-
})
1692-
} else {
1693-
// Original behavior without shared analysis database
1694-
in_block(header_db, marf_kv, |header_db, mut marf| {
1695-
let analysis_result =
1696-
run_analysis(&contract_identifier, &mut ast, &header_db, &mut marf, true);
1697-
match analysis_result {
1698-
Err(e) => (header_db, marf, Err(e)),
1699-
Ok(contract_analysis) => {
1700-
let result_and_cost = with_env_costs(
1701-
mainnet,
1702-
&header_db,
1703-
&mut marf,
1704-
coverage.as_mut(),
1705-
|vm_env| {
1706-
vm_env.initialize_versioned_contract(
1707-
contract_identifier,
1708-
ClarityVersion::Clarity2,
1709-
&contract_content,
1710-
None,
1711-
ASTRules::PrecheckSize,
1712-
)
1713-
},
1714-
);
1715-
let (result, cost) = result_and_cost;
1716-
(header_db, marf, Ok((contract_analysis, (result, cost))))
1717-
}
1718-
}
1719-
})
1720-
};
1694+
});
17211695

17221696
match analysis_result_and_cost {
17231697
Ok((contract_analysis, (Ok((_x, asset_map, events)), cost))) => {
@@ -2084,7 +2058,7 @@ mod test {
20842058
cargo_workspace_as_string("sample/contracts/tokens.clar"),
20852059
db_name.clone(),
20862060
],
2087-
Some(&mut analysis_db),
2061+
&mut analysis_db,
20882062
);
20892063

20902064
let exit = invoked.0;
@@ -2175,7 +2149,7 @@ mod test {
21752149
"--assets".to_string(),
21762150
db_name.clone(),
21772151
],
2178-
Some(&mut analysis_db),
2152+
&mut analysis_db,
21792153
);
21802154

21812155
let exit = invoked.0;

0 commit comments

Comments
 (0)