Privacy-enabled and Web2 Authenticated smart wallets for access to any Web3 dApp.
- Verify that your Node.js version is >= 18.12.0.
- Clone this repository.
- Make sure you configure the
provider
insrc/exconfig.json
to theGoerli
network. - Edit the
bundler
URL pointing toGoerli
network and accepting EntryPoint=0x0576a174D229E3cFA37253523E645A78A0C91B57
- Run
yarn install
to install the dependencies. - Run
yarn start
- Load your extension in Chrome by following these steps:
- Go to
chrome://extensions/
- Enable
Developer mode
- Click on
Load unpacked extension
- Select the
build
folder.
- Go to
- Happy hacking.
- Make sure EntryPoint is deployed on the target network.
- Edit the
entryPointAddress
insrc/exconfig.json
. - Add your network details in
hardhat.condig.ts
. - Deploy the factory using
INFURA_ID=<required> npx hardhat deploy --network <network>
. - Edit the
factory_address
insrc/exconfig.json
- Edit the
bundler
url insrc/exconfig.json
that points to your network and accepts requests for your EntryPoint. - Run
yarn start
- Run a local hardhat node with
npx hardhat node
or use the node inside the bundler repo. - Deploy EntryPoint from the infinitism repo, you can find the instructions below.
- Edit the
entryPointAddress
insrc/exconfig.json
. - Deploy the factory using
npx hardhat deploy --network localhost
. - Edit the
factory_address
insrc/exconfig.json
- Start a local bunder from the infinitism repo at port
9000
, you can find the instructions below. - Edit the
bundler
tohttp://localhost:9000/rpc
url insrc/exconfig.json
that points to your network and accepts requests for your EntryPoint. - Run
yarn start
- Clone the repo https://github.com/eth-infinitism/account-abstraction
- Run
yarn install
to install the dependencies. - Deploy EntryPoint with
DEBUG=true MNEMONIC_FILE=<path-to-mnemonic-file> yarn deploy --network dev
- Clone the repo https://github.com/eth-infinitism/bundler
- Run
yarn install
to install the dependencies. - Run
yarn preprocess
to compile all the local dependencies. - Edit
bundler.config.json
atpackages/bundler/localconfig
: a. Editnetwork
to your local hardhat node b. Edit theentryPoint
address that you got while deploying it using instructions above. c. Change port to9000
. d. Make sure your mnemonic & beneficiary are setup correctly. - Run the bunder using
yarn bundler --unsafe --port 9000 --auto
Config of the extension can be set in excnfig.json
file.
{
// Enable or disable password for the user.
"enablePasswordEncryption": true,
// Show default transaction screen
"showTransactionConfirmationScreen": true,
// Network that your SCW supports. Currently this app only supports a single network, we will soon have support for multiple networks in future
"network": {
"chainID": "5",
"family": "EVM",
"name": "Goerli",
"provider": "https://goerli.infura.io/v3/bdabe9d2f9244005af0f566398e648da",
"entryPointAddress": "0x0F46c65C17AA6b4102046935F33301f0510B163A",
"bundler": "https://app.stackup.sh/api/v1/bundler/96771b1b09e802669c33a3fc50f517f0f514a40da6448e24640ecfd83263d336",
"baseAsset": {
"symbol": "ETH",
"name": "ETH",
"decimals": 18,
"image": "https://ethereum.org/static/6b935ac0e6194247347855dc3d328e83/6ed5f/eth-diamond-black.webp"
}
}
}
This repository is based on the boilerplate code found at plusminushalf/trampoline-example go there for more details.