diff --git a/.github/workflows/mstable-dev.yml b/.github/workflows/mstable-dev.yml deleted file mode 100644 index c0639cd2..00000000 --- a/.github/workflows/mstable-dev.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: mstable Dev - -on: - workflow_dispatch: - push: - branches: - - main - paths: - - 'apps/mstable/**' - - 'libs/mstable/**' - - 'libs/shared/**' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -env: - NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} - -jobs: - build_and_publish: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - name: Checkout [main] - with: - fetch-depth: 0 - - - uses: actions/setup-node@v3 - name: Setup node - with: - node-version: 20 - cache: 'yarn' - - - name: Install jq - run: | - sudo apt-get update - sudo apt-get install jq - - - run: yarn install --frozen-lockfile - name: Install dependencies - - - name: Build - env: - alchemyMain: ${{ secrets.ALCHEMY_FALLBACK_API_KEY }} - alchemyFallback: ${{ secrets.ALCHEMY_FALLBACK_API_KEY }} - walletConnectProjectId: ${{ secrets.WALLET_CONNECT_PROJECT_ID }} - run: NX_ALCHEMY_MAIN_API_KEY=$alchemyMain NX_ALCHEMY_FALLBACK_API_KEY=$alchemyFallback NX_WALLET_CONNECT_PROJECT_ID=$walletConnectProjectId yarn nx build mstable - - - name: Copy Firebase mStable to Firebase - run: cp firebase.mstable.json firebase.json - - - name: Firebase deploy - uses: FirebaseExtended/action-hosting-deploy@v0 - with: - repoToken: '${{ secrets.GITHUB_TOKEN }}' - firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_FRONTEND_7E17F }}' - expires: 30d - projectId: frontend-7e17f - channelId: dev diff --git a/.github/workflows/mstable-main.yml b/.github/workflows/mstable-main.yml deleted file mode 100644 index 2a70607c..00000000 --- a/.github/workflows/mstable-main.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: mstable Main - -on: - workflow_dispatch: - -env: - NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} - -jobs: - build_and_publish: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - name: Checkout [main] - with: - fetch-depth: 0 - - - uses: actions/setup-node@v3 - name: Setup node - with: - node-version: 20 - cache: 'yarn' - - - name: Install jq - run: | - sudo apt-get update - sudo apt-get install jq - - - run: yarn install --frozen-lockfile - name: Install dependencies - - - name: Build - env: - mainnet: ${{ secrets.NX_THE_GRAPH_MV_MAINNET_URL }} - goerli: ${{ secrets.NX_THE_GRAPH_MV_GOERLI_URL }} - alchemyMain: ${{ secrets.ALCHEMY_MAIN_API_KEY }} - alchemyFallback: ${{ secrets.ALCHEMY_FALLBACK_API_KEY }} - walletConnectProjectId: ${{ secrets.WALLET_CONNECT_PROJECT_ID }} - run: NX_THE_GRAPH_MV_MAINNET_URL=$mainnet NX_THE_GRAPH_MV_GOERLI_URL=$goerli NX_ALCHEMY_MAIN_API_KEY=$alchemyMain NX_ALCHEMY_FALLBACK_API_KEY=$alchemyFallback NX_WALLET_CONNECT_PROJECT_ID=$walletConnectProjectId yarn nx build mstable - - - name: Copy Firebase mStable to Firebase - run: cp firebase.mstable.json firebase.json - - - name: Firebase deploy - uses: FirebaseExtended/action-hosting-deploy@v0 - with: - repoToken: '${{ secrets.GITHUB_TOKEN }}' - firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_FRONTEND_7E17F }}' - projectId: frontend-7e17f - channelId: live diff --git a/.github/workflows/mstable-preview.yml b/.github/workflows/mstable-preview.yml deleted file mode 100644 index 911909e1..00000000 --- a/.github/workflows/mstable-preview.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: preview mStable - -on: - pull_request: - paths: - - 'apps/mstable/**' - - 'libs/mstable/**' - - 'libs/shared/**' - - 'package.json' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -env: - NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} - -jobs: - build_and_publish: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - name: Checkout - - - uses: actions/setup-node@v3 - name: Setup node - with: - node-version: 20 - cache: 'yarn' - - - name: webfactory/ssh-agent - uses: webfactory/ssh-agent@v0.8.0 - with: - 'ssh-private-key': '${{ secrets.SSH_PRIVATE_KEY }}' - - - name: Install jq - run: | - sudo apt-get update - sudo apt-get install jq - - - run: yarn install --frozen-lockfile - name: Install dependencies - - - name: Build - env: - alchemyMain: ${{ secrets.ALCHEMY_FALLBACK_API_KEY }} - alchemyFallback: ${{ secrets.ALCHEMY_FALLBACK_API_KEY }} - walletConnectProjectId: ${{ secrets.WALLET_CONNECT_PROJECT_ID }} - run: NX_ALCHEMY_MAIN_API_KEY=$alchemyMain NX_ALCHEMY_FALLBACK_API_KEY=$alchemyFallback NX_WALLET_CONNECT_PROJECT_ID=$walletConnectProjectId yarn nx build mstable - - - name: Copy Firebase mStable to Firebase - run: cp firebase.mstable.json firebase.json - - - name: Firebase deploy - uses: FirebaseExtended/action-hosting-deploy@v0 - with: - repoToken: '${{ secrets.GITHUB_TOKEN }}' - firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_FRONTEND_7E17F }}' - expires: 8d - projectId: frontend-7e17f diff --git a/.github/workflows/subgraph.yml b/.github/workflows/subgraph.yml deleted file mode 100644 index 58c964e3..00000000 --- a/.github/workflows/subgraph.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Deploy Meta Vault Subgraph - -on: - push: - branches: - - main - tags-ignore: - - "**" - paths: - - "libs/subgraph/config/**" - - "libs/subgraph/src/metavaults.template.ts" - - "libs/subgraph/schema.graphql" - - "libs/subgraph/subgraph.template" - -jobs: - build_and_publish: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - uses: actions/setup-node@v3 - with: - node-version: 16 - cache: "yarn" - - - name: Build and publish subgraph - env: - THE_GRAPH_API_KEY: ${{ secrets.THE_GRAPH_API_KEY }} - COMMIT_HASH: ${{ github.sha }} - run: | - yarn install - yarn run nx prepare subgraph --network=mainnet - yarn run nx build subgraph - yarn graph deploy --studio mstable-metavault -o ./libs/subgraph/build --deploy-key $THE_GRAPH_API_KEY --version-label $COMMIT_HASH ./libs/subgraph/subgraph.yaml - - - name: Discord notification - env: - DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} - COMMIT_HASH: ${{ github.sha }} - uses: Ilshidur/action-discord@0.3.2 - with: - args: "🤖 New Meta Vault subgraph **{{ COMMIT_HASH }}** 🚀 The Graph: https://thegraph.com/studio/subgraph/mstable-meta-vaults/" diff --git a/README.md b/README.md index 56a77fae..272320a7 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ The following table lists the mStable apps included in this repository | Status | Name | Nx project | Port | Public hosts | | :---: | :---------------- | :--------- | :--- | :------------------------------------------------------ | -| ✅ | Meta Vaults | `mstable` | 4200 | [Google Cloud](https://yield.mstable.org/) | +| ✅ | dHEDGE V1 Withdraw | `dhedge` | 4200 | [Firebase](https://dhedge-v1-withdraw.web.app/) | | ✅ | Long Term Support | `lts` | 4201 | [Google Cloud](https://withdraw.mstable.org/) | ## Quickstart @@ -29,14 +29,14 @@ If you encounter any issues during the installation process, please refer to the ### Running an app ```bash -yarn nx serve mstable +yarn nx serve dhedge yarn nx serve lts ``` ### Building an app ```bash -yarn nx run build mstable +yarn nx run build dhedge yarn nx run build lts ``` @@ -48,10 +48,6 @@ For detailed instructions and information on local development, please refer to If you would like to contribute to this repository, please refer to the [Contributing Guide](./docs/CONTRIBUTING.md). -## Subgraph - -To learn more about our Meta Vault Subgraph, please refer to the [Meta Vault Subgraph](./docs/SUBGRAPH.md). - ## Contact us If you have any questions or concerns, please join our [Discord server](https://discordapp.com/channels/525087739801239552/). diff --git a/apps/mstable/.babelrc b/apps/mstable/.babelrc deleted file mode 100644 index 61641ec8..00000000 --- a/apps/mstable/.babelrc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": [ - [ - "@nrwl/react/babel", - { - "runtime": "automatic" - } - ] - ], - "plugins": [] -} diff --git a/apps/mstable/.browserslistrc b/apps/mstable/.browserslistrc deleted file mode 100644 index f1d12df4..00000000 --- a/apps/mstable/.browserslistrc +++ /dev/null @@ -1,16 +0,0 @@ -# This file is used by: -# 1. autoprefixer to adjust CSS to support the below specified browsers -# 2. babel preset-env to adjust included polyfills -# -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries -# -# If you need to support different browsers in production, you may tweak the list below. - -last 1 Chrome version -last 1 Firefox version -last 2 Edge major versions -last 2 Safari major version -last 2 iOS major versions -Firefox ESR -not IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file diff --git a/apps/mstable/.eslintrc.json b/apps/mstable/.eslintrc.json deleted file mode 100644 index 734ddace..00000000 --- a/apps/mstable/.eslintrc.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], - "rules": {} - }, - { - "files": ["*.ts", "*.tsx"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "rules": {} - } - ] -} diff --git a/apps/mstable/i18n/en.json b/apps/mstable/i18n/en.json deleted file mode 100644 index 58f68faa..00000000 --- a/apps/mstable/i18n/en.json +++ /dev/null @@ -1,686 +0,0 @@ -{ - "8ywLSf": { - "defaultMessage": "Twitter" - }, - "Ew5cbe": { - "defaultMessage": "Flatcoin" - }, - "FvmV6q": { - "defaultMessage": "Discord" - }, - "SOievI": { - "defaultMessage": "Flatcoin app by dHEDGE" - }, - "Vn76qV": { - "defaultMessage": "Github" - }, - "6T7RIi": { - "defaultMessage": "BuyBack MTA" - }, - "GH3iro": { - "defaultMessage": "BuyBack mUSD" - }, - "PXAur5": { - "defaultMessage": "Withdraw" - }, - "ovJ26C": { - "defaultMessage": "Medium" - }, - "sy+pv5": { - "defaultMessage": "Email" - }, - "+k7bPd": { - "defaultMessage": "The selected network is not supported by this application." - }, - "1XVJUl": { - "defaultMessage": "Switch to {defaultChain}" - }, - "Bak2Yy": { - "defaultMessage": "Select from supported list" - }, - "DRXWXB": { - "defaultMessage": "404" - }, - "EhET/Q": { - "defaultMessage": "Yield app by mStable" - }, - "Ez6tQm": { - "defaultMessage": "Powered by dHEDGE" - }, - "PmkP1H": { - "defaultMessage": "Unsupported Network" - }, - "cyR7Kh": { - "defaultMessage": "Back" - }, - "+U6ozc": { - "defaultMessage": "Type" - }, - "/54G9d": { - "defaultMessage": "Approving Token" - }, - "0NMLMN": { - "defaultMessage": "My Position" - }, - "0OPmis": { - "defaultMessage": "Approve Position Close" - }, - "0fFawv": { - "defaultMessage": "Stable Position Value" - }, - "1uz/I3": { - "defaultMessage": "1M" - }, - "1v6yZm": { - "defaultMessage": "Announce Leverage Position Close" - }, - "3xhnWF": { - "defaultMessage": "You Spend" - }, - "6bJGds": { - "defaultMessage": "1W" - }, - "8lLHeh": { - "defaultMessage": "1Y" - }, - "90axO4": { - "defaultMessage": "Trade" - }, - "AA5h7P": { - "defaultMessage": "Performance" - }, - "AeA4mw": { - "defaultMessage": "Minimum Received" - }, - "AlCWDq": { - "defaultMessage": "Leveraged Positions" - }, - "CB1174": { - "defaultMessage": "Funding Rate" - }, - "DUR59o": { - "defaultMessage": "Total Value Locked" - }, - "Gh1Vm9": { - "defaultMessage": "You Receive" - }, - "Gtmi1D": { - "defaultMessage": "Set As Infinite" - }, - "IB0eky": { - "defaultMessage": "Annual percentage yield." - }, - "ImPhdW": { - "defaultMessage": "Order expires at" - }, - "LGv1C5": { - "defaultMessage": "Announced Orders" - }, - "MLTKb6": { - "defaultMessage": "APY" - }, - "MQ02gW": { - "defaultMessage": "Skew" - }, - "NpWjvV": { - "defaultMessage": "Trading" - }, - "PQiNnk": { - "defaultMessage": "Open Interest" - }, - "Px2xWV": { - "defaultMessage": "Open Position" - }, - "SKB/G9": { - "defaultMessage": "TVL" - }, - "Ty3dr6": { - "defaultMessage": "Entry Price" - }, - "WCaf5C": { - "defaultMessage": "Approve" - }, - "X/RW9w": { - "defaultMessage": "Slippage Tolerance" - }, - "XnpuKy": { - "defaultMessage": "Approve {symbol}" - }, - "aTX7LJ": { - "defaultMessage": "1D" - }, - "cg1VJ2": { - "defaultMessage": "Connect Wallet" - }, - "d21Els": { - "defaultMessage": "Execute" - }, - "dlRkGS": { - "defaultMessage": "Keeper fee" - }, - "ehxGBh": { - "defaultMessage": "Token Price" - }, - "inIeEz": { - "defaultMessage": "Margin Deposited" - }, - "k3YWIR": { - "defaultMessage": "Max slippage" - }, - "kaPKOB": { - "defaultMessage": "Insufficient balance" - }, - "n9CFUs": { - "defaultMessage": "Token Approval" - }, - "oNO7VY": { - "defaultMessage": "Flatcoin Withdraw" - }, - "pbpdV6": { - "defaultMessage": "Leverage" - }, - "qcHHVw": { - "defaultMessage": "Announce Leverage Position" - }, - "rbrahO": { - "defaultMessage": "Close" - }, - "rfzzi6": { - "defaultMessage": "Profit/Loss" - }, - "sjr65W": { - "defaultMessage": "Execute Order" - }, - "tw0ig8": { - "defaultMessage": "Executable at" - }, - "wfUbwI": { - "defaultMessage": "Flatcoin Deposit" - }, - "wqlXwW": { - "defaultMessage": "Wrong Network" - }, - "OWWJyo": { - "defaultMessage": "Your {symbol} tokens will be sent to the same {network} address you used." - }, - "XW7Rd1": { - "defaultMessage": "After redeeming your vault tokens from Ethereum, please wait while the bridge issues your {symbol} tokens." - }, - "j5iKZ9": { - "defaultMessage": "Burn your mUSD and receive" - }, - "20X0BC": { - "defaultMessage": "Transaction Cancelled" - }, - "4K2D1N": { - "defaultMessage": "Withdraw to stablecoins" - }, - "5WragJ": { - "defaultMessage": "Burn your MTA tokens to receive mStable Treasury Yield tokens" - }, - "5eoReb": { - "defaultMessage": "Burn MTA to receive {yield} vault tokens on Optimism at a value of {price} per MTA.

