Skip to content

Commit 6b0089e

Browse files
committed
add library verification
1 parent 4f31904 commit 6b0089e

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

l1-contracts/scripts/verify-from-json.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,30 @@ append_libraries_flags() {
129129
records_len=$(jq '.records | length' "$JSON_PATH")
130130
echo "Verifying $records_len contracts from $JSON_PATH on chain $CHAIN_VALUE"
131131

132+
# First, verify all unique libraries referenced across records
133+
declare -A __libs_seen
134+
mapfile -t __all_libs < <(jq -c '.records[].libraries[]?' "$JSON_PATH")
135+
if [[ ${#__all_libs[@]} -gt 0 ]]; then
136+
echo "Found ${#__all_libs[@]} library references. Verifying unique libraries first..."
137+
for lib in "${__all_libs[@]}"; do
138+
file=$(echo "$lib" | jq -r .file)
139+
contract=$(echo "$lib" | jq -r .contract)
140+
address=$(echo "$lib" | jq -r .address)
141+
key="$file:$contract:$address"
142+
if [[ -z "${__libs_seen[$key]:-}" ]]; then
143+
__libs_seen[$key]=1
144+
echo "==> Verifying library $contract at $address"
145+
echo " FQN: $file:$contract"
146+
forge verify-contract \
147+
--chain "$CHAIN_VALUE" \
148+
--etherscan-api-key "$API_KEY_VALUE" \
149+
"$address" "$file:$contract" \
150+
--compiler-version v0.8.27 \
151+
--verifier sourcify
152+
fi
153+
done
154+
fi
155+
132156
for i in $(seq 0 $((records_len - 1))); do
133157
rec=$(jq -c ".records[$i]" "$JSON_PATH")
134158
name=$(echo "$rec" | jq -r .name)

0 commit comments

Comments
 (0)