Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
multijump committed Oct 14, 2022
0 parents commit bb91824
Show file tree
Hide file tree
Showing 405 changed files with 119,069 additions and 0 deletions.
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
53 changes: 53 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
####### API KEYS #######
#
# in development environment NONE of the below api keys are required
# if you leave this file BLANK the app will run via the `ethers` community api key
# the only side effect may be some latency
#

# add your ALCHEMY API KEY
# - Alchemy IDs are only used as fallbacks (in conjunction with INFURA_IDS)
# - multiple IDS should be separated by whitespace
# - in development environment app will run without an ALCHEMY API KEY
# - you can pick up Alchemy API Keys at https://auth.alchemyapi.io/
REACT_APP_ETHEREUM_ALCHEMY_IDS=""

REACT_APP_ARBITRUM_ALCHEMY_IDS=""
REACT_APP_POLYGON_ALCHEMY_IDS=""

# add your INFURA ID
# - Infura IDs are only used as fallbacks (in conjunction with ALCHEMY_IDS)
# - multiple IDS should be separated by whitespace
# - you can pick up INFURA_IDS at https://infura.io/
REACT_APP_INFURA_IDS=""

# add a TESTNET ALCHEMY API KEY
# - only 1 ID is required, multiple IDS should be separated by whitespace
REACT_APP_ETHEREUM_TESTNET_ALCHEMY=""

REACT_APP_ARBITRUM_TESTNET_ALCHEMY=""

# if you run your own node you set your https address below
# - multiple IDS should be separated by whitespace
# - in Production node URLs must be secure `https://`
# - in Development node URLs must be insecure `http://`
REACT_APP_ETHEREUM_SELF_HOSTED_NODE="https://ipAddress:port"

REACT_APP_ARBITRUM_SELF_HOSTED_NODE="https://ipAddress:port"
REACT_APP_POLYGON_SELF_HOSTED_NODE="https://ipAddress:port"
REACT_APP_AVALANCHE_SELF_HOSTED_NODE="https://api.avax.network/ext/bc/C/rpc"
REACT_APP_FANTOM_SELF_HOSTED_NODE="https://rpc.fantom.network https://rpc.ftm.tools"

# Segment Analytics
# - not necessary in dev environment
REACT_APP_SEGMENT_API_KEY=""

# Google Analytics
# - not necessary in dev environment
REACT_APP_GA_API_KEY=""

# Covalent
# - used to fetch token balances on wallet
# - you can pick up a Covalent key at https://www.covalenthq.com/
REACT_APP_COVALENT=""
########################
54 changes: 54 additions & 0 deletions .env.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
// .env.test
####### API KEYS #######
#
# in development environment NONE of the below api keys are required
# if you leave this file BLANK the app will run via the `ethers` community api key
# the only side effect may be some latency
#

# add your ALCHEMY API KEY
# - Alchemy IDs are only used as fallbacks (in conjunction with INFURA_IDS)
# - multiple IDS should be separated by whitespace
# - in development environment app will run without an ALCHEMY API KEY
# - you can pick up Alchemy API Keys at https://auth.alchemyapi.io/
REACT_APP_ETHEREUM_ALCHEMY_IDS=""

REACT_APP_ARBITRUM_ALCHEMY_IDS=""
REACT_APP_POLYGON_ALCHEMY_IDS=""

# add your INFURA ID
# - Infura IDs are only used as fallbacks (in conjunction with ALCHEMY_IDS)
# - multiple IDS should be separated by whitespace
# - you can pick up INFURA_IDS at https://infura.io/
REACT_APP_INFURA_IDS=""

# add a TESTNET ALCHEMY API KEY
# - only 1 ID is required, multiple IDS should be separated by whitespace
REACT_APP_ETHEREUM_TESTNET_ALCHEMY=""

REACT_APP_ARBITRUM_TESTNET_ALCHEMY=""

# if you run your own node you set your https address below
# - multiple IDS should be separated by whitespace
# - in Production node URLs must be secure `https://`
# - in Development node URLs must be insecure `http://`
REACT_APP_ETHEREUM_SELF_HOSTED_NODE="https://ipAddress:port"

REACT_APP_ARBITRUM_SELF_HOSTED_NODE="https://ipAddress:port"
REACT_APP_POLYGON_SELF_HOSTED_NODE="https://ipAddress:port"
REACT_APP_AVALANCHE_SELF_HOSTED_NODE="https://api.avax.network/ext/bc/C/rpc"
REACT_APP_FANTOM_SELF_HOSTED_NODE="https://rpc.fantom.network https://rpc.ftm.tools"

# Segment Analytics
# - not necessary in dev environment
REACT_APP_SEGMENT_API_KEY=""

# Google Analytics
# - not necessary in dev environment
REACT_APP_GA_API_KEY=""

