injectivelabs / injective-helix-demo Goto Github PK
View Code? Open in Web Editor NEWDecentralized Derivatives Trading. Any Market. Anytime. Anywhere.
License: Apache License 2.0
Decentralized Derivatives Trading. Any Market. Anytime. Anywhere.
License: Apache License 2.0
When I enter 0.0 in the amount field it's filled automatically to the minimum - 0.01. I might want to buy 0.02 or 0.09. For example 0.05 BTC would cost approximately 1.5k which is a likely scenario so I have to delete the minimum filled amount and put the one I want.
Add support for withdrawing from a subaccount to the Injective Chain in the deposit modal.
When I take a position I must refresh the page to see the updated PnL, Leverage, Notional Size etc.
Users report that trades from the trade history tab appear and disappear every few minutes.
Mobile experience is non-intuitive since scrolling up or down moves the objects unintentionally. We must add a "lock" button so that the elements stay static.
When users transfer funds to the Injective Chain or deposit to the subaccount, they must refresh the page to reflect balances. Can we show the funds as soon as they reach without refreshing?
Traders should be able to place trades with e.g. 1.23x leverage and not just 1.2x leverage.
Currently clicking on "MAX" or any of the percentages doesn't correct the amount correctly.
The implementation we are using right now https://github.com/InjectiveLabs/injective-dex/blob/2d830ccc6e58546b95460b0d8cacb4c339fb8ecb/app/services/derivatives.ts#L573 and https://github.com/InjectiveLabs/injective-dex/blob/2d830ccc6e58546b95460b0d8cacb4c339fb8ecb/app/services/spot.ts#L409 was ported from our previous DEX which was using the average weighted price to calculate the amount, but now we have the worst price + slippage introduced, which makes the calculation wrong.
All the applied indicators disappear after a refresh, is there a way to save the settings of a particular address?
Traders will be confused by those three different last trade prices.
Including all GET requests + all Prepare/Broadcast tx requests
The UI should allow the trader to cancel all of his open orders in a given market on the trading page. Eventually on the portfolio page, we should add a button allowing the trader to cancel all his open orders across all markets.
The new Msg
types to batch cancel orders are MsgBatchCancelDerivativeOrders
and MsgBatchCancelSpotOrders
which are defined as follows:
// MsgBatchCancelDerivativeOrders defines the Msg/CancelDerivativeOrders response type.
type MsgBatchCancelDerivativeOrders struct {
Sender string
Data []OrderData
}
and
// MsgBatchCancelSpotOrders defines the Msg/BatchCancelSpotOrders response type.
type MsgBatchCancelSpotOrders struct {
Sender string
Data []OrderData
}
where the OrderData
is defined as:
type OrderData struct {
MarketId string
SubaccountId string
OrderHash string
}
Add a "Cancel All" button on the orders panel that cancels all orders from the current market.
Add Calculator Modal for P&L - Liquidation
1. PNL
Choose Long or Short
Choose Leverage
Add Entry Price & Exit Price
Add Contract Quantity
2.Liquidation
Choose Long or Short
Choose Leverage
Add Entry Price
Add Contract Quantity
Add Margin
The BTC/USDT derivative market allows only for 2 decimals (i.e. 0.10) in the amount input whereas every other spot/derivate market allows for 3 decimals (i.e. 0.111).
The slider doesn't allow the user to specify the actual exact desired leverage amount. We should allow the user to type in the desired leverage amount.
Not sure where on the UI we should include this and how.
@achilleas-kal could you do some research and advise on where/how we should add this?
Traders need to have the ability to increase margin in their positions in order to prevent liquidation. The FE should add a button (probably somewhere next to the position) to allow them to deposit more margin.
The Msg type is:
type MsgIncreasePositionMargin struct {
Sender string
SourceSubaccountId string
DestinationSubaccountId string
MarketId string
// amount defines the amount of margin to add to the position
Amount sdk.Dec
}
where SourceSubaccountId is the subaccount providing the funds, DestinationSubaccountId is the subaccountID owning the position and MarketId is the marketID of the position.
Make a portfolio page that will allow the trader to:
deposit and withdraw funds between the main account and subaccount are OK.
Automatical change an invalid number to an integer can be lethal to traders.
Say I want to sell 0.111 BTC, at a price a lot lower than the market price. but I missed the .
. 0111
will be changed automatically to 111
which is smaller than the amount of BTC in my account. This will be a huge loss.
open order panel
history trade panel
trades panel
When users click on an order in the book, the input amount is filled with the exact amount of that order. Wouldn't it be better if we filled the amount with all the orders below? That would prove invaluable for someone who wants to market buy as much as possible and eat up all the liquidity so by clicking in the top order they would see how much they can buy instantly.
Allow the user to set the maximally tolerated slippage
We need to correctly format the decimals of the price chart using mini price increments too? too many trailing zeros. FE needs to access to tickSize from markets in order for chronos side to render the tradable prices on chart properly.
The tickSize (i.e price decimals) should be returned in the config for the symbol (https://staking-api.injective.network:4444/api/chronos/v1/spot/symbols?symbol=inj%2Fpeggy0x69efCB62D98f4a6ff5a0b0CFaa4AAbB122e85e08)
pricescale: 1000000 and volume_precision: 6
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.