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
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.
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.
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.
Currently Gelato doesn't support Stop Losses.
Leaving this here as a placeholder for when they do support Stop Losses to add the functionality.
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.
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
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.
Please see the Pangolin Team Chat TG for the zip file from Abdullah
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
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
From an issue raised in the Discord.
Steps to reproduce:
Tested on Chrome with Windows 10, Chromium with Arch Linux
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
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
From your readme, it said ony works on testnet.
while from #248
you mentioned that you can work on mainnet.
So?
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.
Hello,
Excuse my ignorance. Can I perform swap operations on my own computer by running this interface on the local computer?
Thanks.
If you need credentials, please let me know.
Please see here for more information
https://docs.sentry.io/platforms/javascript/guides/react/
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.
There is a screen overflow problem
Firefox, Chrome, Edge have this problem.
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 | *
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".
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.
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.
Metamask gas price and gas limit should be arranged automatically for the suitable values
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.