-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
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 hashReadTx- Get transaction by hashReadMempool- Get mempool snapshotidleaction handling - Block progress signal in WatchTx
Breaking Changes to Address
SubmitTxandEvalTxchanged 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_assetpattern for mint/burn filtering - Expose
has_certificatepattern for certificate filtering - Expose
consumes/producespatterns for input/output filtering
cc @SonicSwordcane
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Todo