đź‘› Wallet Logic!

Description

For first timers:

If this is your first time at a hackathon or with your teammates, this blog post on organizing a hackathon team may be beneficial(https://tesla809.medium.com/draft-crash-course-how-to-organize-a-hackathon-team-29b221c23905). In our experience, a clear method of collaboration increases the chances of teams completing their projects, improves team efficiency, and reduces the time to completion.

TD;LR: Innovations in wallet design for better UX/UI, plus lower fees, will help onboard the next billion users. Because good UX/UI like is magic. It just works.

✨The Magic: Account Abstraction unlocks innovations in wallet design by bringing web2 UX/UI convenience to web3, so that self custody is much easier and decentralization increases.

🤫 The Secret: Account Abstraction allows organizations to create curated web3 experiences to create smooth onboarding. With AA, we can adapt accounts to business logic needs, instead of adapting business logic needs to accounts. 

🔍 The Deets: By treating smart contract accounts at the same level as Externally Owned Accounts (EOA), we can break free from the EOA’s hardcoded assumptions. Accounts are abstracted because now the implementation and the interface are decoupled, allowing for customizable accounts only limited by your imagination.

A great example of Account Abstraction can be found in Raise Finance’s Blog: https://raisefinance.medium.com/the-power-of-account-abstraction-technical-overview-of-the-raisepay-wallet-8e8c43dee64f

Dapp suggestions:

Think of your own idea! Optionally, you can pick one of a few of the hackathon idea suggestions as prompts to user stories via the following categories:

Improve security using Account Abstraction via one or more of these:

Improve onboarding using Account Abstraction and Paymasters via one or more of these:

Improve retention via one or more of these:

Acceptance criteria

First, the DApp MVP must work. Whatever is claimed to work, must work. If not, cut the feature.

  • Documentation should include**:**

    • a clear README.md with the following:

      • a clear short one-sentence description of your dapp. Aim for something simple like: “Easy social recovery via Telegram” or “Customizable long-term vaults on smart contract accounts to prevent thefts from hacking”.

      • short description of team and backgrounds.

      • a clear installation/execution process that works.

    • a clear Open Source License: MIT, GNU, Unlicensed or any standard open source license your team want.

    • a simple UML to describe how the contracts interact with each other.

    • a clear 2-4 minute video demo walking through the DApp.

    • Have a Project Description section: with a longer written description of what the project does.

    • How its made section: Describe how you made the project, mention any issues you ran into.

    • Please show a steady commit trail and thought process e.g. sketches, discussion, issues on how you arrived at the decision to incorporate this feature.

Code:

  • Your Solidity/Vyper code must use NatSpec.


  • Bonus points for:

    • Producing a tutorial we can use

    • scripts to automate installation with ease

    • an additional ~2-5 minute video talking about the code. Geek out and show us your skills.

    • Great UX/UI

    • a slide presentation in README.md

    • JSDocs comments for JavaScript or TypeScript code

    • A catchy name and logo

    • a clear Design Statement using the format: How might we improve (a problem in the domain)_____ for (user), so that (user-focused outcome)___?

    • For an example: https://tesla809.medium.com/draft-crash-course-how-to-organize-a-hackathon-team-29b221c23905

    • Having tests or fuzzing.

Rewards

Resources

https://www.argent.xyz/blog/wtf-is-account-abstraction/
https://www.argent.xyz/blog/wtf-is-account-abstraction/
https://archive.devcon.org/archive/watch/6/why-account-abstraction-is-a-game-changer-for-dapps/?tab=YouTube
https://archive.devcon.org/archive/watch/6/why-account-abstraction-is-a-game-changer-for-dapps/?tab=YouTube
https://v2-docs.zksync.io/api/js/getting-started.html#connecting-to-zksync
https://v2-docs.zksync.io/api/js/getting-started.html#connecting-to-zksync
https://v2-docs.zksync.io/dev/tutorials/custom-paymaster-tutorial.html#using-the-paymaster
https://v2-docs.zksync.io/dev/tutorials/custom-paymaster-tutorial.html#using-the-paymaster
https://v2-docs.zksync.io/api/tools/zksync-cli/#zksync-cli
https://v2-docs.zksync.io/api/tools/zksync-cli/#zksync-cli
https://v2-docs.zksync.io/dev/tutorials/custom-aa-tutorial.html#account-abstraction-2
https://v2-docs.zksync.io/dev/tutorials/custom-aa-tutorial.html#account-abstraction-2
https://raisefinance.medium.com/the-power-of-account-abstraction-technical-overview-of-the-raisepay-wallet-8e8c43dee64f
https://raisefinance.medium.com/the-power-of-account-abstraction-technical-overview-of-the-raisepay-wallet-8e8c43dee64f
https://twitter.com/SalomonCrypto/status/1612587312638234626
https://twitter.com/SalomonCrypto/status/1612587312638234626
https://docs.zksync.io/userdocs/intro/#introduction
https://docs.zksync.io/userdocs/intro/#introduction
https://v2-docs.zksync.io/dev/tutorials/
https://v2-docs.zksync.io/dev/tutorials/
https://matterlabs.notion.site/Write-for-us-d4d32d435f0a4137a1d2b7141ad1f609
https://matterlabs.notion.site/Write-for-us-d4d32d435f0a4137a1d2b7141ad1f609