OE-7 UI: percentage fraction buttons (25/75/100%) not implemented; only Max and 50% (pool only) exist #303

Closed
opened 2026-06-04 12:57:10 +00:00 by totdking · 13 comments
totdking commented 2026-06-04 12:57:10 +00:00 (Migrated from gitlab.com)
No description provided.
totdking commented 2026-06-04 12:58:37 +00:00 (Migrated from gitlab.com)

Summary

The checklist specifies 25/50/75/100% fraction buttons. The actual UI provides only two actions across the entire frontend:

  • Max button — present on all pages (swap, trade, limits, pool)
  • 50% button — present on /pool provide-liquidity only

No 25%, 75%, or 100% fraction buttons exist anywhere in the codebase.


Root cause (code verified)

AmountBalanceActions.tsx (the shared balance-row component used across all pages) accepts at most two action props: showHalf / onHalf for a "50%" button and onMax for a "Max" button. There is no provision for 25%, 75%, or 100% fraction callbacks. No other component in the codebase renders these buttons. The feature was either never built or removed prior to the checklist being written.


Steps to reproduce

  1. Open / (Swap), /trade/:pairAddr, /limits, or /pool
  2. Connect Keplr wallet with a funded account
  3. Select a token pair and observe the amount input controls
  4. Observe: only Max is present on swap/trade/limits; only Max and 50% are present on the pool provide-liquidity form
  5. No 25%, 75%, or 100% buttons appear on any page

Expected behavior

Fraction buttons at 25%, 50%, 75%, and 100% (or equivalent presets) should be available on the primary token amount inputs across swap, trade, and pool pages, consistent with CEX-quality UX. Each fraction should apply to the spendable balance for that token.


Actual behavior

Only Max and (on pool only) 50% exist. The quarter-step fraction buttons called for in the checklist are absent from all pages.


Environment

  • Chain: localterra
  • LCD: http://localhost:1317
  • Wallet: Keplr (Terra Classic)
  • Browser: Chromium (DevTools open)
  • Pages tested: / (Swap), /trade/:pairAddr, /limits, /pool
  • Network throttle applied: No

Severity: P2 polish - Max correctly accounts for gas and no overspend is possible. The gap is a feature completeness issue: the fraction preset buttons described in the checklist were never built.

cc: @PlasticDigits

### Summary The checklist specifies 25/50/75/100% fraction buttons. The actual UI provides only two actions across the entire frontend: - `Max` button — present on all pages (swap, trade, limits, pool) - `50%` button — present on `/pool` provide-liquidity only No 25%, 75%, or 100% fraction buttons exist anywhere in the codebase. --- ### Root cause (code verified) `AmountBalanceActions.tsx` (the shared balance-row component used across all pages) accepts at most two action props: `showHalf` / `onHalf` for a "50%" button and `onMax` for a "Max" button. There is no provision for 25%, 75%, or 100% fraction callbacks. No other component in the codebase renders these buttons. The feature was either never built or removed prior to the checklist being written. --- ### Steps to reproduce 1. Open `/` (Swap), `/trade/:pairAddr`, `/limits`, or `/pool` 2. Connect Keplr wallet with a funded account 3. Select a token pair and observe the amount input controls 4. Observe: only `Max` is present on swap/trade/limits; only `Max` and `50%` are present on the pool provide-liquidity form 5. No 25%, 75%, or 100% buttons appear on any page --- ### Expected behavior Fraction buttons at 25%, 50%, 75%, and 100% (or equivalent presets) should be available on the primary token amount inputs across swap, trade, and pool pages, consistent with CEX-quality UX. Each fraction should apply to the spendable balance for that token. --- ### Actual behavior Only `Max` and (on pool only) `50%` exist. The quarter-step fraction buttons called for in the checklist are absent from all pages. --- ### Environment - Chain: localterra - LCD: [http://localhost:1317](http://localhost:1317) - Wallet: Keplr (Terra Classic) - Browser: Chromium (DevTools open) - Pages tested: `/` (Swap), `/trade/:pairAddr`, `/limits`, `/pool` - Network throttle applied: No --- **Severity:** P2 polish - Max correctly accounts for gas and no overspend is possible. The gap is a feature completeness issue: the fraction preset buttons described in the checklist were never built. **cc:** @PlasticDigits
totdking commented 2026-06-04 12:58:58 +00:00 (Migrated from gitlab.com)

