You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue tracks implementation of Penumbra's DEX engine, the component that performs the four phases of DEX execution at the end of every block:
Adding all newly opened liquidity positions
Executing the batched swaps from the current block against that liquidity and recording the results
Arbing prices back to consistency
Closing all newly closed liquidity positions
To do this, we have a number of tasks, both on the in-consensus application side, as well as on the client side, and in the protocol tooling. These tasks break down as follows:
System / Mechanism design issues
This category is largely done, except for the details of trading function approximations and the reward claim mechanism. Since we don't currently have an LP reward system, reward claim design isn't blocking at the moment, and we'll do it after getting the rest of the system working.
This category covers the consensus-side execution of the action handlers for position actions. Client-side logic like Planner support is tracked in #1991.
We don't expect that in the long term, pcli will be used much for position management, but we'll use it as an MVP to exercise the chain logic at first. We need:
This issue tracks implementation of Penumbra's DEX engine, the component that performs the four phases of DEX execution at the end of every block:
To do this, we have a number of tasks, both on the in-consensus application side, as well as on the client side, and in the protocol tooling. These tasks break down as follows:
System / Mechanism design issues
This category is largely done, except for the details of trading function approximations and the reward claim mechanism. Since we don't currently have an LP reward system, reward claim design isn't blocking at the moment, and we'll do it after getting the rest of the system working.
Crypto
ActionHandler
implementationsThis category covers the consensus-side execution of the action handlers for position actions. Client-side logic like
Planner
support is tracked in #1991.PositionOpen
implementation #2137PositionClose
implementation #2138PositionWithdraw
implementation #2139PositionRewardClaim
implementation #2140 (Blocked on dex: design details of LP reward claim mechanism #2167, to be done after the rest of the system is working)fee
/gamma
sizes to prevent division by zero #2203DEX Engine
PositionRead
method to stream position IDs by price #2211BatchSwapOutputData
to support partial fills #2157SwapExecution
data management #1946SwapExecution
with consensus state. #1947Position
s, not just position IDs, in position indexes #2625RoutingParams::default()
is needlessly inefficient #4000DEX engine bugs (non-exhaustive):
Withdrawn
positions #3850Client support
We don't expect that in the long term,
pcli
will be used much for position management, but we'll use it as an MVP to exercise the chain logic at first. We need:Planner
support forPositionClose
#2231Planner
support forPositionWithdraw
#2232pcli tx position close POSITION_ID
#2233pcli tx position withdraw POSITION_ID
#2234pcli
interface to postxyk
approximations #2319 (needs Derive trading function approximation #1908)SwapExecution
s and expose it inpcli q
. #2386pcli tx lp order sell
gives a mispriced position when used with delegation tokens #2579xyk
solver sometimes returns negative solutions #2516SimulateTrade
pull its routing parameters from the engine #4060unfilled_input
toSimulateTradeResponse
#3842SwapExecution
s from consensus state #4084EventPositionClose
#4123Node architecture integration work
Component
trait methods to allow state sharing during execution #2406Component
code calling out to new routing/filling logic #2398StubCpmm
and directSwap
executions at the DEX engine #1906Testing wishlish (more to come..):
check_stateless
andcheck_stateful
expectations in tests #2421Testnet Strategy
Some ideas:
Raw notes
Based on details in https://hackmd.io/rsgSwz3BQKuL0GrSF0LWXA# and https://hackmd.io/jtoiMn0pQnSTZlOi2ig5Wg
The text was updated successfully, but these errors were encountered: