Page MenuHomePhabricator

[e.cash] Add finalization indication on live transactions
ClosedPublic

Authored by johnkuney on Jan 16 2026, 04:33.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABCab531b1cf575: [e.cash] Add finalization indication on live transactions
Summary

Use the ws TX_FINALIZED message to update the finalization state of the transactions
Update the UI based on finalization

Test Plan

preview and make or look for a fresh transaction
Non-finalized should have a blue background and "Finalizing..." text
then they switch to a gray background with a checkmark once finalized

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

johnkuney edited the test plan for this revision. (Show Details)
johnkuney published this revision for review.Jan 16 2026, 04:45

This looks cool... it's fun to see the "finalizing" when transactions appear, then see how quickly it finalizes.

One small nit: When the seconds are counting, their width changes and causes the finalized "check" to jiggle back and forth. Is it possible to fix this, either reposition it, or add some padding that keeps it in place or something?

Fabien requested changes to this revision.Jan 16 2026, 08:06
Fabien added inline comments.
web/e.cash/app/context/ChronikContext.tsx
111 ↗(On Diff #57794)

you don't need to call chronik again. Just update the stored tx by setting its isFinal attribute to true

This revision now requires changes to proceed.Jan 16 2026, 08:06

Tail of the build log:

#18 CACHED

#24 [builder 20/20] RUN pnpm --filter e.cash run build
#24 sha256:f59983c7006eca4f8c58b46e22fd12c8a2f7cca47625a6a892c2d01dd184b108
#24 CACHED

#21 [builder 17/20] RUN pnpm install --frozen-lockfile --offline --filter e.cash...
#21 sha256:4d2fd9b3d0849c920d73d9d7cb2c342d56767cf017521c3c141fb115443b7a3f
#21 CACHED

#17 [builder 13/20] RUN pnpm install --frozen-lockfile --offline --filter ecashaddrjs...
#17 sha256:133c31743c2b2f2420eb6ac4b11c801152929f821fb34c274abf4ab1775470ff
#17 CACHED

#19 [builder 15/20] RUN pnpm --filter ecashaddrjs run build
#19 sha256:fe8c3c84b1a575665858d262733f8e76e955e5cebdf7c1f01881207496c85138
#19 CACHED

#9 [builder  5/20] COPY pnpm-lock.yaml .
#9 sha256:79b93ff78edf705b2c25b818382b221f24230468939b0ea07eef5724cc8d6396
#9 CACHED

#8 [builder  4/20] COPY pnpm-workspace.yaml .
#8 sha256:d3d23e890df92aa05914b236055937f0fcb1df00d58419bfa277e1f7576f3d76
#8 CACHED

#5 [builder  2/20] WORKDIR /app
#5 sha256:951a962c7e8b9f9ab6dc1669c561ca22f0a207bc47c22288a9c5c22e83f50af2
#5 CACHED

#15 [builder 11/20] COPY modules/ecashaddrjs/ ./modules/ecashaddrjs/
#15 sha256:8b40a70628fe2c49bf1dc7bebb50c20d450c388028f0f7670182e6b4cd245aac
#15 CACHED

#16 [builder 12/20] COPY modules/chronik-client/ ./modules/chronik-client/
#16 sha256:3e6690e30a2d653266af5c08dc9e94321058cf249ec6dbb466c5aef3ae2524de
#16 CACHED

#25 [runner  7/11] COPY --from=builder /app/web/e.cash/.next ./web/e.cash/.next
#25 sha256:6301eb84de93ee5fabd3508aaa9be00270c2398bcf469307f5e5920ba3140c76
#25 CACHED

#14 [builder 10/20] RUN pnpm fetch --frozen-lockfile
#14 sha256:d9745fe6c8be498b40589957a9eff53bf8ed78a8339ecd3f750688c870a33482
#14 CACHED

#29 [runner 11/11] WORKDIR /app/web/e.cash
#29 sha256:8e37591658989bb035d1a986daf9d6b73420ecdcd76791b89d84c8cdb19b0910
#29 CACHED

#30 exporting to image
#30 sha256:e8c613e07b0b7ff33893b694f7759a10d42e180f2b4dc349fb57dc6b71dcab00
#30 exporting layers done
#30 writing image sha256:5a0cb61030247534690f5472acc9e33fc248b548b24d1195c8c8db771eee6b78
#30 writing image sha256:5a0cb61030247534690f5472acc9e33fc248b548b24d1195c8c8db771eee6b78 done
#30 naming to docker.io/library/preview-e.cash-2d87704e5 done
#30 DONE 0.0s
docker: Error response from daemon: Conflict. The container name "/preview-e.cash-2d87704e5" is already in use by container "35e1188feccf0564e714f20f4bb097c91d5d2fa0ab8c41153899b6db551fff66". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
Build preview-e.cash failed with exit code 125
web/e.cash/public/check-mark-circle.png
1 ↗(On Diff #57794)

I don't think we need that big of an image. Also maybe a svg is a better option ?

web/e.cash/app/components/Home/LiveCard.tsx
137 ↗(On Diff #57794)

Maybe move this to the right, after the date text so it stays at fixed position independently of the date text width which changes over time

johnkuney edited the test plan for this revision. (Show Details)

use svg image, move final indicator to the right to avoid jumping, dont call chronik again for finalization

This revision is now accepted and ready to land.Jan 16 2026, 16:07