# Covalent
# - used to fetch token balances on wallet
# - you can pick up a Covalent key at https://www.covalenthq.com/
REACT_APP_COVALENT="MOCK_API_KEY"
########################
3 changes: 3 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# folders
build/
node_modules/
31 changes: 31 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
module.exports = {
env: {
browser: true,
},
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: 12,
sourceType: "module",
ecmaFeatures: {
jsx: true,
},
},
extends: ["plugin:prettier/recommended", "prettier/react", "prettier/@typescript-eslint"],
plugins: ["prettier"],
rules: {
"prettier/prettier": ["error"],
"import/prefer-default-export": "off",
"prefer-destructuring": "off",
"prefer-template": "off",
"react/prop-types": "off",
"react/destructuring-assignment": "off",
"no-console": "off",
"jsx-a11y/accessible-emoji": ["off"],
"jsx-a11y/click-events-have-key-events": ["off"],
"jsx-a11y/no-static-element-interactions": ["off"],
"no-underscore-dangle": "off",
"no-nested-ternary": "off",
"no-restricted-syntax": "off",
"no-plusplus": "off",
},
};
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Workarounds (if any)**
Is there an option to get around this bug to the intended action?

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like. Include clear acceptance criteria.**
A clear and concise description of what you want to happen using the Given, When, Then framework - "Given, I am in the Olympus app, When I want to stake, Then I should have the ability to stake through my wallet provider." You can include multiple examples of acceptance criteria.

**Is any UX Design input needed?**
If yes, give a description of what is required.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Tech Notes/Testing Notes**
Include any relevant information related to tech capabilities or testing needed to implement this feature.

**Out of scope**
Include any necessary out of scope information to make clear what this feature is not delivering.

**Additional context**
Add any other context or screenshots about the feature request here.
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: 2
updates:
- package-ecosystem: 'npm'
directory: '/'
open-pull-requests-limit: 5
reviewers:
- 'OlympusDAO/Frontend'
schedule:
interval: 'daily'
time: '04:00'
target-branch: 'develop'
10 changes: 10 additions & 0 deletions .github/lighthouse/lighthouserc-static-dist-dir.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
ci:
collect:
staticDistDir: './build'
assert:
preset: "lighthouse:recommended"
assertions:
first-contentful-paint:
- "warn"
-
"minScore": 0.6
33 changes: 33 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: "CodeQL"

on:
push:
branches: [ develop ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ develop ]

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@v1

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
64 changes: 64 additions & 0 deletions .github/workflows/lighthouse.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Lighthouse PWA Test

on:
# Netlify pre-deploy only works on pull_request
pull_request:
# branches:
# - master

jobs:
lighthouse-local:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build PWA distribution for production
run: |
yarn install --frozen-lockfile
yarn build
env:
CI: true
- name: Run Lighthouse PWA check against local production build
uses: treosh/lighthouse-ci-action@v8
with:
# no urls needed, since it uses local folder to scan .html files
# budgetPath: '.github/lighthouse/budget.json' # uncommment if we want custom performance budgets
configPath: '.github/lighthouse/lighthouserc-static-dist-dir.yml'
uploadArtifacts: true # save results as github action artifacts
temporaryPublicStorage: true # upload lighthouse report to the temporary storage

#
# Does OlympusDAO App use a pre-deploy service?
#
# If so and it works similar to NETLIFY, then we can run lighthouse test against it on each PR.
#
# TODO: Update script below to use proper env vars for pre-deploy servce
#
# lighthouse-deploy-preview:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: Wait for Netlify preview deployment of this git branch
# if: github.repository_owner == 'ambianic'
# uses: jakepartusch/wait-for-netlify-action@v1
# id: get-netlify-url
# with:
# site_name: "ambianic-pwa-dist"
# max_timeout: 180
# - name: Run Lighthouse PWA check against Netlify PR Preview
# uses: treosh/lighthouse-ci-action@v8
# with:
# urls: |
# ${{ steps.get-netlify-url.outputs.url }}
# uploadArtifacts: true # save results as an action artifacts
# temporaryPublicStorage: true # upload lighthouse report to the temporary storage
# # budgetPath: '.github/lighthouse/budget.json' # performance budgets
# configPath: '.github/lighthouse/lighthouserc-netlify-preview.json' # PWA checks
# - name: Run Lighthouse PWA sanity check against the existing Netlify production deployment
# uses: treosh/lighthouse-ci-action@v8
# with:
# urls: |
# https://ui.ambianic.ai
# uploadArtifacts: true # save results as an action artifacts
# temporaryPublicStorage: true # upload lighthouse report to the temporary storage
# # budgetPath: '.github/lighthouse/budget.json' # performance budgets
# configPath: '.github/lighthouse/lighthouserc-netlify-prod.json' # PWA checks
23 changes: 23 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Main CI

on:
# push:
pull_request:
# branches:
# - master

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build UI for production
run: |
yarn install --frozen-lockfile
yarn lint
yarn build
env:
CI: true
- name: Run unit tests
run: |
yarn test:unit
Loading

0 comments on commit bb91824

Please sign in to comment.