pangolindex / interface Goto Github PK
View Code? Open in Web Editor NEWFrontend for accessing the Pangolin Dex
Home Page: https://app.pangolin.exchange
License: GNU General Public License v3.0
Frontend for accessing the Pangolin Dex
Home Page: https://app.pangolin.exchange
License: GNU General Public License v3.0
Please have a look at the ETH-WBTC pair. Looks like someone added liquidity at a crazy exchange rate and then pulled the liquidity. So now the price is stuck at something like 300 WBTC for 1 ETH. But just with dust. I don't know how to deal with this but it seems some sort of threshold needs to be set where if liquidity is under $100 and your newly added liquidity will represent over 98% of the pool then you can set the exchange rate. Rather than the rate being set only when liquidity is zero. Someone just experimenting with pools and leaving dust will break that too easily.
From Discord:
When I remove liquidity from a Pangolin LP with AVAX as one side of the pair, it comes out as AVAX if I do a full withdrawal, but as WAVAX if I do a partial withdrawal. The latter is pretty confusing and makes the user think their coins went "poof".
Issue:
Token names appear to be inconsistent depending on whether a user withdraws liquidity entirely (AVAX) or partially (WAVAX)
Expected behavior:
Token denomination is the same in both cases
If you need credentials, please let me know.
Please see here for more information
https://docs.sentry.io/platforms/javascript/guides/react/
C: ../interface/node_modules/@reduxjs/toolkit/dist/createSlice.d.ts
TypeScript error in C: ../interface/node_modules/@reduxjs/toolkit/dist/createSlice.d.ts(128,125):
'?' expected. TS1005
126 | [K: string]: CaseReducer<State, PayloadAction<any>> | CaseReducerWithPrepare<State, PayloadAction<any, string, any, any>>;
127 | };
> 128 | declare type SliceActionType<SliceName extends string, ActionName extends keyof any> = ActionName extends string | number ? `${SliceName}/${ActionName}` : string;
|
^
129 | /**
130 | * Derives the slice's `actions` property from the `reducers` options
131 | *
Hey team,
We've noticed that you're referencing a subgraph deployed on The Graph's hosted service in this repository. Just a heads-up: after June 12th, hosted service subgraph endpoints will no longer be available as the offering is being deprecated.
If you are the subgraph owner or maintainer, it's time to upgrade your subgraph to the network. This ensures everything keeps running smoothly and you get access to all the latest features and improvements. Here is a quick guide with all the upgrade steps.
If you're not the subgraph owner or maintainer, check Graph Explorer to see if the subgraph development team has already upgraded to the network. If you don’t find an upgraded subgraph, a friendly nudge to the subgraph development team would be greatly appreciated—it's a quick process that benefits everyone. Here's the upgrade guide with all the necessary steps for the subgraph development team.
Once the subgraph is upgraded to the network, you can create an API key and updated query URL in Subgraph Studio then update this repository to query from the new endpoint, https://api.studio.thegraph.com/query/<ID>/<SUBGRAPH_NAME>/<VERSION>
Need more support or have more questions? Feel free to reach out to [email protected]. We're here to help!
Cheers,
Paka
Dockerfile
FROM node:16 AS server-build
WORKDIR /usr/src/app
COPY . .
RUN npm install --force && npm run build
FROM node:16
WORKDIR /usr/src/app/
COPY --from=server-build /usr/src/app ./
RUN ls
EXPOSE 3000
CMD ["npm", "start"]
....produces error.....
#0 158.7 > @pangolindex/[email protected] build
#0 158.7 > react-scripts build
#0 158.7
#0 159.4 Creating an optimized production build...
#0 259.5 Failed to compile.
#0 259.5
#0 259.5 /usr/src/app/src/pages/Beta/Pool/RemoveLiquidity/index.tsx
#0 259.5 TypeScript error in /usr/src/app/src/pages/Beta/Pool/RemoveLiquidity/index.tsx(75,9):
#0 259.5 Type 'import("/usr/src/app/node_modules/@ethersproject/contracts/lib/index").Contract | null' is not assignable to type 'import("/usr/src/app/node_modules/ethers/node_modules/@ethersproject/contracts/lib/index").Contract | null'.
#0 259.5 Type 'import("/usr/src/app/node_modules/@ethersproject/contracts/lib/index").Contract' is not assignable to type 'import("/usr/src/app/node_modules/ethers/node_modules/@ethersproject/contracts/lib/index").Contract'.
#0 259.5 Types of property '_runningEvents' are incompatible.
#0 259.5 Type '{ [eventTag: string]: RunningEvent; }' is not assignable to type '{ [eventTag: string]: RunningEvent; }'. Two different types with this name exist, but they are unrelated.
#0 259.5 Index signatures are incompatible.
#0 259.5 Type 'RunningEvent' is not assignable to type 'RunningEvent'. Two different types with this name exist, but they are unrelated.
#0 259.5 Types have separate declarations of a private property '_listeners'. TS2322
#0 259.5
#0 259.5 73 |
#0 259.5 74 | // pair contract
#0 259.5 > 75 | const pairContract: Contract | null = usePairContract(pair?.liquidityToken?.address)
#0 259.5 | ^
#0 259.5 76 |
#0 259.5 77 | // allowance handling
#0 259.5 78 | const [signatureData, setSignatureData] = useState<{ v: number; r: string; s: string; deadline: number } | null>(null)
#0 259.5
#0 259.5
------
failed to solve: executor failed running [/bin/sh -c npm install --force && npm run build]: exit code: 1
Description :
Hello, I tried to put random stuff into the "Transaction deadline" input to see if it breaks.
If you enter a too big number it overflows, throws an error, breaks the client side (blank screen) and stays in the cookie.
You have to delete your cookie to recover a normal state.
Putting some conditions in place to check if the input value is valid before processing it could solve the issue.
Path to input :
Transactions settings > Transactions deadline.
Steps to reproduce :
Copy / paste "999999999999999999" into the input.
From an issue raised in the Discord.
Steps to reproduce:
Tested on Chrome with Windows 10, Chromium with Arch Linux
Need to update the copy underneath Dashboard to not say "let's ape in today..."
"Welcome to Pangolin! A community-driven decentralized platform for you to invest and explore."
*If too long for styling we can just say "Swap. Yield. Repeat."
I can also try to submit a PR if someone can point me in the right direction of the file that has the copy for the dashboard page.
We'll need to hook up to the Debank API for our data points here https://open.debank.com/
First thing we'll need to do is to only allow USD as the currency in the dropdown.
Then we can use Debank to get the Wallet's total balance using the following endpoint:
/v1/user/total_balance
as seen here https://openapi.debank.com/docs
We need to link up the news widget to our headless CMS found on https://cms.api.pango.elasticboard.io/
If you need access, please just let me know and I'll add you as a user.
Here's an example of an article
that will be published in the news widget
Replace the Coins widget with the Watchlist widget from the swap page
I worry about my holdings when there is no way to see balances of my deposited tokens. It would be really helpful to have a lot more stats about my positions and returns across various periods (day, week, month, quarter, year, all-time, etc). Please consider including these features.
Currently when swapping, the percent selection doesn't work
It would also be good to start opening up the new UI to the public. So I'd like on the old UI in the blue section below, to have a link "Try our new beta site" and that will then link to the new site
This means in the new UI, though we also need to add a link for people to navigate back to the old site.
We could add a button here "Return to legacy site"
Also when charts are loading for pairs that don't have enough data, it consistently shows the loading screen, whereas it should show "Not enough data to provide charts".
This Dockerfile ....
FROM node:17-alpine AS base
RUN apk add --update
USER node
WORKDIR /app
COPY --chown=node:node package.json package.json
COPY --chown=node:node yarn.lock yarn.lock
RUN yarn
# Install production dependencies only
FROM node:17-alpine AS deps
USER node
WORKDIR /app
COPY --chown=node:node package.json package.json
COPY --chown=node:node yarn.lock yarn.lock
RUN yarn install --force --production --frozen-lockfile
# Compile typescript sources
FROM base AS build
USER node
WORKDIR /app
COPY --chown=node:node tsconfig.json tsconfig.json
COPY --chown=node:node src/ src/
RUN yarn tsc
# Combine production only node_modules with compiled javascript files.
FROM node:17-alpine AS final
RUN apk add --update
USER node
WORKDIR /app
COPY --chown=node:node --from=deps /app/node_modules ./app/node_modules
COPY --chown=node:node --from=build /app/dist/src ./dist/
COPY --chown=node:node --from=build /app/package.json ./
CMD [ "node", "/app/dist/index.js" ]
...produces this error...
=> ERROR [deps 5/5] RUN yarn install --force --production --frozen-lockfile
=> ERROR [base 6/6] RUN yarn
------
> [deps 5/5] RUN yarn install --force --production --frozen-lockfile:
#0 0.568 yarn install v1.22.18
#0 0.656 [1/5] Validating package.json...
#0 0.659 [2/5] Resolving packages...
#0 0.982 warning Resolution field "@walletconnect/[email protected]" is incompatible with requested version "@walletconnect/web3-provider@^1.0.8"
#0 1.193 [3/5] Fetching packages...
#0 3.008 error Couldn't find the binary git
#0 3.008 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
------
> [base 6/6] RUN yarn:
#0 0.631 yarn install v1.22.18
#0 0.722 [1/5] Validating package.json...
#0 0.726 [2/5] Resolving packages...
#0 1.053 warning Resolution field "@walletconnect/[email protected]" is incompatible with requested version "@walletconnect/web3-provider@^1.0.8"
#0 1.256 [3/5] Fetching packages...
#0 3.122 error Couldn't find the binary git
#0 3.122 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
------
failed to solve: executor failed running [/bin/sh -c yarn]: exit code: 1
The datetime stamp shown beside the token name and price at the moment highlighted by the cursor is incorrectly different than the datetime stamp shown on the x-axis of the graph:
First referenced in this discord Mesage.
Please see the Pangolin Team Chat TG for the zip file from Abdullah
Metamask gas price and gas limit should be arranged automatically for the suitable values
From your readme, it said ony works on testnet.
while from #248
you mentioned that you can work on mainnet.
So?
Currently Gelato doesn't support Stop Losses.
Leaving this here as a placeholder for when they do support Stop Losses to add the functionality.
Why doesn't Pangolin put a bridge link on it's website to encourage ERC20 holders to crossover, like Zero Exchange? With nice instructions or videos present to help users through the process.
A friend of mine wanted to buy a small coin on UniSwap with $500. Due to the fees, I advised a different route. What I was not able to advise him, was to use Pangolin. I went through the process of buying AVAX. Sending it to https://wallet-beta.avax.network/ (I use Ledger) to cross from X-chain to C-chain. Then setting up MetaMask and sending it there. It was torturous. No way he could do this.
These Etherium high fees times will be the opportunity for other blockchains to capture users for trading. So strike while the iron it hot. Do everything possible to encourage users to crossover. Because once ETH2.0 hits, that window closes.
I've also mentioned this before on the AVALAB. Grab the MetaMask code. Create a AvaWallet with the ability to easily switch chains with the click of a button. That would open the floodgates into Avalanche for ERC20 people who know MetaMask.
How far away is support for other wallets than Metamask?
I see #3 and tbh wasn't aware Trust Wallet supported Avalanche already, but Ledger should easy considering Web3Modal/Web3React supports it and https://wallet-beta.avax.network/wallet could serve as a reference implementation.
I'd be willing to have a stab at this myself, just need to know a rough roadmap.
Expecting to see Metamask(only avalible atm on web) or actual Trust Wallet logo like other dapps https://github.com/trustwallet/trust-web3-provider#how-to-identify-trust-provider
Hello,
Excuse my ignorance. Can I perform swap operations on my own computer by running this interface on the local computer?
Thanks.
The Pangolin (PNG
) token price chart is broken, showing different prices for different views of the graph.
Look at the screenshots for the variation in the following settings:
Where the prices are different for the following moment in time:
2021-02-17 00:00 UTC
:
$0.74
$11.97
First referenced in this Discord message.
In "pool" page it doesn't show my liquidity provided if the PGL tokens were submitted to the PNG contract to farm PNG.
For example I deposited PNG and WAVAX in the WAVAX-PNG pool. I got the PGL equivalent tokens and my liquidity was shown. Then I sent the PGL to the farm and the liquidity disappeared.
At first it might seems scary because it seems all the liquidity provided was lost.
There is a screen overflow problem
Firefox, Chrome, Edge have this problem.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.