From 7118c2d060d3324765d59d46e54ca651200d00e6 Mon Sep 17 00:00:00 2001 From: Harsh Pandey Date: Tue, 17 Mar 2026 17:58:00 +0530 Subject: [PATCH 1/2] fix: skip settings on codeDiff if does not exisits --- packages/cli/src/tasks/code-diff.ts | 2 +- packages/toolbox/src/operations/diffCode.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/tasks/code-diff.ts b/packages/cli/src/tasks/code-diff.ts index b9791b4..d2ee630 100644 --- a/packages/cli/src/tasks/code-diff.ts +++ b/packages/cli/src/tasks/code-diff.ts @@ -56,7 +56,7 @@ export function registerCodeDiff(program: Command) { ) : parseEtherscanStyleSourceCode(sources[0].SourceCode); const source2: StandardJsonInput = ( - sources[0] as BlockscoutStyleSourceCode + sources[1] as BlockscoutStyleSourceCode ).AdditionalSources ? parseBlockscoutStyleSourceCode( sources[1] as BlockscoutStyleSourceCode, diff --git a/packages/toolbox/src/operations/diffCode.ts b/packages/toolbox/src/operations/diffCode.ts index 966229f..4862681 100644 --- a/packages/toolbox/src/operations/diffCode.ts +++ b/packages/toolbox/src/operations/diffCode.ts @@ -11,10 +11,10 @@ export async function diffCode( ) { const changes: Record = {}; - // diff settings + // diff settings (skip if either source doesn't have settings, e.g. some explorers don't return it) const settingsBefore = JSON.stringify(before.settings, null, 2); const settingsAfter = JSON.stringify(after.settings, null, 2); - if (settingsBefore !== settingsAfter) + if (settingsBefore && settingsAfter && settingsBefore !== settingsAfter) changes.settings = createPatch("settings", settingsBefore, settingsAfter); const contractsBefore = await Promise.all( Object.entries(before.sources).map(async ([path, source]) => [ From ab98db9a10ea9d32f65dccd20bf06e6926573f99 Mon Sep 17 00:00:00 2001 From: Harsh Pandey Date: Tue, 17 Mar 2026 18:58:25 +0530 Subject: [PATCH 2/2] fix: add changeset --- .changeset/quick-sites-shine.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/quick-sites-shine.md diff --git a/.changeset/quick-sites-shine.md b/.changeset/quick-sites-shine.md new file mode 100644 index 0000000..13e17f8 --- /dev/null +++ b/.changeset/quick-sites-shine.md @@ -0,0 +1,6 @@ +--- +"@bgd-labs/toolbox": patch +"@bgd-labs/cli": patch +--- + +Fix codeDiffs when no compiler settings provided by the explorer