Solidity smart contract for a multi-signature wallet to be implemented on the Ethereum blockchain. The contract allows multiple owners to collectively manage funds stored in the wallet, requiring a configurable number of confirmations from the owners to execute transactions.
- Multi-signature functionality: Multiple owners can control the wallet.
- Configurable confirmations: Number of confirmations required to execute a transaction is customizable.
- Secure transactions: Transactions require confirmation from multiple owners to be executed.
- Event logging: Events are emitted for deposit, transaction submission, confirmation, execution, and confirmation revocation.
- After auditing, Deploy the smart contract to the Ethereum blockchain.
- Configure the initial set of owners and the required number of confirmations during contract deployment.
- Owners can submit transactions using the
submitTransaction
function. - Other owners can confirm the transactions using the
confirmTransaction
function. - Once the required number of confirmations is reached, an owner can execute the transaction using the
executeTransaction
function. - Owners can also revoke their confirmation on a pending transaction using the
revokeConfirmation
function. - Check the balance of the wallet using the
getBalance
function.
Clone this repository:
git clone https://github.com/HemaDeviU/multi-signature-wallet.git
$ forge test
$ forge snapshot