-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* chore: update readme * chore: update bug bounty info
- Loading branch information
Lucas Manuel
authored
Oct 16, 2022
1 parent
4701e24
commit ba01041
Showing
1 changed file
with
21 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,58 +1,57 @@ | ||
# MapleProxyFactory | ||
# Maple Proxy Factory | ||
|
||
[![CircleCI](https://circleci.com/gh/maple-labs/maple-proxy-factory/tree/main.svg?style=svg)](https://circleci.com/gh/maple-labs/maple-proxy-factory/tree/main) [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) | ||
[![Forge CI](https://github.com/maple-labs/maple-proxy-factory/actions/workflows/forge.yaml/badge.svg)](https://circleci.com/gh/maple-labs/maple-proxy-factory/tree/main) [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) | ||
|
||
**DISCLAIMER: This code has NOT been externally audited and is actively being developed. Please do not use in production without taking the appropriate steps to ensure maximum security.** | ||
|
||
MapleProxyFactory is a Maple protocol specific implementation of ProxyFactory, a set of generic contracts developed by Maple Labs to be able to deploy proxies from a factory and manage multiple implementations in a centrally managed contract. | ||
`MapleProxyFactory` is a Maple protocol specific implementation of ProxyFactory, a set of generic contracts developed by Maple Labs to be able to deploy proxies from a factory and manage multiple implementations in a centrally managed contract. | ||
|
||
This contract has the following capabilities: | ||
1. Add implementation contracts, tying them to a version. | ||
2. Enable/disable upgrade paths between specific versions of implementations, preventing any unauthorized upgrade paths from being used. | ||
3. Specify specialized "migrator" contracts to be used for certain upgrade paths, to perform custom storage manipulation operations during a given upgrade. | ||
3. Deploy proxy contracts with a given implementation. | ||
4. Perform upgrades from one implementation to another for a given proxy. | ||
4. Deploy proxy contracts with a given implementation. | ||
5. Perform upgrades from one implementation to another for a given proxy. | ||
|
||
### Dependencies/Inheritance | ||
`MapleProxyFactory` inherits from the generic `ProxyFactory` contract which can be found [here](https://github.com/maple-labs/proxy-factory). | ||
|
||
## Testing and Development | ||
#### Setup | ||
This project was built using [Foundry](https://book.getfoundry.sh/). Refer to installation instructions [here](https://github.com/foundry-rs/foundry#installation). | ||
|
||
```sh | ||
git clone [email protected]:maple-labs/maple-proxy-factory.git | ||
cd maple-proxy-factory | ||
dapp update | ||
forge install | ||
``` | ||
#### Running Tests | ||
- To run all tests: `make test` (runs `./test.sh`) | ||
- To run a specific test function: `./test.sh -t <test_name>` (e.g., `./test.sh -t test_registerImplementation`) | ||
- To run tests with a specified number of fuzz runs: `./test.sh -r <runs>` (e.g., `./test.sh -t test_registerImplementation -r 10000`) | ||
## Running Tests | ||
|
||
This project was built using [dapptools](https://github.com/dapphub/dapptools). | ||
- To run all tests: `forge test` | ||
- To run specific tests: `forge test --match <test_name>` | ||
|
||
## Roles and Permissions | ||
- **Governor**: Controls all implementation-related logic in the MapleProxyFactory, allowing for new versions of proxies to be deployed from the same factory and upgrade paths between versions to be allowed. | ||
|
||
## Audit Reports | ||
| Auditor | Report link | | ||
| Auditor | Version | Report link | | ||
|---|---| | ||
| Trail of Bits | [ToB - Dec 28, 2021](https://docs.google.com/viewer?url=https://github.com/maple-labs/maple-core/files/7847684/Maple.Finance.-.Final.Report_v3.pdf) | | ||
| Code 4rena | [C4 - Jan 5, 2022](https://code4rena.com/reports/2021-12-maple/) | | ||
| Trail of Bits | v1.0.0 | [ToB - Dec 28, 2021](https://docs.google.com/viewer?url=https://github.com/maple-labs/maple-core/files/7847684/Maple.Finance.-.Final.Report_v3.pdf) | | ||
| Code 4rena | v1.0.0 | [C4 - Jan 5, 2022](https://code4rena.com/reports/2021-12-maple/) | | ||
|
||
## Bug Bounty | ||
## Bug Bounty (v1.0.0) | ||
|
||
For all information related to the ongoing bug bounty for these contracts run by [Immunefi](https://immunefi.com/), please visit this [site](https://immunefi.com/bounty/maple/). | ||
For all information related to the ongoing bug bounty for these contracts run by [Immunefi](https://immunefi.com/), please visit this [site](https://immunefi.com/bounty/maple/). | ||
|
||
| Severity of Finding | Payout | | ||
|---|---| | ||
| Critical | $50,000 | | ||
| High | $25,000 | | ||
| Medium | $1,000 | | ||
| High | $25,000 | | ||
| Medium | $1,000 | | ||
|
||
## About Maple | ||
[Maple Finance](https://maple.finance) is a decentralized corporate credit market. Maple provides capital to institutional borrowers through globally accessible fixed-income yield opportunities. | ||
|
||
For all technical documentation related to the currently deployed Maple protocol, please refer to the maple-core GitHub [wiki](https://github.com/maple-labs/maple-core/wiki). | ||
[Maple Finance](https://maple.finance/) is a decentralized corporate credit market. Maple provides capital to institutional borrowers through globally accessible fixed-income yield opportunities. | ||
|
||
For all technical documentation related to the Maple V2 protocol, please refer to the GitHub [wiki](https://github.com/maple-labs/maple-core-v2/wiki). | ||
|
||
--- | ||
|
||
|