Skip to content

v0.11.0

Compare
Choose a tag to compare
@mr-zwets mr-zwets released this 20 Jun 13:16
· 27 commits to master since this release
47a9dbc

In this version we added debugging capabilities to the new Transaction Builder

This release also contains several breaking changes, please refer to the migration notes for more information.

cashc compiler

  • 🐛 Fix bug where source code in --format ts artifacts used incorrect quotation marks.
  • 🛠️ Remove warning for opcount and update warning for byte size to match new limits.
  • 💥 BREAKING: tx.age was renamed to this.age to better reflect that it enforces a UTXO-level locktime check (not transaction-level).
  • 💥 BREAKING: The entire debug object on the artifact is reworked to enable debugging the optimised contract bytecode.

CashScript SDK

  • ✨ Add debugging capabilities to the TransactionBuilder.
    • transaction.debug() & transaction.bitauthUri()
    • Output BitAuth IDE URI for debugging when transaction is rejected.
    • Libauth template generation and debugging for multi-contract transactions
  • ✨ Debugging now supports using the optimised contract bytecode (when compiled with cashc@0.11.0 or later).
  • ✨ Add setBlockHeight() method to MockNetworkProvider
  • ✨ Config-free usage of the CashScript SDK with Vite or Webpack
  • 🛠️ Update debug tooling to use the new BCH_2025_05 instruction set.
  • 🛠️ Deprecate the simple transaction builder. You can still use the simple transaction builder with the current SDK, but this support will be removed in a future release
  • 💥 BREAKING: the Jest utilities for automated testing are now synchronous and no longer work with the deprecated simple transaction builder
    • expect(transaction).toLog(message)
    • expect(transaction).toFailRequire()
    • expect(transaction).toFailRequireWith(message)
  • 💥 BREAKING: Remove support for custom Clusters from ElectrumNetworkProvider and added a configuration object to the constructor.
  • 💥 BREAKING: Remove support for old contracts compiled with CashScript v0.6.x or earlier.
  • 🐛 Fix bug where JestExtensions expect().toLog() would detect logs from different tests.
  • 🐛 Fix bug where certain edge cases in require statements caused the FailedRequireError message to be slightly different from the original error message.

@cashscript/utils

  • 💥 BREAKING: Remove importArtifact and exportArtifact helper functions. If you want to import or export artifacts, use 'fs' to read and write files directly.

https://x.com/CashScriptBCH/status/1935662184865890325