File tree Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ if [ " $# " -ne 2 ]; then
6
+ echo " Usage: $0 <artifacts-dir-1> <artifacts-dir-2>"
7
+ exit 1
8
+ fi
9
+
10
+ DIR1=" $1 "
11
+ DIR2=" $2 "
12
+
13
+ TMPDIR=$( mktemp -d)
14
+
15
+ # Function to extract, strip metadata, and chunk bytecode
16
+ process () {
17
+ local file=" $1 "
18
+ local out=" $2 "
19
+
20
+ jq -r ' .deployedBytecode' " $file " | fold -w 64 > " $out "
21
+ }
22
+
23
+ # Find all JSON files in DIR1
24
+ find " $DIR1 " -type f -name ' *.json' ! -name ' *dbg.json' ! -name ' I*.json' | while read -r file1; do
25
+ # Get relative path
26
+ rel_path=" ${file1# $DIR1 / } "
27
+ file2=" $DIR2 /$rel_path "
28
+
29
+ if [ ! -f " $file2 " ]; then
30
+ echo " ⚠️ Missing in second dir: $rel_path "
31
+ continue
32
+ fi
33
+
34
+ tmp1=" $TMPDIR /1"
35
+ tmp2=" $TMPDIR /2"
36
+
37
+ process " $file1 " " $tmp1 "
38
+ process " $file2 " " $tmp2 "
39
+
40
+ if ! diff -q " $tmp1 " " $tmp2 " > /dev/null; then
41
+ echo " 🧨 Difference found in: $rel_path "
42
+ if command -v colordiff & > /dev/null; then
43
+ colordiff -u " $tmp1 " " $tmp2 "
44
+ else
45
+ diff -u " $tmp1 " " $tmp2 "
46
+ fi
47
+ echo
48
+ fi
49
+ done
50
+
51
+ rm -rf " $TMPDIR "
You can’t perform that action at this time.
0 commit comments