v0.11.0
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 tsartifacts used incorrect quotation marks. - 🛠️ Remove warning for opcount and update warning for byte size to match new limits.
- 💥 BREAKING:
tx.agewas renamed tothis.ageto better reflect that it enforces a UTXO-level locktime check (not transaction-level). - 💥 BREAKING: The entire
debugobject 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
[email protected]or later). - ✨ Add
setBlockHeight()method toMockNetworkProvider - ✨ Config-free usage of the CashScript SDK with Vite or Webpack
- 🛠️ Update debug tooling to use the new
BCH_2025_05instruction 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
ElectrumNetworkProviderand added a configuration object to the constructor. - 💥 BREAKING: Remove support for old contracts compiled with CashScript v0.6.x or earlier.
- 🐛 Fix bug where
JestExtensionsexpect().toLog()would detect logs from different tests. - 🐛 Fix bug where certain edge cases in require statements caused the
FailedRequireErrormessage to be slightly different from the original error message.
@cashscript/utils
- 💥 BREAKING: Remove
importArtifactandexportArtifacthelper functions. If you want to import or export artifacts, use'fs'to read and write files directly.