Skip to content

Support Dash AssetUnlock transactions - #1326

Merged
NicolasDorier merged 2 commits into
MetacoSA:masterfrom
huggix:codex/dash-asset-unlock
Aug 6, 2026
Merged

Support Dash AssetUnlock transactions#1326
NicolasDorier merged 2 commits into
MetacoSA:masterfrom
huggix:codex/dash-asset-unlock

Conversation

@huggix

@huggix huggix commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add the missing Dash transaction types 7-9
  • disable witness parsing for Dash transaction serialization/deserialization
  • permit zero inputs only for AssetUnlock (type 9)
  • preserve zero-input rejection for every other Dash transaction type

Why

Dash AssetUnlock transactions are valid DIP-2 special transactions with no inputs. Serializing one currently throws The transaction must have at least one input, which prevents NBXplorer from indexing past a block containing one.

Tests

  • regression vector from mainnet transaction c84ef8acba47d55cff09e97ed2e29da25c954b8c40cc5c41cb73a6e1e06b5e74
  • verifies decode, type, empty inputs, output value, transaction hash, and byte-for-byte round trip
  • verifies an ordinary zero-input Dash transaction remains rejected
  • all 10 Dash tests pass on current master (net8.0)
  • the same 10 tests pass against the NBitcoin 9.0.0 / NBitcoin.Altcoins 5.0.0 source used by NBXplorer 2.5.30-1 (net6.0)

Reference: https://docs.dash.org/projects/core/en/develop/docs/reference/transactions-special-transactions.html#assetunlocktx

@NicolasDorier
NicolasDorier merged commit b3a285c into MetacoSA:master Aug 6, 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

Development

Successfully merging this pull request may close these issues.

2 participants