Skip to content

docs(wasm-utxo): add comprehensive new coin integration guide#168

Draft
OttoAllmendinger wants to merge 2 commits intomasterfrom
BTC-3047.add-onboarding-docs
Draft

docs(wasm-utxo): add comprehensive new coin integration guide#168
OttoAllmendinger wants to merge 2 commits intomasterfrom
BTC-3047.add-onboarding-docs

Conversation

@OttoAllmendinger
Copy link
Contributor

Add detailed guide for integrating new UTXO coins into wasm-utxo.
Include step-by-step instructions for network enum updates, address
codec configuration, PSBT handling, and fixture generation. Document
match arm requirements, version byte sources, script type support
flags, and sighash configuration. Provide worked example using
foocoin throughout with code snippets, architecture diagram, and
complete testing checklist.

BTC-3047

Co-authored-by: llm-git llm-git@ttll.de

@OttoAllmendinger OttoAllmendinger force-pushed the BTC-3047.add-onboarding-docs branch from bb4eb5b to e585cfe Compare February 19, 2026 09:10
Remove utxo-lib dependencies from fixed-script PSBT tests and implement
fixture auto-generation. Tests now generate fixtures on-demand when
missing, ensuring consistency across all signature states (unsigned,
halfsigned, fullsigned).

Changes:
- Implement fixture generation in generateFixture.ts
- Update fixtureUtil to auto-generate missing fixtures
- Remove utxo-lib network references, use NetworkName type
- Remove txid validation against utxo-lib
- Remove OP_RETURN output construction via utxo-lib
- Update all test files to use async fixture loading
- Switch to format validation for txids instead of cross-library checks

Issue: BTC-3047
Co-authored-by: llm-git <llm-git@ttll.de>

feat(wasm-utxo): attach non_witness_utxo to PSBT inputs in AcidTest

Use the new Transaction builder to construct a fake previous transaction
for each input when txFormat is "psbt", populating non_witness_utxo.

refactor(wasm-utxo): make txFormat a parameter in fixture generation

Accept txFormat in generateAllStates() and loadPsbtFixture() instead of
hardcoding "psbt-lite", enabling generation of both psbt and psbt-lite
fixtures from the same infrastructure.

test(wasm-utxo): run fixed-script tests across both psbt and psbt-lite formats

Iterate over txFormats in parseTransactionWithWalletKeys and
signAndVerifySignature, skipping psbt for zcash which doesn't support
non_witness_utxo.

update fixtures

test(wasm-utxo): add psbt-format fixtures for all 7 coins

Generate unsigned/halfsigned/fullsigned PSBT fixtures (with
non_witness_utxo) for bitcoin, bitcoincash, bitcoingold, dash,
dogecoin, ecash, and litecoin.
@OttoAllmendinger OttoAllmendinger force-pushed the BTC-3047.add-onboarding-docs branch from e585cfe to 9ddab67 Compare March 11, 2026 14:14
Add detailed guide for integrating new UTXO coins into wasm-utxo.
Include step-by-step instructions for network enum updates, address
codec configuration, PSBT handling, and fixture generation. Document
match arm requirements, version byte sources, script type support
flags, and sighash configuration. Provide worked example using foocoin
throughout with code snippets, architecture diagram, and complete
testing checklist.

BTC-3047

Co-authored-by: llm-git <llm-git@ttll.de>
@OttoAllmendinger OttoAllmendinger force-pushed the BTC-3047.add-onboarding-docs branch from 9ddab67 to e4c31bf Compare March 11, 2026 14:44
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.

1 participant