Skip to content

Bridge assets from base layer to LEZ using the blockchain dashboard#374

Open
kashepavadan wants to merge 2 commits into
mainfrom
bedrock-to-zone-ui
Open

Bridge assets from base layer to LEZ using the blockchain dashboard#374
kashepavadan wants to merge 2 commits into
mainfrom
bedrock-to-zone-ui

Conversation

@kashepavadan

Copy link
Copy Markdown
Contributor

@danisharora099 danisharora099 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dogfooded on macOS and cross-checked against the app source. The wizard is documented really well — the four steps, note selection, field validation, the confirm payload, the result states, and even opcode 18 all match the app exactly. Two things I'd want fixed, plus a bigger blocker on actually running it.

  1. The tip line is cut off (line 86): **tip hex** or **Use query tip** (Optional) — just ends on the dash. From the source, here's what that field actually does — suggested completion:

    Tip hex or Use query tip (Optional) — the chain tip the deposit is built against. Leave empty to use the node's current tip, paste a specific tip hex, or click Use query tip to reuse the tip returned when the notes were loaded.

  2. The "Deposits are irreversible…" warning is doc-authored, which is totally fine — just note the app doesn't show that text (the confirm step actually reads "Review the deposit. This is the exact payload that will be submitted."). Keep it as guidance, just don't imply it's on-screen.

Smaller stuff: getChannelId is a LEZ-node RPC, not something the app does — fine as a prerequisite, just not part of the app itself; and a couple of labels differ from the UI ("Channel ID hex" not "Channel ID (hex)", "Tip hex" not "tip hex").

The bigger issue: I couldn't run the deposit end to end, for two reasons.

  • Network story: the app is devnet-only (the config screen only offers Devnet / Custom config), but this journey's channel comes from the testnet LEZ (testnet.lez.logos.co). Depositing into a testnet channel from a devnet node doesn't line up, so the network the whole flow runs on needs reconciling.
  • App can't sync: even on devnet, the app's node currently starts on the wrong genesis and never syncs (I confirmed it's an app bug rather than devnet by syncing a CLI node against the same devnet at the same time). So the wizard can't be exercised with real funds yet.

Requesting changes for the tip line + the network story. The app-sync bug I'll raise with the app/R&D team separately.

@weboko weboko left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-dogfooded after the "danish review fix" commit. The tip-line completion (line 86) landed and reads well now. I verified the two runnable/buildable pieces of this journey:

  • getChannelId prereq works: curl https://testnet.lez.logos.co/ … "method":"getChannelId"{"result":"0101…0101"} (HTTP 200).
  • App builds from source: git clone logos-blockchain-ui + nix buildblockchain_ui_plugin.so, exit 0. The four wizard steps, note selection, field validation, the confirm payload, the result states, and opcode 18 all match ChannelDepositView.qml.

The network story you requested changes on is still open. I confirmed from source that the app is devnet-only: BlockchainBackend.cpp:398 hardcodes deployment.insert("well_known_deployment", "devnet"), and GenerateConfigView.qml exposes only a Devnet radio (+ Custom) — no testnet option. So a node built from the prerequisite doc can't join the testnet LEZ that this journey deposits into (testnet.lez.logos.co), and the deposit can't be exercised end-to-end until the app gains a testnet/well-known-deployment selector (or the journey is re-scoped). Not a one-line doc fix — flagging that it's unresolved after this commit. (I couldn't drive the GUI wizard headless, so the wizard steps are source-verified rather than click-verified.)

Two small label mismatches inline (exact strings from the app, since you'd already spotted these).


1. On **Step 2 – Fields**, enter the deposit parameters:

- **Channel ID (hex)** — the target channel.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The app label is Channel ID hex (no parens) — ChannelDepositView.qml:292,298:

Suggested change
- **Channel ID (hex)** — the target channel.
- **Channel ID hex** — the target channel.

- **Funding public keys** — one per line, prefilled; for paying the gas fee.
- **Max tx fee** — Maximum fee allowed to spend
- **Metadata (base58)** (Optional) — Usually specific to the Zone
- **tip hex** or **Use query tip** (Optional) — The chain tip the deposit is built against. Leave empty to use the node's current tip.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The app placeholder is Tip hex (capital T) — ChannelDepositView.qml:407:

Suggested change
- **tip hex** or **Use query tip** (Optional) — The chain tip the deposit is built against. Leave empty to use the node's current tip.
- **Tip hex** or **Use query tip** (Optional) — The chain tip the deposit is built against. Leave empty to use the node's current tip.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants