https://github.com/cloudwalk/brlc-multisig
This repository contains multisig wallet implementation.
https://github.com/cloudwalk/brlc-multisig
Last synced: 10 months ago
JSON representation
This repository contains multisig wallet implementation.
- Host: GitHub
- URL: https://github.com/cloudwalk/brlc-multisig
- Owner: cloudwalk
- License: mit
- Created: 2022-09-26T14:00:55.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-04T17:40:56.000Z (over 1 year ago)
- Last Synced: 2024-12-04T18:38:46.707Z (over 1 year ago)
- Language: TypeScript
- Size: 1.64 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Multi-signature Wallet
[](https://codecov.io/github/cloudwalk/brlc-multisig)
[](https://opensource.org/licenses/MIT)


The purpose of multi-signature wallets is to increase security by requiring multiple parties to agree on transactions before execution. Transactions can be executed only when confirmed by a predefined number of owners. The project provides two implementations:
- A standard non-upgradeable implementation (`MultiSigWallet.sol`)
- An upgradeable implementation (`MultiSigWalletUpgradeable.sol`) using the UUPS pattern
Key features:
- Configurable number of required approvals
- Transaction expiration time
- Comprehensive security measures
## Documentation
Functional requirements are described in the [documentation](docs/documentation.md).
Technical requirements are described in the NatSpec comments in the code.
## Security audit
Smart contracts are [audited](https://github.com/mixbytes/audits_public) by [MixBytes](https://mixbytes.io):
- [MD Report](https://github.com/mixbytes/audits_public/blob/master/CloudWalk/README.md)
- [PDF Report](https://github.com/mixbytes/audits_public/blob/master/CloudWalk/CloudWalk%20Multisig%20Wallet%20Audit%20Report.pdf)
- [PDF Report (local copy)](CloudWalk%20Multisig%20Wallet%20Audit%20Report.pdf)
NOTE: There have been some changes in the contracts since the last audit, but they are not related to the main logic.
## Project Setup
1. Clone the repo.
2. Create the `.env` file based on the `.env.example` one:
* Windows:
```sh
copy .env.example .env
```
* MacOS/Linux:
```sh
cp .env.example .env
```
3. Update settings in the newly created `.env` file if needed (e.g. another solidity version, number of optimization runs, private keys (PK) for networks, network RPC URLs, etc.).
## Build and test
```sh
# Install all dependencies
npm install
# Compile all contracts
npx hardhat compile
# Run all tests
npx hardhat test
```
## Licensing
This project is released under the MIT License, see [LICENSE](./LICENSE).