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)
ReadData - Read datum by hash
ReadTx - Get transaction by hash
ReadMempool - Get mempool snapshot
idle action handling - Block progress signal in WatchTx
Breaking Changes to Address
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
- Expose
mints_asset pattern for mint/burn filtering
- Expose
has_certificate pattern for certificate filtering
- Expose
consumes/produces patterns for input/output filtering
cc @SonicSwordcane
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
SyncService
FetchBlockSyncClient.fetchBlock()DumpHistorySyncClient.fetchHistory()FollowTipSyncClient.followTip()- handles apply/undo/resetReadTipSyncClient.readTip()QueryService
ReadParamsQueryClient.readParams()ReadUtxosQueryClient.readUtxosByOutputRef()SearchUtxosReadDataReadTxReadGenesisQueryClient.readGenesis()ReadEraSummaryQueryClient.readErasummary()SearchUtxos Convenience Methods
searchUtxosByAddresssearchUtxosByPaymentPartsearchUtxosByDelegationPartsearchUtxosByAssetsearchUtxosByAddressWithAssetsearchUtxosByPaymentPartWithAssetsearchUtxosByDelegationPartWithAssetSubmitService
EvalTxSubmitTxWaitForTxSubmitClient.waitForTx()ReadMempoolWatchMempoolWatchMempool Convenience Methods
watchMempool(all txs)watchMempoolForAddresswatchMempoolForPaymentPartwatchMempoolForDelegationPartwatchMempoolForAssetwatchMempoolForMintsAsset- mints_asset pattern not exposedwatchMempoolForCertificate- has_certificate pattern not exposedWatchService
WatchTxidleaction not handledWatchTx Convenience Methods
watchTx(all txs)watchTxForAddresswatchTxForPaymentPartwatchTxForDelegationPartwatchTxForAssetwatchTxForMintsAsset- mints_asset pattern not exposedwatchTxForCertificate- has_certificate pattern not exposedWatchTxResponse Actions
apply- handledundo- handledidle- Not handled (new in 0.18.x - no-match signal for block progress)TxPattern Coverage (for Watch/Mempool predicates)
consumesproduceshas_addressmoves_assetmints_assethas_certificateSummary
Missing Features (Priority)
ReadData- Read datum by hashReadTx- Get transaction by hashReadMempool- Get mempool snapshotidleaction handling - Block progress signal in WatchTxBreaking Changes to Address
SubmitTxandEvalTxchanged from repeated tx to single tx in specPattern Enhancements
mints_assetpattern for mint/burn filteringhas_certificatepattern for certificate filteringconsumes/producespatterns for input/output filteringcc @SonicSwordcane