mentioned in issue #291

mentioned in issue #291
Brouie commented 2026-06-05 03:21:49 +00:00 (Migrated from gitlab.com)

mentioned in merge request !759

mentioned in merge request !759
Brouie commented 2026-06-05 03:23:16 +00:00 (Migrated from gitlab.com)

Did this in MR !759. Added 25/50/75/100% fraction presets to the shared AmountBalanceActions (was Max-only, plus 50% on pool) — backward-compatible, each applies its fraction to the same gas-adjusted spendable Max uses (exact bigint math, no float drift). Wired on the swap You Pay field + the trade/limit escrow field; pool keeps its own Max + 50%. If you want them on pool too, or want to drop the now-redundant 100% (== Max), easy follow-up. Browser check is yours. @PlasticDigits

Did this in MR !759. Added 25/50/75/100% fraction presets to the shared AmountBalanceActions (was Max-only, plus 50% on pool) — backward-compatible, each applies its fraction to the same gas-adjusted spendable Max uses (exact bigint math, no float drift). Wired on the swap You Pay field + the trade/limit escrow field; pool keeps its own Max + 50%. If you want them on pool too, or want to drop the now-redundant 100% (== Max), easy follow-up. Browser check is yours. @PlasticDigits
PlasticDigits commented 2026-06-05 03:26:13 +00:00 (Migrated from gitlab.com)

mentioned in commit 9f0babe556

mentioned in commit 9f0babe5564aa4345c1546454ed7e6cab1c916f3
PlasticDigits commented 2026-06-05 03:54:46 +00:00 (Migrated from gitlab.com)

mentioned in merge request !762

mentioned in merge request !762
PlasticDigits commented 2026-06-05 04:30:32 +00:00 (Migrated from gitlab.com)

Verification report — GitLab #303 (OE-7 fraction presets)

Agent: Cloud Agent verification (2026-06-05)
Base: main @ 9f0babe (includes merged MR !759)
Repo changes: None (no MR opened)

Summary

MR !759 landed the intended fix: optional 25 / 50 / 75 / 100% presets on shared AmountBalanceActions, wired on Swap → You Pay and trade/limit escrow (LimitOrderEscrowAmountField, covering /trade market + limit and /limits). Pool still uses Max + 50% only, as noted in !759 (follow-up if full parity is wanted).


Checklist → result

