gitcoinco / web

Grow Open Source
https://gitcoin.co
Other
1.78k stars 771 forks source link

ensure zkSync checkout works with v2 #10825

Open nfrgosselin opened 1 year ago

nfrgosselin commented 1 year ago

User Story:

This ticket has 2 goals :

Disabling zksync checkout during merge

For Product @lthrift Currently, we have a toggle switch that would have to be set to true and the zkync option gets grey-ed out with a message saying this service is not available We just have to update this : https://gitcoin.co/_administrationperftools/staticjsonenv/5/change/

Once product tests this out on staging, a follow up ticket with messaging can be made

Migrating to zksync v2

This would involve exploring and migrating our zksync integration to v2 so that we can avoid downtime of any kind. More context on how to go about this is documented here: https://github.com/gitcoinco/web/issues/10825#issuecomment-1246252968

Even if we do the v2 migration -> me and @kevinrolsen recommend :

Notes/Assumptions: From Matter Labs: Ciao guys, we wanted to give you an advance notice that around the time of the Merge, we will be suspending L2 operations for zkSync V1. This is to minimize any potential risks. A full communication with more details will follow but we wanted to give you a heads up. https://twitter.com/zksync/status/1567133179764686848?s=20&t=2eHURVxx7miOqPYqluB15A

lthrift commented 1 year ago

For this one, we also need to have a status page that goes up and pauses contributions until the merge is complete.

thelostone-mc commented 1 year ago

Dropping a summary of the discussion with @vacekj to add more context

Just dropping a summary of the checkout cause I'll be signing off in a bit and don't want to be the blocker for this 😛

the zksync piece can be found while checking out at : https://gitcoin.co/grants/cart

That widget is what we'd be looking to upgrade and my assumption is that we'd use https://portal.zksync.io/ (not sure though. i think we just have to do a version bump)

The code for checkout: https://github.com/gitcoinco/web/blob/master/app/assets/v2/js/cart.js

zksync init: https://github.com/gitcoinco/web/blob/master/app/assets/v2/js/cart-ethereum-zksync.js#L192

the script which we'd have to update: https://github.com/gitcoinco/web/blob/master/app/grants/templates/grants/cart-vue.html#L275

thelostone-mc commented 1 year ago

@lthrift I've updated the context of the ticket with additional steps on how we should tackle this

vacekj commented 1 year ago

Notes from further discussion with @thelostone-mc ~

Feel free to edit with any points I missed

kevinrolsen commented 1 year ago

@lthrift @GTChase for this one to move forward I think this will require some design input. Please see @vacekj comment above ☝

thelostone-mc commented 1 year ago

This is not ready yet btw so I would deprioritize this. Additionally are we looking to add another checkout option ? This is a new feature as we are adding another checkout method in eth.

@lthrift @GTChase

GTChase commented 1 year ago

@lthrift - i will let you make the final prioritization call here..

My .02 is that deprioritizing makes the most sense since the round is over and users shouldnt be checking out right now. Also, the rest of the solution seems to be implementing ZKsynch v2, which seems to have a few blocking questions and it seems to be something that doesnt need to be ready for another couple of months.

vacekj commented 1 year ago

This can be safely closed as we won't be integrating zkSync v2 into the legacy platform.