RealityETH / subjectivocracy

Design and code prototypes for a system of forking oracle-enshrined L2 ledgers
26 stars 3 forks source link

Made forkable reality.eth inherit from @reality.eth/contracts and fork using ForkableStructure #236

Closed edmundedgar closed 6 months ago

edmundedgar commented 6 months ago

This works in combination with https://github.com/RealityETH/reality-eth-monorepo/pull/147 ...which is published to npm as @reality.eth/contracts@4.0.0-rc.5

Has tests for the forkable reality.eth. If the general structure looks OK I'll add tests for L1ForkArbitrator.

edmundedgar commented 6 months ago

why can't we initiate the fork and then disable the forkable realityETH immediatley? Then after the fork me migrate all tokens to the realityETh and add additional time to each question

OK, I broke the fork handling into 2 steps so the freeze happens first, then you can call the rest after forking. So now it's designed so that:

This isn't yet implemented in ForkingManager, the tests are just pretending to be that contract with an EOA.

We might want to combine createChildren and handleExecuteFork to reduce the number of possible states we have to think about where X and Y are done but Z isn't, but for now I've left them separate in case there are gas concerns or something.