-
Notifications
You must be signed in to change notification settings - Fork 50
Release #2076
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Release #2076
Changes from 213 commits
f1fe7c9
4594536
5a81f9e
4c2277b
efb2aad
29aee53
e3ed3c9
92852da
c99b0c9
7c74b70
d78e212
77c8549
0cdc07d
e41ee56
9b1f5fd
2d94bfd
bfe11a7
63ecf4a
937fb97
752b64a
9140890
4a72da5
d3a1293
9d3ba90
3080c8f
a8942cd
89848ea
a130a6a
b8628bb
d10251b
41e8998
34f6a65
da7eea1
a8f3415
78b3169
738ef2c
82f8b1c
52f86ac
a374113
a0cb09d
5353ccf
831b062
3d211cc
95f2803
277457c
d1910ca
8d0edf4
c1bad1d
be33847
cabc743
b19b82d
1dbfedf
37bd43f
0a10ad2
257870c
4a451a5
5ca5c3b
bd4e169
31efb24
96e48f8
0f31e0e
d63d000
78f180a
413a85a
9895c7c
2f711f3
da90234
0cadf21
e6572d5
635aa6d
9401c9b
8f4993d
3b59568
f02d718
f2b2183
03376da
524116c
9618a6f
5468d55
1aae950
208e009
42cc971
057957e
d0a9a80
f734873
582b674
e4d4bdb
1d37d89
3ed7310
c9e7334
ea5b3a7
361fa55
6636c6d
e6114ba
9d31252
baf9695
4cc634f
14fedbb
63d3a64
e6e83ae
1d1f9f2
b7888c2
d3c215e
323ba18
953bd95
d794975
62b0a50
a7cfba0
1ba64db
068df77
188f8d0
bd589e7
6f92514
2cfeec4
4aa2cd2
b490c96
ef3a64c
fb6ca6a
5e987c4
98f7eac
030eedf
6ded616
63744e9
262f940
bd210be
40714da
758a809
7a5d08d
e9f8a0a
923bd7b
daa8bf9
4e384c9
8636c23
36a2455
59ca8e1
5dc39fa
79a458c
1ec4e02
f1ec484
8b6e1f9
7a78b27
83a21bd
6bea072
62d5723
0e3fb9c
f77b92f
e41329b
8f438dd
8032917
1b6c98a
568eb40
96bb505
78833f3
4530869
cfdb1f4
7c30463
e7578d2
bd983ca
c97270a
f1dd559
fd465a4
8ecf061
41a5b77
cbc111a
452246f
e59e79b
e7971b8
835eea4
d82188a
79e4210
e1a3d05
55589e5
9d4b286
4f35c9d
e3dc195
942fa9e
20ae3a4
e2d7c81
b9a7a97
48abffb
859834b
56aaca8
94e4783
a8d32b8
0e96a87
6752cad
65f84cf
2842949
e827f63
6b74ebc
df07fbb
835d45b
5b35be9
06db2d0
615effc
11f84f7
ec9e89c
40d2240
45bcd0f
06cccaa
7cb1275
bc906e5
4d14f47
e21d261
cf59b86
f70050e
decd3e7
00be694
536e61c
374b4f2
f9fd944
a0a3a67
a934ba5
6b7e365
5a46536
bcbe228
83a8ba6
700738e
cefa0cb
13f3708
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -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 | ||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||
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 [email protected] --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 [email protected] --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
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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), - - 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
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||
- name: Install contracts dependencies | ||||||||||||||||||||||||||||||||||||||||||
run: yarn workspace @kleros/kleros-v2-contracts install | ||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+73
to
+75
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix install step: Yarn v4 doesn’t support This will either no-op or fail unless the workspace defines an - - 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
Suggested change
🤖 Prompt for AI Agents
|
||||||||||||||||||||||||||||||||||||||||||
- 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 [email protected] --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 |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,6 +7,7 @@ const shell = require("shelljs"); | |
module.exports = { | ||
istanbulReporter: ["lcov"], | ||
configureYulOptimizer: true, | ||
irMinimum: true, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainUnrecognized solcover option "irMinimum" — likely a no-op; remove to avoid confusion I don’t see "irMinimum" in solidity-coverage’s documented options. With coverage.sh already forcing VIA_IR=false for Hardhat, this flag is unnecessary and potentially misleading. Apply this diff to remove it: - irMinimum: true, If you want an inline hint about IR for coverage runs, consider a comment: configureYulOptimizer: true,
+ // IR is disabled for coverage via scripts/coverage.sh (VIA_IR=false) Optionally verify support via docs: 🌐 Web query:
💡 Result: Yes. The .solcover.js config includes a documented irMinimum option: a boolean (default false) that “speeds up test execution times when solc is run in viaIR mode,” and it may not work for all projects.[1] Details:
You can set it in .solcover.js like: Mirrors of the same table appear in downstream copies of the docs as well.[2] Citations:
Documented option “irMinimum” is redundant under VIA_IR=false solidity-coverage does support • Location: contracts/.solcover.js (line 10) - irMinimum: true,
+ // IR is disabled for coverage via scripts/coverage.sh (VIA_IR=false), so `irMinimum` is redundant 🤖 Prompt for AI Agents
|
||
onCompileComplete: async function (_config) { | ||
await run("typechain"); | ||
}, | ||
|
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
@@ -4,7 +4,71 @@ All notable changes to this package will be documented in this file. | |||||||||
|
||||||||||
The format is based on [Common Changelog](https://common-changelog.org/). | ||||||||||
|
||||||||||
## [0.11.0] - 2025-08-01 | ||||||||||
## [0.13.0] - 2025-08-07 (Not published yet) | ||||||||||
|
||||||||||
### Changed | ||||||||||
|
||||||||||
- **Breaking:** Rename `KlerosCore.TokenAndETHShift` into `KlerosCore.JurorRewardPenalty` ([#2136](https://github.com/kleros/kleros-v2/issues/2136)) | ||||||||||
- **Breaking:** Add event parameter `KlerosCore.TokenAndETHShift._degreeOfCoherencyFee` and renamed the other parameters to `_degreeOfCoherencyPnk`, `_amountPnk`, `_amountFee` ([#2097](https://github.com/kleros/kleros-v2/issues/2097)) | ||||||||||
- **Breaking:** Move state variable `DisputeKitClassicBase.nbVotes` to the `Round` struct ([#2097](https://github.com/kleros/kleros-v2/issues/2097)) | ||||||||||
- **Breaking:** Stake the juror's PNK rewards instead of transferring them out ([#2099](https://github.com/kleros/kleros-v2/issues/2099)) | ||||||||||
- **Breaking:** Replace `require()` with `revert()` and custom errors outside KlerosCore for consistency and smaller bytecode ([#2084](https://github.com/kleros/kleros-v2/issues/2084)) | ||||||||||
- **Breaking:** Rename the interface from `RNG` to `IRNG` ([#2054](https://github.com/kleros/kleros-v2/issues/2054)) | ||||||||||
- **Breaking:** Rename `governor` to `owner` in order to comply with the lightweight ownership standard [ERC-5313](https://eipsinsight.com/ercs/erc-5313) ([#2112](https://github.com/kleros/kleros-v2/issues/2112)) | ||||||||||
- **Breaking:** Apply the penalties to the stakes in the Sortition Tree ([#2107](https://github.com/kleros/kleros-v2/issues/2107)) | ||||||||||
- **Breaking:** Make `SortitionModule.getJurorBalance().stakedInCourt` include the penalties ([#2107](https://github.com/kleros/kleros-v2/issues/2107)) | ||||||||||
- Make `IDisputeKit.draw()` and `ISortitionModule.draw()` return the court ID from which the juror was drawn ([#2107](https://github.com/kleros/kleros-v2/issues/2107)) | ||||||||||
- Rename `SortitionModule.setJurorInactive()` to `SortitionModule.forcedUnstakeAllCourts()` ([#2107](https://github.com/kleros/kleros-v2/issues/2107)) | ||||||||||
- Make the primary VRF-based RNG fall back to `BlockhashRNG` if the VRF request is not fulfilled within a timeout ([#2054](https://github.com/kleros/kleros-v2/issues/2054)) | ||||||||||
- Authenticate the calls to the RNGs to prevent 3rd parties from depleting the Chainlink VRF subscription funds ([#2054](https://github.com/kleros/kleros-v2/issues/2054)) | ||||||||||
- Use `block.timestamp` rather than `block.number` for `BlockhashRNG` for better reliability on Arbitrum as block production is sporadic depending on network conditions. ([#2054](https://github.com/kleros/kleros-v2/issues/2054)) | ||||||||||
- Replace the `bytes32 _key` parameter in `SortitionTrees.createTree()` and `SortitionTrees.draw()` by `uint96 courtID` ([#2113](https://github.com/kleros/kleros-v2/issues/2113)) | ||||||||||
- Extract the sortition sum trees logic into a library `SortitionTrees` ([#2113](https://github.com/kleros/kleros-v2/issues/2113)) | ||||||||||
- Make `IDisputeKit.getDegreeOfCoherenceReward()` multi-dimensional so different calculations may be applied to PNK rewards, fee rewards and PNK penalties (future-proofing) ([#2090](https://github.com/kleros/kleros-v2/issues/2090)) | ||||||||||
- Consolidate the constant `ALPHA_DIVISOR` with `ONE_BASIS_POINTS` ([#2090](https://github.com/kleros/kleros-v2/issues/2090)) | ||||||||||
- Set the Hardhat Solidity version to v0.8.30 and enable the IR pipeline ([#2069](https://github.com/kleros/kleros-v2/issues/2069)) | ||||||||||
- Set the Foundry Solidity version to v0.8.30 and enable the IR pipeline ([#2073](https://github.com/kleros/kleros-v2/issues/2073)) | ||||||||||
- Widen the allowed solc version to any v0.8.x for the interfaces only ([#2083](https://github.com/kleros/kleros-v2/issues/2083)) | ||||||||||
- Bump `hardhat` to v2.26.2 ([#2069](https://github.com/kleros/kleros-v2/issues/2069)) | ||||||||||
- Bump `@kleros/vea-contracts` to v0.7.0 ([#2073](https://github.com/kleros/kleros-v2/issues/2073)) | ||||||||||
|
||||||||||
### Added | ||||||||||
|
||||||||||
- **Breaking:** Add storage gap arrays to `KlerosCore` structs `Round`, `Dispute` and `Court` ([#2097](https://github.com/kleros/kleros-v2/issues/2097)) | ||||||||||
- **Breaking:** Add storage gap arrays to `DisputeKitClassicBase` state variables and to the structs `Round`, `Dispute` and `Vote` ([#2097](https://github.com/kleros/kleros-v2/issues/2097)) | ||||||||||
- **Breaking:** Add a new field `drawnJurorFromCourtIDs` to the `Round` struct in `KlerosCoreBase` and `KlerosCoreUniversity` ([#2107](https://github.com/kleros/kleros-v2/issues/2107)) | ||||||||||
- **Breaking:** Add a new state variable `jumpDisputeKitID` to the `DisputeKitClassicBase` contract ([#2114](https://github.com/kleros/kleros-v2/issues/2114)) | ||||||||||
- **Breaking:** Add a parameter `_recoveryCommit` to the event `DisputeKitShutter.CommitCastShutter` ([#2100](https://github.com/kleros/kleros-v2/issues/2100)) | ||||||||||
- **Breaking:** Add a storage variable `recoveryCommitments` to `DisputeKitShutter` ([#2100](https://github.com/kleros/kleros-v2/issues/2100)) | ||||||||||
- Allow the Shutter commitment to be recovered by the juror using only the salt and the choice, without having to provide the justification ([#2100](https://github.com/kleros/kleros-v2/issues/2100)) | ||||||||||
- Allow the dispute kits to force an early court jump and to override the number of votes after an appeal (future-proofing) ([#2110](https://github.com/kleros/kleros-v2/issues/2110)) | ||||||||||
- Allow the dispute kits to specify which new dispute kit to use when a court jump occurs ([#2114](https://github.com/kleros/kleros-v2/issues/2114)) | ||||||||||
- Allow stake changes to by-pass delayed stakes when initiated by the SortitionModule by setting the `_noDelay` parameter to `true` in `SortitionModule.validateStake()` ([#2107](https://github.com/kleros/kleros-v2/issues/2107)) | ||||||||||
|
||||||||||
### Removed | ||||||||||
|
||||||||||
- **Breaking:** Remove unused event parameters `IArbitrableV2.DisputeRequest._templateUri` ([#2097](https://github.com/kleros/kleros-v2/issues/2097)) | ||||||||||
- **Breaking:** Remove deprecated `SortitionModule` state variables `alreadyTransferred`, `randomNumberRequestBlock`, `rngLookahead` and `latestDelayedStakeIndex` ([#2097](https://github.com/kleros/kleros-v2/issues/2097)) | ||||||||||
- **Breaking:** Remove struct variable `DisputeKitClassicBase.Round.nbVotes` ([#2097](https://github.com/kleros/kleros-v2/issues/2097)) | ||||||||||
- **Breaking:** Remove the `_block` parameter from `IRNG.requestRandomness()` and `IRNG.receiveRandomness()`, not needed for the primary VRF-based RNG ([#2054](https://github.com/kleros/kleros-v2/issues/2054)) | ||||||||||
|
||||||||||
### Fixed | ||||||||||
|
||||||||||
- Do not pass to Voting period if all the commits are cast because it breaks the current Shutter auto-reveal process. ([#2085](https://github.com/kleros/kleros-v2/issues/2085)) | ||||||||||
- Do not emit the `KlerosCore.TokenAndETHShift` event if the both the PNK and fee amounts are zero ([#2135](https://github.com/kleros/kleros-v2/issues/2135)) | ||||||||||
- Do not make PNK or ETH transfers if the amounts are zero ([#2135](https://github.com/kleros/kleros-v2/issues/2135)) | ||||||||||
|
||||||||||
## [0.12.0] - 2025-08-05 | ||||||||||
|
||||||||||
### Changed | ||||||||||
|
||||||||||
- **Breaking:** Make `viem` a peer dependency, it should be provided by the consuming package ([`4594536`](https://github.com/kleros/kleros-v2/commit/4594536c)) | ||||||||||
|
||||||||||
### Added | ||||||||||
|
||||||||||
- Add helper function `getDisputeKitsViem` to retrieve a deployment's available dispute kit infos including their capabilities (`isShutter`, `isGated`) ([`5a81f9e`](https://github.com/kleros/kleros-v2/commit/5a81f9ec)) | ||||||||||
|
||||||||||
## [0.11.0] - 2025-08-02 | ||||||||||
jaybuidl marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||
|
||||||||||
### Changed | ||||||||||
|
||||||||||
|
@@ -107,6 +171,8 @@ The format is based on [Common Changelog](https://common-changelog.org/). | |||||||||
|
||||||||||
## [0.8.1] - 2025-04-10 | ||||||||||
|
||||||||||
[0.13.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%[email protected] | ||||||||||
[0.12.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%[email protected] | ||||||||||
Comment on lines
+174
to
+175
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainAvoid adding a release link for an unpublished tag. If 0.13.0 isn’t published, this link will 404. Add it only when the release is live. -[0.13.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%[email protected]
+<!-- [0.13.0]: (add after publishing) --> Optionally confirm release existence before merging: 🏁 Script executed: #!/bin/bash
# Prints 200 if the tag exists, otherwise likely 404
curl -s -o /dev/null -w "%{http_code}\n" \
"https://github.com/kleros/kleros-v2/releases/tag/@kleros%[email protected]" Length of output: 132 Remove unpublished release link for v0.13.0 in CHANGELOG.md The • File: Recommended change: -[0.13.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%[email protected]
+<!-- [0.13.0]: (add after publishing) --> 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
|
||||||||||
[0.11.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%[email protected] | ||||||||||
[0.10.0]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%[email protected] | ||||||||||
[0.9.4]: https://github.com/kleros/kleros-v2/releases/tag/@kleros%[email protected] | ||||||||||
|
There was a problem hiding this comment.
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 tonone
.actions/cache
requiresactions: read
for restore.📝 Committable suggestion
🤖 Prompt for AI Agents