Here is the {roadmap} to help you make a better informed decision." - }, - "8cv9D4": { - "defaultMessage": "Next Step" - }, - "Au/yTc": { - "defaultMessage": "MTA Buyback" - }, - "CuTvKy": { - "defaultMessage": "Swap on Velodrome" - }, - "ENufDd": { - "defaultMessage": "MTA" - }, - "K1NWSN": { - "defaultMessage": "Price is more favorable on Velodrome" - }, - "NnFu82": { - "defaultMessage": "Withdraw your mStable Treasury Yield tokens to stables" - }, - "URTaZg": { - "defaultMessage": "If you burned MTA from Ethereum, please wait while the bridge issues your MTy tokens." - }, - "WZwD4F": { - "defaultMessage": "Burn MTA and receive MTy on Optimism" - }, - "a42kxt": { - "defaultMessage": "Your mStable Treasury Yield tokens are earning yield and you can hold on to them.

Optionally you can go to dHEDGE app to withdraw your MTy tokens to stablecoins." - }, - "d7AHfy": { - "defaultMessage": "Burn your MTA and receive stablecoins" - }, - "iD4mN7": { - "defaultMessage": "mStable roadmap" - }, - "p8bsw4": { - "defaultMessage": "Transaction Error" - }, - "rgdwQX": { - "defaultMessage": "Transaction Confirmed" - }, - "sUIPLS": { - "defaultMessage": "Burn" - }, - "v1vY2k": { - "defaultMessage": "Exchange rate {price} USD per MTA. This is the floor price for the MTA token, backed by the mStable Treasury Yield.

