/omnibridge-eth-bsc

ui for eth-xdai-omni-bridge

Primary LanguageJavaScript

Omnibridge

The OmniBridge multi-token extension for the Arbitrary Message Bridge is the simplest way to transfer ANY ERC20/ERC677/ERC827 token to and from the xDai chain.

Project Structure

This project is a monorepo created with Yarn Workspaces and Create Eth App.

xdai-omnibridge
├── .eslintrc.json
├── .firebaserc
├── .github
│   └── workflows
│       ├── production.yml
│       └── sokol.yml
├── .gitignore
├── .prettierrc.json
├── README.md
├── firebase.json
├── package.json
├── packages
│   ├── react-app
│   │   ├── jsconfig.json
│   │   ├── package.json
│   │   ├── public
│   │   │   ├── android-chrome-192x192.png
│   │   │   ├── android-chrome-512x512.png
│   │   │   ├── apple-touch-icon.png
│   │   │   ├── browserconfig.xml
│   │   │   ├── favicon-16x16.png
│   │   │   ├── favicon-32x32.png
│   │   │   ├── favicon.ico
│   │   │   ├── index.html
│   │   │   ├── manifest.json
│   │   │   ├── mstile-150x150.png
│   │   │   ├── robots.txt
│   │   │   └── safari-pinned-tab.svg
│   │   └── src
│   │       ├── App.jsx
│   │       ├── Routes.jsx
│   │       ├── assets
│   │       │   ├── advanced.svg
│   │       │   ├── alert.svg
│   │       │   ├── blue-tick.svg
│   │       │   ├── bsc-logo.png
│   │       │   ├── change-network.png
│   │       │   ├── claim.svg
│   │       │   ├── close.svg
│   │       │   ├── confirm-transfer.svg
│   │       │   ├── custom-token.svg
│   │       │   ├── details.svg
│   │       │   ├── down-triangle.svg
│   │       │   ├── drop-down.svg
│   │       │   ├── error.svg
│   │       │   ├── eth-logo.png
│   │       │   ├── eth.png
│   │       │   ├── info.svg
│   │       │   ├── loading.svg
│   │       │   ├── logo.svg
│   │       │   ├── metamask-fox.svg
│   │       │   ├── multiple-claim.svg
│   │       │   ├── no-history.svg
│   │       │   ├── right-arrow.svg
│   │       │   ├── search.svg
│   │       │   ├── settings.svg
│   │       │   ├── transfer.svg
│   │       │   ├── unlock.svg
│   │       │   ├── up-triangle.svg
│   │       │   └── xdai-logo.png
│   │       ├── components
│   │       │   ├── bridge
│   │       │   │   ├── AdvancedMenu.jsx
│   │       │   │   ├── BridgeTokens.jsx
│   │       │   │   ├── FromToken.jsx
│   │       │   │   ├── SystemFeedback.jsx
│   │       │   │   ├── ToToken.jsx
│   │       │   │   ├── TransferButton.jsx
│   │       │   │   └── UnlockButton.jsx
│   │       │   ├── common
│   │       │   │   ├── AddToMetamask.jsx
│   │       │   │   ├── BridgeDropdown.jsx
│   │       │   │   ├── ConnectWeb3.jsx
│   │       │   │   ├── ErrorBoundary.jsx
│   │       │   │   ├── Footer.jsx
│   │       │   │   ├── Header.jsx
│   │       │   │   ├── Layout.jsx
│   │       │   │   ├── Logo.jsx
│   │       │   │   ├── ProgressRing.jsx
│   │       │   │   ├── TxLink.jsx
│   │       │   │   ├── UpdateSettings.jsx
│   │       │   │   └── WalletSelector.jsx
│   │       │   ├── history
│   │       │   │   ├── BridgeHistory.jsx
│   │       │   │   ├── HistoryItem.jsx
│   │       │   │   ├── HistoryPagination.jsx
│   │       │   │   ├── ManualClaim.jsx
│   │       │   │   └── NoHistory.jsx
│   │       │   ├── modals
│   │       │   │   ├── AddToMetamaskModal.jsx
│   │       │   │   ├── BridgeLoadingModal.jsx
│   │       │   │   ├── ClaimTokensModal.jsx
│   │       │   │   ├── ClaimTransferModal.jsx
│   │       │   │   ├── ConfirmTransferModal.jsx
│   │       │   │   ├── CustomTokenModal.jsx
│   │       │   │   ├── LoadingModal.jsx
│   │       │   │   ├── NeedsConfirmationModal.jsx
│   │       │   │   ├── SelectTokenModal.jsx
│   │       │   │   ├── TermsOfServiceModal.jsx
│   │       │   │   └── TokenSelectorModal.jsx
│   │       │   └── warnings
│   │       │       ├── AuspiciousGasWarning.jsx
│   │       │       ├── BinancePeggedAssetWarning.jsx
│   │       │       ├── DaiWarning.jsx
│   │       │       ├── GnosisSafeWarning.jsx
│   │       │       ├── GraphHealthWarning.jsx
│   │       │       ├── InflationaryTokenWarning.jsx
│   │       │       ├── MedianGasWarning.jsx
│   │       │       ├── NeedsTransactionsWarning.jsx
│   │       │       ├── RPCHealthWarning.jsx
│   │       │       ├── RebasingTokenWarning.jsx
│   │       │       └── ReverseWarning.jsx
│   │       ├── contexts
│   │       │   ├── BridgeContext.jsx
│   │       │   ├── SettingsContext.jsx
│   │       │   └── Web3Context.jsx
│   │       ├── hooks
│   │       │   ├── useApproval.js
│   │       │   ├── useBridgeDirection.js
│   │       │   ├── useClaimableTransfers.js
│   │       │   ├── useCopyToClipboard.js
│   │       │   ├── useFeeManager.js
│   │       │   ├── useGraphHealth.js
│   │       │   ├── useLocalState.js
│   │       │   ├── useManualClaim.js
│   │       │   ├── useMediatorInfo.js
│   │       │   ├── useRPCHealth.js
│   │       │   ├── useTotalConfirms.js
│   │       │   ├── useTransactionStatus.js
│   │       │   └── useUserHistory.js
│   │       ├── icons
│   │       │   ├── DownArrowIcon.jsx
│   │       │   ├── ErrorIcon.jsx
│   │       │   ├── GithubIcon.jsx
│   │       │   ├── HistoryIcon.jsx
│   │       │   ├── LeftIcon.jsx
│   │       │   ├── NetworkIcon.jsx
│   │       │   ├── OmniBridgeIcon.jsx
│   │       │   ├── PlusIcon.jsx
│   │       │   ├── RaidGuildIcon.jsx
│   │       │   ├── RightIcon.jsx
│   │       │   ├── SettingsIcon.jsx
│   │       │   ├── TelegramIcon.jsx
│   │       │   ├── TwitterIcon.jsx
│   │       │   ├── WalletFilledIcon.jsx
│   │       │   ├── WalletIcon.jsx
│   │       │   └── XDaiIcon.jsx
│   │       ├── index.jsx
│   │       ├── lib
│   │       │   ├── amb.js
│   │       │   ├── bridge.js
│   │       │   ├── constants.js
│   │       │   ├── ethPrice.js
│   │       │   ├── gasPrice.js
│   │       │   ├── graphHealth.js
│   │       │   ├── helpers.js
│   │       │   ├── history.js
│   │       │   ├── metamask.js
│   │       │   ├── networks.js
│   │       │   ├── overrides.js
│   │       │   ├── providers.js
│   │       │   ├── proxy.js
│   │       │   ├── token.js
│   │       │   └── tokenList.js
│   │       ├── pages
│   │       │   ├── History.jsx
│   │       │   └── Home.jsx
│   │       └── theme.js
│   └── subgraph
│       ├── config
│       │   ├── bsc-xdai.json
│       │   ├── kovan.json
│       │   ├── mainnet.json
│       │   ├── sokol.json
│       │   ├── xdai-bsc.json
│       │   └── xdai.json
│       ├── package.json
│       ├── schema.graphql
│       ├── src
│       │   ├── abis
│       │   │   ├── amb.json
│       │   │   ├── bridge.json
│       │   │   ├── omnibridge.json
│       │   │   └── token.json
│       │   └── mappings
│       │       ├── amb.ts
│       │       ├── bridge.ts
│       │       ├── helpers.ts
│       │       ├── omnibridge.ts
│       │       └── overrides.ts
│       └── subgraph.template.yaml
└── yarn.lock

Owing to this dependency on Yarn Workspaces, xdai-omnibridge can't be used with npm.

Available Scripts

In the project directory, you can run:

React App

yarn react-app:start

Runs the React app in development mode.
Open http://localhost:3000 to view it in the browser.

The page will automatically reload if you make changes to the code.
You will see the build errors and lint warnings in the console.

yarn react-app:test

Runs the React test watcher in an interactive mode.
By default, runs tests related to files changed since the last commit.

yarn react-app:build

Builds the React app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

Subgraph

yarn subgraph:auth

GRAPH_ACCESS_TOKEN=your-access-token-here yarn subgraph:auth

yarn subgraph:prepare-<network>

Generates subgraph.yaml for particular network. Supported networks are kovan, sokol, xdai and mainnet.

yarn subgraph:codegen

Generates AssemblyScript types for smart contract ABIs and the subgraph schema.

yarn subgraph:build

Compiles the subgraph to WebAssembly.

yarn subgraph:deploy-<network>

Deploys the subgraph for particular network to the official Graph Node.