Skip to content

v0.10.0

Compare
Choose a tag to compare
@rkalis rkalis released this 12 Sep 09:15
· 8 commits to master since this release
368ba7c

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