Skip to content

feat: add soroban tooling suite - authorization inspector, contract spec viewer, fee estimator, explorer links - #197

Merged
BigDella merged 1 commit into
Parcel-Protocol:mainfrom
Just-Bamford:feature/soroban-tools-suite
Sep 29, 2026
Merged

BigDella merged 1 commit into
Parcel-Protocol:mainfrom
Just-Bamford:feature/soroban-tools-suite

Conversation

@Just-Bamford

@Just-Bamford Just-Bamford commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Implements four new Stellar/Soroban tooling features for the utix platform, addressing critical gaps in transaction analysis, contract inspection, and resource fee transparency.

Closes #123
Closes #122
Closes #120
Closes #124

Features Implemented

1. Soroban Authorization Entry Inspector

Build Soroban Authorization Entry Inspector

Decodes authorization entries from Soroban transaction envelopes and renders the authorization tree showing:

  • Who must sign (source account vs. address credentials)
  • Which contract functions and sub-invocations are authorized
  • Nonce and expiration ledger for address signers
  • Identification of unobvious sub-invocations (security risk indicator)

Files: features/soroban-auth-inspector/

  • Components for form input, results display, and error handling
  • XDR parsing with credential extraction
  • Type-safe error codes for all failure paths
  • Regression tests covering core functionality

2. Soroban Contract Interface Viewer

Build Soroban Contract Interface Viewer

Fetches deployed contract specifications directly from the blockchain and renders:

  • Exported functions with argument and return types
  • Custom struct and enum type definitions
  • Contract error codes with descriptions
  • Direct WASM spec parsing from chain

Files: features/soroban-spec-viewer/

  • RPC integration for contract spec retrieval
  • XDR-based spec entry extraction from WASM
  • Function signature and type rendering
  • Network-aware RPC endpoints (mainnet/testnet)

3. Multi-Explorer Link Generator

Build Multi-Explorer Link Generator

Classifies any Stellar identifier and generates direct links on all major explorers:

  • Identifiers supported: Accounts (G...), Contracts (C...), Transactions (64 hex), Ledgers (numeric), Assets (CODE:issuer)
  • Explorers: Stellar Expert, Stellar Chain, SteExp
  • Networks: Mainnet and testnet with correct URL prefixes
  • Local-only computation (no external calls)

Files: features/explorer-links/

  • Client-side identifier classification logic
  • Hardcoded explorer URL patterns for reliability
  • Network-aware link generation
  • Comprehensive identifier format validation

4. Soroban Resource Fee Estimator

Build Soroban Resource Fee Estimator

Breaks down Soroban transaction resource fees by component:

  • CPU instructions with unit pricing
  • Memory bytes allocation cost
  • Ledger read/write byte costs
  • Ledger rent/TTL extension fees
  • Identifies dominant cost component
  • Comparison of declared vs. estimated fees
  • BigInt arithmetic for precision (no floating-point loss)

Files: features/soroban-fee-estimator/

  • Envelope XDR parsing for resource declarations
  • RPC-based current pricing retrieval (getFeeStats)
  • Per-component fee calculation with BigInt
  • Sufficient/insufficient fee status determination
  • Fallback pricing for offline scenarios

@drips-wave

drips-wave Bot commented Sep 29, 2026

Copy link
Copy Markdown

@Just-Bamford Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@BigDella
BigDella merged commit b8589c5 into Parcel-Protocol:main Sep 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants