Repository navigation
[simplex]: an operator page for limit orders - #1291
Merged
Merged
Conversation
dharjeezy
force-pushed
the
dami/simplex-limit-order-ui
branch
2 times, most recently
from
September 18, 2026 16:10
281ab18 to
31f0f53
Compare
dharjeezy
force-pushed
the
dami/simplex-orderbook-lifecycle
branch
from
September 18, 2026 16:30
cb78b49 to
f9b82d6
Compare
dharjeezy
force-pushed
the
dami/simplex-limit-order-ui
branch
from
September 18, 2026 16:30
31f0f53 to
535857f
Compare
dharjeezy
force-pushed
the
dami/simplex-orderbook-lifecycle
branch
from
September 18, 2026 16:51
f9b82d6 to
48a4b3e
Compare
dharjeezy
force-pushed
the
dami/simplex-limit-order-ui
branch
from
September 18, 2026 16:51
535857f to
6cf90af
Compare
Wizdave97
force-pushed
the
dami/simplex-orderbook-lifecycle
branch
from
September 19, 2026 20:48
48a4b3e to
8d44f6f
Compare
Wizdave97
force-pushed
the
dami/simplex-limit-order-ui
branch
from
September 19, 2026 20:48
6cf90af to
6783810
Compare
Wizdave97
force-pushed
the
dami/simplex-orderbook-lifecycle
branch
from
September 20, 2026 17:36
8d44f6f to
fa88c70
Compare
Wizdave97
force-pushed
the
dami/simplex-limit-order-ui
branch
from
September 20, 2026 17:36
6783810 to
045b9f0
Compare
Wizdave97
force-pushed
the
dami/simplex-orderbook-lifecycle
branch
from
September 21, 2026 10:02
fa88c70 to
7b59179
Compare
Wizdave97
force-pushed
the
dami/simplex-limit-order-ui
branch
from
September 21, 2026 10:02
045b9f0 to
8fd4f8a
Compare
Wizdave97
force-pushed
the
dami/simplex-orderbook-lifecycle
branch
from
September 21, 2026 11:09
7b59179 to
056875e
Compare
Wizdave97
force-pushed
the
dami/simplex-limit-order-ui
branch
from
September 21, 2026 11:10
8fd4f8a to
d60f81d
Compare
Wizdave97
force-pushed
the
dami/simplex-orderbook-lifecycle
branch
from
September 21, 2026 11:23
056875e to
372f6ec
Compare
Wizdave97
force-pushed
the
dami/simplex-limit-order-ui
branch
from
September 21, 2026 11:23
d60f81d to
cebe9da
Compare
Wizdave97
force-pushed
the
dami/simplex-orderbook-lifecycle
branch
from
September 21, 2026 11:46
372f6ec to
ce72d78
Compare
Wizdave97
force-pushed
the
dami/simplex-limit-order-ui
branch
from
September 21, 2026 11:46
cebe9da to
ddd66c9
Compare
Wizdave97
approved these changes
Sep 21, 2026
Wizdave97
force-pushed
the
dami/simplex-orderbook-lifecycle
branch
from
September 21, 2026 12:48
ce72d78 to
1b0189c
Compare
Wizdave97
force-pushed
the
dami/simplex-limit-order-ui
branch
from
September 21, 2026 12:48
ddd66c9 to
0362d52
Compare
Wizdave97
force-pushed
the
dami/simplex-orderbook-lifecycle
branch
from
September 21, 2026 13:14
1b0189c to
1ce37b6
Compare
Wizdave97
force-pushed
the
dami/simplex-limit-order-ui
branch
from
September 21, 2026 13:14
0362d52 to
7087881
Compare
Wizdave97
force-pushed
the
dami/simplex-orderbook-lifecycle
branch
2 times, most recently
from
September 21, 2026 13:28
354634c to
7089552
Compare
Wizdave97
force-pushed
the
dami/simplex-limit-order-ui
branch
from
September 21, 2026 13:28
7087881 to
1a1b6e6
Compare
Wizdave97
force-pushed
the
dami/simplex-limit-order-ui
branch
from
September 21, 2026 13:29
1a1b6e6 to
faf2a20
Compare
This was referenced Sep 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #1275.
The dashboard lost its curve editors when prices moved onto limit orders, and nothing replaced them.
/api/limit-ordershas been there from the start, but the only way to reach it was curl, so an operator could see which markets simplex watches and not what it was offering on any of them.This adds a Limit orders page at
/limit-orders, between Overview and Orders.What it shows
One row per order, live ones first and closed ones under their own heading. Each row reads as the offer it is:
1,500,000 CNGN left at 1,500 CNGN per USDC, the token taken in, the chain it fills on, and how long is left on the clock.Amounts are whole tokens throughout, never the orderbook's 1e18. The operator states
1000and reads1,000back.fromScaledis the only place the scale is handled.The badge answers "is this actually working", which the status column alone does not:
openwith a commitment is On the book.openwith no commitment is Posting, because the row is live before the orderbook has answered.opencarrying alastErrorstays On the book but turns amber and shows the refusal, since the row stays open and the next cycle tries again.resizingis Resizing, a fill being settled.cancelled,expired,filledandrejectedsay so plainly.What it does
Posting an order asks for the two amounts, in whole tokens, and shows the rate they imply before anything is sent. The operator chooses amounts, not a rate. It also asks which chain the order fills on and which sources it accepts, defaulting to every chain the filler watches, since an order that accepts none is one the orderbook refuses outright.
Opening an order shows what is left of it, what live bids are holding against it, and the fills that took the difference. That is what makes a shrunken
remainingexplicable rather than a number that quietly moved. It can be cancelled from there while it is still live.The list reloads every ten seconds and after every mutation. A posting lands, expires or is filled without the operator doing anything, so the page cannot be a snapshot of the moment it opened.
Validation
ui:check,ui:buildandpnpm buildare clean. The package suite is 851 passing, with the same 19 failures every branch in this stack has: they need RPC endpoints, a loopback alias this machine lacks, or live testnets.Ten unit tests cover the display logic that carries the reasoning: scaling, which leg is paid out, the rate string,
availableflooring at zero, each badge case, and the expiry clock.Left out on purpose
The Markets page stays. A
[[pairs]]entry no longer gates matching, but it still decides which strategies boot, so removing it is a separate decision.The page polls rather than subscribing. The server already emits
limit-order:postedandlimit-order:rejectedon the socket feed, so moving the list onto it is a straightforward follow-up.