-
-
Notifications
You must be signed in to change notification settings - Fork 775
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
zkSync updates part 3 #7356
Merged
thelostone-mc
merged 8 commits into
gitcoinco:round-7-integration
from
ScopeLift:zksync-updates-part-3
Sep 13, 2020
Merged
zkSync updates part 3 #7356
thelostone-mc
merged 8 commits into
gitcoinco:round-7-integration
from
ScopeLift:zksync-updates-part-3
Sep 13, 2020
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mds1
requested review from
danlipert,
frankchen07,
octavioamu,
PixelantDesign and
thelostone-mc
as code owners
September 11, 2020 13:44
Codecov Report
@@ Coverage Diff @@
## round-7-integration #7356 +/- ##
====================================================
Coverage 26.33% 26.33%
====================================================
Files 306 306
Lines 30290 30311 +21
Branches 4471 4476 +5
====================================================
+ Hits 7977 7983 +6
- Misses 22043 22058 +15
Partials 270 270
Continue to review full report at Codecov.
|
…ync to 100 contributions
mds1
force-pushed
the
zksync-updates-part-3
branch
from
September 11, 2020 16:28
42b7a9e
to
49c77de
Compare
apbendi
reviewed
Sep 11, 2020
thelostone-mc
approved these changes
Sep 13, 2020
thelostone-mc
added a commit
that referenced
this pull request
Sep 14, 2020
* Add zkSync Checkout (#7314) * Integrate minimal working ETH-only zkSync checkout * Refactor L1 checkout a bit to enable more code re-use with zkSync * Adds full working checkout flow using localstorage, supports ERC20 + ETH * Improve checkout UX by adding modal whehn using zkSync * Warn user before closing or reloading if they started zkSync checkout * Switch to deterministic from ephemeral wallet, fix allowance bug Allowance bug info: If user already had sufficient allowance, tokens were not transferred * Pull out logic into functions to facilitate re-sending on interrupted deposits * zkSync checkout now POSTs to database and shows success message on completion * Handle zkSync checkout interruptions * Fix ESLint errors, add some try/catch blocks * Fix bug in tx validator that prevented testing on rinkeby Also some prep and cleanup for tx validator update * Update tx validator to handle zkSync transfers * Tweak: Show metamask popup on zkSync checkout prompts * Only allow zkSync modal to be closed with a button to prevent accidental closures when checking out * zkSync checkout can now be resumed if interrupted Adds endpoint to look for dropped and replaced transactions to help with this * Various UI/UX updates based on Figma mockups - Update tx processing section of zkSync checkout modal - Update grant detauls page to show Etherscan and zkScan links - Add note about supported L2 account types on new grant page * Update address of batch deposit contract * Reduce gas by only using batch deposit contract when necessary, regular zkSync contract otherwise * Now throws error if user tries to use zkSync checkout with unsupported token * add list view for grants and migrate to vue (#7336) * add list view for grants and migrate to vue * hide idle grants by default * Add contributions on grants * add my grants * Minor fix * Implement follow in vuejs * remove duplicated ids Co-authored-by: Aditya Anand M C <[email protected]> * fixes #7223 * zkSync updates part 2 (#7348) * Checks and validates cart amounts to ensure they are packable * Add support for additional deposits. After donations are complete, all leftover balances are sent to user's web3 address * Update appearance of zkSync modal to match new designs * Add additional checkout flow to support users who already have a zkSync balance * Update detail.js Co-authored-by: Aditya Anand M C <[email protected]> * updated dates, just in case we got it wrong with db migration * round up fixes * fix for the anonymous user issue * fix up clr info on cards * show contribution button only if user has logged in * update icon * hide browse grants button * rounding issue * reload page on switch type/category * fix grants without round * fix favorite * fix component initialization * eslint fix * fix grant activity * sloppy fix * a few fixes * add pagination * readd stuff * switch btwn rinkeby+mainnet &show sybil info * Fix my grants and add team members (#7354) * Grants Round 7 Trust Bonus Improvements (#7353) * Show SMS on trust bonus page w/ conditional verify button or status * Add placeholder for twitter verification & handle SMS verification via cart link * Conditionally show Trust Bonus banner in cart * Include link in cart trust bonus button + bonus screen touchups * Increase the size of the BrightID QR Code * Fix linting indentation error * fix for loading sidecart * debounce search * remove already loaded scripts * move filter "my grants" * zkSync updates part 3 (#7356) * Update tx validator to support zkSync transfers when user already has funds on L2 * Add loading screen to zkSync modal * Improve gas estimates, recommend checkout approach to user, limit zkSync to 100 contributions * Change zkSync fees to be additive, show which tokens in cart don't support zkSync * Fix so all zksync gas limit estimtes are strings * Bug fixes to cart and tx validator * Update cart copy and add zkSync details to GRANTS.md * Update GRANTS.md * adds grant funding info; per lefteris feedback * adds grant funding info; per lefteris feedback * fix for sms verification * ads trust tab coming soon stuff * stopgap for #7131 (comment) * new grants header * zkSync bug fixes (#7368) * Fix zkScan URLs * Ensure default network is mainnet * Impove how tokens are fetched, close zksync modal on 'insufficient balance' errors * Bug fix: prevents users from checking out when donation amounts + fees exceed their L1 wallet balance * matic banner * round 7 integration; adds brightid events to calenndar * udpates img * styles for banners and grid fixes * Additional cart improvements (#7374) * Add gas estimation for approval txs * Fixes for Argent and BN, CSS tweak for mobile * helper script to re-add team members that were removed by #7319 * updates grant scripts * adds learn more link * adds brightID info to sybilscore * iexact Co-authored-by: Matt <[email protected]> Co-authored-by: Miguel Angel Gordián <[email protected]> Co-authored-by: owocki <[email protected]> Co-authored-by: octavioamu <[email protected]> Co-authored-by: Ben DiFrancesco <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Final set of zkSync changes. This has been rebased against the integration branch, though I have not yet tested it here
Changes
zkSync fees are now additive, instead of subtracting fees from the contribution amount. Subtractive approach caused errors when fee was greater than transfer amount (this was a common situation, where user donates $1, so $0.05 cents go to Gitcoin, and fee for that $0.05 cent transfer is $0.10). Note — we are very conservative on fee estimates here, as explained here
Gas estimates and user recommendations about which checkout approach to use are implemented. We can improve estimates as the round goes on.
Transaction validator now covers all cases.
Testing
Here are the main flows that should be tested. For each case, we also need to make sure the transaction validator works as expected.