Closed palango closed 3 months ago
Hard to predict and assess progress, reactive work commit by commit.
@palango can you provide a status update? how much is left to do?
@palango can you provide a status update? how much is left to do?
Some things that we did recently were:
op-bindings
, it was creating a lot of overhead for smart contract development with having to autogenerate the bindings and commit them in, diff for smart contract code was too high. We are better about doing specific contracts releases (necessary for upgrades with governance) so services that interact with contracts are responsible for managing their bindings themselves. This is an example on how to autogenerate bindingsOne question for you, do you use the devnet? Trying to figure out what to do with it, some of our devs use it for local development. I don't think it needs to run in CI on every PR, I think it could run hourly and be fine
Thanks for the input here @tynes.
I worked on the rebase and agree that the changes you mention will make maintenance easier in the future (but cause some work now). Moving the bindings to the places where they are used makes a lot of sense and the whole genesis creation in foundry scripts seems both easier and cleaner. Great work! The removal of typescript didn't touch our changes so far, but great to know about it early.
Regarding the devnet: Our current plan is to extend it to allow testing of the migration process which will be quite useful. Do you intent to stop maintaining it or are you more interested in our use cases?
We don't intend to stop maintaining the devnet but we are working on a plan for how to make it maintainable long term. It has a lot of tech debt at this point with all of the various flags (use fault proofs, use plasma, use custom gas token) and its not super cohesive. We need it for application developers so that they can easily test cross chain applications. At some point, we will update it to support 2 L2s to app devs to build interop applications, see https://github.com/ethereum-optimism/optimism/issues/10608. We did all of our migration testing for the migration in the cloud using ansible because it enabled us to use disk snapshots for faster feedback and also allowed us to develop the tooling we used in prod
Regarding the L2 genesis, I'd like to get to a point where we could do releases of a JSON file that represents a release of the L2 genesis allocs and its the same for all chains. I was thinking that other chains could decorate that standard release of the L2 genesis allocs. Not sure timeline wise when we can get to this because it requires https://github.com/ethereum-optimism/specs/pull/194
@palango how close to completion is the remaining work now?
It's mostly blocked on https://github.com/celo-org/op-geth/issues/136 and then we need to cherry pick some remaining commits.
We need to rebase (at least that's what we have been doing in the past) our changes on top of the latest upstream changes.
While doing so, I found big changes to contract deployment. This work was mostly done in https://github.com/ethereum-optimism/optimism/pull/10106 and follow-ups.