feat(app): unify reviewed HLP deposit flow - #355
Open
i-xtsu-sixyou-ken-mei wants to merge 19 commits into
Open
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
This was referenced Sep 2, 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.
Intent
Make the existing Base USDC → Hyperliquid bridge + official HLP vault deposit behave as one guided invest flow from the current
InvestRouteScreen, instead of maintaining a separate HLP execution wizard UI.The product CTA becomes one guided action, while preserving the non-custodial signing boundary: the reviewed Base EVM batch is signed first, then Hyperliquid requests its own L1 typed-data signature only after the bridged USDC is actually credited.
Context
The repository already had the hard execution primitives:
DepositPlan.followUps0xdfc24b077bc1425ad1dea75bcb6f8158e10df303@nktkas/hyperliquidvaultTransfersubmittedUnverifiedprotection so an accepted vault transfer is never resent after a confirmation timeoutThe missing piece was orchestration: the unified reviewed route only understood EVM review groups, while HLP lived behind
HyperliquidDepositPanel's independent wizard.The HLP minimum in the repo was also stale at 5 USDC (with a 6 USDC UI input buffer). Product direction for the official vault is 10 USDC minimum.
Scope
split: { 1337: 1 })./invest/routereview screen.Out of scope
vaultTransferpart of the Tenderly EVM simulation. It is a non-EVM Hyperliquid L1 action.Product contract / invariants
Affected invariant:
5 USDC/ UI6 USDCbuffer → official10 USDCminimum.Why:
Acceptance criteria
/invest/routeinstead of executing its own source batch.vaultTransferis requested only after the bridge/output balance is observed.toAmountMinfalls below the vault minimum.Implementation
InvestDestination = 'strategy' | 'hlp'plus a pre-bridge HLP balance snapshot to the invest draft context.investsplit in preview/review cache identity so Base Morpho and Base→HyperCore plans cannot collide.HyperliquidDepositPanelinto an amount/configuration entry that freezes the exact Base USDC draft and opens the unified route.HlpPlanSummaryto display the non-EVM follow-up separately from Tenderly evidence.useDepositWizardwithresumeReviewedPlan, which consumes an already-submitted exactDepositPlanand source tx hash, tracks that bridge, and never calls the source executor./invest/hlp-progressto track bridge settlement and HyperCore credit, then trigger the existing walletvaultTransferpath.Contract alignment
AGENTS.mdremains accurate.Validation
split: { '1337': 1 }and has a distinct preview cache key from Base Morpho.main...feat/unified-hlp-deposit-flowchanged-file set for unrelated changes — PASS (only invest/HLP code and targeted tests; latest main-only commit is an unrelated generated distribution snapshot).Validation gaps
The GitHub connector used for this change cannot execute the repository locally, so
pnpmtypecheck/test/format commands were not run in this session. CI should be treated as the executable validation gate for this PR.Known unrelated failures
None known. The branch is one generated distribution-snapshot commit behind the current
main; that commit does not touch any invest/HLP file.Reviewer notes
Please scrutinize the signing/retry boundary more than the UI:
vaultTransfermay be retried only when submission failed before the exchange accepted it.submittedUnverifiedis terminal for submission purposes; a vault-equity polling timeout must never re-armvaultTransfer.