Skip to content

chore: track foundry.lock for reproducible dependency pinning#316

Merged
fbac merged 1 commit intomainfrom
fbac/foundry-lock
Apr 13, 2026
Merged

chore: track foundry.lock for reproducible dependency pinning#316
fbac merged 1 commit intomainfrom
fbac/foundry-lock

Conversation

@fbac
Copy link
Copy Markdown
Collaborator

@fbac fbac commented Apr 13, 2026

The foundry.lock file was introduced in Foundry PR #9522 (merged in Foundry v1.3.0) to solve the git submodules problem - they doesn't natively support pinning to tags or revisions — only branches.

Without the lockfile, running forge update can silently check out dependencies at the latest commit on master instead of the intended tag/revision.

Note

Track foundry.lock for reproducible dependency pinning

Adds foundry.lock to version control to pin Foundry dependencies at a specific snapshot, ensuring reproducible builds across environments.

Macroscope summarized 6ba8a4b.

@fbac fbac requested a review from a team as a code owner April 13, 2026 09:17
@macroscopeapp
Copy link
Copy Markdown

macroscopeapp Bot commented Apr 13, 2026

Approvability

Verdict: Approved

Adds a foundry.lock file to pin dependency versions for reproducible builds. This is purely build metadata with no runtime impact on smart contract behavior. The author is the designated code owner of this file.

You can customize Macroscope's approvability policy. Learn more.

@fbac fbac merged commit 82d8883 into main Apr 13, 2026
7 checks passed
@fbac fbac deleted the fbac/foundry-lock branch April 13, 2026 09:19
@github-actions
Copy link
Copy Markdown

Changes to gas cost

Generated at commit: 83d64e2889e68eeb1057a30190e61a1d8d5afd36, compared to commit: 1c9ad449b4715ddd4c87bda7af2b29eb6f3705d8

🧾 Summary (20% most significant diffs)

Contract Method Avg (+/-) %
Proxy DOMAIN_SEPARATOR
__setPauseStatus
eip712Domain
fallback
initialize(address[])
+1,981 ❌
+13,819 ❌
+4,882 ❌
+152,831,518 ❌
+62,009 ❌
+27.47%
+75.18%
+82.59%
+26638.51%
+125.06%

Full diff report 👇
Contract Deployment Cost (+/-) Method Min (+/-) % Avg (+/-) % Median (+/-) % Max (+/-) % # Calls (+/-)
Proxy 105,099 (0) DOMAIN_SEPARATOR
__mint
__setPauseStatus
adminParameterKey
contractName
eip712Domain
fallback
implementation
initialize()
initialize(address[])
migrate
migratorParameterKey
name
nodeRegistry
parameterRegistry
paused
pausedParameterKey
payerRegistry
symbol
updatePauseStatus
version
7,211 (0)
56,427 (0)
826 (0)
5,264 (-45)
5,264 (-1)
5,911 (0)
5,005 (0)
5,100 (-45)
28,489 (-1)
29,075 (-20,271)
28,601 (-701)
5,242 (-47)
7,987 (-62)
5,047 (0)
5,005 (-23)
7,148 (-32)
5,285 (-23)
5,050 (-22)
7,999 (-45)
29,288 (0)
5,231 (-56)
0.00%
0.00%
0.00%
-0.85%
-0.02%
0.00%
0.00%
-0.87%
-0.00%
-41.08%
-2.39%
-0.89%
-0.77%
0.00%
-0.46%
-0.45%
-0.43%
-0.43%
-0.56%
0.00%
-1.06%
9,192 (+1,981)
63,294 (+1,284)
32,201 (+13,819)
5,285 (-24)
5,294 (+8)
10,793 (+4,882)
153,405,242 (+152,831,518)
5,144 (-16)
64,959 (-6,102)
111,591 (+62,009)
32,684 (-73)
5,308 (-1)
8,018 (-31)
5,062 (+15)
5,035 (-1)
7,166 (-18)
5,331 (-6)
5,061 (-11)
8,021 (-23)
35,197 (+31)
5,286 (-16)
+27.47%
+2.07%
+75.18%
-0.45%
+0.15%
+82.59%
+26638.51%
-0.31%
-8.59%
+125.06%
-0.22%
-0.02%
-0.39%
+0.30%
-0.02%
-0.25%
-0.11%
-0.22%
-0.29%
+0.09%
-0.30%
9,192 (+1,981)
56,439 (0)
48,430 (+47,582)
5,285 (-24)
5,287 (0)
10,793 (+4,882)
42,932 (+10,939)
5,145 (-22)
50,056 (-22,651)
124,407 (+74,825)
33,581 (-28)
5,311 (+1)
8,018 (-31)
5,070 (+23)
5,028 (0)
7,169 (-11)
5,335 (-17)
5,061 (-11)
8,021 (-23)
31,503 (+22)
5,281 (-17)
+27.47%
0.00%
+5611.08%
-0.45%
0.00%
+82.59%
+34.19%
-0.43%
-31.15%
+150.91%
-0.08%
+0.02%
-0.39%
+0.46%
0.00%
-0.15%
-0.32%
-0.22%
-0.29%
+0.07%
-0.32%
11,173 (+3,962)
73,527 (0)
48,525 (+73)
5,309 (0)
5,336 (+6)
15,676 (+9,765)
2,861,555,004 (0)
5,179 (0)
145,712 (+49,979)
124,407 (+74,588)
37,542 (+30)
5,378 (+48)
8,049 (0)
5,070 (+23)
5,061 (0)
7,202 (0)
5,352 (0)
5,072 (0)
8,044 (0)
52,806 (+65)
5,331 (0)
+54.94%
0.00%
+0.15%
0.00%
+0.11%
+165.20%
0.00%
0.00%
+52.21%
+149.72%
+0.08%
+0.90%
0.00%
+0.46%
0.00%
0.00%
0.00%
0.00%
0.00%
+0.12%
0.00%
2 (+1)
52 (+6)
61 (+28)
4 (+3)
14 (+9)
2 (+1)
56 (-15,747)
15 (+10)
545 (+366)
34 (+32)
50 (+35)
14 (+9)
2 (+1)
3 (+2)
20 (+12)
17 (+12)
7 (+4)
2 (+1)
2 (+1)
25 (+20)
14 (+9)

@github-actions
Copy link
Copy Markdown

LCOV of commit 6ba8a4b during Solidity #777

Summary coverage rate:
  lines......: 99.9% (1366 of 1367 lines)
  functions..: 100.0% (387 of 387 functions)
  branches...: no data found

Files changed coverage rate: n/a

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant