Open greenlucid opened 1 month ago
Thanks for the report!
Do I understand correctly that we need to wait for https://github.com/kleros/zk-cross-chain-realitio-proxy/pull/30 and then all is good?
Personally, I wouldn't be updating policies too much at the moment, as it requires changes between Olas, Gnosis, and Presagio and introduces even more variety into the resolution process. (Everyone is free to create markets with any arbitrator in place, feels like we should have some way on frontend to let users know what they are betting on, right now it's hard to get to it.)
dynamicScript
and evidenceDisplayURI
is published over IPFS.Also, it's not like the current Arbitrator is completely broken, just that most RPCs don't allow it to load, or do so unreliably, so maybe this is not a priority.
Only the last step concerns this repo, except maybe step 2.
So, to continue with @greenlucid 's message:
Due to the way the dynamic script and the evidence display was setup, it cannot load the template needed. This is because the templates were logged long ago, and the script doesn't fetch the template logs efficiently, so Gnosis Chain RPCs eventually fail at returning the data.
Here's an old dispute that used to load, but doesn't load anymore.
This is the fix PR that hardcoded the template data for templates 0, 1, 2, 3 and 4, since they're part of the reality spec.
MetaEvidence is immutable, so this arbitrator proxy will always be unusable since patching the scripts is not possible. They also cannot be modified by a governor. In Seer's instance, they were redeployed since it was spotted before launch:
Home Arbitrator: https://gnosisscan.io/address/0x68154ea682f95bf582b80dd6453fa401737491dc Foreign Proxy: https://etherscan.io/address/0xFe0eb5fC686f929Eb26D541D75Bb59F816c0Aa68
This is the test tx that created a dispute in Kleros with the new patched evidence display and dynamic script, showing it worked: https://etherscan.io/tx/0x91a369d41b919f9d338745a256b2b63dec9dd25d65d8fa71559b077e7ed43879
And this is the resultant dispute which loads properly.
The reason this is relevant, is that, as a workaround, it might sound like Seer new proxy could be setup as Omen's new proxy as well. It will also use 31 jurors in General Court. But, two considerations make this not possible:
As of now, all Omen questions use
template_id == 2
, so they would be compatible with this strategy. But, if in the future new templates want to be used, that would break the proxy.This allows jurors to vote
ANSWERED_TOO_SOON
, an answer that neither Omen neither Reality v2.1 are supposed to handle. Due to how this interacts with the policy, it just so happens that the previous policy would always ask the jurors to vote Invalid if the result is not known by the date the question was first answered. But, instead of handling it as anINVALID
answer, theRealityProxy
in use will revert and refuse to rule if the answer isuint(-2)
.The way to fix this would be: