Skip to content
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

docs: rework AA page without live demo #443

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,6 @@

In this example, we will show how wBTC can be used for gas fee payment using the [ERC-4337 account abstraction standard](https://eips.ethereum.org/EIPS/eip-4337) on BOB Sepolia (Testnet). This enables users to use smart contract wallets and transact without the need to own ETH.

:::tip Live Demo

Check out the live demo at [demo-account-abstraction.gobob.xyz](https://demo-account-abstraction.gobob.xyz/).

:::

:::info Example Code

Check out the code of the demo in [this repository](https://github.com/bob-collective/demo-account-abstraction-transfer/).
Expand All @@ -16,7 +10,7 @@ Check out the code of the demo in [this repository](https://github.com/bob-colle

## Smart Contract wallets

This demo showcases wBTC transfer from the smart contract wallet. Smart contract wallets utilize smart contracts rather than single private keys found in Externally Owned Address (EOA) wallets. The programmable nature of smart contract wallets allows for diverse use cases. Unlike EOAs, smart contract wallets can contain logic but rely on EOAs to sign the user operations. Therefore, integration of the smart contract wallet into UI adds an additional complexity - users need to distinguish between the signer (EAO) and the account that holds assets (smart contract wallet).
This demo showcases wBTC transfer from the smart contract wallet. Smart contract wallets utilize smart contracts rather than single private keys found in Externally Owned Address (EOA) wallets. The programmable nature of smart contract wallets allows for diverse use cases. Unlike EOAs, smart contract wallets can contain logic but rely on EOAs to sign the user operations. Therefore, integration of the smart contract wallet into UI adds an additional complexity - users need to distinguish between the signer (EOA) and the account that holds assets (smart contract wallet).

![preview](preview.png)

Expand All @@ -34,17 +28,17 @@ Before the first user operation can be made, the paymaster smart contract has to

#### Connecting MetaMask and funding your account

1. Go to [demo-acccount-abstraction.gobob.xyz](https://demo-account-abstraction.gobob.xyz/)
2. Fund your account with Sepolia ETH from the [Sepolia testnet faucet](https://faucetlink.to/sepolia).
3. Transfer Sepolia ETH to BOB Sepolia (Testnet) using [our Bridge](https://app.gobob.xyz/).
4. Connect with your MetaMask account and get wBTC by clicking on the 'Get Tokens' button in the application header. (You will receive 30,000 wBTC that you can spend.)
5. Add wBTC to your MetaMask, wBTC address is `0x2868d708e442A6a940670d26100036d426F1e16b`
6. Transfer wBTC to the smart contract account via MetaMask (displayed above the amount field in the form).
1. Clone [the repo](https://github.com/bob-collective/demo-account-abstraction-transfer/) and [start the front-end locally](#local-development).
1. Fund your account with Sepolia ETH from the [Sepolia testnet faucet](https://faucetlink.to/sepolia).
1. Transfer Sepolia ETH to BOB Testnet using [Superbridge](https://puff-bob-jznbxtoq7h.testnets.rollbridge.app/).
1. Connect with your MetaMask account and get wBTC by clicking on the `Get Tokens` button in the application header. (You will receive 30,000 wBTC that you can spend.)
1. Add wBTC to your MetaMask, wBTC address is `0x2868d708e442A6a940670d26100036d426F1e16b`.
1. Transfer wBTC to the smart contract account via MetaMask (displayed above the amount field in the form).

#### Making a transfer

1. Input the amount you wish to send and the recipient's address into the form fields.
2. Click on 'Transfer'. This will require three interactions with MetaMask: first one will deposit small amount of ETH to the entry point contract so that you can sign the user operation that allows the paymaster contract to spend your wBTC. Then you will sign the approval user operation. Finally, you will sign the transfer user operation.
1. Input the amount you wish to send and the recipient`s address into the form fields.
2. Click on `Transfer`. This will require three interactions with MetaMask: first one will deposit small amount of ETH to the entry point contract so that you can sign the user operation that allows the paymaster contract to spend your wBTC. Then you will sign the approval user operation. Finally, you will sign the transfer user operation.
3. Wait for the transfer user operation to be executed.

## Limitations
Expand Down
Loading