8000 Releases · CashScript/cashscript · GitHub
[go: up one dir, main page]

Skip to content

Releases: CashScript/cashscript

v0.11.2

10 Jul 08:25
Compare
Choose a tag to compare

CashScript SDK

  • 🐛 Fix bug with new generateWcTransactionObject() throwing when using placeholderP2PKHUnlocker()

v0.11.1

08 Jul 09:26
Compare
Choose a tag to compare

CashScript SDK

  • ✨ Add generateWcTransactionObject() method to TransactionBuilder to generate a WcTransactionObject that can be used to sign a transaction with a WalletConnect client.
  • ✨ Add placeholderSignature(), placeholderPublicKey() and placeholderP2PKHUnlocker() helper functions to the SDK for WalletConnect usage.

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

v0.11.0

20 Jun 13:16
47a9dbc
Compare
Choose a tag to compare

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

v0.10.5

18 Dec 15:08
Compare
Choose a tag to compare

cashc compiler

  • 🐛 Fix bug in new TypeScript typings for artifact.

v0.10.4

18 Dec 15:07
Compare
Choose a tag to compare

cashc compiler

  • 🐛 Fix bug in new --format ts option.

v0.10.3

18 Dec 15:07
Compare
Choose a tag to compare

cashc compiler

  • ✨ Add --format ts option to cashc CLI to generate TypeScript typings for the artifact.

CashScript SDK

  • ✨ Add automatic TypeScript typings for Contract class when artifact is generated using the cashc CLI with the --format ts option.

v0.10.2

04 Nov 08:38
Compare
Choose a tag to compare

cashc compiler

  • ✨ Add support for using underscores in numeric literals to improve readability, e.g. 1_000_000.
  • ✨ Add support for using scientific notation in numeric literals, e.g. 1e6 or 1E6.

CashScript SDK

  • 🐛 Fix fee calculation when using SignatureAlgorithm.ECDSA.
  • 🛠️ Clean up dependencies.

v0.10.1

01 Oct 09:35
Compare
Choose a tag to compare
v0.10.1 8000

CashScript SDK

  • 🐛 Fix bug with MockNetworkProvider returning the wrong Network type (now returns Network.MOCKNET / "mocknet").
  • 🐛 Fix bug in debug tooling where incorrect placeholder keys were used when evaluating transactions with P2PKH inputs.

v0.10.0

12 Sep 09:15
368ba7c
Compare
Choose a tag to compare

In this version we added proper debugging support for transactions and integration with the BitAuth IDE.

Thanks mainnet_pat for the initiative and significant contributions!

cashc compiler

  • ✨ Add console.log() statements for debugging.
  • ✨ Extend require() statements to allow custom error messages for debugging.
  • 🛠️ Update artifact format to allow for new debugging features.
  • 🛠️ Update dependencies to new major versions.

CashScript SDK

  • ✨ Add support for transaction evaluation and debugging using libauth templates.
    • transaction.debug() & transaction.bitauthUri()
    • Output BitAuth IDE URI for debugging when transaction is rejected.
  • ✨ Add MockNetworkProvider to simulate network interaction for debugging and testing.
    • Add randomUtxo(), randomToken() and randomNft() functions to generate dummy UTXOs for testing.
  • ✨ Add CashScript Jest utilities for automated testing.
    • expect(transaction).toLog(message)
    • expect(transaction).toFailRequire()
    • expect(transaction).toFailRequireWith(message)
  • 🐛 Fix bug with type exports.
  • 🛠️ Update visibility of several classes.
    • Make artifact, networkProvider, addressType and encodedConstructorArgs public on Contract class.
    • Make contract, abiFunction, encodedFunctionArgs, inputs and outputs public on Transaction class.
    • Make networkProvider, inputs and outputs public on TransactionBuilder class.
    • Make privateKey public on SignatureTemplate class and add getSignatureAlgorithm() method.
  • 🛠️ Improve some error messages.
  • 🛠️ Add new FailedRequireError, FailedTransactionEvaluationError and FailedTransactionError classes.
  • 💥 BREAKING: Remove exported transaction error Reason enum + FailedTimeCheckError and FailedSigCheckError classes in favour of the new error classes.
  • 💥 BREAKING: Remove all deprecated references to meep including meep strings from errors and transaction.meep().
  • 💥 BREAKING: Separate the Argument type into FunctionArgument and ConstructorArgument and rename encodeArgument to encodeFunctionArgument.

https://twitter.com/CashScriptBCH/status/1833454128426615174

v0.9.3

10 Jan 15:09
Compare
Choose a tag to compare

cashc compiler

  • 🛠️ Migrate from antlr4ts to ANTLR's official TypeScript target to remove circular dependency issues.
0