Skip to content

Conversation

@OttoAllmendinger
Copy link
Contributor

This PR adds comprehensive support for multiple cryptocurrency address
formats in the WASM-UTXO module:

  • Adds support for various address encoding schemes:

    • Base58Check for legacy P2PKH/P2SH addresses
    • Bech32/Bech32m for SegWit addresses (P2WPKH/P2WSH/P2TR)
    • CashAddr for Bitcoin Cash and eCash
  • Creates a compatibility layer that integrates with @bitgo/utxo-lib to
    support a unified interface across all altcoins

  • Updates WASM dependencies:

    • js-sys to v0.3.81
    • wasm-bindgen to v0.2.104
  • Adds bech32 dependency and configures dependency management with
    deny.toml to prevent duplicates

  • Enables nontrapping float-to-int conversions in wasm-opt and adds
    TryFromJsValue trait for cleaner JS object parsing

Issue: BTC-2650

OttoAllmendinger and others added 5 commits October 23, 2025 20:15
Update js-sys to v0.3.81 and wasm-bindgen to v0.2.104 to support
implementing altcoin address functionality.

Issue: BTC-2650

Co-authored-by: llm-git <[email protected]>
Add bech32 dependency for supporting altcoin address formats. Configure
dependency management with deny.toml to prevent duplicate dependencies.

Issue: BTC-2650

Co-authored-by: llm-git <[email protected]>
Add new module with support for multiple address formats:
- Base58Check for traditional P2PKH/P2SH addresses
- Bech32/Bech32m for SegWit addresses (P2WPKH/P2WSH/P2TR)
- CashAddr for Bitcoin Cash and eCash
- Support for various cryptocurrencies (BTC, LTC, BCH, BSV, BTG, etc.)

The implementation passes all test vectors and provides a unified
interface for encoding/decoding addresses across different networks.

Issue: BTC-2650

Co-authored-by: llm-git <[email protected]>
Add a compatibility layer for address encoding/decoding that works with
networks from @bitgo/utxo-lib. This enables support for all altcoin
addresses through a common interface.

Issue: BTC-2650

Co-authored-by: llm-git <[email protected]>
Enable nontrapping float-to-int conversions in wasm-opt to support
alternative coin address derivation. Added TryFromJsValue trait for
cleaner JS object parsing.

Supported since ~2020 in major browsers and runtimes.

Issue: BTC-2650

Co-authored-by: llm-git <[email protected]>
@OttoAllmendinger OttoAllmendinger force-pushed the BTC-2650.add-altcoin-address-support branch from bc05f07 to a649c99 Compare October 23, 2025 18:54
@OttoAllmendinger OttoAllmendinger marked this pull request as ready for review October 23, 2025 18:58
@OttoAllmendinger OttoAllmendinger requested a review from a team as a code owner October 23, 2025 18:58
@lcovar lcovar merged commit 951cf14 into master Oct 23, 2025
1 check passed
@lcovar lcovar deleted the BTC-2650.add-altcoin-address-support branch October 23, 2025 19:39
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.

3 participants