# Acceptance item Result How verified
1 AmountBalanceActions supports 25/50/75/100% presets (optional onFraction) PASS rg + read frontend-dapp/src/components/common/AmountBalanceActions.tsx
2 Fractions use same gas-adjusted spendableRaw as Max (bigint, no float drift) PASS (spendableRaw * num) / 100n in fractionHuman()
3 Swap You Pay shows 25/50/75/100% + Max PASS SwapPage.tsx wires onFraction, testIdFractionPrefix="swap-pay-frac"
4 Trade market + limit escrow amount shows presets PASS LimitOrderEscrowAmountField.tsx → used by TradeMarketOrderPanel, TradeOrderTicket, LimitOrdersPage
5 Limits page escrow shows presets PASS Same LimitOrderEscrowAmountField on LimitOrdersPage
6 Pool provide-liquidity shows 25/50/75/100% SKIP (scope) PoolPage.tsx still showHalf + onMax only — intentional per !759; optional follow-up
7 TypeScript build clean PASS npx tsc -b in frontend-dapp
8 Frontend lint PASS make lint-frontend (0 errors, pre-existing warnings)
9 Frontend unit tests PASS make test-frontend — 822 tests, 0 failures
10 Browser / QA — connect wallet, confirm buttons on /, /trade, /limits FAIL make start-qa → deploy-local failed at first create_pair: "Pair creation requires 100000000 uluna" (#276 default fee; local deploy-dex-local.sh does not yet pass pair_creation_fee_uluna: "0" or attach fee). LCD/indexer/frontend not brought up for live UI pass.
11 Component-level UI (render + click 25%) PASS Ephemeral vitest run on AmountBalanceActions (rendered swap-pay-frac-{25,50,75,100}, 25% → onFraction('0.25')); file not committed

Commands run

glab issue view 303 -R PlasticDigits/cl8y-dex-terraclassic --comments
make lint-frontend
make test-frontend
cd frontend-dapp && npx tsc -b
/tmp/verify-303-code.sh   # static wiring audit
sg docker -c 'make start-qa'   # blocked at deploy-local create_pair (#276)

Follow-ups

  1. Human browser QA (totdking / @PlasticDigits): re-run steps from the original issue comment once deploy-local succeeds (see open MR !762 / #276 for local fee wiring).
  2. Pool parity (optional): wire onFraction on PoolPage or document pool as Max+50%-only in docs/frontend.md § Max amount.
  3. Redundant 100% vs Max (optional): drop 100% preset or keep both — per !759 discussion.

Issue status recommendation: Implementation on main matches MR !759 scope; leaving open until browser QA passes or pool scope is explicitly accepted/closed.

## Verification report — GitLab #303 (OE-7 fraction presets) **Agent:** Cloud Agent verification (2026-06-05) **Base:** `main` @ `9f0babe` (includes merged MR !759) **Repo changes:** None (no MR opened) ### Summary MR !759 landed the intended fix: optional **25 / 50 / 75 / 100%** presets on shared `AmountBalanceActions`, wired on **Swap → You Pay** and **trade/limit escrow** (`LimitOrderEscrowAmountField`, covering `/trade` market + limit and `/limits`). **Pool** still uses **Max + 50%** only, as noted in !759 (follow-up if full parity is wanted). --- ### Checklist → result | # | Acceptance item | Result | How verified | |---|-----------------|--------|--------------| | 1 | `AmountBalanceActions` supports 25/50/75/100% presets (optional `onFraction`) | **PASS** | `rg` + read `frontend-dapp/src/components/common/AmountBalanceActions.tsx` | | 2 | Fractions use same gas-adjusted `spendableRaw` as Max (bigint, no float drift) | **PASS** | `(spendableRaw * num) / 100n` in `fractionHuman()` | | 3 | **Swap** You Pay shows 25/50/75/100% + Max | **PASS** | `SwapPage.tsx` wires `onFraction`, `testIdFractionPrefix="swap-pay-frac"` | | 4 | **Trade** market + limit escrow amount shows presets | **PASS** | `LimitOrderEscrowAmountField.tsx` → used by `TradeMarketOrderPanel`, `TradeOrderTicket`, `LimitOrdersPage` | | 5 | **Limits** page escrow shows presets | **PASS** | Same `LimitOrderEscrowAmountField` on `LimitOrdersPage` | | 6 | **Pool** provide-liquidity shows 25/50/75/100% | **SKIP** (scope) | `PoolPage.tsx` still `showHalf` + `onMax` only — intentional per !759; optional follow-up | | 7 | TypeScript build clean | **PASS** | `npx tsc -b` in `frontend-dapp` | | 8 | Frontend lint | **PASS** | `make lint-frontend` (0 errors, pre-existing warnings) | | 9 | Frontend unit tests | **PASS** | `make test-frontend` — 822 tests, 0 failures | | 10 | **Browser / QA** — connect wallet, confirm buttons on `/`, `/trade`, `/limits` | **FAIL** | `make start-qa` → `deploy-local` failed at first `create_pair`: *"Pair creation requires 100000000 uluna"* ([#276](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/276) default fee; local `deploy-dex-local.sh` does not yet pass `pair_creation_fee_uluna: "0"` or attach fee). LCD/indexer/frontend not brought up for live UI pass. | | 11 | Component-level UI (render + click 25%) | **PASS** | Ephemeral vitest run on `AmountBalanceActions` (rendered `swap-pay-frac-{25,50,75,100}`, 25% → `onFraction('0.25')`); file not committed | --- ### Commands run ```bash glab issue view 303 -R PlasticDigits/cl8y-dex-terraclassic --comments make lint-frontend make test-frontend cd frontend-dapp && npx tsc -b /tmp/verify-303-code.sh # static wiring audit sg docker -c 'make start-qa' # blocked at deploy-local create_pair (#276) ``` --- ### Follow-ups 1. **Human browser QA** (totdking / @PlasticDigits): re-run steps from the original issue comment once `deploy-local` succeeds (see open MR !762 / #276 for local fee wiring). 2. **Pool parity** (optional): wire `onFraction` on `PoolPage` or document pool as Max+50%-only in `docs/frontend.md` § Max amount. 3. **Redundant 100% vs Max** (optional): drop 100% preset or keep both — per !759 discussion. --- **Issue status recommendation:** Implementation on `main` matches MR !759 scope; leaving **open** until browser QA passes or pool scope is explicitly accepted/closed.
PlasticDigits commented 2026-06-05 05:52:17 +00:00 (Migrated from gitlab.com)

Browser QA retry — #303 (post MR !763 + deploy fix)

Branch tested: cursor/fix-local-deploy-pair-fee-345b (pair_creation_fee_uluna=0 in deploy-dex-local.sh)
Stack: make reset-qa → deploy OK (20 pairs), indexer /health OK, make dev on :5173

Deploy fix

make start-qa previously failed at create_pair with Pair creation requires 100000000 uluna (#276). Fix: instantiate local factory with "pair_creation_fee_uluna":"0". MR: !764 (branch cursor/fix-local-deploy-pair-fee-345b).

Fraction buttons (UI)

Page Expected Result Notes
Swap / You Pay 25/50/75/100% + Max PASS 25% click → amount 175192.646258
Trade limit escrow 25/50/75/100% + Max PASS Under AMOUNT field
Limits /limits escrow 25/50/75/100% + Max PASS
Pool provide liquidity Max + 50% only PASS Per MR !759 scope

Keplr wallet

Step Result
Install Keplr extension on Cloud Agent Chrome PARTIAL — unpacked load works in fresh profile; dApp sometimes shows Install until extension enabled
Import TEST_MNEMONIC / connect Keplr to dApp FAIL
Fraction UI with extension wallet NOT RUN — UI verified with connected wallet (simulated in default session)

Recommendation: Human QA with Terra Classic Keplr on a normal desktop (or pre-seeded Chrome profile) to close the Keplr row. Fraction preset implementation itself looks good.

## Browser QA retry — #303 (post MR !763 + deploy fix) **Branch tested:** `cursor/fix-local-deploy-pair-fee-345b` (`pair_creation_fee_uluna=0` in `deploy-dex-local.sh`) **Stack:** `make reset-qa` → deploy OK (20 pairs), indexer `/health` OK, `make dev` on `:5173` ### Deploy fix `make start-qa` previously failed at `create_pair` with *Pair creation requires 100000000 uluna* ([#276](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/276)). Fix: instantiate local factory with `"pair_creation_fee_uluna":"0"`. MR: !764 (branch `cursor/fix-local-deploy-pair-fee-345b`). ### Fraction buttons (UI) | Page | Expected | Result | Notes | |------|----------|--------|-------| | **Swap** `/` You Pay | 25/50/75/100% + Max | **PASS** | 25% click → amount `175192.646258` | | **Trade** limit escrow | 25/50/75/100% + Max | **PASS** | Under AMOUNT field | | **Limits** `/limits` escrow | 25/50/75/100% + Max | **PASS** | | | **Pool** provide liquidity | Max + 50% only | **PASS** | Per MR !759 scope | ### Keplr wallet | Step | Result | |------|--------| | Install Keplr extension on Cloud Agent Chrome | **PARTIAL** — unpacked load works in fresh profile; dApp sometimes shows Install until extension enabled | | Import `TEST_MNEMONIC` / connect Keplr to dApp | **FAIL** | 24-word import not automatable; extension popup `ERR_BLOCKED_BY_CLIENT`; Simulated Wallet persisted in default profile | | Fraction UI with extension wallet | **NOT RUN** — UI verified with connected wallet (simulated in default session) | **Recommendation:** Human QA with Terra Classic Keplr on a normal desktop (or pre-seeded Chrome profile) to close the Keplr row. Fraction preset implementation itself looks good.
PlasticDigits commented 2026-06-05 05:52:34 +00:00 (Migrated from gitlab.com)

mentioned in merge request !770

mentioned in merge request !770
PlasticDigits commented 2026-06-05 09:51:46 +00:00 (Migrated from gitlab.com)

Cloud agent should attempt verification with keplr in the vm

Cloud agent should attempt verification with keplr in the vm
PlasticDigits commented 2026-06-05 10:25:06 +00:00 (Migrated from gitlab.com)

Verification report — GitLab #303 (OE-7 fraction presets)

Agent: Cloud Agent verification (2026-06-05)
Issue: https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/303
Base: main @ 531d00e (includes merged MR !759)
Repo changes: None (no MR opened)

Summary

MR !759 implementation is verified on main. Fraction preset buttons 25 / 50 / 75 / 100% (+ Max) render and work on Swap, Trade (market + limit escrow), and Limits. Pool provide-liquidity intentionally keeps 50% + Max only (per !759). Browser QA on the live LocalTerra stack confirms UI behavior; Keplr extension connect on this VM remains blocked (Chrome does not load the unpacked/profile-installed extension).


Checklist → result

# Acceptance item Result How verified
1 AmountBalanceActions supports 25/50/75/100% presets (onFraction) PASS /tmp/verify-303-code.sh; read frontend-dapp/src/components/common/AmountBalanceActions.tsx
2 Fractions use same gas-adjusted spendableRaw as Max (bigint, no float drift) PASS (spendableRaw * num) / 100n in fractionHuman()
3 Swap You Pay shows 25/50/75/100% + Max PASS SwapPage.tsx wires onFraction, testIdFractionPrefix="swap-pay-frac"; browser screenshot
4 Trade market + limit escrow amount shows presets PASS LimitOrderEscrowAmountField → TradeMarketOrderPanel, TradeOrderTicket; browser on EMBER/CORAL limit form
5 Limits page escrow shows presets PASS LimitOrdersPage → LimitOrderEscrowAmountField; browser on /limits
6 Pool provide-liquidity shows 25/50/75/100% SKIP (scope) PoolPage.tsx still showHalf + onMax only — intentional per !759; browser confirms 50% + Max only
7 TypeScript build clean PASS bash scripts/with-node.sh --cwd frontend-dapp -- npm run build
8 Frontend lint PASS make lint-frontend (0 errors, 6 pre-existing warnings)
9 Frontend unit tests PASS make test-frontend — 832 tests, 0 failures
10 Browser QA — fraction buttons on /, /trade, /limits PASS LOCAL_PAIR_CREATION_FEE_ULUNA=0 make start-qa → deploy OK; make dev on :5173; wallet connected; 25% click → 175192.646258 EMBER
11 Pool browser — Max + 50% only PASS /pool provide-liquidity COBALT/AMBER: 50% + Max per asset, no 25/75/100%
12 Keplr extension connect on Cloud Agent VM FAIL Keplr files present (setup-browser-cloud-agent.sh → 0.13.37); dApp shows Install (not Ready); chrome-extension://…/popup.html → ERR_BLOCKED_BY_CLIENT; chrome://extensions empty after profile install. --load-extension not fully automatable in this session.

Commands run

source .env.glab && glab issue view 303 -R plasticdigits/cl8y-dex-terraclassic --comments
make lint-frontend
make test-frontend
bash scripts/with-node.sh --cwd frontend-dapp -- npm run build
/tmp/verify-303-code.sh
export LOCAL_PAIR_CREATION_FEE_ULUNA=0; sg docker -c 'make start-qa'   # deploy OK, indexer /health ok
make dev   # :5173
./scripts/setup-browser-cloud-agent.sh
# Browser: Swap/Trade/Limits fraction buttons + 25% click; Pool 50%+Max only

Follow-ups

  1. Keplr on Cloud Agent VM (optional infra): fix Chrome extension loading so agent:verify can sign with Keplr, not only Simulated Wallet. Human desktop Keplr QA still recommended for signing flows.
  2. Pool parity (optional product): wire onFraction on PoolPage if full 25/50/75/100% parity is desired.
  3. Redundant 100% vs Max (optional): drop 100% preset or keep both — per !759 discussion.

Issue status: Implementation verified; closing #303. Keplr VM limitation is documented above and does not block the fraction-preset feature itself.

## Verification report — GitLab #303 (OE-7 fraction presets) **Agent:** Cloud Agent verification (2026-06-05) **Issue:** https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/303 **Base:** `main` @ `531d00e` (includes merged MR !759) **Repo changes:** None (no MR opened) ### Summary MR !759 implementation is **verified on `main`**. Fraction preset buttons **25 / 50 / 75 / 100%** (+ **Max**) render and work on **Swap**, **Trade** (market + limit escrow), and **Limits**. **Pool** provide-liquidity intentionally keeps **50% + Max** only (per !759). Browser QA on the live LocalTerra stack confirms UI behavior; **Keplr extension connect on this VM remains blocked** (Chrome does not load the unpacked/profile-installed extension). --- ### Checklist → result | # | Acceptance item | Result | How verified | |---|-----------------|--------|--------------| | 1 | `AmountBalanceActions` supports 25/50/75/100% presets (`onFraction`) | **PASS** | `/tmp/verify-303-code.sh`; read `frontend-dapp/src/components/common/AmountBalanceActions.tsx` | | 2 | Fractions use same gas-adjusted `spendableRaw` as Max (bigint, no float drift) | **PASS** | `(spendableRaw * num) / 100n` in `fractionHuman()` | | 3 | **Swap** You Pay shows 25/50/75/100% + Max | **PASS** | `SwapPage.tsx` wires `onFraction`, `testIdFractionPrefix="swap-pay-frac"`; browser screenshot | | 4 | **Trade** market + limit escrow amount shows presets | **PASS** | `LimitOrderEscrowAmountField` → `TradeMarketOrderPanel`, `TradeOrderTicket`; browser on EMBER/CORAL limit form | | 5 | **Limits** page escrow shows presets | **PASS** | `LimitOrdersPage` → `LimitOrderEscrowAmountField`; browser on `/limits` | | 6 | **Pool** provide-liquidity shows 25/50/75/100% | **SKIP** (scope) | `PoolPage.tsx` still `showHalf` + `onMax` only — intentional per !759; browser confirms **50% + Max** only | | 7 | TypeScript build clean | **PASS** | `bash scripts/with-node.sh --cwd frontend-dapp -- npm run build` | | 8 | Frontend lint | **PASS** | `make lint-frontend` (0 errors, 6 pre-existing warnings) | | 9 | Frontend unit tests | **PASS** | `make test-frontend` — 832 tests, 0 failures | | 10 | **Browser QA** — fraction buttons on `/`, `/trade`, `/limits` | **PASS** | `LOCAL_PAIR_CREATION_FEE_ULUNA=0 make start-qa` → deploy OK; `make dev` on `:5173`; wallet connected; 25% click → `175192.646258` EMBER | | 11 | **Pool** browser — Max + 50% only | **PASS** | `/pool` provide-liquidity COBALT/AMBER: **50% + Max** per asset, no 25/75/100% | | 12 | **Keplr** extension connect on Cloud Agent VM | **FAIL** | Keplr files present (`setup-browser-cloud-agent.sh` → 0.13.37); dApp shows **Install** (not Ready); `chrome-extension://…/popup.html` → `ERR_BLOCKED_BY_CLIENT`; `chrome://extensions` empty after profile install. `--load-extension` not fully automatable in this session. | --- ### Commands run ```bash source .env.glab && glab issue view 303 -R plasticdigits/cl8y-dex-terraclassic --comments make lint-frontend make test-frontend bash scripts/with-node.sh --cwd frontend-dapp -- npm run build /tmp/verify-303-code.sh export LOCAL_PAIR_CREATION_FEE_ULUNA=0; sg docker -c 'make start-qa' # deploy OK, indexer /health ok make dev # :5173 ./scripts/setup-browser-cloud-agent.sh # Browser: Swap/Trade/Limits fraction buttons + 25% click; Pool 50%+Max only ``` --- ### Follow-ups 1. **Keplr on Cloud Agent VM** (optional infra): fix Chrome extension loading so `agent:verify` can sign with Keplr, not only Simulated Wallet. Human desktop Keplr QA still recommended for signing flows. 2. **Pool parity** (optional product): wire `onFraction` on `PoolPage` if full 25/50/75/100% parity is desired. 3. **Redundant 100% vs Max** (optional): drop 100% preset or keep both — per !759 discussion. --- **Issue status:** Implementation verified; closing #303. Keplr VM limitation is documented above and does not block the fraction-preset feature itself.
PlasticDigits (Migrated from gitlab.com) closed this issue 2026-06-05 10:25:07 +00:00
totdking commented 2026-06-16 11:51:41 +00:00 (Migrated from gitlab.com)

Verification

This fix is prevalent across the /trade, /limits and /swap but the /pool tab still has the 50% / max selection for liquidity provision. The polish of this will render the oe-7 closed properly

cc: @PlasticDigits

### Verification This fix is prevalent across the `/trade`, `/limits` and `/swap` but the `/pool` tab still has the 50% / max selection for liquidity provision. The polish of this will render the oe-7 closed properly cc: @PlasticDigits
totdking commented 2026-06-16 15:38:50 +00:00 (Migrated from gitlab.com)

Marking as complete and closed off from here due to comment in https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/41

The shared AmountBalanceActions only exposed Max (+ 50% on pool). Added optional fraction-preset buttons (default 25/50/75/100%) — backward-compatible (existing showHalf/onMax callers unchanged) — each applying its fraction to the same gas-adjusted spendable Max uses, via exact bigint math (no float drift). Wired on the swap You Pay field and the trade/limit escrow amount field; pool keeps its own Max + 50%

Marking as complete and closed off from here due to comment in https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/41 > The shared `AmountBalanceActions` only exposed `Max` (+ `50%` on pool). Added optional fraction-preset buttons (default 25/50/75/100%) — backward-compatible (existing `showHalf`/`onMax` callers unchanged) — each applying its fraction to the same gas-adjusted spendable `Max` uses, via exact bigint math (no float drift). Wired on the swap You Pay field and the trade/limit escrow amount field; pool keeps its own Max + 50%
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
code/cl8y-dex-terraclassic#303
No description provided.