You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+50-10Lines changed: 50 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,54 @@
1
-
# Contributing
2
-
3
-
We use Github issues for tracking new features, bug fixes, and enhancements related to the Aave Interface. We are currently working on a UI/UX Integrations framework for integrating third-party services and entities within the Aave Interface. Please stay tuned for new information around this.
4
-
5
-
## Pre-Requisites
1
+
# Objective of the Aave Interface
2
+
3
+
The website-hosted user interface at app.aave.com (the “Interface”) is provided by the Aave Companies, a group of software development companies that build open source, blockchain-based software. The Interface is hosted on the Interplanetary File System (“IPFS”), is open source and provides information to users regarding the (a) the Aave Protocol, a decentralized, non-custodial liquidity protocol on the Ethereum blockchain that allows users to supply or borrow cryptoassets and earn interest on supplied assets (the “Aave Protocol”); (b) the Aave Safety Module, the primary mechanism for securing the Aave Protocol (the “Aave Safety Module”); and (c) Aave Governance, the mechanism through which AAVE token holders collectively discuss, propose, and vote on upgrades to the Aave Protocol (“Aave Governance”).
4
+
5
+
The Interface serves as an informational gateway, which allows users to:
6
+
- Monitor their positions on the Aave Protocol;
7
+
- Monitor their positions on the Aave Safety Module; and
8
+
- Monitor and coordinate participation in Aave Governance.
9
+
10
+
Given the nature of decentralized blockchain technology, the Aave Prococol can either be accessed though the Interface, directly through smart contracts, or through third party protocol integrators. The Interface is a public good, along with the hundreds of other, unaffiliated on-ramps into the Aave Protocol. Our aim, in the interest of decentralization, is transparency and contributions from all community members only enhance the Aave Protocol ecosystem. This document and the below guidelines will constantly evolve – including with input from the community – but will endeavor to provide you with information about navigating the Interface smoothly.
11
+
12
+
# Aave Team Responsibilities on the Aave Interface
13
+
The Aave team has certain responsibilities with respect to the Aave Interface. This includes the following:
14
+
- Review all PRs that get created on any repositories that fall under Aave Interface;
15
+
- aave/interface
16
+
- aave/aave-utilities
17
+
- Determine the roadmap of features that will be included on the Aave Interface; and
18
+
- Maintaining the security, usability, and style of the codebase, including any integrations with third party services
19
+
20
+
# Reporting New Features, Improvements & Bugs
21
+
The “Issues List” in GitHub keeps track of all work on the Interface. If you would like to report a bug or an improvement to the Interface, please use the existing templates after making sure that the discovered bug doesn’t already exist. To report a new issue, follow these steps:
22
+
1. Go to https://github.com/aave/interface/issues/new/choose;
23
+
2. Choose the category for the issue - Bug Report or Feature Request;
24
+
3. If reporting a bug, include as much information as possible in your PR, and follow the steps in the template, as they are pretty self-explanatory;
25
+
4. If reporting a new feature, do the same; and
26
+
5. Once the issue is created, it will get a “New Issue” label, which is a helpful indication for the Interface Team to triage the new request.
27
+
28
+
# Picking up an issue for work
29
+
Whether you’re a first time or existing contributor to the Interface and/or the Aave ecosystem, you may engage by picking up any issue that is labelled “Looking for Help,” as this will be the right place to start. These issues will have been triaged already by the Interface Team.
30
+
Once you’ve identified an issue that you want to pick up, you should:
31
+
1. Comment on the issue expressing interest. A member of the Interface Team will assign it to you.
32
+
<aside> 💡 In order to mitigate issues from becoming stale, we may reassign or un-assign an issue after an extended period of time if we see that no commits are occurring on it. We will reach out to the original assignee in these instances
33
+
</aside>
34
+
2. Fork the repo if you haven’t done so already.
35
+
3. Create a branch for the issue by clicking Create a branch in the Development section on the Issue page. We follow Conventional Commits and follow the branch naming convention of [verb]/[issue number]-[branch name]. Some examples of branch names are:
36
+
- fix/123-squashed-bug
37
+
- feat/321-my-new-feature
38
+
4. Please add a comment on the issue so other people know it is being worked on.
39
+
5. Commit work using conventional commit formatting. There is a pre-commit hook with Husky that will enforce this. See the Running the UI Locally section for how to get the project running locally.
40
+
6. Create a pull request by using the single PR template. Fill out the list of major changes that are happening in the codebase. These bullet points should be a high-level overview / at-a-glance of the major changes to ease reviews. Go over the `Author Checklist` items in the template, and ensure all of them have been met before opening for review.
41
+
7. Code review. We might request you to make changes and iterate until we feel the code is ready.
42
+
8. QA and design review. If anything comes up during testing, or if there are any UI/UX items that need to be addressed, we’ll let you know.
43
+
9. Once there are two approvals, the Pull Request can be merged.
44
+
45
+
## Develoment Prerequisites
6
46
7
47
### Install Node
8
48
9
49
We are using a Next.js application, which relies on Node. You must have Node installed and set to use the specified version in `.nvmrc`. You can potentially use other versions, but we don’t recommend differing here.
10
50
11
-
You can download from the [NodeJS website](https://nodejs.org/en/download/), but we recommend installing nvm and running the following command at root, after cloning or downloading the repo.
51
+
You can download it from the [NodeJS website](https://nodejs.org/en/download/), but we recommend installing nvm and running the following command at root, after cloning or downloading the repo.
12
52
13
53
```bash
14
54
nvm use
@@ -32,7 +72,7 @@ cp .env.example .env.local
32
72
33
73
## Get Up & Running Locally
34
74
35
-
Once you’ve completed the pre-requisites above, you should be able to start running the interface locally. There are several variations of running locally.
75
+
Once you’ve completed the prerequisites above, you should be able to start running the interface locally. There are several variations of running locally.
36
76
37
77
### Development Mode
38
78
@@ -90,7 +130,7 @@ yarn test:headless
90
130
91
131
## Environment Variables
92
132
93
-
Some environment variables can be adjusted to suite your needs during development, depending on the scenarios you want to test or build in.
133
+
Some environment variables can be adjusted to suit your needs during development, depending on the scenarios you want to test or build in.
94
134
95
135
```bash
96
136
# setting the environment to 'staging' will enable testnet markets, disabling governance, staking, and production markets
@@ -116,7 +156,7 @@ localStorage.setItem('forkNetworkId', '3030'); // the ID of the new forked netwo
116
156
localStorage.setItem('forkRPCUrl', <rpcUrl>);
117
157
```
118
158
119
-
Since `localStorage` changes are not not observed, _you’ll need to reload after setting the parameters_. After reloading, the market selection should show forked markets for all the markets that run on `forkBaseChainId`. To make actual transactions on the fork, you’ll need to setup your wallet to use the same `rpcUrl` you provided as `forkRPCUrl`. This will require you to setup your wallet by adding in the new fork network and connecting to the app with it.
159
+
Since `localStorage` changes are not observed, _you’ll need to reload after setting the parameters_. After reloading, the market selection should show forked markets for all the markets that run on `forkBaseChainId`. To make actual transactions on the fork, you’ll need to setup your wallet to use the same `rpcUrl` you provided as `forkRPCUrl`. This will require you to setup your wallet by adding in the new fork network and connecting to the app with it.
120
160
121
161
If you are using MetaMask, make sure to configure the Tenderly fork RPC URL into a new network configuration. Give it a network name, and you'll want to use the same values that you copied into `localStorage` for the other fields. See below as an example:
122
162
@@ -128,7 +168,7 @@ Next, reload the page. The new forked network should appear in the dropdown list
128
168
129
169
Finally, switch to the market pertaining to the fork in the dropdown list. Now you are able to interact with the Aave Protocol via the UI without spending any real funds!
130
170
131
-
__NOTE:___Always doublecheck the selected network in your wallet provider to make sure transactions are executed only on the fork network_.
171
+
__NOTE:___Always double-check the selected network in your wallet provider to make sure transactions are executed only on the fork network_.
Copy file name to clipboardExpand all lines: README.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,6 +35,10 @@ yarn dev
35
35
36
36
For instructions on local development, deployment, configurations & feature proposals, see [Contributing](./CONTRIBUTING.md)
37
37
38
+
Also, contributors with at least one pull request that has been merged into the main branch are eligible for a unique GitPOAP. Visit [gitpoap.io](https://www.gitpoap.io/gp/638) to claim it.
0 commit comments