Skip to content

Feature Support Tracking: UTxO RPC Spec v0.18.1 #51

@Mercurial

Description

@Mercurial

UTxO RPC Spec v0.18.1 Feature Support Tracking

This issue tracks which features from the UTxO RPC spec v0.18.1 are currently implemented in the Node SDK.

Legend

  • ✅ Implemented
  • ❌ Not Implemented
  • ⚠️ Needs Update (breaking change in spec)

SyncService

Method Status Notes
FetchBlock SyncClient.fetchBlock()
DumpHistory SyncClient.fetchHistory()
FollowTip SyncClient.followTip() - handles apply/undo/reset
ReadTip SyncClient.readTip()

QueryService

Method Status Notes
ReadParams QueryClient.readParams()
ReadUtxos QueryClient.readUtxosByOutputRef()
SearchUtxos Multiple convenience methods available
ReadData Not implemented - Read datum by hash
ReadTx Not implemented - Get transaction by hash
ReadGenesis QueryClient.readGenesis()
ReadEraSummary QueryClient.readErasummary()

SearchUtxos Convenience Methods

  • searchUtxosByAddress
  • searchUtxosByPaymentPart
  • searchUtxosByDelegationPart
  • searchUtxosByAsset
  • searchUtxosByAddressWithAsset
  • searchUtxosByPaymentPartWithAsset
  • searchUtxosByDelegationPartWithAsset

SubmitService

Method Status Notes
EvalTx ⚠️ Implemented but wraps in array - spec changed to single tx
SubmitTx ⚠️ Implemented but wraps in array - spec changed to single tx
WaitForTx SubmitClient.waitForTx()
ReadMempool Not implemented - Get mempool snapshot
WatchMempool Multiple convenience methods available

WatchMempool Convenience Methods

  • watchMempool (all txs)
  • watchMempoolForAddress
  • watchMempoolForPaymentPart
  • watchMempoolForDelegationPart
  • watchMempoolForAsset
  • watchMempoolForMintsAsset - mints_asset pattern not exposed
  • watchMempoolForCertificate - has_certificate pattern not exposed

WatchService

Method Status Notes
WatchTx ⚠️ Implemented but idle action not handled

WatchTx Convenience Methods

  • watchTx (all txs)
  • watchTxForAddress
  • watchTxForPaymentPart
  • watchTxForDelegationPart
  • watchTxForAsset
  • watchTxForMintsAsset - mints_asset pattern not exposed
  • watchTxForCertificate - has_certificate pattern not exposed

WatchTxResponse Actions

  • apply - handled
  • undo - handled
  • idle - Not handled (new in 0.18.x - no-match signal for block progress)

TxPattern Coverage (for Watch/Mempool predicates)

Pattern Field Status Notes
consumes Not exposed via convenience methods
produces Not exposed via convenience methods
has_address exactAddress, paymentPart, delegationPart
moves_asset policyId, assetName
mints_asset Not exposed
has_certificate Not exposed

Summary

Missing Features (Priority)

  1. ReadData - Read datum by hash
  2. ReadTx - Get transaction by hash
  3. ReadMempool - Get mempool snapshot
  4. idle action handling - Block progress signal in WatchTx

Breaking Changes to Address

  1. SubmitTx and EvalTx changed from repeated tx to single tx in spec
    • Current implementation wraps single tx in array (lines 349, 357)
    • Need to update to match new spec signature

Pattern Enhancements

  1. Expose mints_asset pattern for mint/burn filtering
  2. Expose has_certificate pattern for certificate filtering
  3. Expose consumes/produces patterns for input/output filtering

cc @SonicSwordcane

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions