---
# System prepended metadata

title: V2/Vea Updates 2025
tags: [' vea', ' kleros']

---

## 20250423

Danil: ready for another task

RNG fallback in top priority


## 20250409

### Curate v1
SEO
incentives logic update
bug fix with new light lists
missing entities issue fixed in the subgraph after redeployment, it now has ~300 more entities than the reference one. 
Can be published

List metadata upgrade experiment: 
- file handler limitation, can't link to old entities. Very complicated. 
- We can add new fields without breaking the frontend but we cannot populate the new fields on the old items + we cannot link the old and new items.
- Maybe the frontend could do the linking at the frontend/SDK level using the `updateFor` field, but it's very intensive.
- Should the old version of the item be challenged, example: [old](https://curate.kleros.io/tcr/11155111/0xF40D98d38dBDE3F35e9010BD4Fa05763d15Ba53D/0xde1ad38151406fd40e2dcb1a5542a660c6aade2ac5ddaf18968544135970437d), [new](https://curate.kleros.io/tcr/11155111/0xF40D98d38dBDE3F35e9010BD4Fa05763d15Ba53D/0x602e0af98a5d6d0a6ee7bd739d477ec01c1431b268ef28b1139659ee86e7a3a3)

### V2

#### Gov v2
[Downgrade PR](https://github.com/kleros/governor-v2/pull/6)

#### UI comp library
PRs in review
[Migrated Escrow v2 in review](https://github.com/kleros/escrow-v2/pull/108)

#### Curate v2
Schema validation, [in progress in PR](https://github.com/kleros/curate-v2/pull/75)

#### Missing commit notification
[PR in Atlas](https://github.com/kleros/atlas/pull/462)

#### SUBGRAPH ISSUE
TODO: add the old CreatedCourt event ABI in the subgraph

Subgraphs are broken because of the event changes
SortitionModule events!
CreatedCourt event

Harmeet will add support for this manually.

JB: rollback the core subgraphs devnet/testnet studio and published

For later: 
- Fresh redeploy of the contracts when there is no open dispute
- Find a way to preserve the history of disputes in Beta! 
    - Read-only
    - Initialize the KC dispute ID to follow up

#### PERIODS OPTIMIZTION
:warning: Make sure that the Atlas logic sends a notification when a new period passes early

- [Count the commits](https://github.com/kleros/kleros-v2/issues/1945)
- [Only 1 side funded the appeal after the losing side timeout](https://github.com/kleros/kleros-v2/issues/1946)

#### Vea integration
[Revisit the Crosschain dispute discovery](https://github.com/kleros/kleros-v2/issues/1313?issue=kleros%7Ckleros-v2%7C1317)
[Current subgraph logic](https://github.com/kleros/kleros-v2/blob/6b062e80343fece3b4b126e6939d66ceb44d68d5/subgraph/core/src/entities/Dispute.ts#L35C1-L96C2)
Maybe store the foreign chain block number and query directly onchain rather than having a DRT subgraph per foreign chain.
by storing a mapping: templateID -> blockNumber, then getLog


## 20250402

### UI components
10x better for accessibility, performance, DevX
Before parcel and React 18
~~Move to React 19?~~

#### V2 apps
React 18
:warning: many dependencies depend on React 18 under the hood

#### Governor v2
Wanted: Next 15, React 19... doesn't work with UI components on React 18
-> Last resort: downgrade to Next 14/React 18

#### Devtools v2
Next 14, react 18: works!

#### Library of Justice + Website v2
Next 15, React 19: many server-side improvements
Does not depend on the UI components library

#### Migration
- SVGs: typescript error after removing styled components, fixing
- Court v2/Curate v2/Escrow v2
    - Migration over time to Tailwind
    - We can still use StyledComponents on top of Tailwind initially
        - Not sure about themes
        - Dynamic CSS in some places, not supported by TW
        - Rely on the UI comp library for theme rather than the one in the dapps
    - Pure Tailwind theming: big migration

#### Plan
- TODO JB: Release candidate on [this PR](https://github.com/kleros/ui-components-library/pull/73)
- Don't try to upgrade the library to React 19, stick to 18.
- Finish fixing the last remaining issues in the library (SVGs).
- Evaluate feasibility of migrating an existing v2 dapp including theme
- Governor v2
- Migration of the v2 dapps


## 20250326

### V2 
- number inputs in review, like in v1
- leaderboard UX discussion with Plinio: will add a score column

### UI components library in review
- date picker done
- TODO: dropdown, progress
- ETA end of week, early next week
![image](https://hackmd.io/_uploads/BJegNIbaye.png)


### Dappcon game
- checking that it's still working, testing
- Jean to review the existing questions

### Subgraph discussion
- TODO: [check Koki's message](https://kleros.slack.com/archives/C01SJ0USSKT/p1742936206012879)

### Website v2: backend team provisioning hosting

### Curate v1:
- discussion with Fortunato about adding new fields (scout lists)
- array out of bount in the frontend in v1 before migration
- the new entities need to point to the old entities... add a version number
- the old entities are removed after migration
- Scout app support for Solana
- [Seer item display improvement](https://github.com/kleros/gtcr/pull/345), merged
- Preparing a change in the curate rewards calculations

### Curate v2
- New features: new fields (but no issue if not supported), 
- [Use the Zod schema for frontend validation](https://github.com/kleros/curate-v2/pull/75)
- release to Arbitrum date?

## Merkle drop v1
Prepare a change to substract the 10% from the rewards allocated to v1 - draft PR only for now

## Merkle drop v2
[hardhat-deply downgrade: to investigate](https://github.com/kleros/pnk-merkle-drop-v2/pull/4)




## 20250312

### Resolver v2
Local storage cleared more aggressively.

### Curate v2
[Item schema documented](https://github.com/kleros/curate-v2/pull/75/files), not enforced yet

### Curate v1 item fields validation
In discussion

### Curate v1 subgraph
Curate rewards: some people might be missed due to the subgraph issues?
Checked with the curators.

### v2 staking rewards
Merkle drop deployment to Arbitrum -> https://github.com/kleros/pnk-merkle-drop-v2
End-to-end testing done
[PR in review in the court v2](https://github.com/kleros/kleros-v2/pull/1901)

### Curate v1
Seer registries display improvements

### PoH v2
Helped the migration to Reown

### Website v2
Discussing hosting with the backend team.
Worst case: launch the current version, build a new one on the side without Strapi.

### UI components
- migration to Tailwind in progress
- migration from Parcel to Vite
- Upgraded dependenceis
- accessibility improvements (aria levels etc)
- story book
    - TODO: host on Netlify

### v1
[Numeric answers display improvement](https://github.com/kleros/court/pull/462), in progress, will improve number inputs too


### Reality reviews
.

### Reality changes: v2.3 and v3.3
- new description field
- no more category field
- new built-in hash question type
- versionHasFeature

Redeployed:
- GP mainnet, never used
- Seer mainnet, won't be used yet because Seer needs a redeploy
- Butter is ok
- Changes needed: Arbitrum


Discrepancy 
![image](https://hackmd.io/_uploads/ByV7ggJhyl.png)
Appeals don't protect slashed jurors in v1
Good reason to speed up the migration to v2






## 20250305

### Danil
- Benchmarking of security tools
- Reality proxies
  - ZKsync proxies update
  - mainnet proxies re-deploy (2)
  - proxies test files to update
  - Resolver supports Unichain (Butter)
  - In review: arbitrum, zksync, polygon proxies
- Hash question type
    - Test [question](https://realityeth.github.io/#!/question/0xaf33dcb6e8c5c4d9ddf579f53031b514d19449ca-0xe58409cb508d65b2b6a89e6c7f8c75f9b15048ab003442b5dd5f8869ffdd28f8/token/ETH), [dispute](https://court.kleros.io/cases/122)
    - Resolver + Court update: 
        - Form Input
        - Hex/Dec switch ![image](https://hackmd.io/_uploads/HJEjFoSiye.png)


TODO JB: [review DK PR](https://github.com/kleros/kleros-v2/pull/1893)

### Aleix
Reality reviews
Website v2 update with Guangmian: Strapi GraphQL plugin tweaking to add pagination to query more than 10 items in a collection.

Governor v2 discussion about Tailwind 

### Subgraph issues
Cause: Many entities [added in 1 transaction](https://gnosisscan.io/tx/0xfde9ff728f25cf601fbea9434b2c2b6d68f83238719175faa2ff895ee3a7a97a#eventlog) hitting a limit. Patch: extra flag `GRAPH_STORE_INSERT_EXTRA_COLS` to add more entities beyond the limit. [PR merged then reverted](https://github.com/graphprotocol/graph-node/pull/5786).
![image](https://hackmd.io/_uploads/rkWwl0SsJg.png)

Goldsky: same problem

Seer: impacted by the same subgraph legacy-curate-gnosis for markets curation, in this [contract](https://gnosisscan.io/address/0x5aAF9E23A11440F8C1Ad6D2E2e5109C7e52CC672).

--> try a sales call with Alchemy, really problematic, case-study

### Harmeet

Governer v2 setup, waiting for Plinio's design.

New dapp template based on Governor v2: https://github.com/kleros/nextjs-dapp-template

graph-status update after health API change

PoH v2 needs to be migrated to Reown

Green asked about Curate v2: wants to know the JSON format of the items. 
-> TODO: create a markdown spec

### Marino
Reality reviews, PR reviews
Monthly v1 rewards, report
Staking rewards v2 in progress ~50%.



## 20250226
Escrow v2 live... smart invoice is keen to use it

V2 update: started working on the Staking Rewards for v2. created a new repo: pnk-merkle-drop-v2 adapting our v1 mechanisms to v2. made changes in kleros v2 core subgraphs to add a new StakeSet entity in order to calculate the Staking Rewards, Harmeet reviewed and left some comments. going to add support for arbSepolia soon for testing


early user whitelist update

evidence period duration reduction in the spanish consumer dispute court

Vea: 
- -> eth bots packaging for deployment with the Atlas team
- -> gnosis: bot need a bit of work to support the unhappy path

website v2 workshop

reality cross-chain review, deployment for Butter on Unichain

deep dive into the support for uint dispute types

debugging legacy-curate-gnosis subgraph issue with Graph team



## 20250219

Release v2 to master :heavy_check_mark: 

### Danil

Benchmarking of security contract tools 
Cross-chain Reality proxies: Gnosis/Polygon to redeploy

### Aleix: website
- image loading optimisation
- SEO, site preview

### Harmeet

#### Governor v2, factory contract
[Mockup](https://balsamiq.cloud/sz48y6m/pq1j6w1/r0543)
[Lovable prototype](https://minimal-governor-portal.lovable.app/)

#### Subgraph
- they are investigating the missing entities 
- more indexers

### Marino
- Bug fix: could not click on the navbar when a toast was up, merged in court v2 and escrow v2
- PR reviews: reown migration 
- Scout fix by Shubham: deployed to Fleek
- Atlas staking history PR review, integration with Juror profile 
- [Staking rewards](https://github.com/kleros/kleros-v2/issues/681): starting

### Court reown PR merged
.

### Scout snap
- Goldsky: no update
- Still using the subgraph studio endpoint, [last PR](https://github.com/kleros/scout-snap/pull/69/files)
- Release  :heavy_check_mark: 

### Scout app
- Currently [using the Studio endpoint](https://github.com/kleros/scout/blob/4f7753571b29fd79164f3ea882c4490c01fd6ebf/websites/homepage/src/consts/links.tsx#L9)
- Maybe migrate to an API key which is origin restricted
- :warning: It would be exposed to IPFS
- Better solution: allow visitor to bring their own API key

Fleek: TODO migrate account to jb or it@kleros.io


## 20250212

### Escrow v2 deployment to Neo
- The deploy scripts need a bit more work


### Migration to reown
.

### New Website
Image optimisation done, SEO in progress

Marino:
Profile page blocked by Atlas: staking history pagination in progress

### SDK needs republishing


### Voting UI improvements
![image](https://hackmd.io/_uploads/B10i7b9YJg.png)

Harmeet will do:
1. Better not to show the RTA button twice if possible
![image](https://hackmd.io/_uploads/rks4X-5tke.png)

1. Show the voting answer description somewhere, maybe in a tooltip

### SDK: customizable RTA description
Harmeet will do

### New app: Governor v2
https://github.com/kleros/governor-v2
https://github.com/kleros/kleros-v2/issues/1492
TO INITIALIZE

### Escrow v2 
BUG: https://github.com/kleros/escrow-v2/blob/9af60fd8e64b66806f51fc06f022ea367e8cd0b3/contracts/src/EscrowUniversal.sol#L249
msg.sender should be tx.buyer


### Reality is on Unichain mainnet
https://github.com/RealityETH/reality-eth-monorepo/blob/main/packages/contracts/chains/deployments/130/ETH/RealityETH-3.0.json

TODO: add the tos field to the `deployments[]`


## 20250129

Aleix: ~10 exercises grading, PR reviews

### Court v2
Aleix: WalletConnect Migration starting soon
Spam API from Atlas, merged
Harmeet expects an issue with LIFI
-> get BD in touch with LIFI, we're doing a lot of QA for them

Marino: 
- Jurors pages, reviewed, 
- appeal banner update
- PoH code review of Madhur

Harmeet GraphQL optimization to batch request, we did it by stitching
--> allows us to keep using the Studio endpoints without rate limiting!
Harmmet fixed the contributor entity in the graphql
Appeal banner
Required funding bug, will be fixed after the answer ID PR is merged to avoid conflict

Merge plan
- Juror page
- Answer id PR
- Publish SDK
- Deploy subgraphs at least 0.11.1
TODO: subgraph versioning: use different ones for Core and DRT!


Danil
Review of the reality proxies consolidation
TODO: read the review

DK PR review
Proxie contract for Snapshot

Unichain test tx... still no answer from them, will try to do like for Optimism

Base: will do

Escrow v2
- test suite: from scratch with Foundry
- [Merged the file upload file restrictions from Atlas](https://github.com/kleros/escrow-v2/pull/99)
- [MErge?](https://github.com/kleros/escrow-v2/pull/95/files)
- need to deploy the subgraphs -> update [the dispute template](https://github.com/kleros/escrow-v2/blob/08a5201c23339bc661de1e5a68aed533cb62d125/contracts/scripts/setDisputeTemplate.ts) -> deploy contracts
- Test dispute: [troubleshoot this](https://dev--kleros-v2-testnet.netlify.app/#/cases/223/overview)
- Get the court link dynamically [like this in curate-v2](https://github.com/kleros/curate-v2/blob/4c472ac663c5e19714b3ec38563dd593a71a64c8/web/src/consts/index.ts#L25) instead [of this](https://github.com/kleros/escrow-v2/blob/bf2ebee134f59e2c332b4f4438a4584a513befa1/web/src/pages/MyTransactions/TransactionDetails/PreviewCardButtons/ViewCaseButton.tsx#L31)

Curate v2
[Merged the file upload file restrictions from Atlas](https://github.com/kleros/curate-v2/pull/69)

## Website
Added For Laywers,
Will do a call to review the gaps with the design
Then hadnover to BD for content

## Goldsky subgraph
One of the registries is not fully indexed

## Curate graph
[Failure with the last update](https://thegraph.com/studio/subgraph/legacy-curate-gnosis/logs), Golsky is fine with this code
![image](https://hackmd.io/_uploads/r1QQEsD_kl.png)


## 20250122

### Unichain test dispute
Not sure how to relay the tx, waiting for their response

### Escrow v2
Unit testing in progress

Danil will focus on the consolidated reality PR first, then escrow v2 testing.

### website v2
Progress ~80%
Remaining desktop styling

### Court v2
Improved appeals loading
Dispute ordering
[Answer ID PR in review](https://github.com/kleros/kleros-v2/pull/1839)
Jurors page in progress (Marino)

TODO JB: reply to Goldsky
TODO JB: add [this arbitrum script](https://github.com/kleros/cross-chain-realitio-proxy-arbitrum/blob/master/contracts/tasks/exec.js)



## 20250115

### Website v2
Build issue when using yarn berry
Aleix, Harmeet, Marino
Migration from Next 14 to 15
Demo during the call

### Escrow v2
Data mappings added
Will add tests
If cap not set, don't allow

### Court v2
Appeal tab loading
Figma resync
Identified an issue with answer IDs, fix in progress
TODO: improve the policy JSON format + court handling (summary first, shorter than description, headers included or not)

### PoH v2
TODO: add Madhur to the graph deployer safe

### Reality Unichain
Review by Danil
TODO: need to redeploy
Wait for reviews, then add to court whitelist + Reality

### V2 contracts
Re-review the Flushing feature: https://github.com/kleros/kleros-v2/pull/1653/
Review of the DK PRs (refactor, gating)

#### TODO before internal reviews
![image](https://hackmd.io/_uploads/Syct0GSD1g.png)
+ last interfaces tweaks
+ complex answer types


## 20250108

### Court v2
Cascader count in the court selection in the UI library, to be updated in the web package

Link to the dispute creation tx, vote tx, ruling enforcement tx

TODO JB: release to Master

TODO: expandable court statistics to be made non-expandable on desktop

TODO: test court jumping, see what court is displayed

LIFI route missing to gnosis because they removed Hop exchange!

**Subgraph incidents and subgraph-less contract changes?**
More trust-minimized, more reliable
Store onchain the last blocknumber for a particular entity, then follow a linked list to the previous entities.
- evidence
- draws
- token shifts
Ruled: 0 if not ruled, blocknumber if ruled

Incidents for v2: dec 24 long lag, endpoint unresponsive, had to be manually restarted

--> Try signaling the subgraphs to see if there's less incidents?
The Edge&Node BD team has already signaled 2k GRTs on Dec 31st...
![image](https://hackmd.io/_uploads/By4LGJnLkl.png)


Escrow v2
Improvements by Marino, merged


### Website
Many pages done


