File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -129,6 +129,30 @@ append_libraries_flags() {
129129records_len=$( jq ' .records | length' " $JSON_PATH " )
130130echo " 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+
132156for i in $( seq 0 $(( records_len - 1 )) ) ; do
133157 rec=$( jq -c " .records[$i ]" " $JSON_PATH " )
134158 name=$( echo " $rec " | jq -r .name)
You can’t perform that action at this time.
0 commit comments