If burning MTA from Ethereum, it may take a few minutes to be issued yield tokens on Optimism." - }, - "vclhrb": { - "defaultMessage": "Balance: {balance}" - }, - "w1LBDB": { - "defaultMessage": "Sign Transaction" - }, - "wAUtNd": { - "defaultMessage": "Total Burned" - }, - "xfMpIF": { - "defaultMessage": "Withdraw to stables" - }, - "yNEh8X": { - "defaultMessage": "mStable Treasury Yield" - }, - "5ObBlW": { - "defaultMessage": "Dark Mode" - }, - "mQHAsW": { - "defaultMessage": "Slippage" - }, - "mqpAbT": { - "defaultMessage": "Show Empty" - }, - "yuiyES": { - "defaultMessage": "General Settings" - }, - "/b/fRE": { - "defaultMessage": "mStable Withdraw" - }, - "47FYwb": { - "defaultMessage": "Cancel" - }, - "8q2nwN": { - "defaultMessage": "mAssets" - }, - "R0V7vk": { - "defaultMessage": "This app simplifies the process of exiting all mStable products and positions.

By connecting your wallet, you can easily access your remaining balances and initiate the withdrawal process." - }, - "SRo6uF": { - "defaultMessage": "Meta Vaults" - }, - "U6qGuO": { - "defaultMessage": "Position" - }, - "XSdWHA": { - "defaultMessage": "Redeem" - }, - "Zab6JA": { - "defaultMessage": "Withdraw Cost" - }, - "aBbsWU": { - "defaultMessage": "Connect your wallet to easily access your remaining balances and initiate the withdrawal process." - }, - "bAqUW1": { - "defaultMessage": "Withdrawing" - }, - "bnF8kf": { - "defaultMessage": "Current Base Fee" - }, - "cA+gxG": { - "defaultMessage": "Legacy Pools" - }, - "djdjSw": { - "defaultMessage": "Exit {name}" - }, - "hPs6J+": { - "defaultMessage": "Exit Position" - }, - "hesDHZ": { - "defaultMessage": "{fee} GWEI" - }, - "hk3oTU": { - "defaultMessage": "{gtBal, plural, =0 {No Balance} =1 {# Item} other {# Items}}" - }, - "jvo0vs": { - "defaultMessage": "Save" - }, - "rSsD3z": { - "defaultMessage": "Switch Network" - }, - "s2zphO": { - "defaultMessage": "Vaults" - }, - "sLLUMv": { - "defaultMessage": "Switch your wallet to {name} to use this contract." - }, - "sk4xVe": { - "defaultMessage": "Feeder Pools" - }, - "vsI1HY": { - "defaultMessage": "Redeem Vault" - }, - "yzP6XU": { - "defaultMessage": "MTA Governance" - }, - "zS899f": { - "defaultMessage": "Allow {slippage} of slippage" - }, - "7JlauX": { - "defaultMessage": "Explore" - }, - "7ynb1z": { - "defaultMessage": "{value} GWEI" - }, - "Am173P": { - "defaultMessage": "The current price of 1 token. Return is represented as an increase in token price value." - }, - "Do29Mx": { - "defaultMessage": "P&L" - }, - "H5+NAX": { - "defaultMessage": "Balance" - }, - "Imiiiv": { - "defaultMessage": "No Data Available" - }, - "LAazWH": { - "defaultMessage": "Account token balance" - }, - "LiHQih": { - "defaultMessage": "Coming Soon" - }, - "P1xtEU": { - "defaultMessage": "Earn diversified yield across DeFi." - }, - "P8Xs51": { - "defaultMessage": "ROI" - }, - "PxG1Yq": { - "defaultMessage": "Total Value Locked in vault" - }, - "ULHfQE": { - "defaultMessage": "The current price of 1 share. Return is represented as a increase in share price value." - }, - "WKCp0D": { - "defaultMessage": "Asset" - }, - "YC/ZXg": { - "defaultMessage": "Share price" - }, - "YZUa24": { - "defaultMessage": "Earn optimized, automated, and diversified yield across DeFi." - }, - "g6UhRO": { - "defaultMessage": "Vault name" - }, - "qNhf66": { - "defaultMessage": "Perf" - }, - "yFvqzw": { - "defaultMessage": "Meta Harvester" - }, - "zFNxtv": { - "defaultMessage": "Protocols" - }, - "zKtTJT": { - "defaultMessage": "Return on investment since Vault inception." - }, - "/r/mPc": { - "defaultMessage": "Sending order to your wallet" - }, - "0/F4cj": { - "defaultMessage": "The {symbol} Vault charges a {fee} exit fee." - }, - "1vtEYS": { - "defaultMessage": "Flexible min slippage value that is likely enough to process the transaction." - }, - "2Dq322": { - "defaultMessage": "You can sell your {symbol} tokens in {cooldownEndsInTime}" - }, - "2fed1y": { - "defaultMessage": "A deposit into a vault requires an approval transaction.



Set as infinite to avoid approving multiple times and save gas on subsequent deposits.



Deactiviting is safer, but would require approval on every subsequent deposit and hence results in higher gas cost." - }, - "42xcXv": { - "defaultMessage": "Ensure that you understand the risks associated with high slippage and are comfortable proceeding with the trade." - }, - "47GkyG": { - "defaultMessage": "Minimum deposit is ${minDepositUSD}" - }, - "4cX/rf": { - "defaultMessage": "Management Fee" - }, - "5gorcB": { - "defaultMessage": "Minimum received" - }, - "9AgXoz": { - "defaultMessage": "Sell" - }, - "9RAHhM": { - "defaultMessage": "Strategy & Risks" - }, - "Ar5obI": { - "defaultMessage": "No balance" - }, - "C9fFq/": { - "defaultMessage": "We recommend 1%, but usually it will be < 1%." - }, - "EnCOBJ": { - "defaultMessage": "Buy" - }, - "FGu/VK": { - "defaultMessage": "The following strategy pipeline is used in {symbol}" - }, - "HOsSgX": { - "defaultMessage": "More info" - }, - "IBFkFM": { - "defaultMessage": "You {operation}" - }, - "LDz7xI": { - "defaultMessage": "Assets that are used by this vault." - }, - "MMvFMz": { - "defaultMessage": "{symbol} token is no longer active. Please withdraw from them." - }, - "MqZGhr": { - "defaultMessage": "Vault Performance" - }, - "ObjU4O": { - "defaultMessage": "Mining" - }, - "Pk6qK4": { - "defaultMessage": "Fees that are charged by this vault." - }, - "S0seuN": { - "defaultMessage": "Recommended min slippage" - }, - "TL3yAY": { - "defaultMessage": "Position Value" - }, - "VyTtUL": { - "defaultMessage": "The {symbol} Vault charges a {fee} entry fee." - }, - "X/I7ge": { - "defaultMessage": "You will receive no less than this amount." - }, - "b1gVRq": { - "defaultMessage": "Minimum deposit in USD." - }, - "d1uESJ": { - "defaultMessage": "Assets" - }, - "eTGEXC": { - "defaultMessage": "Approve {slippage}% max slippage" - }, - "fJjSsb": { - "defaultMessage": "Performance Fee" - }, - "fhnmhR": { - "defaultMessage": "Vault strategy pipeline." - }, - "hAz8Yo": { - "defaultMessage": "$" - }, - "i0ofjL": { - "defaultMessage": "Entry fee" - }, - "in6iXe": { - "defaultMessage": "Deposit/Withdraw" - }, - "kZcqo0": { - "defaultMessage": "%" - }, - "korbaG": { - "defaultMessage": "The following assets are used in this strategy and therefore are exposed (partially) to their risk:" - }, - "le9cwx": { - "defaultMessage": "Exit Fee" - }, - "lubHZr": { - "defaultMessage": "Setting up transaction" - }, - "obSWjR": { - "defaultMessage": "Please switch your wallet network to {name} to interact with {symbol} vault." - }, - "pWv8jk": { - "defaultMessage": "Entry Fee" - }, - "pwg4Vp": { - "defaultMessage": "Analytics on dHEDGE" - }, - "qZbedW": { - "defaultMessage": "Fees" - }, - "qzgBwU": { - "defaultMessage": "The {symbol} Vault charges a {fee} performance upon underlying asset appreciation." - }, - "r2pety": { - "defaultMessage": "Please consider the following before confirming:" - }, - "sHyaBT": { - "defaultMessage": "This pool is currently private." - }, - "t3IytM": { - "defaultMessage": "Minimum deposit" - }, - "tivZoE": { - "defaultMessage": "The {symbol} Vault charges a {fee} management fee." - }, - "uBC8fe": { - "defaultMessage": "Entry fees are collected during deposit. The entry fee is distributed to all token holders to pay for rebalancing costs after new deposits." - }, - "x8vY9w": { - "defaultMessage": "Not Connected" - }, - "xrKHS6": { - "defaultMessage": "Success" - }, - "yL//gV": { - "defaultMessage": "Be aware that the final amount of assets you receive may be different from the initially quoted value." - }, - "yap3X0": { - "defaultMessage": "When the \"Auto\" option is selected, the app tests various slippage ranges by starting with lower values and gradually increasing until it reaches a point where the transaction is likely to succeed.

Alternatively, a custom slippage value can be set, but it is recommended to keep it within the range of 1-2%." - }, - "zGHadw": { - "defaultMessage": "Strategy" - }, - "7CAm2s": { - "defaultMessage": "mStable is a protocol for yield aggregation and diversification." - }, - "LMK5Bl": { - "defaultMessage": "The Uniswap Protocol is an open-source protocol for providing liquidity and trading ERC20 tokens on Ethereum." - }, - "ePxmfo": { - "defaultMessage": "Aave is a decentralised non-custodial liquidity market protocol where users can participate as depositors or borrowers." - }, - "meocUp": { - "defaultMessage": "Convex is a platform that boosts rewards for CRV stakers and liquidity providers alike, all in a simple and easy to use interface." - }, - "vS/YSY": { - "defaultMessage": "Curve is an exchange liquidity pool on Ethereum designed for: extremely efficient stablecoin trading, low risk, supplemental fee income for liquidity providers, without an opportunity cost." - }, - "+vVZ/G": { - "defaultMessage": "Connect" - }, - "6GZbSi": { - "defaultMessage": "The selected network is not supported by the application." - }, - "X0zKZO": { - "defaultMessage": "Connected User" - }, - "qj1uhz": { - "defaultMessage": "Disconnect" - }, - "+6JrYn": { - "defaultMessage": "Make sure your wallet is on Ethereum Mainnet network." - }, - "/p1GSi": { - "defaultMessage": "Check connectivity" - }, - "2zD+V+": { - "defaultMessage": "Wrong network selected" - }, - "5Jlmp5": { - "defaultMessage": "The contracts will always remain live and allow for withdrawals. However, it is recommended to withdraw remaining assets from the contracts since value accrual has been disabled." - }, - "6OuLVd": { - "defaultMessage": "Tips" - }, - "6z2ptx": { - "defaultMessage": "Want to use a testnet?" - }, - "8XZjyW": { - "defaultMessage": "There was an error while loading this component, you can try to reload." - }, - "9ghOJK": { - "defaultMessage": "Unhandled Error!" - }, - "9lt7g1": { - "defaultMessage": "Discord support channel" - }, - "EobEOB": { - "defaultMessage": "Please confirm to proceed" - }, - "IdL95F": { - "defaultMessage": "Make sure you are on the right URL." - }, - "MSTVqC": { - "defaultMessage": "Reload Page" - }, - "N2IrpM": { - "defaultMessage": "Confirm" - }, - "PWrOlv": { - "defaultMessage": "mStable has been acquired by dHEDGE. Following the outlined acquisition update, certain mStable products will be sunset." - }, - "RnacAD": { - "defaultMessage": "Make sure your internet connection is working." - }, - "STj9QY": { - "defaultMessage": "Oops, something went wrong." - }, - "UkXeBW": { - "defaultMessage": "If the problem persists, you can contact us through our {support}." - }, - "UlMgTq": { - "defaultMessage": "If the problem persists, contact us on our {support}." - }, - "W87PYU": { - "defaultMessage": "View on {name}" - }, - "XYEIBG": { - "defaultMessage": "App supports Goerli Testnet." - }, - "YP4aoM": { - "defaultMessage": "Read the Announcement" - }, - "p556q3": { - "defaultMessage": "Copied" - }, - "smAgyB": { - "defaultMessage": "Share on" - }, - "y1NA43": { - "defaultMessage": "Check URL" - } -} diff --git a/apps/mstable/index.html b/apps/mstable/index.html deleted file mode 100644 index 02bfa859..00000000 --- a/apps/mstable/index.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - mStable - - - - - - - - - - - - - - - - - - -
- - - diff --git a/apps/mstable/project.json b/apps/mstable/project.json deleted file mode 100644 index 3e7cf1af..00000000 --- a/apps/mstable/project.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "name": "mstable", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "apps/mstable/src", - "projectType": "application", - "targets": { - "build": { - "executor": "@nrwl/vite:build", - "outputs": ["{options.outputPath}"], - "defaultConfiguration": "production", - "dependsOn": ["^build", "i18n-compile"], - "options": { - "outputPath": "dist/apps/mstable" - }, - "configurations": { - "development": { - "extractLicenses": false, - "optimization": false, - "sourceMap": true, - "vendorChunk": true - }, - "production": { - "fileReplacements": [ - { - "replace": "apps/mstable/src/environments/environment.ts", - "with": "apps/mstable/src/environments/environment.prod.ts" - } - ], - "optimization": true, - "outputHashing": "all", - "sourceMap": false, - "namedChunks": false, - "extractLicenses": true, - "vendorChunk": false - } - } - }, - "serve": { - "executor": "@nrwl/vite:dev-server", - "defaultConfiguration": "development", - "options": { - "buildTarget": "mstable:build" - }, - "configurations": { - "development": { - "buildTarget": "mstable:build:development", - "hmr": true - }, - "production": { - "buildTarget": "mstable:build:production", - "hmr": false - } - } - }, - "preview": { - "executor": "@nrwl/vite:preview-server", - "defaultConfiguration": "development", - "options": { - "buildTarget": "mstable:build" - }, - "configurations": { - "development": { - "buildTarget": "mstable:build:development" - }, - "production": { - "buildTarget": "mstable:build:production" - } - } - }, - "lint": { - "executor": "@nrwl/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["apps/mstable/**/*.{ts,tsx,js,jsx}"] - } - }, - "deploy": { - "executor": "nx:run-commands", - "dependsOn": ["build"], - "options": { - "commands": [ - "yarn firebase use mstable", - "yarn firebase deploy -c ./firebase.mstable.json --only hosting" - ], - "parallel": false - } - }, - "deploy:dev": { - "executor": "nx:run-commands", - "dependsOn": ["build"], - "options": { - "commands": [ - "yarn firebase use mstable", - "yarn firebase hosting:channel:deploy dev -c ./firebase.mstable.json --expires 7d" - ], - "parallel": false - } - }, - "i18n-extract": { - "executor": "nx:run-commands", - "options": { - "commands": [ - "yarn run formatjs extract 'apps/mstable/src/**/*.{ts,tsx}' --out-file i18n-extractions/apps-mstable.json --id-interpolation-pattern '[sha512:contenthash:base64:6]'" - ] - } - }, - "i18n-compile": { - "executor": "nx:run-commands", - "dependsOn": ["i18n-extract", "^i18n-extract"], - "options": { - "commands": [ - "jq -rs 'reduce .[] as $item ({}; . * $item)' i18n-extractions/* > apps/mstable/i18n/en.json", - "yarn run formatjs compile apps/mstable/i18n/en.json --ast --out-file apps/mstable/src/assets/lang/en.json", - "yarn run nx format:write --files apps/mstable/src/assets/lang/en.json" - ], - "parallel": false - } - } - }, - "tags": ["mstable"] -} diff --git a/apps/mstable/public/favicon.ico b/apps/mstable/public/favicon.ico deleted file mode 100644 index 57243a58..00000000 Binary files a/apps/mstable/public/favicon.ico and /dev/null differ diff --git a/apps/mstable/public/ipfs-404.html b/apps/mstable/public/ipfs-404.html deleted file mode 100644 index a26dbb24..00000000 --- a/apps/mstable/public/ipfs-404.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - mStable - - - diff --git a/apps/mstable/public/robots.txt b/apps/mstable/public/robots.txt deleted file mode 100644 index e9e57dc4..00000000 --- a/apps/mstable/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/apps/mstable/src/assets/lang/en.json b/apps/mstable/src/assets/lang/en.json deleted file mode 100644 index 2f918d79..00000000 --- a/apps/mstable/src/assets/lang/en.json +++ /dev/null @@ -1,1765 +0,0 @@ -{ - "+6JrYn": [ - { - "type": 0, - "value": "Make sure your wallet is on Ethereum Mainnet network." - } - ], - "+U6ozc": [ - { - "type": 0, - "value": "Type" - } - ], - "+k7bPd": [ - { - "type": 0, - "value": "The selected network is not supported by this application." - } - ], - "+vVZ/G": [ - { - "type": 0, - "value": "Connect" - } - ], - "/54G9d": [ - { - "type": 0, - "value": "Approving Token" - } - ], - "/b/fRE": [ - { - "type": 0, - "value": "mStable Withdraw" - } - ], - "/p1GSi": [ - { - "type": 0, - "value": "Check connectivity" - } - ], - "/r/mPc": [ - { - "type": 0, - "value": "Sending order to your wallet" - } - ], - "0/F4cj": [ - { - "type": 0, - "value": "The " - }, - { - "type": 1, - "value": "symbol" - }, - { - "type": 0, - "value": " Vault charges a " - }, - { - "type": 1, - "value": "fee" - }, - { - "type": 0, - "value": " exit fee." - } - ], - "0NMLMN": [ - { - "type": 0, - "value": "My Position" - } - ], - "0OPmis": [ - { - "type": 0, - "value": "Approve Position Close" - } - ], - "0fFawv": [ - { - "type": 0, - "value": "Stable Position Value" - } - ], - "1XVJUl": [ - { - "type": 0, - "value": "Switch to " - }, - { - "type": 1, - "value": "defaultChain" - } - ], - "1uz/I3": [ - { - "type": 0, - "value": "1M" - } - ], - "1v6yZm": [ - { - "type": 0, - "value": "Announce Leverage Position Close" - } - ], - "1vtEYS": [ - { - "type": 0, - "value": "Flexible min slippage value that is likely enough to process the transaction." - } - ], - "20X0BC": [ - { - "type": 0, - "value": "Transaction Cancelled" - } - ], - "2Dq322": [ - { - "type": 0, - "value": "You can sell your " - }, - { - "type": 1, - "value": "symbol" - }, - { - "type": 0, - "value": " tokens in " - }, - { - "type": 1, - "value": "cooldownEndsInTime" - } - ], - "2fed1y": [ - { - "type": 0, - "value": "A deposit into a vault requires an approval transaction." - }, - { - "children": [], - "type": 8, - "value": "br" - }, - { - "children": [], - "type": 8, - "value": "br" - }, - { - "type": 0, - "value": "Set as infinite to avoid approving multiple times and save gas on subsequent deposits." - }, - { - "children": [], - "type": 8, - "value": "br" - }, - { - "children": [], - "type": 8, - "value": "br" - }, - { - "type": 0, - "value": "Deactiviting is safer, but would require approval on every subsequent deposit and hence results in higher gas cost." - } - ], - "2zD+V+": [ - { - "type": 0, - "value": "Wrong network selected" - } - ], - "3xhnWF": [ - { - "type": 0, - "value": "You Spend" - } - ], - "42xcXv": [ - { - "type": 0, - "value": "Ensure that you understand the risks associated with high slippage and are comfortable proceeding with the trade." - } - ], - "47FYwb": [ - { - "type": 0, - "value": "Cancel" - } - ], - "47GkyG": [ - { - "type": 0, - "value": "Minimum deposit is $" - }, - { - "type": 1, - "value": "minDepositUSD" - } - ], - "4K2D1N": [ - { - "type": 0, - "value": "Withdraw to stablecoins" - } - ], - "4cX/rf": [ - { - "type": 0, - "value": "Management Fee" - } - ], - "5Jlmp5": [ - { - "type": 0, - "value": "The contracts will always remain live and allow for withdrawals. However, it is recommended to withdraw remaining assets from the contracts since value accrual has been disabled." - } - ], - "5ObBlW": [ - { - "type": 0, - "value": "Dark Mode" - } - ], - "5WragJ": [ - { - "type": 0, - "value": "Burn your MTA tokens to receive mStable Treasury Yield tokens" - } - ], - "5eoReb": [ - { - "type": 0, - "value": "Burn MTA to receive " - }, - { - "type": 1, - "value": "yield" - }, - { - "type": 0, - "value": " vault tokens on Optimism at a value of " - }, - { - "children": [ - { - "type": 1, - "value": "price" - } - ], - "type": 8, - "value": "b" - }, - { - "type": 0, - "value": " per MTA." - }, - { - "children": [], - "type": 8, - "value": "br" - }, - { - "type": 0, - "value": "Here is the " - }, - { - "type": 1, - "value": "roadmap" - }, - { - "type": 0, - "value": " to help you make a better informed decision." - } - ], - "5gorcB": [ - { - "type": 0, - "value": "Minimum received" - } - ], - "6GZbSi": [ - { - "type": 0, - "value": "The selected network is not supported by the application." - } - ], - "6OuLVd": [ - { - "type": 0, - "value": "Tips" - } - ], - "6T7RIi": [ - { - "type": 0, - "value": "BuyBack MTA" - } - ], - "6bJGds": [ - { - "type": 0, - "value": "1W" - } - ], - "6z2ptx": [ - { - "type": 0, - "value": "Want to use a testnet?" - } - ], - "7CAm2s": [ - { - "type": 0, - "value": "mStable is a protocol for yield aggregation and diversification." - } - ], - "7JlauX": [ - { - "type": 0, - "value": "Explore" - } - ], - "7ynb1z": [ - { - "type": 1, - "value": "value" - }, - { - "type": 0, - "value": " GWEI" - } - ], - "8XZjyW": [ - { - "type": 0, - "value": "There was an error while loading this component, you can try to reload." - } - ], - "8cv9D4": [ - { - "type": 0, - "value": "Next Step" - } - ], - "8lLHeh": [ - { - "type": 0, - "value": "1Y" - } - ], - "8q2nwN": [ - { - "type": 0, - "value": "mAssets" - } - ], - "8ywLSf": [ - { - "type": 0, - "value": "Twitter" - } - ], - "90axO4": [ - { - "type": 0, - "value": "Trade" - } - ], - "9AgXoz": [ - { - "type": 0, - "value": "Sell" - } - ], - "9RAHhM": [ - { - "type": 0, - "value": "Strategy & Risks" - } - ], - "9ghOJK": [ - { - "type": 0, - "value": "Unhandled Error!" - } - ], - "9lt7g1": [ - { - "type": 0, - "value": "Discord support channel" - } - ], - "AA5h7P": [ - { - "type": 0, - "value": "Performance" - } - ], - "AeA4mw": [ - { - "type": 0, - "value": "Minimum Received" - } - ], - "AlCWDq": [ - { - "type": 0, - "value": "Leveraged Positions" - } - ], - "Am173P": [ - { - "type": 0, - "value": "The current price of 1 token. Return is represented as an increase in token price value." - } - ], - "Ar5obI": [ - { - "type": 0, - "value": "No balance" - } - ], - "Au/yTc": [ - { - "type": 0, - "value": "MTA Buyback" - } - ], - "Bak2Yy": [ - { - "type": 0, - "value": "Select from supported list" - } - ], - "C9fFq/": [ - { - "type": 0, - "value": "We recommend 1%, but usually it will be < 1%." - } - ], - "CB1174": [ - { - "type": 0, - "value": "Funding Rate" - } - ], - "CuTvKy": [ - { - "type": 0, - "value": "Swap on Velodrome" - } - ], - "DRXWXB": [ - { - "type": 0, - "value": "404" - } - ], - "DUR59o": [ - { - "type": 0, - "value": "Total Value Locked" - } - ], - "Do29Mx": [ - { - "type": 0, - "value": "P&L" - } - ], - "ENufDd": [ - { - "type": 0, - "value": "MTA" - } - ], - "EhET/Q": [ - { - "children": [ - { - "type": 0, - "value": "Yield app" - } - ], - "type": 8, - "value": "strong" - }, - { - "type": 0, - "value": " by mStable" - } - ], - "EnCOBJ": [ - { - "type": 0, - "value": "Buy" - } - ], - "EobEOB": [ - { - "type": 0, - "value": "Please confirm to proceed" - } - ], - "Ew5cbe": [ - { - "type": 0, - "value": "Flatcoin" - } - ], - "Ez6tQm": [ - { - "type": 0, - "value": "Powered by " - }, - { - "children": [ - { - "type": 0, - "value": "dHEDGE" - } - ], - "type": 8, - "value": "strong" - } - ], - "FGu/VK": [ - { - "type": 0, - "value": "The following strategy pipeline is used in " - }, - { - "type": 1, - "value": "symbol" - } - ], - "FvmV6q": [ - { - "type": 0, - "value": "Discord" - } - ], - "GH3iro": [ - { - "type": 0, - "value": "BuyBack mUSD" - } - ], - "Gh1Vm9": [ - { - "type": 0, - "value": "You Receive" - } - ], - "Gtmi1D": [ - { - "type": 0, - "value": "Set As Infinite" - } - ], - "H5+NAX": [ - { - "type": 0, - "value": "Balance" - } - ], - "HOsSgX": [ - { - "type": 0, - "value": "More info" - } - ], - "IB0eky": [ - { - "type": 0, - "value": "Annual percentage yield." - } - ], - "IBFkFM": [ - { - "type": 0, - "value": "You " - }, - { - "type": 1, - "value": "operation" - } - ], - "IdL95F": [ - { - "type": 0, - "value": "Make sure you are on the right URL." - } - ], - "ImPhdW": [ - { - "type": 0, - "value": "Order expires at" - } - ], - "Imiiiv": [ - { - "type": 0, - "value": "No Data Available" - } - ], - "K1NWSN": [ - { - "type": 0, - "value": "Price is more favorable on Velodrome" - } - ], - "LAazWH": [ - { - "type": 0, - "value": "Account token balance" - } - ], - "LDz7xI": [ - { - "type": 0, - "value": "Assets that are used by this vault." - } - ], - "LGv1C5": [ - { - "type": 0, - "value": "Announced Orders" - } - ], - "LMK5Bl": [ - { - "type": 0, - "value": "The Uniswap Protocol is an open-source protocol for providing liquidity and trading ERC20 tokens on Ethereum." - } - ], - "LiHQih": [ - { - "type": 0, - "value": "Coming Soon" - } - ], - "MLTKb6": [ - { - "type": 0, - "value": "APY" - } - ], - "MMvFMz": [ - { - "type": 1, - "value": "symbol" - }, - { - "type": 0, - "value": " token is no longer active. Please withdraw from them." - } - ], - "MQ02gW": [ - { - "type": 0, - "value": "Skew" - } - ], - "MSTVqC": [ - { - "type": 0, - "value": "Reload Page" - } - ], - "MqZGhr": [ - { - "type": 0, - "value": "Vault Performance" - } - ], - "N2IrpM": [ - { - "type": 0, - "value": "Confirm" - } - ], - "NnFu82": [ - { - "type": 0, - "value": "Withdraw your mStable Treasury Yield tokens to stables" - } - ], - "NpWjvV": [ - { - "type": 0, - "value": "Trading" - } - ], - "OWWJyo": [ - { - "type": 0, - "value": "Your " - }, - { - "type": 1, - "value": "symbol" - }, - { - "type": 0, - "value": " tokens will be sent to the same " - }, - { - "type": 1, - "value": "network" - }, - { - "type": 0, - "value": " address you used." - } - ], - "ObjU4O": [ - { - "type": 0, - "value": "Mining" - } - ], - "P1xtEU": [ - { - "type": 0, - "value": "Earn diversified yield across DeFi." - } - ], - "P8Xs51": [ - { - "type": 0, - "value": "ROI" - } - ], - "PQiNnk": [ - { - "type": 0, - "value": "Open Interest" - } - ], - "PWrOlv": [ - { - "type": 0, - "value": "mStable has been acquired by dHEDGE. Following the outlined acquisition update, certain mStable products will be sunset." - } - ], - "PXAur5": [ - { - "type": 0, - "value": "Withdraw" - } - ], - "Pk6qK4": [ - { - "type": 0, - "value": "Fees that are charged by this vault." - } - ], - "PmkP1H": [ - { - "type": 0, - "value": "Unsupported Network" - } - ], - "Px2xWV": [ - { - "type": 0, - "value": "Open Position" - } - ], - "PxG1Yq": [ - { - "type": 0, - "value": "Total Value Locked in vault" - } - ], - "R0V7vk": [ - { - "type": 0, - "value": "This app simplifies the process of exiting all mStable products and positions." - }, - { - "children": [], - "type": 8, - "value": "br" - }, - { - "type": 0, - "value": "By connecting your wallet, you can easily access your remaining balances and initiate the withdrawal process." - } - ], - "RnacAD": [ - { - "type": 0, - "value": "Make sure your internet connection is working." - } - ], - "S0seuN": [ - { - "type": 0, - "value": "Recommended min slippage" - } - ], - "SKB/G9": [ - { - "type": 0, - "value": "TVL" - } - ], - "SOievI": [ - { - "children": [ - { - "type": 0, - "value": "Flatcoin app" - } - ], - "type": 8, - "value": "strong" - }, - { - "type": 0, - "value": " by dHEDGE" - } - ], - "SRo6uF": [ - { - "type": 0, - "value": "Meta Vaults" - } - ], - "STj9QY": [ - { - "type": 0, - "value": "Oops, something went wrong." - } - ], - "TL3yAY": [ - { - "type": 0, - "value": "Position Value" - } - ], - "Ty3dr6": [ - { - "type": 0, - "value": "Entry Price" - } - ], - "U6qGuO": [ - { - "type": 0, - "value": "Position" - } - ], - "ULHfQE": [ - { - "type": 0, - "value": "The current price of 1 share. Return is represented as a increase in share price value." - } - ], - "URTaZg": [ - { - "type": 0, - "value": "If you burned MTA from Ethereum, please wait while the bridge issues your MTy tokens." - } - ], - "UkXeBW": [ - { - "type": 0, - "value": "If the problem persists, you can contact us through our " - }, - { - "type": 1, - "value": "support" - }, - { - "type": 0, - "value": "." - } - ], - "UlMgTq": [ - { - "type": 0, - "value": "If the problem persists, contact us on our " - }, - { - "type": 1, - "value": "support" - }, - { - "type": 0, - "value": "." - } - ], - "Vn76qV": [ - { - "type": 0, - "value": "Github" - } - ], - "VyTtUL": [ - { - "type": 0, - "value": "The " - }, - { - "type": 1, - "value": "symbol" - }, - { - "type": 0, - "value": " Vault charges a " - }, - { - "type": 1, - "value": "fee" - }, - { - "type": 0, - "value": " entry fee." - } - ], - "W87PYU": [ - { - "type": 0, - "value": "View on " - }, - { - "type": 1, - "value": "name" - } - ], - "WCaf5C": [ - { - "type": 0, - "value": "Approve" - } - ], - "WKCp0D": [ - { - "type": 0, - "value": "Asset" - } - ], - "WZwD4F": [ - { - "type": 0, - "value": "Burn MTA and receive MTy on Optimism" - } - ], - "X/I7ge": [ - { - "type": 0, - "value": "You will receive no less than this amount." - } - ], - "X/RW9w": [ - { - "type": 0, - "value": "Slippage Tolerance" - } - ], - "X0zKZO": [ - { - "type": 0, - "value": "Connected User" - } - ], - "XSdWHA": [ - { - "type": 0, - "value": "Redeem" - } - ], - "XW7Rd1": [ - { - "type": 0, - "value": "After redeeming your vault tokens from Ethereum, please wait while the bridge issues your " - }, - { - "type": 1, - "value": "symbol" - }, - { - "type": 0, - "value": " tokens." - } - ], - "XYEIBG": [ - { - "type": 0, - "value": "App supports Goerli Testnet." - } - ], - "XnpuKy": [ - { - "type": 0, - "value": "Approve " - }, - { - "type": 1, - "value": "symbol" - } - ], - "YC/ZXg": [ - { - "type": 0, - "value": "Share price" - } - ], - "YP4aoM": [ - { - "type": 0, - "value": "Read the Announcement" - } - ], - "YZUa24": [ - { - "type": 0, - "value": "Earn optimized, automated, and diversified yield across DeFi." - } - ], - "Zab6JA": [ - { - "type": 0, - "value": "Withdraw Cost" - } - ], - "a42kxt": [ - { - "type": 0, - "value": "Your mStable Treasury Yield tokens are earning yield and you can hold on to them." - }, - { - "children": [], - "type": 8, - "value": "br" - }, - { - "type": 0, - "value": "Optionally you can go to dHEDGE app to withdraw your MTy tokens to stablecoins." - } - ], - "aBbsWU": [ - { - "type": 0, - "value": "Connect your wallet to easily access your remaining balances and initiate the withdrawal process." - } - ], - "aTX7LJ": [ - { - "type": 0, - "value": "1D" - } - ], - "b1gVRq": [ - { - "type": 0, - "value": "Minimum deposit in USD." - } - ], - "bAqUW1": [ - { - "type": 0, - "value": "Withdrawing" - } - ], - "bnF8kf": [ - { - "type": 0, - "value": "Current Base Fee" - } - ], - "cA+gxG": [ - { - "type": 0, - "value": "Legacy Pools" - } - ], - "cg1VJ2": [ - { - "type": 0, - "value": "Connect Wallet" - } - ], - "cyR7Kh": [ - { - "type": 0, - "value": "Back" - } - ], - "d1uESJ": [ - { - "type": 0, - "value": "Assets" - } - ], - "d21Els": [ - { - "type": 0, - "value": "Execute" - } - ], - "d7AHfy": [ - { - "type": 0, - "value": "Burn your MTA and receive stablecoins" - } - ], - "djdjSw": [ - { - "type": 0, - "value": "Exit " - }, - { - "type": 1, - "value": "name" - } - ], - "dlRkGS": [ - { - "type": 0, - "value": "Keeper fee" - } - ], - "ePxmfo": [ - { - "type": 0, - "value": "Aave is a decentralised non-custodial liquidity market protocol where users can participate as depositors or borrowers." - } - ], - "eTGEXC": [ - { - "type": 0, - "value": "Approve " - }, - { - "type": 1, - "value": "slippage" - }, - { - "type": 0, - "value": "% max slippage" - } - ], - "ehxGBh": [ - { - "type": 0, - "value": "Token Price" - } - ], - "fJjSsb": [ - { - "type": 0, - "value": "Performance Fee" - } - ], - "fhnmhR": [ - { - "type": 0, - "value": "Vault strategy pipeline." - } - ], - "g6UhRO": [ - { - "type": 0, - "value": "Vault name" - } - ], - "hAz8Yo": [ - { - "type": 0, - "value": "$" - } - ], - "hPs6J+": [ - { - "type": 0, - "value": "Exit Position" - } - ], - "hesDHZ": [ - { - "type": 1, - "value": "fee" - }, - { - "type": 0, - "value": " GWEI" - } - ], - "hk3oTU": [ - { - "offset": 0, - "options": { - "=0": { - "value": [ - { - "type": 0, - "value": "No Balance" - } - ] - }, - "=1": { - "value": [ - { - "type": 7 - }, - { - "type": 0, - "value": " Item" - } - ] - }, - "other": { - "value": [ - { - "type": 7 - }, - { - "type": 0, - "value": " Items" - } - ] - } - }, - "pluralType": "cardinal", - "type": 6, - "value": "gtBal" - } - ], - "i0ofjL": [ - { - "type": 0, - "value": "Entry fee" - } - ], - "iD4mN7": [ - { - "type": 0, - "value": "mStable roadmap" - } - ], - "in6iXe": [ - { - "type": 0, - "value": "Deposit/Withdraw" - } - ], - "inIeEz": [ - { - "type": 0, - "value": "Margin Deposited" - } - ], - "j5iKZ9": [ - { - "type": 0, - "value": "Burn your mUSD and receive" - } - ], - "jvo0vs": [ - { - "type": 0, - "value": "Save" - } - ], - "k3YWIR": [ - { - "type": 0, - "value": "Max slippage" - } - ], - "kZcqo0": [ - { - "type": 0, - "value": "%" - } - ], - "kaPKOB": [ - { - "type": 0, - "value": "Insufficient balance" - } - ], - "korbaG": [ - { - "type": 0, - "value": "The following assets are used in this strategy and therefore are exposed (partially) to their risk:" - } - ], - "le9cwx": [ - { - "type": 0, - "value": "Exit Fee" - } - ], - "lubHZr": [ - { - "type": 0, - "value": "Setting up transaction" - } - ], - "mQHAsW": [ - { - "type": 0, - "value": "Slippage" - } - ], - "meocUp": [ - { - "type": 0, - "value": "Convex is a platform that boosts rewards for CRV stakers and liquidity providers alike, all in a simple and easy to use interface." - } - ], - "mqpAbT": [ - { - "type": 0, - "value": "Show Empty" - } - ], - "n9CFUs": [ - { - "type": 0, - "value": "Token Approval" - } - ], - "oNO7VY": [ - { - "type": 0, - "value": "Flatcoin Withdraw" - } - ], - "obSWjR": [ - { - "type": 0, - "value": "Please switch your wallet network to " - }, - { - "type": 1, - "value": "name" - }, - { - "type": 0, - "value": " to interact with " - }, - { - "type": 1, - "value": "symbol" - }, - { - "type": 0, - "value": " vault." - } - ], - "ovJ26C": [ - { - "type": 0, - "value": "Medium" - } - ], - "p556q3": [ - { - "type": 0, - "value": "Copied" - } - ], - "p8bsw4": [ - { - "type": 0, - "value": "Transaction Error" - } - ], - "pWv8jk": [ - { - "type": 0, - "value": "Entry Fee" - } - ], - "pbpdV6": [ - { - "type": 0, - "value": "Leverage" - } - ], - "pwg4Vp": [ - { - "type": 0, - "value": "Analytics on " - }, - { - "children": [ - { - "type": 0, - "value": "dHEDGE" - } - ], - "type": 8, - "value": "strong" - } - ], - "qNhf66": [ - { - "type": 0, - "value": "Perf" - } - ], - "qZbedW": [ - { - "type": 0, - "value": "Fees" - } - ], - "qcHHVw": [ - { - "type": 0, - "value": "Announce Leverage Position" - } - ], - "qj1uhz": [ - { - "type": 0, - "value": "Disconnect" - } - ], - "qzgBwU": [ - { - "type": 0, - "value": "The " - }, - { - "type": 1, - "value": "symbol" - }, - { - "type": 0, - "value": " Vault charges a " - }, - { - "type": 1, - "value": "fee" - }, - { - "type": 0, - "value": " performance upon underlying asset appreciation." - } - ], - "r2pety": [ - { - "type": 0, - "value": "Please consider the following before confirming:" - } - ], - "rSsD3z": [ - { - "type": 0, - "value": "Switch Network" - } - ], - "rbrahO": [ - { - "type": 0, - "value": "Close" - } - ], - "rfzzi6": [ - { - "type": 0, - "value": "Profit/Loss" - } - ], - "rgdwQX": [ - { - "type": 0, - "value": "Transaction Confirmed" - } - ], - "s2zphO": [ - { - "type": 0, - "value": "Vaults" - } - ], - "sHyaBT": [ - { - "type": 0, - "value": "This pool is currently private." - } - ], - "sLLUMv": [ - { - "type": 0, - "value": "Switch your wallet to " - }, - { - "type": 1, - "value": "name" - }, - { - "type": 0, - "value": " to use this contract." - } - ], - "sUIPLS": [ - { - "type": 0, - "value": "Burn" - } - ], - "sjr65W": [ - { - "type": 0, - "value": "Execute Order" - } - ], - "sk4xVe": [ - { - "type": 0, - "value": "Feeder Pools" - } - ], - "smAgyB": [ - { - "type": 0, - "value": "Share on" - } - ], - "sy+pv5": [ - { - "type": 0, - "value": "Email" - } - ], - "t3IytM": [ - { - "type": 0, - "value": "Minimum deposit" - } - ], - "tivZoE": [ - { - "type": 0, - "value": "The " - }, - { - "type": 1, - "value": "symbol" - }, - { - "type": 0, - "value": " Vault charges a " - }, - { - "type": 1, - "value": "fee" - }, - { - "type": 0, - "value": " management fee." - } - ], - "tw0ig8": [ - { - "type": 0, - "value": "Executable at" - } - ], - "uBC8fe": [ - { - "type": 0, - "value": "Entry fees are collected during deposit. The entry fee is distributed to all token holders to pay for rebalancing costs after new deposits." - } - ], - "v1vY2k": [ - { - "type": 0, - "value": "Exchange rate " - }, - { - "children": [ - { - "type": 1, - "value": "price" - }, - { - "type": 0, - "value": " USD" - } - ], - "type": 8, - "value": "b" - }, - { - "type": 0, - "value": " per MTA. This is the floor price for the MTA token, backed by the mStable Treasury Yield." - }, - { - "children": [], - "type": 8, - "value": "br" - }, - { - "type": 0, - "value": " If burning MTA from Ethereum, it may take a few minutes to be issued yield tokens on Optimism." - } - ], - "vS/YSY": [ - { - "type": 0, - "value": "Curve is an exchange liquidity pool on Ethereum designed for: extremely efficient stablecoin trading, low risk, supplemental fee income for liquidity providers, without an opportunity cost." - } - ], - "vclhrb": [ - { - "type": 0, - "value": "Balance: " - }, - { - "type": 1, - "value": "balance" - } - ], - "vsI1HY": [ - { - "type": 0, - "value": "Redeem Vault" - } - ], - "w1LBDB": [ - { - "type": 0, - "value": "Sign Transaction" - } - ], - "wAUtNd": [ - { - "type": 0, - "value": "Total Burned" - } - ], - "wfUbwI": [ - { - "type": 0, - "value": "Flatcoin Deposit" - } - ], - "wqlXwW": [ - { - "type": 0, - "value": "Wrong Network" - } - ], - "x8vY9w": [ - { - "type": 0, - "value": "Not Connected" - } - ], - "xfMpIF": [ - { - "type": 0, - "value": "Withdraw to stables" - } - ], - "xrKHS6": [ - { - "type": 0, - "value": "Success" - } - ], - "y1NA43": [ - { - "type": 0, - "value": "Check URL" - } - ], - "yFvqzw": [ - { - "type": 0, - "value": "Meta Harvester" - } - ], - "yL//gV": [ - { - "type": 0, - "value": "Be aware that the final amount of assets you receive may be different from the initially quoted value." - } - ], - "yNEh8X": [ - { - "type": 0, - "value": "mStable Treasury Yield" - } - ], - "yap3X0": [ - { - "type": 0, - "value": "When the \"Auto\" option is selected, the app tests various slippage ranges by starting with lower values and gradually increasing until it reaches a point where the transaction is likely to succeed. " - }, - { - "children": [], - "type": 8, - "value": "br" - }, - { - "type": 0, - "value": " Alternatively, a custom slippage value can be set, but it is recommended to keep it within the range of 1-2%." - } - ], - "yuiyES": [ - { - "type": 0, - "value": "General Settings" - } - ], - "yzP6XU": [ - { - "type": 0, - "value": "MTA Governance" - } - ], - "zFNxtv": [ - { - "type": 0, - "value": "Protocols" - } - ], - "zGHadw": [ - { - "type": 0, - "value": "Strategy" - } - ], - "zKtTJT": [ - { - "type": 0, - "value": "Return on investment since Vault inception." - } - ], - "zS899f": [ - { - "type": 0, - "value": "Allow " - }, - { - "type": 1, - "value": "slippage" - }, - { - "type": 0, - "value": " of slippage" - } - ] -} diff --git a/apps/mstable/src/clients/chartjs.ts b/apps/mstable/src/clients/chartjs.ts deleted file mode 100644 index c23c79c1..00000000 --- a/apps/mstable/src/clients/chartjs.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { - CategoryScale, - Chart as ChartJS, - Filler, - Legend, - LinearScale, - LineElement, - PointElement, - Title, - Tooltip, -} from 'chart.js'; - -export const registerCharts = () => { - ChartJS.register( - CategoryScale, - LinearScale, - PointElement, - LineElement, - Title, - Tooltip, - Filler, - Legend, - ); -}; diff --git a/apps/mstable/src/clients/google-analytics.ts b/apps/mstable/src/clients/google-analytics.ts deleted file mode 100644 index 7bf80810..00000000 --- a/apps/mstable/src/clients/google-analytics.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { initializeApp } from 'firebase/app'; - -const firebaseConfig = Object.freeze({ - apiKey: 'AIzaSyCTHewGXSG63A4U90BME7ywVf11W5d8Ks0', - authDomain: 'frontend-7e17f.firebaseapp.com', - projectId: 'frontend-7e17f', - storageBucket: 'frontend-7e17f.appspot.com', - messagingSenderId: '907321051507', - appId: '1:907321051507:web:b94f6ecbb3316069f3dd06', - measurementId: 'G-KYQ5RJCN8K', -}); -export const firebaseApp = initializeApp(firebaseConfig); diff --git a/apps/mstable/src/clients/index.ts b/apps/mstable/src/clients/index.ts deleted file mode 100644 index 8945c3dc..00000000 --- a/apps/mstable/src/clients/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './google-analytics'; -export * from './plausible'; -export * from './chartjs'; -export * from './react-location'; -export * from './react-query'; -export * from './wagmi'; diff --git a/apps/mstable/src/clients/plausible.ts b/apps/mstable/src/clients/plausible.ts deleted file mode 100644 index d30450e9..00000000 --- a/apps/mstable/src/clients/plausible.ts +++ /dev/null @@ -1,5 +0,0 @@ -import plausible from 'plausible-tracker'; - -export const plausibleClient = plausible({ - domain: 'yield.mstable.org', -}); diff --git a/apps/mstable/src/clients/react-location.ts b/apps/mstable/src/clients/react-location.ts deleted file mode 100644 index cadfd984..00000000 --- a/apps/mstable/src/clients/react-location.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { ReactLocation } from '@tanstack/react-location'; - -export const reactLocationClient = new ReactLocation(); diff --git a/apps/mstable/src/clients/react-query.ts b/apps/mstable/src/clients/react-query.ts deleted file mode 100644 index 7c5749d3..00000000 --- a/apps/mstable/src/clients/react-query.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { QueryClient } from '@tanstack/react-query'; - -const DEFAULT_STALE_TIME = 0; -const DEFAULT_CACHE_TIME = 1000 * 60 * 60 * 24; // 24 hours - -export const reactQueryClient = new QueryClient({ - defaultOptions: { - queries: { - refetchOnWindowFocus: false, - staleTime: DEFAULT_STALE_TIME, - cacheTime: DEFAULT_CACHE_TIME, - retry: false, - }, - }, -}); diff --git a/apps/mstable/src/clients/wagmi.ts b/apps/mstable/src/clients/wagmi.ts deleted file mode 100644 index 49a22953..00000000 --- a/apps/mstable/src/clients/wagmi.ts +++ /dev/null @@ -1,90 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -import '@rainbow-me/rainbowkit/styles.css'; - -import { getAlchemyRpcProvider } from '@frontend/shared-utils'; -import { SafeConnector } from '@gnosis.pm/safe-apps-wagmi'; -import { connectorsForWallets } from '@rainbow-me/rainbowkit'; -import { - argentWallet, - braveWallet, - coinbaseWallet, - imTokenWallet, - injectedWallet, - metaMaskWallet, - rainbowWallet, - walletConnectWallet, -} from '@rainbow-me/rainbowkit/wallets'; -import { configureChains, createClient } from 'wagmi'; -import { optimism } from 'wagmi/chains'; - -import type { Chain as RainbowKitChain, Wallet } from '@rainbow-me/rainbowkit'; -import type { Chain, Connector } from 'wagmi'; - -const optimismWithCustomIconUrl = { - ...optimism, - // https://www.rainbowkit.com/docs/custom-chains - iconUrl: - 'https://firebasestorage.googleapis.com/v0/b/toros-leverage-bots.appspot.com/o/images%2Ficons%2Fnetworks%2Foptimism-network.png?alt=media&token=dc1a451a-1c89-4df3-b86f-9a3712068e4c', -} as const satisfies RainbowKitChain; - -const POLLING_INTERVAL = 15_000; - -export const { chains, provider } = configureChains( - [optimismWithCustomIconUrl], - [ - getAlchemyRpcProvider({ - apiKey: process.env['NX_ALCHEMY_MAIN_API_KEY'], - }) as any, - getAlchemyRpcProvider({ - apiKey: process.env['NX_ALCHEMY_FALLBACK_API_KEY'], - }) as any, - ], - { pollingInterval: POLLING_INTERVAL }, -); - -const gnosisSafeWallet = ({ chains }: { chains: Chain[] }): Wallet => ({ - id: 'safe', - name: 'Gnosis Safe', - iconUrl: - 'https://raw.githubusercontent.com/safe-global/safe-react/dev/src/assets/logo.svg', - iconBackground: '#ffffff', - createConnector: () => ({ - connector: new SafeConnector({ chains }) as Connector, - }), -}); - -const projectId = - process.env['NX_WALLET_CONNECT_PROJECT_ID'] ?? - '3f4efb414b934af2cd6a6a764443e06e'; - -const connectors = connectorsForWallets([ - { - groupName: 'Recommended', - wallets: [ - metaMaskWallet({ chains, shimDisconnect: true, projectId }), - // ledgerWallet({ chains, projectId }), - walletConnectWallet({ - chains, - projectId, - }), - coinbaseWallet({ appName: 'mStable', chains }), - ], - }, - { - groupName: 'Others', - wallets: [ - injectedWallet({ chains, shimDisconnect: true }), - gnosisSafeWallet({ chains }), - rainbowWallet({ chains, projectId }), - braveWallet({ chains, shimDisconnect: true }), - argentWallet({ chains, projectId }), - imTokenWallet({ chains, projectId }), - ], - }, -]); - -export const wagmiClient = createClient({ - autoConnect: true, - connectors, - provider, -}); diff --git a/apps/mstable/src/components/App/index.tsx b/apps/mstable/src/components/App/index.tsx deleted file mode 100644 index c2d4a9e2..00000000 --- a/apps/mstable/src/components/App/index.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { useScrollToTop } from '@frontend/shared-hooks'; -import { useTrack } from '@frontend/shared-providers'; -import { ErrorBoundary, ErrorPage } from '@frontend/shared-ui'; -import { Box, Stack } from '@mui/material'; -import { Outlet } from '@tanstack/react-location'; -import { useEffectOnce } from 'react-use'; - -import { registerCharts } from '../../clients'; -import { HotjarScript } from '../../scripts'; -import { GradientBackground } from '../Backgrounds'; -import { Footer } from '../Footer'; -import { Topnav } from '../Topnav'; - -export const App = () => { - const track = useTrack(); - useScrollToTop(); - - useEffectOnce(() => { - registerCharts(); - }); - - return ( - theme.mixins.paddings.page} - onMount={() => { - track('error', { name: 'Unhandled Error Main Page' }); - }} - /> - } - > - - - - - - - -