diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
deleted file mode 100644
index 2bc926b386..0000000000
--- a/.github/workflows/build.yml
+++ /dev/null
@@ -1,111 +0,0 @@
-name: Build
-on:
- workflow_dispatch:
- pull_request:
- push:
- branches:
- - dev.v2
-jobs:
- # Run the full Tilt build and wait for it to converge
- tilt:
- runs-on: tilt-kube-public
-
- # Cancel previous builds on the same branch/ref. Full runs are expensive
- # and capacity is limited, so we want to avoid running multiple builds
- # in parallel even if it means skipping CI runs on permanent branches
- # (unfortunately, we can't differentiate between temporary and permanent
- # refs without duplicating the entire logic).
- concurrency:
- group: ${{ github.workflow }}-tilt-${{ github.ref }}
- cancel-in-progress: true
-
- steps:
- - uses: actions/checkout@v2
- - name: Expand for link to Tilt dashboard (only available during build)
- run: >
- echo "Tilt progress dashboard: https://$DASHBOARD_URL"
- - run: |
- kubectl config set-context ci --namespace=$DEPLOY_NS
- kubectl config use-context ci
-
- - run: tilt ci -- --ci --namespace=$DEPLOY_NS --num=2
- timeout-minutes: 60
-
- # Clean up k8s resources
- - run: kubectl delete --namespace=$DEPLOY_NS service,statefulset,configmap,pod,job --all
- if: always()
-
- # Verify whether the Makefile builds the node (no dependencies other than Go)
- node:
- runs-on: ubuntu-20.04
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-go@v2
- with:
- go-version: '1.17.5'
- - run: make node
-
- ethereum:
- runs-on: ubuntu-20.04
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-node@v2
- with:
- node-version: '16'
- - run: cd ethereum && make test
-
- terra:
- runs-on: ubuntu-20.04
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-node@v2
- with:
- node-version: '16'
- - run: cd terra && make test
-
- # Run linters, Go tests and other outside-of-Tilt things.
- lint-and-tests:
- # The linter is slow enough that we want to run it on the self-hosted runner
- runs-on: tilt-kube-public
- concurrency:
- group: ${{ github.workflow }}-lint-${{ github.ref }}
- cancel-in-progress: true
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-go@v2
- with:
- go-version: '1.17.5'
- - run: make generate && ./lint.sh
- # The go-ethereum and celo-blockchain packages both implement secp256k1 using the exact same header, but that causes duplicate symbols.
- - run: cd node && go test -v -ldflags '-extldflags "-Wl,--allow-multiple-definition" ' ./...
-
- # Run rust lints and tests
- rust-lint-and-tests:
- runs-on: ubuntu-20.04
- strategy:
- matrix:
- manifest:
- - terra/Cargo.toml
- - sdk/rust/Cargo.toml
- steps:
- - name: Check out source
- uses: actions/checkout@v2
-
- - name: Install stable rust toolchain
- uses: actions-rs/toolchain@v1
- with:
- profile: minimal
- toolchain: stable
- default: true
-
- - name: Run `cargo check`
- uses: actions-rs/cargo@v1
- with:
- command: check
- args: --workspace --manifest-path ${{ matrix.manifest }}
-
- - name: Run `cargo test`
- uses: actions-rs/cargo@v1
- with:
- command: test
- args: --workspace --manifest-path ${{ matrix.manifest }}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000000..4ce2fb41e4
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,109 @@
+name: CI
+
+on:
+ push:
+ branches: staging
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+jobs:
+ ################################################################################ BUILD
+ build-image:
+ runs-on: ubuntu-latest
+ outputs:
+ image-tag: ${{ steps.image-tag.outputs.tag }}
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: '0'
+
+ - if: ${{ github.ref == 'refs/heads/master' }}
+ name: Bump version and push tag
+ uses: anothrNick/github-tag-action@1.36.0
+ env:
+ GITHUB_TOKEN: ${{ secrets.GIT_TOKEN }}
+ WITH_V: false
+
+ - id: image-tag
+ run: |
+ if [ ${{ github.ref }} == 'refs/heads/master' ]; then
+ echo "::set-output name=tag::$(git describe --tags $(git rev-list --tags --max-count=1))"
+ elif [ ${{ github.ref }} == 'refs/heads/staging' ]; then
+ echo "::set-output name=tag::staging-$(git rev-parse --short HEAD)"
+ fi
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+
+ - name: Build image & save to tmp
+ uses: docker/build-push-action@v3
+ with:
+ context: .
+ file: ./Dockerfile
+ tags: stackos/${{ secrets.PROJECT_NAME }}:${{ steps.image-tag.outputs.tag }}
+ outputs: type=docker,dest=/tmp/myimage.tar
+
+ - name: Upload artifact
+ uses: actions/upload-artifact@v2
+ with:
+ name: myimage
+ path: /tmp/myimage.tar
+
+ ################################################################################ PUSH
+ push-image:
+ runs-on: ubuntu-latest
+ needs: build-image
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - name: Download artifact
+ uses: actions/download-artifact@v2
+ with:
+ name: myimage
+ path: /tmp
+
+ - name: Load image
+ run: |
+ docker load --input /tmp/myimage.tar
+ docker image ls -a
+
+ - name: Login to Docker Hub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKER_HUB_USERNAME }}
+ password: ${{ secrets.DOCKER_HUB_TOKEN }}
+
+ - name: Push image
+ run: |
+ docker push stackos/${{ secrets.PROJECT_NAME }}:${{ needs.build-image.outputs.image-tag }}
+
+ - name: Remove temp docker image
+ run: |
+ rm -rf /tmp/myimage.tar
+
+ ############################################################################### DEPLOY-STAGING
+ deploy-to-gke-staging:
+ if: ${{ github.ref == 'refs/heads/staging' }}
+ runs-on: ubuntu-latest
+ needs: [build-image, push-image]
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Get GKE Credentials
+ uses: 'google-github-actions/get-gke-credentials@v0.2.1'
+ with:
+ cluster_name: ${{ secrets.MARVEL_CLUSTER_NAME }}
+ location: 'us-central1'
+ credentials: ${{ secrets.MARVEL_GCP_CREDENTIALS }}
+
+ - name: Deploy Docker image to GKE - Staging
+ run: |
+ kubectl patch deployment ${{ secrets.PROJECT_NAME }}-${{ secrets.MARVEL_CLUSTER_NAME }} --namespace ${{ secrets.NAMESPACE }} -p '{"spec":{"template":{"spec":{"containers":[{"name":"${{ secrets.PROJECT_NAME }}-${{ secrets.MARVEL_CLUSTER_NAME }}","image":"stackos/${{ secrets.PROJECT_NAME }}:${{ needs.build-image.outputs.image-tag }}"}]}}}}'
+ kubectl describe deployments.apps ${{ secrets.PROJECT_NAME }}-${{ secrets.MARVEL_CLUSTER_NAME }} --namespace ${{ secrets.NAMESPACE }} |grep -i image
+ kubectl get po --namespace ${{ secrets.NAMESPACE }} |grep ${{ secrets.PROJECT_NAME }}-${{ secrets.MARVEL_CLUSTER_NAME }}
diff --git a/.github/workflows/testnet.yml b/.github/workflows/testnet.yml
deleted file mode 100644
index 2f430d20f4..0000000000
--- a/.github/workflows/testnet.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-name: Testnet
-on:
- push:
- branches:
- - dev.v2
-jobs:
- build-and-deploy:
- concurrency: ci-${{ github.ref }} # Recommended if you intend to make multiple deployments in quick succession.
- runs-on: ubuntu-latest
- steps:
- - name: Checkout 🛎️
- uses: actions/checkout@v3
-
- - name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built.
- env:
- REACT_APP_COVALENT_API_KEY: ${{ secrets.COVALENT_API_KEY }}
- run: |
- cd bridge_ui
- npm ci
- IFS='/' read -a strarr <<< $GITHUB_REPOSITORY && sed -i "`wc -l < package.json`i\,\"homepage\":\"https://${strarr[0]}.github.io/${strarr[1]}\"" package.json
- REACT_APP_CLUSTER="testnet" npm run build
- - name: Deploy 🚀
- uses: JamesIves/github-pages-deploy-action@v4.2.5
- with:
- branch: gh-pages # The branch the action should deploy to.
- folder: bridge_ui/build # The folder the action should deploy.
diff --git a/bridge_ui/.dockerignore b/bridge_ui/.dockerignore
new file mode 100644
index 0000000000..3a317ffa8e
--- /dev/null
+++ b/bridge_ui/.dockerignore
@@ -0,0 +1,3 @@
+node_modules
+build
+.dockerignore
\ No newline at end of file
diff --git a/bridge_ui/.env.sample b/bridge_ui/.env.sample
index e69de29bb2..64d0f1a7ad 100644
--- a/bridge_ui/.env.sample
+++ b/bridge_ui/.env.sample
@@ -0,0 +1,12 @@
+REACT_APP_PRIMARY_COLOR="#2abfff"
+REACT_APP_SECONDARY_COLOR="#ffffff12"
+REACT_APP_BODY_COLOR="#16171b"
+REACT_APP_TEXT_COLOR="#ffffff"
+REACT_APP_LOGO="https://www.linkpicture.com/q/logo_12.svg"
+REACT_APP_TITLE="Token Bridge"
+REACT_APP_SUBTITLE="Portal is a bridge that offers unlimited transfers across chains for tokens and NFTs wrapped by Wormhole. Unlike many other bridges, you avoid double wrapping and never have to retrace your steps."
+REACT_APP_LINK_NAME="StackOS"
+REACT_APP_LINK_ADDRESS="https://www.home.stackos.io/"
+REACT_APP_CLUSTER="mainnet"
+REACT_APP_ALLOWED_CHAINS="Ethereum:0x56a86d648c435dc707c8405b78e2ae8eb4e60ba4,Binance Smart Chain:0x6855f7bb6287f94ddcc8915e37e73a3c9fee5cf3,Polygon:0x980111ae1b84e50222c8843e3a7a038f36fecd2b"
+REACT_APP_COVALENT_API_KEY=ckey_ac8f912a507e48b2bdd57a6c795
\ No newline at end of file
diff --git a/bridge_ui/.gitignore b/bridge_ui/.gitignore
index a6d38d4d0d..ee3713a48c 100644
--- a/bridge_ui/.gitignore
+++ b/bridge_ui/.gitignore
@@ -24,4 +24,8 @@ yarn-error.log*
# ethereum contracts
/contracts
-/src/ethers-contracts
\ No newline at end of file
+/src/ethers-contracts
+
+# Temporary env files
+/public/env-config.js
+env-config.js
\ No newline at end of file
diff --git a/bridge_ui/Dockerfile b/bridge_ui/Dockerfile
index 880fa0f3fb..b8156dc930 100644
--- a/bridge_ui/Dockerfile
+++ b/bridge_ui/Dockerfile
@@ -1,12 +1,49 @@
# syntax=docker.io/docker/dockerfile:1.3@sha256:42399d4635eddd7a9b8a24be879d2f9a930d0ed040a61324cfdf59ef1357b3b2
# Derivative of ethereum/Dockerfile, look there for an explanation on how it works.
-FROM node:16-alpine@sha256:f21f35732964a96306a84a8c4b5a829f6d3a0c5163237ff4b6b8b34f8d70064b
+FROM node:16-alpine@sha256:f21f35732964a96306a84a8c4b5a829f6d3a0c5163237ff4b6b8b34f8d70064b as builder
+RUN apk add g++ make
RUN mkdir -p /app
WORKDIR /app
-COPY bridge_ui/package.json bridge_ui/package-lock.json ./
-RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
- npm ci
-COPY bridge_ui .
+#COPY package.json package-lock.json ./
+COPY package.json .
+
+COPY . .
+RUN npm install
+RUN npm run build
+
+#RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
+# npm ci
+# add app
+#COPY . ./
+
+
+# => Run container
+FROM nginx:1.15.2-alpine
+
+# Nginx config
+RUN rm -rf /etc/nginx/conf.d
+COPY conf /etc/nginx
+
+# Static build
+COPY --from=builder /app/build /usr/share/nginx/html/
+
+# Default port exposure
+EXPOSE 80
+
+# Copy .env file and shell script to container
+WORKDIR /usr/share/nginx/html
+COPY ./env.sh .
+COPY .env .
+
+# Add bash
+RUN apk add --no-cache bash
+
+# Make our shell script executable
+RUN chmod +x env.sh
+
+# Start Nginx server
+# CMD ["/bin/sh", "-c", "nginx -g \"daemon off;\""]
+CMD ["/bin/sh", "-c", "/usr/share/nginx/html/env.sh && sleep 30 && nginx -g \"daemon off;\""]
diff --git a/bridge_ui/README.md b/bridge_ui/README.md
index f3971f6851..4ec38b4f97 100644
--- a/bridge_ui/README.md
+++ b/bridge_ui/README.md
@@ -61,3 +61,65 @@ Create `.env` from the sample file, then add your Covalent API key:
```bash
cp .env.sample .env
```
+
+## Run Project
+```bash
+npm i
+npm start
+```
+
+### Custom Design And Text Changes Example on .env
+
+- REACT_APP_PRIMARY_COLOR: Env for used in button and tab.
+- REACT_APP_SECONDARY_COLOR: Env for used in div.
+- REACT_APP_BODY_COLOR: Env for used in body color.
+- REACT_APP_TEXT_COLOR: Env for used in text color.
+- REACT_APP_LOGO: Env for logo image.
+- REACT_APP_TITLE: Env for main title.
+- REACT_APP_SUBTITLE: Env for subtitle.
+- REACT_APP_LINK_NAME: Env for link name.
+- REACT_APP_LINK_ADDRESS: Env for link address.
+
+```bash
+REACT_APP_PRIMARY_COLOR="#2abfff"
+REACT_APP_SECONDARY_COLOR="#ffffff12"
+REACT_APP_BODY_COLOR="#16171b"
+REACT_APP_TEXT_COLOR="#ffffff"
+REACT_APP_LOGO="cloud image link"
+REACT_APP_TITLE="Token Bridge"
+REACT_APP_SUBTITLE="Token Bridge"
+REACT_APP_LINK_NAME=""
+REACT_APP_LINK_ADDRESS=""
+```
+
+###Add Custom Allowed Chains
+You can add custom chains using chains fullname(ex: chain1-name:token-address)
+
+```bash
+REACT_APP_ALLOWED_CHAINS="Ethereum:0x56a86d648c435dc707c8405b78e2ae8eb4e60ba4,Binance Smart Chain:0x6855f7bb6287f94ddcc8915e37e73a3c9fee5cf3,Polygon:0x980111ae1b84e50222c8843e3a7a038f36fecd2b"
+```
+
+The supported chains listed below here:
+
+```bash
+Aurora
+Avalanche
+Binance Smart Chain
+Ethereum
+Fantom
+Oasis
+Polygon
+Solana
+Terra
+```
+
+### Docker Build Locally
+
+```bash
+docker build -t stackos-token-bridge:tag .
+```
+
+### Docker Run Image with env variable
+
+```bash
+docker run -it -p 3001:3000 -e REACT_APP_PRIMARY_COLOR="#2abfff" -e REACT_APP_ALLOWED_CHAINS='Ethereum:0x56a86d648c435dc707c8405b78e2ae8eb4e60ba4,Binance Smart Chain:0x6855f7bb6287f94ddcc8915e37e73a3c9fee5cf3,Polygon:0x980111ae1b84e50222c8843e3a7a038f36fecd2b' stackos-token-bridge:v0.0.3
\ No newline at end of file
diff --git a/bridge_ui/conf/conf.d/default.conf b/bridge_ui/conf/conf.d/default.conf
new file mode 100644
index 0000000000..b22a41ac71
--- /dev/null
+++ b/bridge_ui/conf/conf.d/default.conf
@@ -0,0 +1,13 @@
+server {
+ listen 3000;
+ location / {
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+ try_files $uri $uri/ /index.html;
+ expires -1; # Set it to different value depending on your standard requirements
+ }
+ error_page 500 502 503 504 /50x.html;
+ location = /50x.html {
+ root /usr/share/nginx/html;
+ }
+}
\ No newline at end of file
diff --git a/bridge_ui/conf/conf.d/gzip.conf b/bridge_ui/conf/conf.d/gzip.conf
new file mode 100644
index 0000000000..ad0542d33b
--- /dev/null
+++ b/bridge_ui/conf/conf.d/gzip.conf
@@ -0,0 +1,24 @@
+gzip on;
+gzip_http_version 1.0;
+gzip_comp_level 5; # 1-9
+gzip_min_length 256;
+gzip_proxied any;
+gzip_vary on;
+
+# MIME-types
+gzip_types
+ application/atom+xml
+ application/javascript
+ application/json
+ application/rss+xml
+ application/vnd.ms-fontobject
+ application/x-font-ttf
+ application/x-web-app-manifest+json
+ application/xhtml+xml
+ application/xml
+ font/opentype
+ image/svg+xml
+ image/x-icon
+ text/css
+ text/plain
+ text/x-component;
\ No newline at end of file
diff --git a/bridge_ui/docker-compose.yml b/bridge_ui/docker-compose.yml
new file mode 100644
index 0000000000..2b471dbb35
--- /dev/null
+++ b/bridge_ui/docker-compose.yml
@@ -0,0 +1,19 @@
+version: "3.2"
+services:
+ cra-runtime-environment-variables:
+ image: 0612020/stackos-token-bridge:v0.0.7
+ ports:
+ - "3002:3000"
+ environment:
+ - "REACT_APP_PRIMARY_COLOR=#2abfff"
+ - "REACT_APP_SECONDARY_COLOR=#ffffff12"
+ - "REACT_APP_BODY_COLOR=#16171b"
+ - "REACT_APP_TEXT_COLOR=#ffffff"
+ - "REACT_APP_LOGO=https://www.linkpicture.com/q/logo_12.svg"
+ - "REACT_APP_TITLE=Token Bridge"
+ - "REACT_APP_SUBTITLE=Portal is a bridge that offers unlimited transfers across chains for tokens and NFTs wrapped by Wormhole. Unlike many other bridges, you avoid double wrapping and never have to retrace your steps."
+ - "REACT_APP_LINK_NAME=StackOS"
+ - "REACT_APP_LINK_ADDRESS=https://www.home.stackos.io/"
+ - "REACT_APP_CLUSTER=mainnet"
+ - "REACT_APP_ALLOWED_CHAINS=Ethereum:0x56a86d648c435dc707c8405b78e2ae8eb4e60ba4,Binance Smart Chain:0x6855f7bb6287f94ddcc8915e37e73a3c9fee5cf3,Polygon:0x980111ae1b84e50222c8843e3a7a038f36fecd2b"
+ - "REACT_APP_COVALENT_API_KEY=ckey_ac8f912a507e48b2bdd57a6c795"
\ No newline at end of file
diff --git a/bridge_ui/env.sh b/bridge_ui/env.sh
new file mode 100644
index 0000000000..70d6040bff
--- /dev/null
+++ b/bridge_ui/env.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+# echo "$REACT_APP_NODE_PORTAL_WALLET_ADDRESS"
+#wallet_lowercase=`echo "$REACT_APP_NODE_PORTAL_WALLET_ADDRESS" | awk '{print tolower($0)}'`
+#echo "$wallet_lowercase"
+#sed -i 's/0x/'"$wallet_lowercase"'/g' .env
+# sed -i 's/0x/'"$REACT_APP_NODE_PORTAL_WALLET_ADDRESS"'/g' .env
+
+# Recreate config file
+rm -rf ./env-config.js
+touch ./env-config.js
+
+# Add assignment
+echo "window._env_ = {" >> ./env-config.js
+
+# Read each line in .env file
+# Each line represents key=value pairs
+while read -r line || [[ -n "$line" ]];
+do
+ # Split env variables by character `=`
+ if printf '%s\n' "$line" | grep -q -e '='; then
+ varname=$(printf '%s\n' "$line" | sed -e 's/=.*//')
+ varvalue=$(printf '%s\n' "$line" | sed -e 's/^[^=]*=//')
+ fi
+
+ # Read value of current variable if exists as Environment variable
+ value=$(printf '%s\n' "${!varname}")
+ # Otherwise use value from .env file
+ [[ -z $value ]] && value=${varvalue}
+
+ # Append configuration property to JS file
+ echo " $varname: \"$value\"," >> ./env-config.js
+done < .env
+
+echo "}" >> ./env-config.js
\ No newline at end of file
diff --git a/bridge_ui/public/StackOS_Logo_V1.0.svg b/bridge_ui/public/StackOS_Logo_V1.0.svg
new file mode 100644
index 0000000000..c350650cea
--- /dev/null
+++ b/bridge_ui/public/StackOS_Logo_V1.0.svg
@@ -0,0 +1,62 @@
+
+
+
+
diff --git a/bridge_ui/public/favicon.ico b/bridge_ui/public/favicon.ico
index e2bcfbca41..24e6e29b9a 100644
Binary files a/bridge_ui/public/favicon.ico and b/bridge_ui/public/favicon.ico differ
diff --git a/bridge_ui/public/index.html b/bridge_ui/public/index.html
index 9a406f349f..311a4177f2 100644
--- a/bridge_ui/public/index.html
+++ b/bridge_ui/public/index.html
@@ -42,7 +42,8 @@
href="https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&display=swap"
rel="stylesheet"
/>
-
Portal Token Bridge
+
+ StackOS Token Bridge
diff --git a/bridge_ui/public/logo192.png b/bridge_ui/public/logo192.png
index 36b89d9849..189d080f30 100644
Binary files a/bridge_ui/public/logo192.png and b/bridge_ui/public/logo192.png differ
diff --git a/bridge_ui/public/logo512.png b/bridge_ui/public/logo512.png
index f572912096..108bba5e6b 100644
Binary files a/bridge_ui/public/logo512.png and b/bridge_ui/public/logo512.png differ
diff --git a/bridge_ui/src/App.js b/bridge_ui/src/App.js
index 5eb3cb0ebb..b928f8a4d4 100644
--- a/bridge_ui/src/App.js
+++ b/bridge_ui/src/App.js
@@ -42,8 +42,7 @@ import Transfer from "./components/Transfer";
import UnwrapNative from "./components/UnwrapNative";
import WithdrawTokensTerra from "./components/WithdrawTokensTerra";
import { useBetaContext } from "./contexts/BetaContext";
-import Portal from "./icons/portal_logo.svg";
-import Header from "./images/Header.png";
+import StackOS from "./icons/logo.svg";
import { CLUSTER } from "./utils/consts";
const useStyles = makeStyles((theme) => ({
@@ -64,7 +63,7 @@ const useStyles = makeStyles((theme) => ({
...theme.typography.body2,
fontWeight: 600,
fontFamily: "Suisse BP Intl, sans-serif",
- color: "black",
+ color: window._env_.REACT_APP_PRIMARY_COLOR,
marginLeft: theme.spacing(4),
textUnderlineOffset: "6px",
[theme.breakpoints.down("sm")]: {
@@ -78,25 +77,12 @@ const useStyles = makeStyles((theme) => ({
},
},
bg: {
- // background:
- // "linear-gradient(160deg, rgba(69,74,117,.1) 0%, rgba(138,146,178,.1) 33%, rgba(69,74,117,.1) 66%, rgba(98,104,143,.1) 100%), linear-gradient(45deg, rgba(153,69,255,.1) 0%, rgba(121,98,231,.1) 20%, rgba(0,209,140,.1) 100%)",
display: "flex",
flexDirection: "column",
minHeight: "100vh",
position: "relative",
overflow: "hidden",
},
- headerImage: {
- position: "absolute",
- zIndex: -1,
- top: 0,
- background: `url(${Header})`,
- backgroundRepeat: "no-repeat",
- backgroundPosition: "top -750px center",
- backgroundSize: "2070px 1155px",
- width: "100%",
- height: 1155,
- },
brandLink: {
display: "inline-flex",
alignItems: "center",
@@ -128,67 +114,7 @@ const useStyles = makeStyles((theme) => ({
marginRight: theme.spacing(1),
display: "inline-block",
},
- gradientRight: {
- position: "absolute",
- top: "72px",
- right: "-1000px",
- width: "1757px",
- height: "1506px",
- background:
- "radial-gradient(closest-side at 50% 50%, #FFCE00 0%, #FFCE0000 100%)",
- opacity: "0.2",
- transform: "matrix(0.87, 0.48, -0.48, 0.87, 0, 0)",
- zIndex: "-1",
- pointerEvent: "none",
- [theme.breakpoints.down("sm")]: {
- display: "none",
- },
- },
- gradientLeft: {
- top: "-530px",
- left: "-350px",
- width: "1379px",
- height: "1378px",
- position: "absolute",
- background:
- "radial-gradient(closest-side at 50% 50%, #F44B1B 0%, #F44B1B00 100%)",
- opacity: "0.2",
- zIndex: "-1",
- pointerEvent: "none",
- },
- gradientLeft2: {
- bottom: "-330px",
- left: "-350px",
- width: "1379px",
- height: "1378px",
- position: "absolute",
- background:
- "radial-gradient(closest-side at 50% 50%, #F44B1B 0%, #F44B1B00 100%)",
- opacity: "0.2",
- zIndex: "-1",
- pointerEvent: "none",
- [theme.breakpoints.down("sm")]: {
- display: "none",
- },
- },
- gradientRight2: {
- position: "absolute",
- bottom: "-900px",
- right: "-1000px",
- width: "1757px",
- height: "1506px",
- background:
- "radial-gradient(closest-side at 50% 50%, #FFCE00 0%, #FFCE0000 100%)",
- opacity: "0.24",
- transform: "matrix(0.87, 0.48, -0.48, 0.87, 0, 0);",
- zIndex: "-1",
- pointerEvent: "none",
- [theme.breakpoints.down("sm")]: {
- display: "none",
- },
- },
}));
-
function App() {
const classes = useStyles();
const isBeta = useBetaContext();
@@ -214,7 +140,11 @@ function App() {
to="/transfer"
className={classes.brandLink}
>
-
+
@@ -225,34 +155,35 @@ function App() {
color="inherit"
className={classes.link}
>
- Bridge
+ Home
-
FAQ
-
+ */}
+
- Stats
+ {window._env_.REACT_APP_LINK_NAME}
- Wormhole
+ Analytics Dashboard
@@ -273,7 +204,7 @@ function App() {
{CLUSTER === "mainnet" ? null : (
-
+
Caution! You are using the {CLUSTER} build of this app.
@@ -286,25 +217,22 @@ function App() {
) : null}
-
+
{["/transfer", "/nft", "/redeem"].includes(pathname) ? (
-
- Portal is a bridge that offers unlimited transfers across
- chains for tokens and NFTs wrapped by Wormhole.
-
-
+ {window._env_.REACT_APP_SUBTITLE}
+ {/*
Unlike many other bridges, you avoid double wrapping and never
have to retrace your steps.
-
+ */}
>
}
>
- Token Bridge
+ {window._env_.REACT_APP_TITLE}
-
-
-
-
-
+ {/* */}
);
diff --git a/bridge_ui/src/components/ChainSelect.tsx b/bridge_ui/src/components/ChainSelect.tsx
index 37afa8cd4e..dd291af307 100644
--- a/bridge_ui/src/components/ChainSelect.tsx
+++ b/bridge_ui/src/components/ChainSelect.tsx
@@ -26,7 +26,6 @@ const useStyles = makeStyles((theme) => ({
maxWidth: 24,
},
}));
-
const createChainMenuItem = ({ id, name, logo }: ChainInfo, classes: any) => (