feat(vibenet): polish validity mempool copy, restore delay, add tooltips - #154
Open
BrianBland wants to merge 7 commits into
Open
feat(vibenet): polish validity mempool copy, restore delay, add tooltips#154BrianBland wants to merge 7 commits into
BrianBland wants to merge 7 commits into
Conversation
…oltips
- Rename Mempool submit-mode labels/copy: Replace -> Sequential, and
drop the fee-bump framing ("One transaction at a time via
sequential nonces" / "Submit multiple nonceless transactions
simultaneously. Max expiry 20s").
- Re-add the not-before Delay control (Off/5s/15s) that was dropped
when the v3 rewrite branched before its stacked PR (#137) reached
main: block_number >= predicate, forced shorter than expiry,
reflected in the review modal and Submitted list.
- Add concise InfoTooltip hover explainers for Mempool and Delay,
matching the b20/Publish Announcement pattern.
- Replace remaining 8130/replace jargon in the Submitted history
list with concurrent/sequential.
Collaborator
🟡 Heimdall Review Status
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…elay Also tightens the Delay tooltip copy since Expiry and Delay sit side by side, not stacked (the old wording referenced expiry "above").
lint (react/no-unescaped-entities) failed on the possessives in the new Expiry/Delay tooltip text; reworded instead of escaping.
Each tooltip stands on its own now instead of cross-referencing the other control.
Delay only needs to stay at or under the expiry window, not strictly under it — a matching not-before/not-after bound just pins the swap to a single block, which is a valid (if narrow) predicate. Relaxes the UI gating and the delay clamp used when building predicates.
Previously Delay (not-before) and Expiry (not-after) were both measured from submission time, so a longer delay silently ate into the usable window and could never exceed expiry. Now expiry begins once the delay elapses, so a swap stays eligible for the full expiry duration after it starts — bounded by a combined delay+expiry cap (20s for the concurrent/nonceless envelope, 60s for sequential). - Reorder the ticket so Delay sits left of Expiry, matching the sequencing. - Gate both chip rows on delay+expiry <= cap instead of the old delay < expiry rule. - orderWallClockExpired now adds delaySeconds to the expiry window so client-side status tracking matches the new deadline. - Update review-modal and Mempool copy to describe the combined cap and starts-then-expires timing.
Drop the copy json / copied text label in the Advanced Details panel, keeping just the MorphIcon button. The accessible name now updates between Copy predicate JSON and Copied predicate JSON via aria-label, matching the icon-only CopyButton pattern used elsewhere.
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.
Summary
Replace→Sequential(paired withConcurrent) and rewrote the copy to drop the fee-bump/nonce jargon ("One transaction at a time via sequential nonces" / "Submit multiple nonceless transactions simultaneously.").main— reapplied the same block-number>=predicate design onto the current file.delay + expirycap (20s for the concurrent/nonceless envelope, 60s for sequential), anddelay == expiryis valid (it just pins the swap to a single block).InfoTooltiphover explainers for Mempool, Delay, and Expiry, matching the b20/Publish Announcement pattern.concurrent/sequentialinstead of8130/replace.CopyButtonpattern used elsewhere.Screenshots
Test plan
npx vitest run app/vibenet/demos/validity— 15 files / 89 tests passing (added delay-predicate,minBlockForDelay, and delay-aware wall-clock-expiry tests).npx eslint app/vibenet/demos/validity— 0 errors.npx tsc --noEmit— clean./vibenet/demos/validity/conditional-swapsin a local dev server: Sequential/Concurrent toggle, Delay/Expiry chip gating in both modes (including the 60s-expiry-blocks-all-delay and delay==expiry cases), all three tooltips, the review modal's block-number predicates (expiry starting from the delay block), and the icon-only predicate-JSON copy button (verified clipboard contents and the copied-state checkmark).Generated with Toshi