Skip to content
Draft

Release #2076

Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
412 commits
Select commit Hold shift + click to select a range
96bb505
chore: event parameter tweaks
jaybuidl Sep 9, 2025
78833f3
chore: tweaked sortition module natspec, added the phase related func…
jaybuidl Sep 10, 2025
4530869
chore: replaced @dev natspec with @notice where relevant, fixed found…
jaybuidl Sep 10, 2025
cfdb1f4
chore: changelog
jaybuidl Sep 11, 2025
7c30463
Merge pull request #2127 from kleros/feat/storage-gap
jaybuidl Sep 11, 2025
e7578d2
fix: do not emit TokenAndETHShift for zero amounts, no zero transfer
jaybuidl Sep 10, 2025
bd983ca
chore: changelog
jaybuidl Sep 11, 2025
c97270a
Merge pull request #2135 from kleros/fix/no-zero-amount-shift
jaybuidl Sep 11, 2025
f1dd559
refactor: renamed event TokenAndEthShift into JurorRewardPenalty
jaybuidl Sep 11, 2025
fd465a4
chore: changelog
jaybuidl Sep 11, 2025
8ecf061
Merge pull request #2136 from kleros/refactor/rename-TokenAndEthShift…
jaybuidl Sep 11, 2025
41a5b77
refactor: minor internal function rename
jaybuidl Sep 11, 2025
cbc111a
chore: less optimizer iterations to shrink KlerosCore
jaybuidl Sep 11, 2025
452246f
chore: university contracts redeploy
jaybuidl Sep 12, 2025
e59e79b
feat: markdown editor and markdown renderer
kemuru Sep 15, 2025
e7971b8
fix: styling fixes, hack to make the text flicker appear
kemuru Sep 15, 2025
835eea4
chore: deploy-university-subgraph
tractorss Sep 16, 2025
d82188a
feat: style improvements
kemuru Sep 16, 2025
79e4210
fix: university deploy script
jaybuidl Sep 16, 2025
e1a3d05
chore: comments from ai reviews
kemuru Sep 16, 2025
55589e5
Merge pull request #2138 from kleros/chore/university-deploy-stable
jaybuidl Sep 16, 2025
9d4b286
feat: link popup warning, clean up codes
kemuru Sep 16, 2025
4f35c9d
Merge branch 'dev' into feat/markdown-editor-and-markdown-renderer
kemuru Sep 17, 2025
e3dc195
Potential fix for code scanning alert no. 96: Bad HTML filtering regexp
kemuru Sep 17, 2025
942fa9e
chore: dompurify in packagejson
kemuru Sep 17, 2025
20ae3a4
Potential fix for code scanning alert no. 97: Incomplete URL scheme c…
kemuru Sep 17, 2025
e2d7c81
feat: max height and scrollable on mobile
kemuru Sep 17, 2025
b9a7a97
Merge pull request #2141 from kleros/chore/university-migration
jaybuidl Sep 17, 2025
48abffb
Merge branch 'dev' into feat/markdown-editor-and-markdown-renderer
kemuru Sep 22, 2025
859834b
feat: switch to reactmarkdown, remark gfm, rehype raw and rehype sani…
kemuru Sep 22, 2025
56aaca8
chore: style impros resolver description
kemuru Sep 22, 2025
94e4783
chore: slight transition and coloring
kemuru Sep 22, 2025
a8d32b8
chore: small styling issue
kemuru Sep 22, 2025
0e96a87
Merge pull request #2140 from kleros/feat/markdown-editor-and-markdow…
jaybuidl Sep 23, 2025
6752cad
feat: fuzzing tests
unknownunknown1 Sep 23, 2025
65f84cf
feat: clear-choice-button
tractorss Sep 24, 2025
2842949
Merge branch 'dev' into feat/court-features
alcercu Sep 24, 2025
e827f63
Merge pull request #2117 from kleros/feat/court-features
alcercu Sep 24, 2025
6b74ebc
fix(DK): multiple commit fix
unknownunknown1 Sep 24, 2025
df07fbb
fix(DK): allow recommits without changing counter
unknownunknown1 Sep 30, 2025
835d45b
Merge branch 'feat/fuzzing-test' into dev
jaybuidl Sep 30, 2025
5b35be9
Merge branch 'dev' into fix/dk-multiple-commits
jaybuidl Sep 30, 2025
06db2d0
Merge pull request #2145 from kleros/fix/dk-multiple-commits
jaybuidl Sep 30, 2025
615effc
refactor: renamed error AppealPeriodIsOver into NotAppealPeriod
jaybuidl Oct 2, 2025
11f84f7
fix: typos, natspec, small gas optimisation
jaybuidl Oct 2, 2025
ec9e89c
fix: minor KlerosCore improvements from reviews
jaybuidl Oct 6, 2025
40d2240
docs: natspec fixes
jaybuidl Oct 6, 2025
45bcd0f
docs: natspec fixes
jaybuidl Oct 6, 2025
06cccaa
refactor: minor improvement to the DisputeResolver
jaybuidl Oct 6, 2025
7cb1275
Merge pull request #2154 from kleros/fix/contracts-review-round1
jaybuidl Oct 6, 2025
bc906e5
fix: autostake the token rewards in the court where the stake origina…
jaybuidl Oct 7, 2025
4d14f47
Merge pull request #2165 from kleros/autostake-reward-in-court-stake-…
jaybuidl Oct 7, 2025
e21d261
docs: natspec
jaybuidl Oct 8, 2025
cf59b86
feat: removal of externalDisputeID, pre-dispute evidence submission i…
jaybuidl Oct 8, 2025
f70050e
Merge pull request #2169 from kleros/feat/no-external-dispute-id
jaybuidl Oct 8, 2025
decd3e7
chore: metrics script
jaybuidl Oct 10, 2025
00be694
fix(DK): allow recurring DK
unknownunknown1 Oct 6, 2025
536e61c
test: withdrawFeesAndRewards() coverage for complex DK jump sequence
jaybuidl Oct 8, 2025
374b4f2
refactor: active/jump checks, no more _round param in withdrawFeesAnd…
jaybuidl Oct 13, 2025
f9fd944
fix: removed unnecessary isActive modifier on the shutter DKs
jaybuidl Oct 14, 2025
a0a3a67
Merge pull request #2174 from kleros/refactor/active-dk
jaybuidl Oct 14, 2025
a934ba5
Merge pull request #2159 from kleros/feat/recurring-dk-test
jaybuidl Oct 14, 2025
6b7e365
feat: removed an external call to Core in DK.createDispute()
jaybuidl Oct 14, 2025
5a46536
fix: token whitelist for DisputeKitGated and DisputeKitGatedShutter
jaybuidl Oct 14, 2025
87e5759
fix(ShutterDK): replace recovery with justification commit
unknownunknown1 Oct 14, 2025
bcbe228
test: updated with token whitelist coverage
jaybuidl Oct 14, 2025
83a8ba6
fix: support disputes with no token gate address specified
jaybuidl Oct 14, 2025
700738e
test: refactored to cover both shutter and gated DK combinations with…
jaybuidl Oct 14, 2025
cefa0cb
test: added coverage for missing token gate address in gated DKs
jaybuidl Oct 14, 2025
13f3708
fix: coderabbit review, fixed a test not making any assertions
jaybuidl Oct 15, 2025
3a930be
refactor: hidden votes verification logic
jaybuidl Oct 16, 2025
613b8c3
fix: vote index error
jaybuidl Oct 17, 2025
57319d4
Merge branch 'dev' into fix/dk-shutter-commit
jaybuidl Oct 17, 2025
8ab5d63
refactor: errors rename
jaybuidl Oct 17, 2025
ca59e71
Merge pull request #2177 from kleros/fix/dk-shutter-commit
jaybuidl Oct 17, 2025
780e00a
feat: extra event StakeDelayedExecutionFailed for possible UX improve…
jaybuidl Oct 17, 2025
c279eff
Merge pull request #2182 from kleros/feat/extra-event-delayed-stakes-…
jaybuidl Oct 17, 2025
c40c12c
chore: hardhat bump, draw test edge case
jaybuidl Oct 17, 2025
fac9901
feat: delegate the next round settings logic to the dispute kit
jaybuidl Oct 21, 2025
973f572
fix: scripts
jaybuidl Oct 21, 2025
6cbd494
fix: small fixes
jaybuidl Oct 23, 2025
5276f64
refactor: function renames, removed unnecessary booleans courtJump an…
jaybuidl Oct 23, 2025
91ccfe9
test: foundry test compilation fixes
jaybuidl Oct 23, 2025
d03832d
feat: rewrite of NextRoundSettings and DK.getNextRoundSettings(), fou…
jaybuidl Oct 23, 2025
e2daec5
feat: logic change of jumpDisputeKitIDIncompatibilityFallback into ju…
jaybuidl Oct 23, 2025
bbcc819
fix: feedback from reviews
jaybuidl Oct 24, 2025
7df6109
test: extra coverage for jumps to non-parent courts and custom nbVotes
jaybuidl Oct 24, 2025
0b4cb0c
test: added coverage for jumpDisputeKitID taking precendence over jum…
jaybuidl Oct 24, 2025
8704a3c
fix: sanity check for nbVotes
jaybuidl Oct 24, 2025
ad1ff0d
test: extra tests covering KlerosCore sanity checks
jaybuidl Oct 24, 2025
6d76559
test: extra comments
jaybuidl Oct 24, 2025
b22899c
Merge pull request #2187 from kleros/feat/next-round-settings-in-dk
jaybuidl Oct 24, 2025
4a3c20f
refactor: ordering of the DisputeKitClassicBase state variables
jaybuidl Oct 24, 2025
f8536e6
chore: do not use transitive imports
jaybuidl Oct 24, 2025
b6ca2ad
feat: new dispute kit with specialized gating logic
jaybuidl Oct 25, 2025
f5f3079
test: added coverage for the Argentina CP DK
jaybuidl Oct 25, 2025
7f64aba
refactor: moved more logic to _postDrawHook() to avoid extra push/pop
jaybuidl Oct 27, 2025
32fe70a
refactor: renamed token accreditedLawyerToken into accreditedProfessi…
jaybuidl Oct 27, 2025
8795f88
feat(KC): allow to pass commit period quicker
unknownunknown1 Oct 27, 2025
2dd02dc
Merge pull request #2196 from kleros/feat/quick-commits
jaybuidl Oct 27, 2025
877ed81
docs: removed audit html file
jaybuidl Oct 27, 2025
578d4d5
chore: audit scope
jaybuidl Nov 3, 2025
42f721c
fix: updated the PoH interface to PoH v2
jaybuidl Nov 4, 2025
6b8970a
chore: removal of KlerosGovernor, it has moved to the repo kleros/gov…
jaybuidl Nov 4, 2025
592243f
fix: nitpicks from reviews
jaybuidl Nov 5, 2025
643d561
chore: cleanup, forge update, custom natspec
jaybuidl Nov 5, 2025
33f84ad
chore: devnet contracts deployment except the university ones
jaybuidl Nov 5, 2025
72062e7
chore: university court aligned with the latest changes
jaybuidl Nov 5, 2025
487c5e9
chore: university court deployment
jaybuidl Nov 5, 2025
697dac8
fix: execution script Ownable interface instead of Governable
jaybuidl Nov 5, 2025
87d2a70
chore: artifacts updated, BlockhashRNG removed, scripts updated
jaybuidl Nov 5, 2025
e5aa70c
chore: yarn bump
jaybuidl Nov 5, 2025
81f8290
chore: node minor bump, contracts devnet release candidate script
jaybuidl Nov 5, 2025
1193c19
chore: release of @kleros/kleros-v2-contracts@2.0.0-rc.1
jaybuidl Nov 5, 2025
d6cc3be
fix: core subgraph migration (wip)
jaybuidl Nov 5, 2025
a3c9f91
fix: got the subgraph build to pass but some fixes are still required
jaybuidl Nov 6, 2025
3342328
feat: merge conflicts
kemuru Nov 9, 2025
574f8c9
feat: add new section latest stakes in this court, substitute the pro…
kemuru Nov 10, 2025
e6b8207
chore: change naming to staking history
kemuru Nov 10, 2025
4128c77
chore: evidence-and-withdrawal-event-updates
tractorss Nov 11, 2025
47e1280
chore: remove-external-dispute-id
tractorss Nov 11, 2025
e67c533
chore: fix table a bit
kemuru Nov 12, 2025
cf2dcc7
chore: convert-evidence-index-back-to-string
tractorss Nov 12, 2025
4330108
chore: deply-subgraphs-to-alchemy
tractorss Nov 12, 2025
318d311
chore(web): remove-neo-references
tractorss Nov 12, 2025
a6d8672
chore(web-devtools): remove-neo-references
tractorss Nov 12, 2025
e40034f
chore(subgraph): remove-neo-deployment
tractorss Nov 12, 2025
a2c372d
feat(kleros-sdk): allow-single-value-return-call-action
tractorss Nov 18, 2025
16e7af5
chore(web-devtools): update-dispute-template-inputs
tractorss Nov 18, 2025
59a67a0
chore(web): add-dispute-request-params-as-initial-context
tractorss Nov 18, 2025
ac5b45e
feat(contracts): leaderboard-offset-contract
tractorss Nov 20, 2025
4553827
feat(subgraph): leaderboard-offset
tractorss Nov 20, 2025
9d8c385
chore: rabbit-feedback
tractorss Nov 20, 2025
9d72238
Update keeperBotShutter.ts
shlee-lab Nov 29, 2025
cf44adf
fix(web): juror-number-input-crash
tractorss Dec 8, 2025
58b3ffa
chore(contracts): revert-verfication-task-changes
tractorss Dec 9, 2025
e16934e
Merge pull request #2200 from shlee-lab/patch-1
jaybuidl Dec 9, 2025
eca8874
chore: allow-commiting-public-env-files
tractorss Dec 9, 2025
df44324
chore(contracts): remove-verify-all-task
tractorss Dec 9, 2025
31d9065
chore(contracts): remove-etherscan-property
tractorss Dec 9, 2025
46de145
Merge branch 'dev' into feat(web)/profile-page-new-design
kemuru Dec 10, 2025
5e2741f
fix: enhance file type validation in AtlasProvider to support wildcar…
kyrers Dec 11, 2025
117cfb0
fix: react-vuln-55183-and-55184
tractorss Dec 12, 2025
ba50923
Merge pull request #2204 from kleros/fix/react-vuln-55184-and-55183
jaybuidl Dec 12, 2025
9197bbd
Merge branch 'dev' into chore/devnet-redeploy-2.0rc
jaybuidl Dec 12, 2025
4cdb9f9
Merge pull request #2197 from kleros/chore/devnet-redeploy-2.0rc
jaybuidl Dec 12, 2025
c843eba
Merge branch 'dev' into feat(web)/profile-page-new-design
kemuru Dec 14, 2025
251e88c
Merge branch 'dev' into fix/empty-number-input-crash
tractorss Dec 17, 2025
4974dca
chore: recompute-coherence-on-offset
tractorss Dec 17, 2025
01234cb
feat: remove hardcoded values in vote cards, stylings, etc
kemuru Dec 17, 2025
927cede
fix: few code smells
kemuru Dec 17, 2025
9f72187
fix(web): withdraw-appeal-fees-maintainance-button
tractorss Dec 18, 2025
2d9c117
Merge branch 'dev' into feat/leaderboard-offset
tractorss Dec 18, 2025
997bd55
chore(subgraph): deploy-core-v0.19.1
tractorss Dec 18, 2025
ec2fe4b
Merge pull request #2201 from kleros/fix/empty-number-input-crash
tractorss Dec 18, 2025
dba605c
Merge branch 'dev' into chore/update-withdraw-fees-maintainance-button
jaybuidl Dec 18, 2025
1043b4d
Merge branch 'dev' into feat/leaderboard-offset
jaybuidl Dec 18, 2025
89766af
Merge pull request #2206 from kleros/chore/update-withdraw-fees-maint…
tractorss Dec 18, 2025
94ed78b
Merge branch 'dev' into feat/leaderboard-offset
jaybuidl Dec 19, 2025
2946c1e
Merge pull request #2198 from kleros/feat/leaderboard-offset
tractorss Dec 19, 2025
d266a61
Merge branch 'dev' into fix/allow-wildcard-mimetypes
jaybuidl Dec 19, 2025
f196723
Merge pull request #2203 from kleros/fix/allow-wildcard-mimetypes
jaybuidl Dec 19, 2025
f862532
feat(kleros-sdk): extra-evidences-schema
tractorss Dec 22, 2025
05ebe69
feat(web): naive-arbitrable-side-evidence-display
tractorss Dec 22, 2025
d47ed4e
chore: goldsky deploy tooling
jaybuidl Dec 22, 2025
2c6e681
chore: new court config and policy for Corte de Defensores del Cliente
jaybuidl Dec 23, 2025
2dacbc7
chore(kleros-app): release @kleros/kleros-app@2.2.0
jaybuidl Dec 23, 2025
f8c4d56
fix: show number of votes even if only one vote
kemuru Dec 29, 2025
43add77
feat: desktop grid and mobile styling,fix sort by timestamp descendin…
kemuru Dec 30, 2025
911cc58
Merge branch 'dev' into feat(web)/profile-page-new-design
kemuru Dec 30, 2025
4a364cc
chore(kleros-app): release @kleros/kleros-app@2.2.1
jaybuidl Dec 31, 2025
7bf37ff
chore(kleros-app): release @kleros/kleros-app@2.2.2
jaybuidl Dec 31, 2025
46da5a2
chore: npm login command
jaybuidl Dec 31, 2025
275fbfc
Merge branch 'dev' into feat(web)/profile-page-new-design
kemuru Jan 5, 2026
3b0d24b
Update web/src/pages/Courts/CourtDetails/StakingHistoryByCourt/Displa…
kemuru Jan 5, 2026
e93f815
Update web/src/pages/Courts/CourtDetails/StakingHistoryByCourt/Displa…
kemuru Jan 5, 2026
b5211f9
feat: feedback
kemuru Jan 5, 2026
88abbe7
chore: code smells
kemuru Jan 5, 2026
694f224
Merge branch 'dev' into feat/extra-evidences-in-dispute-schema
tractorss Jan 7, 2026
16917fc
chore(web): update-arbitrable-evidence-ui
tractorss Jan 7, 2026
53a2239
feat: feedback
kemuru Jan 7, 2026
279357a
fix(subgraph): evidence-crash
tractorss Jan 7, 2026
12b8303
Merge pull request #2213 from kleros/fix/subgraph-evidence-crash
jaybuidl Jan 7, 2026
ab34d7a
doc: change evidence documentation link in EvidenceSchema
jaybuidl Jan 9, 2026
9d0e3e9
Merge branch 'dev' into feat(web)/profile-page-new-design
kemuru Jan 9, 2026
33680e1
Merge branch 'dev' into feat/extra-evidences-in-dispute-schema
jaybuidl Jan 9, 2026
68ac08e
chore(kleros-sdk): changelog
jaybuidl Jan 9, 2026
9c06a36
chore(sdk): release @kleros/kleros-sdk@2.4.0
jaybuidl Jan 9, 2026
e254a96
chore(kleros-sdk): changelog fix
jaybuidl Jan 9, 2026
8aa5a8b
Revert "chore(web): update-arbitrable-evidence-ui"
tractorss Jan 9, 2026
47b9962
chore(web): unified-evidence-display
tractorss Jan 9, 2026
c07ce55
feat: add spanish language, change all text for dynamic
kemuru Jan 12, 2026
1fa9cb7
feat: add french
kemuru Jan 12, 2026
965013e
feat: coderabbitai
kemuru Jan 12, 2026
eecb8d0
chore: flex wrap
kemuru Jan 12, 2026
4948b47
chore: coderabbitai feedback
kemuru Jan 12, 2026
0d279e8
fix: crash bug on resolver court page
kemuru Jan 12, 2026
497ee11
chore: invalid dispute data translation
kemuru Jan 12, 2026
191f11d
chore: cas for proces
kemuru Jan 12, 2026
26b95cc
chore: french impros
kemuru Jan 12, 2026
d2b66d9
chore: french impros
kemuru Jan 12, 2026
90393da
Merge pull request #1871 from kleros/feat(web)/profile-page-new-design
jaybuidl Jan 12, 2026
39b2f1a
chore: invalid dispute data translation
kemuru Jan 12, 2026
cd83b20
chore: file deleted
kemuru Jan 12, 2026
b305da0
feat: add profile page translations
kemuru Jan 13, 2026
e39ea4b
chore: coderabbitai
kemuru Jan 13, 2026
a9ffa87
chore: minor tweaks
kemuru Jan 13, 2026
e75be45
chore: remove unused translation keys
kemuru Jan 13, 2026
7062815
chore: minor
kemuru Jan 13, 2026
786388c
chore: typo
kemuru Jan 13, 2026
f7eb2df
Merge branch 'dev' into feat/extra-evidences-in-dispute-schema
tractorss Jan 13, 2026
784ba71
feat: notification section translations
kemuru Jan 13, 2026
2df9266
chore: small logical error
kemuru Jan 13, 2026
3e374bb
chore: tiny navigation bug
kemuru Jan 13, 2026
345a6df
chore: few bugs
kemuru Jan 13, 2026
d45a1b9
chore: minor
kemuru Jan 13, 2026
e340e49
chore: feedback koki
kemuru Jan 13, 2026
7985eb7
chore: feedback
kemuru Jan 14, 2026
2b85368
Merge pull request #2215 from kleros/feat/spanish-translation-website
jaybuidl Jan 14, 2026
d06a34d
chore: translation bug in attachment pages
kemuru Jan 14, 2026
dad7b1a
Merge pull request #2216 from kleros/chore/translation-bug
tractorss Jan 14, 2026
b9f762b
feat: more translations
kemuru Jan 14, 2026
c536ad8
chore: feedback
kemuru Jan 14, 2026
14a31bb
feat: switch all to interpolation
kemuru Jan 14, 2026
6e234cc
chore: small styling tweak
kemuru Jan 14, 2026
a68a03e
chore: feedback
kemuru Jan 14, 2026
f17cab9
chore: casuallify french terms
kemuru Jan 14, 2026
9bc9a4f
chore: node minor version bump CVE-2025-55131 CVE-2025-55130
jaybuidl Jan 14, 2026
24bd92b
Merge branch 'dev' into feat/more-translations
tractorss Jan 15, 2026
c1959ee
Merge pull request #2217 from kleros/feat/more-translations
tractorss Jan 15, 2026
1ceddde
chore(web): subgraph-status-banner-toggle-env-var
tractorss Jan 15, 2026
f41be59
fix: numberify the string or the library breaks
kemuru Jan 15, 2026
1a42b7a
Merge branch 'dev' into feat/more-translations
tractorss Jan 15, 2026
80c74c7
Merge pull request #2219 from kleros/feat/more-translations
tractorss Jan 15, 2026
052a8b4
Merge branch 'dev' into chore/add-subgraph-banner-toggle-var
jaybuidl Jan 16, 2026
a0147be
Merge pull request #2218 from kleros/chore/add-subgraph-banner-toggle…
jaybuidl Jan 16, 2026
68983aa
chore: translation feedback
kemuru Jan 16, 2026
b272a2d
chore: clarification on coherent vote definition
kemuru Jan 16, 2026
a059486
fix: center onboarding mini-guide on hash load
jaybuidl Jan 17, 2026
9ff7f07
Merge pull request #2222 from kleros/chore/translation-feedbacks
tractorss Jan 19, 2026
5559b1f
Merge pull request #2223 from kleros/fix/miniguide-viewport-relative-…
jaybuidl Jan 19, 2026
f2cf280
chore: atlas query update
kemuru Jan 19, 2026
e2e8200
fix: stake bug
kemuru Jan 20, 2026
6258570
Merge pull request #2224 from kleros/chore/atlas-query-update
tractorss Jan 21, 2026
33c0f7b
Merge branch 'dev' into fix/stake-bug
kemuru Jan 21, 2026
4c01c3c
fix: feedback
kemuru Jan 21, 2026
7973fa4
chore: feedback
kemuru Jan 21, 2026
d944e19
Merge pull request #2225 from kleros/fix/stake-bug
tractorss Jan 21, 2026
345fc53
Merge branch 'dev' into feat/extra-evidences-in-dispute-schema
tractorss Jan 28, 2026
00acfd4
Merge pull request #2210 from kleros/feat/extra-evidences-in-dispute-…
jaybuidl Jan 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
186 changes: 121 additions & 65 deletions .github/workflows/contracts-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,73 +15,129 @@ on:
pull_request:
branches:
- "*"
permissions: # added using https://github.com/step-security/secure-workflows

permissions: # added using https://github.com/step-security/secure-workflows
contents: read

Comment on lines +19 to 21
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Grant actions: read so the cache can restore.

When you set a restrictive permissions block, unspecified scopes default to none. actions/cache requires actions: read for restore.

-permissions: # added using https://github.com/step-security/secure-workflows
-  contents: read
+permissions: # added using https://github.com/step-security/secure-workflows
+  contents: read
+  actions: read
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
permissions: # added using https://github.com/step-security/secure-workflows
contents: read
permissions: # added using https://github.com/step-security/secure-workflows
contents: read
actions: read
🤖 Prompt for AI Agents
.github/workflows/contracts-testing.yml around lines 19 to 21: the workflow’s
permissions block only sets contents: read but omits actions: read which
prevents actions/cache from restoring; update the permissions block to
explicitly include actions: read (e.g., add "actions: read" alongside contents:
read) so the cache restore step can access the actions permission.

jobs:
contracts-testing:
# *********************************************************************************** #
# ******************************* Hardhat Tests ************************************* #
# *********************************************************************************** #
hardhat-tests:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
disable-sudo: false
egress-policy: block
allowed-endpoints: >
binaries.soliditylang.org:443
classic.yarnpkg.com:443
github.com:443
nightly.yarnpkg.com:443
nodejs.org:443
objects.githubusercontent.com:443
registry.yarnpkg.com:443
registry.npmjs.org:443
54.185.253.63:443

- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: recursive

- name: Set up corepack (for yarn)
run: |
corepack enable
corepack prepare yarn@4.9.2 --activate
yarn set version 4.9.2

- name: Setup Node.js environment
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: 20.x
cache: yarn

- name: Cache node modules
uses: actions/cache@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4.2.1
env:
cache-name: cache-node-modules
with:
path: |
~/.npm
**/node_modules
key: ${{ runner.os }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-

- name: Install contracts dependencies
run: yarn workspace @kleros/kleros-v2-contracts install

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@de808b1eea699e761c404bda44ba8f21aba30b2c # v1.3.1

- name: Install lcov
run: sudo apt-get install -y lcov

- name: Run Hardhat and Foundry tests with coverage
run: yarn coverage
working-directory: contracts

- name: Upload a build artifact
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
with:
name: code-coverage-report
path: contracts/coverage
- name: Harden Runner
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
disable-sudo: false
egress-policy: block
allowed-endpoints: >
binaries.soliditylang.org:443
classic.yarnpkg.com:443
github.com:443
nightly.yarnpkg.com:443
nodejs.org:443
objects.githubusercontent.com:443
registry.yarnpkg.com:443
registry.npmjs.org:443
54.185.253.63:443

- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: recursive

- name: Set up corepack (for yarn)
run: |
corepack enable
corepack prepare yarn@4.9.2 --activate
yarn set version 4.9.2

- name: Setup Node.js environment
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: 20.x
cache: yarn

- name: Cache node modules
uses: actions/cache@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4.2.1
env:
cache-name: cache-node-modules
with:
path: |
~/.npm
**/node_modules
key: ${{ runner.os }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-

Comment on lines +61 to +72
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Cache the Yarn Berry artifacts instead of npm/node_modules.

With Yarn 4 (PnP by default), ~/.npm and **/node_modules are often unused. Cache .yarn/cache and install state for real wins.

-      - name: Cache node modules
+      - name: Cache Yarn artifacts
         uses: actions/cache@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4.2.1
-        env:
-          cache-name: cache-node-modules
         with:
-          path: |
-            ~/.npm
-            **/node_modules
-          key: ${{ runner.os }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}
-          restore-keys: |
-            ${{ runner.os }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-
+          path: |
+            .yarn/cache
+            .yarn/install-state.gz
+          key: ${{ runner.os }}-yarn-${{ secrets.CACHE_VERSION }}-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
+          restore-keys: |
+            ${{ runner.os }}-yarn-${{ secrets.CACHE_VERSION }}-
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- name: Cache node modules
uses: actions/cache@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4.2.1
env:
cache-name: cache-node-modules
with:
path: |
~/.npm
**/node_modules
key: ${{ runner.os }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-
- name: Cache Yarn artifacts
uses: actions/cache@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4.2.1
with:
path: |
.yarn/cache
.yarn/install-state.gz
key: ${{ runner.os }}-yarn-${{ secrets.CACHE_VERSION }}-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
restore-keys: |
${{ runner.os }}-yarn-${{ secrets.CACHE_VERSION }}-

- name: Install contracts dependencies
run: yarn workspace @kleros/kleros-v2-contracts install

Comment on lines +73 to +75
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix install step: Yarn v4 doesn’t support yarn workspace <name> install.

This will either no-op or fail unless the workspace defines an install script. Do a root install (Berry) and optionally focus the contracts workspace.

-      - name: Install contracts dependencies
-        run: yarn workspace @kleros/kleros-v2-contracts install
+      - name: Install dependencies
+        run: |
+          yarn install --immutable
+          yarn workspaces focus @kleros/kleros-v2-contracts
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- name: Install contracts dependencies
run: yarn workspace @kleros/kleros-v2-contracts install
- name: Install dependencies
run: |
yarn install --immutable
yarn workspaces focus @kleros/kleros-v2-contracts
🤖 Prompt for AI Agents
In .github/workflows/contracts-testing.yml around lines 73-75, the workflow uses
"yarn workspace @kleros/kleros-v2-contracts install", which fails under Yarn v4;
replace that step with a root install (e.g., "yarn install" or "yarn install
--immutable" for CI) and, if you want to limit deps to the contracts workspace,
follow with a workspace focus command such as "yarn workspaces focus
@kleros/kleros-v2-contracts --all" (or similar focus flags) so dependencies are
prepared for that specific workspace.

- name: Run Hardhat tests
run: yarn test
working-directory: contracts

# *********************************************************************************** #
# ******************************* Foundry Tests ************************************* #
# *********************************************************************************** #
# COMPILATION FAILS 🤬
# foundry-tests:
# runs-on: ubuntu-latest
# steps:
# - name: Harden Runner
# uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
# with:
# disable-sudo: false
# egress-policy: block
# allowed-endpoints: >
# binaries.soliditylang.org:443
# classic.yarnpkg.com:443
# github.com:443
# nightly.yarnpkg.com:443
# nodejs.org:443
# objects.githubusercontent.com:443
# registry.yarnpkg.com:443
# registry.npmjs.org:443
# 54.185.253.63:443

# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
# with:
# submodules: recursive

# - name: Set up corepack (for yarn)
# run: |
# corepack enable
# corepack prepare yarn@4.9.2 --activate
# yarn set version 4.9.2

# - name: Setup Node.js environment
# uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
# with:
# node-version: 20.x
# cache: yarn

# - name: Cache node modules
# uses: actions/cache@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4.2.1
# env:
# cache-name: cache-node-modules
# with:
# path: |
# ~/.npm
# **/node_modules
# key: ${{ runner.os }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ secrets.CACHE_VERSION }}-${{ env.cache-name }}-

# # - name: Install contracts dependencies
# # run: yarn workspace @kleros/kleros-v2-contracts install

# - name: Install Foundry
# uses: foundry-rs/foundry-toolchain@82dee4ba654bd2146511f85f0d013af94670c4de # v1.4.0

# - name: Run Foundry tests
# run: forge test --config-path ./foundry.toml
# working-directory: contracts

# - name: Run snapshot
# run: NO_COLOR=1 forge snapshot >> $GITHUB_STEP_SUMMARY
# working-directory: contracts
Loading
Loading