Skip to content

A decentralised application (dApp) that allows end users to manage a multisig smart contract wallet that authorises transactions from it.

Notifications You must be signed in to change notification settings

adenteo/cowallet

Repository files navigation

CoWallet Installation

This guide will walk you through the process of cloning the CoWallet repository and installing the required Node modules using npm.

Prerequisites

Before proceeding, make sure you have the following prerequisites installed on your system:

  • Git
  • Node.js (which includes npm)(Tested and working version: v18.16.0)

Clone the Repository

To clone the repository to your local machine, follow these steps:

  1. Open your terminal or command prompt.
  2. Navigate to the directory where you want to clone the repository.
  3. Run the following command to clone the repository: gh repo clone Algo-Foundry/multisig-adenteo. Alternatively, you can download the folder as a .zip and extract it to your desired location.

Install Required Node Modules

To install the required Node modules for the project, use npm. Follow these steps:

  1. Open your terminal or command prompt.
  2. Navigate to the repository's directory. Use the cd command to change directories.
  3. Run the following command to install the Node modules specified in the project's package.json file: npm install
  4. Wait for the installation process to complete. npm will download and install all the required dependencies.

Set-up environment variables

  1. Rename .env.local.example to .env.local to specify the networks of your local Algorand Nodes.

Installation

Once you have successfully cloned the repository and installed the required Node modules, you are ready to view the CoWallet application!

Use npm run dev to launch the application on your local machine. In order to use the features, please refer to the user guide.

If you encounter any issues or have questions, please refer to the repository's documentation or seek assistance from the project maintainers.

Smart Contract Wallet User Guide

This user guide provides step-by-step instructions for creating a smart contract wallet, performing various transactions such as sending Algos and Algorand Standard Assets (ASAs), opting into ASAs, receiving Algos and ASAs, signing transactions, and executing transactions.

Prerequisites

Before you begin, ensure that you have the following prerequisites:

  • An Algorand blockchain node or access to a supported Algorand wallet.
  • A basic understanding of Algorand's transaction types, account structures, and Algorand Standard Assets (ASAs).

Connecting a provider

To start using Cowallet, follow these steps:

Home Screen

  1. Click "Connect" and select from a list of providers to connect to CoWallet.

  2. Once connected, you will be able to create or load a CoWallet.

Creating a CoWallet

To create a CoWallet, follow these steps:

  1. Click on "Create CoWallet" and fill in the neccessary details for your smart contract wallet. The default version should be 1 and the max number of CoWallet owners is currently set to 10.

Create Wallet Screen

  1. Once you click on Confirm Details go ahead and confirm the details and proceed to create your CoWallet. You will be prompted to sign two transactions, one for initialising the smart contract, and another for funding your CoWallet.

Confirm Create Wallet Screen

  1. Once you have successfully signed both transactions, you will be redirected to your CoWallet dashboard, where you can access multiple other features.

CoWallet Screen

Creating Transactions

Receiving Algos

To receive Algos or ASAs from your smart contract wallet, follow these steps:

  1. Click Receive on your CoWallet dashboard. You will see a pop-up with your CoWallet QR code as well as its public address. Use this address when receiving Algos or ASAs from others.

Receive Screen

Sending Algos

To send Algos from your smart contract wallet, follow these steps:

  1. Click Send on your CoWallet dashboard. You will see a pop-up allowing you to choose your desired transaction type.

Choose Txn Screen

  1. Once you have chose your transaction type, fill in the necessary details and click on Create Transaction. You will be prompted to confirm the details.

Confirm Txn Screen

  1. Click on Submit to create your pending transaction. Once submitted, you should see it appear on your dashboard. Click on the dropdown button to view the details of the pending transactions.

Show Txn Screen

Signing Transactions

To sign transactions from your CoWallet, follow these steps:

  1. Click on Sign Transaction in the dropdown view of the pending transaction. You will be prompted to sign the transaction with your connected account. If you are not opted-in to the CoWallet, an opt-in transaction will automatically be added to the atomic transaction you are signing.

Show Sign Txn Screen

  1. Once signed, you should be able to see a success notification as well as the updated status of your pending transaction.

Show Signed Txn Screen

Executing Transactions

To execute transactions from your CoWallet, follow these steps:

  1. One the signing threshold of the pending transaction has been met, you will be able to execute the transaction, provided that you are an owner of the CoWallet.

Show Ready to Execute Txn Screen

  1. Click on Execute Transaction to submit the pending transaction to the network. You will be prompted to sign the submit transaction.

  2. Once submitted, you will be able to see a success notification as shown.

Executed Txn Screen

Conclusion

By following the instructions in this user guide, you can create a smart contract wallet, perform various transactions including sending Algos and ASAs, opt into ASAs, receive Algos and ASAs, sign transactions, and execute transactions. Remember to understand the implications and costs associated with each transaction type before proceeding.

About

A decentralised application (dApp) that allows end users to manage a multisig smart contract wallet that authorises transactions from it.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published