diff --git a/.env.sample b/.env.sample
index 64ecd56f60..25edb3d129 100644
--- a/.env.sample
+++ b/.env.sample
@@ -6,10 +6,9 @@
# See the README for full descriptions of each of the
# available configurations.
-NEXT_PUBLIC_GRAPHQL_URL=
-NEXT_PUBLIC_GRAPHQL_WS=
-xNODE_ENV=development
-xPORT=3000
-NEXT_PUBLIC_URL=
-NEXT_PUBLIC_WS_CHAIN_URL=
-NEXT_PUBLIC_CHAIN_STATUS=
+NEXT_PUBLIC_GRAPHQL_URL=http://localhost:8080/v1/graphql
+NEXT_PUBLIC_GRAPHQL_WS=ws://localhost:8080/v1/graphql
+NODE_ENV=development
+PORT=3000
+NEXT_PUBLIC_RPC_WEBSOCKET=ws://localhost:26657/websocket
+NEXT_PUBLIC_CHAIN_TYPE=testnet
diff --git a/.eslintignore b/.eslintignore
index 7e639c0a8e..8f0aba6ffa 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -5,5 +5,4 @@
**/cypress/support/*
**/cypress/plugins/*
**/cypress/fixtures/*
-**/src/graphql/types.tsx
-**/src/graphql/desmos_profile.ts
+**/src/graphql/types/*
diff --git a/.eslintrc.json b/.eslintrc.json
index 6b3c631f41..1e74f48255 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -73,7 +73,11 @@
"@typescript-eslint/no-var-requires": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"no-unused-vars": "off",
- "@typescript-eslint/no-unused-vars": ["error"],
+ "@typescript-eslint/no-unused-vars": ["error", {
+ "ignoreRestSiblings": true,
+ "varsIgnorePattern": "^_",
+ "argsIgnorePattern": "^_"
+ }],
"no-param-reassign": "warn",
"no-restricted-globals": "warn",
"react/prop-types": "off",
@@ -88,6 +92,7 @@
"lines-between-class-members": "off",
"react/no-array-index-key": "off",
"jsx-a11y/anchor-is-valid": "off",
+ "react/require-default-props": "warn",
"react/jsx-first-prop-new-line": [
"error",
"multiline"
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index dd84ea7824..0000000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-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.
-
-**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.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index bbcbbe7d61..0000000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-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**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000000..6688fc2e1a
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,24 @@
+## Description
+
+Closes: #XXXX
+
+
+
+---
+
+### Author Checklist
+
+*All items are required. Please add a note to the item if the item is not applicable and
+please add links to any relevant follow up issues.*
+
+I have...
+
+- [ ] ran linting
+- [ ] wrote tests where necessary
+- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
+- [ ] targeted the correct branch
+- [ ] provided a link to the relevant issue or specification
+- [ ] reviewed "Files changed" and left comments if necessary
+- [ ] confirmed all CI checks have passed
+- [ ] added an entry to the `CHANGELOG.md` file
\ No newline at end of file
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
deleted file mode 100644
index dd28bcc46c..0000000000
--- a/.github/pull_request_template.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-## Description
-
-
-
-## Checklist
-- [ ] Ran Linting
-- [ ] Targeted PR against correct branch.
-- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
-- [ ] Wrote unit tests.
-- [ ] Added an entry to the `CHANGELOG.md` file.
-- [ ] Re-reviewed `Files changed` in the Github PR explorer.
diff --git a/.github/workflows/docker_production.yml b/.github/workflows/docker_production.yml
index 734172af9a..883675b91c 100644
--- a/.github/workflows/docker_production.yml
+++ b/.github/workflows/docker_production.yml
@@ -28,25 +28,26 @@ jobs:
run: |
NEXT_PUBLIC_GRAPHQL_URL=
NEXT_PUBLIC_GRAPHQL_WS=
- NEXT_PUBLIC_URL=
- NEXT_PUBLIC_WS_CHAIN_URL=
- NEXT_PUBLIC_CHAIN_STATUS=
+ NEXT_PUBLIC_RPC_WEBSOCKET=
+ NEXT_PUBLIC_CHAIN_TYPE=
NODE_ENV="production"
PORT=3000
+ NEXT_PUBLIC_MATOMO_URL="https://analytics.bigdipper.live"
+ NEXT_PUBLIC_MATOMO_SITE_ID=8
if [[ $GITHUB_REF == refs/tags/desmos-morpheus-apollo-1* ]]; then
NEXT_PUBLIC_GRAPHQL_URL="https://gql.morpheus.desmos.network/v1/graphql"
NEXT_PUBLIC_GRAPHQL_WS="wss://gql.morpheus.desmos.network/v1/graphql"
- NEXT_PUBLIC_URL="https://morpheus.desmos.network"
- NEXT_PUBLIC_WS_CHAIN_URL="wss://rpc.morpheus.desmos.network/websocket"
- NEXT_PUBLIC_CHAIN_STATUS="testnet"
+ NEXT_PUBLIC_RPC_WEBSOCKET="wss://rpc.morpheus.desmos.network/websocket"
+ NEXT_PUBLIC_CHAIN_TYPE="mainnet"
fi
echo ::set-output name=NEXT_PUBLIC_GRAPHQL_URL::${NEXT_PUBLIC_GRAPHQL_URL}
echo ::set-output name=NEXT_PUBLIC_GRAPHQL_WS::${NEXT_PUBLIC_GRAPHQL_WS}
- echo ::set-output name=NEXT_PUBLIC_URL::${NEXT_PUBLIC_URL}
- echo ::set-output name=NEXT_PUBLIC_WS_CHAIN_URL::${NEXT_PUBLIC_WS_CHAIN_URL}
- echo ::set-output name=NEXT_PUBLIC_CHAIN_STATUS::${NEXT_PUBLIC_CHAIN_STATUS}
+ echo ::set-output name=NEXT_PUBLIC_RPC_WEBSOCKET::${NEXT_PUBLIC_RPC_WEBSOCKET}
+ echo ::set-output name=NEXT_PUBLIC_CHAIN_TYPE::${NEXT_PUBLIC_CHAIN_TYPE}
echo ::set-output name=NODE_ENV::${NODE_ENV}
echo ::set-output name=PORT::${PORT}
+ echo ::set-output name=NEXT_PUBLIC_MATOMO_URL::${NEXT_PUBLIC_MATOMO_URL}
+ echo ::set-output name=NEXT_PUBLIC_MATOMO_SITE_ID::${NEXT_PUBLIC_MATOMO_SITE_ID}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
@@ -65,11 +66,13 @@ jobs:
build-args: |
"NEXT_PUBLIC_GRAPHQL_URL=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_GRAPHQL_URL }}"
"NEXT_PUBLIC_GRAPHQL_WS=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_GRAPHQL_WS }}"
- "NEXT_PUBLIC_URL=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_URL }}"
- "NEXT_PUBLIC_WS_CHAIN_URL=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_WS_CHAIN_URL }}"
- "NEXT_PUBLIC_CHAIN_STATUS=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_CHAIN_STATUS }}"
+ "NEXT_PUBLIC_RPC_WEBSOCKET=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_RPC_WEBSOCKET }}"
+ "NEXT_PUBLIC_CHAIN_TYPE=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_CHAIN_TYPE }}"
"NODE_ENV=${{ steps.dockerPrep.outputs.NODE_ENV }}"
"PORT=${{ steps.dockerPrep.outputs.PORT }}"
+ "NEXT_PUBLIC_MATOMO_URL=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_MATOMO_URL }}"
+ "NEXT_PUBLIC_MATOMO_SITE_ID=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_MATOMO_SITE_ID }}"
+ "SENTRY_DSN: ${{ secrets.SENTRY_DSN }}"
labels: |
org.opencontainers.image.source=${{ github.event.repository.html_url }}
org.opencontainers.image.created=${{ steps.prep.outputs.created }}
@@ -77,7 +80,6 @@ jobs:
- name: Deploy to Akash 🌐
env:
DESMOS_AKASH_WEBHOOK_URL: ${{ secrets.DESMOS_AKASH_WEBHOOK_URL }}
- DESMOS_AKASH_WEBHOOK_SECRET: ${{ secrets.DESMOS_AKASH_WEBHOOK_SECRET }}
AKASH_WEBHOOK_SECRET: ${{ secrets.AKASH_WEBHOOK_SECRET }}
run: |
BRANCH=${GITHUB_REF}
diff --git a/.github/workflows/docker_staging.yml b/.github/workflows/docker_staging.yml
index e3590590dc..265ac014ee 100644
--- a/.github/workflows/docker_staging.yml
+++ b/.github/workflows/docker_staging.yml
@@ -28,16 +28,14 @@ jobs:
run: |
NEXT_PUBLIC_GRAPHQL_URL="https://gql.morpheus.desmos.network/v1/graphql"
NEXT_PUBLIC_GRAPHQL_WS="wss://gql.morpheus.desmos.network/v1/graphql"
- NEXT_PUBLIC_URL="https://morpheus.desmos.network"
- NEXT_PUBLIC_WS_CHAIN_URL="wss://rpc.morpheus.desmos.network/websocket"
- NEXT_PUBLIC_CHAIN_STATUS="mainnet"
+ NEXT_PUBLIC_RPC_WEBSOCKET="wss://rpc.morpheus.desmos.network/websocket"
+ NEXT_PUBLIC_CHAIN_TYPE="mainnet"
NODE_ENV="production"
PORT=3000
echo ::set-output name=NEXT_PUBLIC_GRAPHQL_URL::${NEXT_PUBLIC_GRAPHQL_URL}
echo ::set-output name=NEXT_PUBLIC_GRAPHQL_WS::${NEXT_PUBLIC_GRAPHQL_WS}
- echo ::set-output name=NEXT_PUBLIC_URL::${NEXT_PUBLIC_URL}
- echo ::set-output name=NEXT_PUBLIC_WS_CHAIN_URL::${NEXT_PUBLIC_WS_CHAIN_URL}
- echo ::set-output name=NEXT_PUBLIC_CHAIN_STATUS::${NEXT_PUBLIC_CHAIN_STATUS}
+ echo ::set-output name=NEXT_PUBLIC_RPC_WEBSOCKET::${NEXT_PUBLIC_RPC_WEBSOCKET}
+ echo ::set-output name=NEXT_PUBLIC_CHAIN_TYPE::${NEXT_PUBLIC_CHAIN_TYPE}
echo ::set-output name=NODE_ENV::${NODE_ENV}
echo ::set-output name=PORT::${PORT}
- name: Set up Docker Buildx
@@ -57,9 +55,8 @@ jobs:
build-args: |
"NEXT_PUBLIC_GRAPHQL_URL=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_GRAPHQL_URL }}"
"NEXT_PUBLIC_GRAPHQL_WS=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_GRAPHQL_WS }}"
- "NEXT_PUBLIC_URL=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_URL }}"
- "NEXT_PUBLIC_WS_CHAIN_URL=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_WS_CHAIN_URL }}"
- "NEXT_PUBLIC_CHAIN_STATUS=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_CHAIN_STATUS }}"
+ "NEXT_PUBLIC_RPC_WEBSOCKET=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_RPC_WEBSOCKET }}"
+ "NEXT_PUBLIC_CHAIN_TYPE=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_CHAIN_TYPE }}"
"NODE_ENV=${{ steps.dockerPrep.outputs.NODE_ENV }}"
"PORT=${{ steps.dockerPrep.outputs.PORT }}"
tags: "forbole/big-dipper-2.0-cosmos:${{ steps.prep.outputs.branch }}-staging"
diff --git a/.github/workflows/lint-pr.yml b/.github/workflows/lint-pr.yml
new file mode 100644
index 0000000000..912e3a4b20
--- /dev/null
+++ b/.github/workflows/lint-pr.yml
@@ -0,0 +1,20 @@
+name: "Lint PR"
+# Lint PR workflow runs linting over a single PR in order to make sure that the title respects
+# the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.
+# This workflow is run every time a PR is opened, edited or updated somehow.
+
+on:
+ pull_request_target:
+ types:
+ - opened
+ - edited
+ - synchronize
+
+jobs:
+ Lint:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Run lint ✅
+ uses: amannn/action-semantic-pull-request@v4.5.0
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 4d45ae72d9..221857b6fe 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -7,27 +7,22 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Install modules
- run: npm install
+ run: yarn install
- name: Run lint check
- run: npm run lint
+ run: yarn run lint
Unit-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install modules
- run: npm ci
+ run: yarn install
- name: Run tests
- run: npm test -- --coverage
- # - name: Upload coverage 📤
- # uses: codecov/codecov-action@v1
- # with:
- # file: coverage/lcov.info
- # fail_ci_if_error: true
+ run: yarn test --coverage
Build-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install modules
- run: npm ci
+ run: yarn install
- name: Run build check
- run: npm run build
+ run: yarn run build
diff --git a/.gitignore b/.gitignore
index 9e3c4b7fc0..cf2dbc4bf8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,3 +35,15 @@ yarn-error.log*
test.js
+
+# Sentry
+.sentryclirc
+
+# Yarn Berry
+.pnp.*
+.yarn/*
+!.yarn/patches
+!.yarn/plugins
+!.yarn/releases
+!.yarn/sdks
+!.yarn/versions
\ No newline at end of file
diff --git a/.mergify.yml b/.mergify.yml
new file mode 100644
index 0000000000..874fe3efcb
--- /dev/null
+++ b/.mergify.yml
@@ -0,0 +1,20 @@
+queue_rules:
+ - name: default
+ conditions:
+ - or:
+ - base=base
+ - base~=chains/
+
+pull_request_rules:
+ - name: Automerge with label automerge and branch protection passing
+ conditions:
+ - "#approved-reviews-by>1"
+ - label=automerge
+ actions:
+ queue:
+ name: default
+ method: squash
+ commit_message_template: >
+ {{ title }} (#{{ number }})
+
+ {{ body }}
\ No newline at end of file
diff --git a/.misc/themes/README.md b/.misc/themes/README.md
new file mode 100644
index 0000000000..1d093afc63
--- /dev/null
+++ b/.misc/themes/README.md
@@ -0,0 +1,151 @@
+
+