Skip to content

Conversation

@nazreen
Copy link
Contributor

@nazreen nazreen commented Jan 16, 2026

Problem

  • Solana transaction data is displayed as hex in wiring transactions preview and in output files.
  • This leads to needing an additional step for developers that want to simulate transaction or import transaction into Squads UI
    • Developers must manually convert hex to base58 before proceeding

Solution

  • Detect Solana transactions by checking the endpoint ID chain type.
  • Convert hex transaction data to base58 for Solana endpoints.

Changes

  • packages/devtools/src/transactions/format.ts:
    • Added isSolanaEid helper to check if an endpoint is Solana.
    • Added formatTransactionData to convert hex to base58 for Solana transactions.
    • Updated formatOmniTransaction to use the new data formatting.
  • packages/ua-devtools-evm-hardhat/src/tasks/oapp/wire/index.ts:
    • Applied formatOmniTransaction when writing transactions to output file.

Before and After

Before (npx lz:oapp:wire --oapp-config layerzero.config.ts --output-file txns.json):

[
{
  "Endpoint": "ARBSEP_V2_TESTNET",
  "OmniAddress": "0x033b77856F15F91Dd8Ea6f0841b45A6173F272eE",
  "Description": "Setting peer for eid 40168 (SOLANA_V2_TESTNET) to address 0x8a78a2b0265c9f41aeadc72c737a008cb3076088e2e3254861b6fb669498bf71",
  "Data": "0x3400288b0000000000000000000000000000000000000000000000000000000000009ce88a78a2b0265c9f41aeadc72c737a008cb3076088e2e3254861b6fb669498bf71"
},
{
  "Endpoint": "SOLANA_V2_TESTNET",
  "OmniAddress": "AKXxGgrT3Mp6FyM2fmpAgj7yGkWxiALUwdjR2PDHcT92",
  "Description": "Setting peer for eid 40231 (ARBSEP_V2_TESTNET) to address 0x000000000000000000000000033b77856f15f91dd8ea6f0841b45a6173f272ee EKXXXF8kzh4Bnq1HBHVwZgA5egJJWLDYqXmJTQtbbd5D EKXXXF8kzh4Bnq1HBHVwZgA5egJJWLDYqXmJTQtbbd5D",
  "Data": "01000509c5e6e695fea2780025efd3d9211876ab08ca14af52d8bc3fac40034da287901495532101a8a4275375f56be0ed8035e692430b440ea7c85139b14144c8a8ece0dba989149a82282854604a9cc0771bc66d1db755142a60d7be444576752177be06b2da72856a58cf2c1be407070553940d42706a7a8f9256a1e31491395a823800000000000000000000000000000000000000000000000000000000000000005aad76da514b6e1dcf11037e904dac3d375f525c9fbafcb19507b78907d8c18b8a78a2b0265c9f41aeadc72c737a008cb3076088e2e3254861b6fb669498bf71eff74af6924cd55b014ff481b2c6e37638ebd7c0dc5d9880fd51060e71640e3808201e53726850a25ffe203cfe039668c12bdacb8ed8b854af944f624bcf2df10c7339cbc2014464a93d3aaedb806c1f06fe3b2eadc49ad4dbc1c872c4e7ee0a040704000106042d4fbba8398b8c5d2f279d000000000000000000000000000000033b77856f15f91dd8ea6f0841b45a6173f272ee070400010604194fbba8398b8c5d2f279d000002020000000003020000000003070400010604104fbba8398b8c5d2f279d000001010000050500080302044cccab10d6b6bf1bc48a78a2b0265c9f41aeadc72c737a008cb3076088e2e3254861b6fb669498bf71279d0000000000000000000000000000033b77856f15f91dd8ea6f0841b45a6173f272ee"
},
...

After (npx lz:oapp:wire --oapp-config layerzero.config.ts --output-file txns.json):

[
{
  "Endpoint": "ARBSEP_V2_TESTNET",
  "OmniAddress": "0x033b77856F15F91Dd8Ea6f0841b45A6173F272eE",
  "Description": "Setting peer for eid 40168 (SOLANA_V2_TESTNET) to address 0x8a78a2b0265c9f41aeadc72c737a008cb3076088e2e3254861b6fb669498bf71",
  "Data": "0x3400288b0000000000000000000000000000000000000000000000000000000000009ce88a78a2b0265c9f41aeadc72c737a008cb3076088e2e3254861b6fb669498bf71"
},
{
  "Endpoint": "SOLANA_V2_TESTNET",
  "OmniAddress": "AKXxGgrT3Mp6FyM2fmpAgj7yGkWxiALUwdjR2PDHcT92",
  "Description": "Setting peer for eid 40231 (ARBSEP_V2_TESTNET) to address 0x000000000000000000000000033b77856f15f91dd8ea6f0841b45a6173f272ee EKXXXF8kzh4Bnq1HBHVwZgA5egJJWLDYqXmJTQtbbd5D EKXXXF8kzh4Bnq1HBHVwZgA5egJJWLDYqXmJTQtbbd5D",
  "Data": "4aa3c17UA5PYvwe5BLLC8rLhSSwzNvrh4AxpuBb7FJoGtbCNBCDDuAqxt81Qvyap8bai2n3wVJRML72QqosEVTqDHWXNYSKy2aozZcSNdnmZBwpWKn3L1DjLEb9yvm3nGbD3cuPt6NZ5akLn5WS1qXkxaj9TZc2REx8cR6YqVS7cJ9nG9oyYLGpNKTz55E3KaWg5S95RfJnDhfWfbukVnhJH2ssLTAn2NX8ic9mJa75H5GypobQrb3gccebzWGgadviL9ewL4uDz8uzX1zfKCaH8RKzjdeyD5YTCfogUc7BUSwYCd6WoTn1E8fjdY4B4FBxzyVe3a2MSA9ukEz1sxG6SjfvSDL5LLgmgo3JFzDQg35wUSWdU6kJUtycNvYP3eyAA85VbxTWmrcTSJ1RzEzsVKrjw5J8Fs4mSmvWtbafp6zDpWpVJ4o6iVJJN9z4Pi7HvBz6wmdBcep4j5CXnsZ4MKpiLv9TVR5arSVw1iAVwqViMBKuCdS7vfSboyktXKANdkCTw3VwPJs2ofsWVaiMbSptPwnF6EPHV92dcph3pgt76ALWGEijCDriAuAFLrUXYDWSWqQ97iCMAUjXo9Pn9P8HRXwLV6Sq9BG4DqrdWdXWHoJLFmEUfP83dUWHJV8NSbmeYamV9pn6FCJtxLDUNCtW8PqtiY7E3mS4T5B1DwJTQcrGGLN7KL2bp9RiM"
},
...

@github-actions
Copy link
Contributor

github-actions bot commented Jan 16, 2026

🧪 E2E Test Status

E2E tests are non-blocking and validate real blockchain interactions. Failures may occur due to network issues, RPC rate limits, or external service downtime.

Test Runs (Newest First):

  • Run #6596 - Passed - 2026-01-20 22:17 (UTC)
  • Run #6572 - Passed - 2026-01-16 23:31 (UTC)
  • Run #6567 - Passed - 2026-01-16 20:57 (UTC)

@nazreen nazreen marked this pull request as ready for review January 16, 2026 21:36
@cursor
Copy link

cursor bot commented Jan 16, 2026

PR Summary

Makes Solana transactions easier to consume by formatting data as base58 instead of hex.

  • In packages/devtools/src/transactions/format.ts, add chain-type detection (endpointIdToChainType) and hexToBase58 (via bs58); formatOmniTransaction now emits base58 for Solana Data.
  • In packages/ua-devtools-evm-hardhat/src/tasks/oapp/wire/index.ts, write output files using transactions.map(formatOmniTransaction).
  • Update example pnpm-lock.yaml files to @layerzerolabs/devtools-solana@3.0.6 and related dependencies; add changeset noting patch bumps.

Written by Cursor Bugbot for commit 9015d7c. This will update automatically on new commits. Configure here.

St0rmBr3w
St0rmBr3w previously approved these changes Jan 17, 2026
Copy link
Contributor

@St0rmBr3w St0rmBr3w left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
Collaborator

@shankars99 shankars99 left a comment

Choose a reason for hiding this comment

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

lgtm

@nazreen nazreen enabled auto-merge January 21, 2026 00:13
Copy link
Contributor

@St0rmBr3w St0rmBr3w left a comment

Choose a reason for hiding this comment

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

LGTM!

@nazreen nazreen added this pull request to the merge queue Jan 21, 2026
Merged via the queue into main with commit 8f83784 Jan 21, 2026
18 checks passed
@nazreen nazreen deleted the solana-txn-data-output branch January 21, 2026 23:38
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