-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: adds getting started guide for module devs and auditors
- Loading branch information
Showing
21 changed files
with
308 additions
and
134 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
--- | ||
sidebar_position: 2 | ||
--- | ||
|
||
# Basics | ||
|
||
## What is Account Abstraction? | ||
|
||
Imagine being able to use your crypto wallet account just as seamlessly as your traditional bank app account. This is the essence of Account Abstraction. Account Abstraction allows users to interact with accounts built on smart contracts seamlessly without the need to know how how wallet accounts are traditionally managed, which can be referred to as "Smart Accounts." | ||
|
||
To better understand Account Abstraction, let's first explore the two types of accounts commonly used: | ||
|
||
### Externally Owned Accounts (EOAs): | ||
|
||
EOAs are accounts controlled by a single private key. They are widely used in Ethereum, such as your MetaMask account. However, EOAs present a poor user experience as they require users to securely store private keys, which poses a risk. Losing private keys can result in permanent loss of access to funds stored in the account. | ||
|
||
### Smart Contract Accounts: | ||
|
||
Smart Contract Accounts are a type of cryptocurrency wallet that allows users to own an account in the form of smart contracts on the blockchain. These wallets have gained popularity due to their ability to automate complex processes and provide wallet recovery functionalities, enabling secure and seamless interaction with the blockchain. | ||
|
||
Smart Contract Wallets are the foundation of Account Abstraction, with a simple concept: "providing you with a crypto wallet that even a grandparent can use." How is this made possible? Account Abstraction allows your crypto wallet to be represented by a smart contract. Its goal is to offer crypto users features similar to those provided by traditional banking apps, including Wallet Recovery, Multi-Signature Transactions, Custom and 2FA authentication, Gasless or Sponsored Transactions, and other convenient features, all without the need for trust in custody. | ||
|
||
## Benefits of Account Abstraction: | ||
|
||
**🔒 Account Recovery**: Account Abstraction ensures that even if you lose access to your private keys, you can recover your wallet and regain control over your funds. | ||
|
||
**Batched transactions**: Capable of batching transactions together; e.g. approving a token transfer and transferring a token in the same operation, thus bringing down the overal transaction cost. | ||
|
||
**🔌 Modular Account:** Account Abstraction enables customizable features to be added to the account such as 2fa based transactions, session keys | ||
to allow third party authorization, auto payments etc. | ||
|
||
**⛽️ Gasless and Sponsored Transactions**: Account Abstraction simplifies transaction processes by eliminating the need for users to have native blockahin currency such as ETH to pay transaction fees. It allows transactions to be sponsored or paid by others, reducing barriers to entry. | ||
|
||
|
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
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
File renamed without changes.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
--- | ||
sidebar_position: 2 | ||
--- | ||
|
||
# Add Audit Attestations | ||
|
||
ZenGuard providers the security assurance for the modules via onchain audit attestations provided by the auditors. | ||
Auditors provide these audit attestations to the module via our dashboard which are embedded onchain on EAS and later used | ||
to verify when a Safe user enables them on them Safe Account. | ||
|
||
Auditors have to follow only few steps to attest the module. | ||
|
||
1. Verify their account on the Dashboard (https://dashboard.zenguard.xyz) | ||
2. Naviagate to the desired module and find their info - onchain deployment, code base, application etc. | ||
3. They can then can perform the audits. Once the audit is completed they can add the audit details as attestation for the partical module. | ||
|
||
The audit attesation follows the [ERC-7512](https://github.com/ethereum/ercs/blob/master/ERCS/erc-7512.md) standard. Here is a detailed post on how we leverage this ERC: https://7512.zenguard.xyz | ||
|
||
Once the module is attested the audit details will be available on ZenGuard Module [Marktetplace](https://explore.zenguard.xyz). | ||
|
||
Here is a quick demo of the module audit attestation flow. | ||
|
||
|
||
![ Audit Attestation ](./img/zen-audit.gif) |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
sidebar_position: 3 | ||
--- | ||
|
||
# Explore Modules | ||
|
||
Module explorer can be directly used as a Safe App. | ||
|
||
Head over to our [Marketplace](https://app.safe.global/share/safe-app?appUrl=https://explore.zenguard.xyz&chain=sep) | ||
|
||
Here are a few demos of using modules on ZenGuard directly on Safe Wallet. | ||
|
||
[![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/myIRwe1k3y8/0.jpg)](https://www.youtube.com/watch?v=myIRwe1k3y8) | ||
|
||
[![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/wN7K_cafzcc/0.jpg)](https://www.youtube.com/watch?v=wN7K_cafzcc) | ||
|
File renamed without changes
File renamed without changes
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,5 +2,6 @@ | |
sidebar_position: 4 | ||
--- | ||
|
||
# Account Recovery | ||
# Integrate Modules from ZenGuard | ||
|
||
Coming soon! |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# Publish Modules | ||
|
||
One of the key features of a secure and accessible module marketplace is providing a platform and tools for developers to build | ||
and publish the modules in a secure and convenient way. At ZenGuard we make sure to give this experience for developers through | ||
our module dashboard. | ||
|
||
Developers have to follow only few steps to get the module listed. | ||
|
||
1. Verify their account on the Dashboard (https://dashboard.zenguard.xyz) | ||
2. Develop and deploy the module using the [template](https://github.com/zenguardxyz/module-template) | ||
3. Publish the module using contract address or repo link at: https://dashboard.zenguard.xyz/#/publish | ||
|
||
That's it!. The module will be automatically listed on the ZenGuard Module [Marktetplace](https://explore.zenguard.xyz). | ||
|
||
Here is a quick demo of the module publishing flow. | ||
|
||
[![Publish Module](https://img.youtube.com/vi/CQspDgZsxAU/0.jpg)](https://www.youtube.com/watch?v=CQspDgZsxAU) | ||
|
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
docs.zenguard.xyz |
Binary file not shown.
Oops, something went wrong.