Skip to content

Releases: CashScript/cashscript

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.

v0.9.2

01 Nov 10:37
Compare
Choose a tag to compare

CashScript SDK

  • 🐛 Fix bug where UTXOs would be needlessly retrieved from the network during build() calls.
  • 🐛 Fix off-by-one fee calculation error with transactions that have many outputs.
  • 🐛 Fix bug where no error was thrown when invalid NFT commitment or token category were provided.
  • 🛠️ Export all interfaces from CashScript's interfaces.ts.
  • 🛠️ Merge duplicate code between Transaction.ts and TransactionBuilder.ts

v0.9.1

16 Oct 21:45
Compare
Choose a tag to compare

CashScript SDK

  • 🐛 Fix TransactionBuilder export bug.

v0.9.0

16 Oct 16:29
Compare
Choose a tag to compare

CashScript SDK

  • ✨ Add new advanced TransactionBuilder class that allows combining UTXOs from multiple different smart contracts and P2PKH UTXOs in a single transaction.
  • 🛠️ Deprecate all meep functionality. Meep has been unmaintained for years and does not support many new CashScript features. Meep functionality will be removed in a future release.

v0.8.2

27 Sep 10:16
Compare
Choose a tag to compare

CashScript SDK

  • 🐛 Fix bug with Vite build.
  • ✨ Expose ElectrumNetworkProvider#performRequest to allow raw Electrum requests if needed.

v0.8.1

13 Jun 12:42
Compare
Choose a tag to compare

CashScript SDK

  • 🐛 Fix bug where a different property order of NFT inputs/outputs would cause errors. (see #149)

v0.8.0

26 May 12:58
Compare
Choose a tag to compare

⚠️ From v0.8.0 onwards, CashScript is a Pure ESM package. This means that you can no longer use require() to import cashscript or cashc.

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

cashc compiler

  • ✨ Add support for the new CashTokens introspection functionality (tokenCategory,nftCommitmentand tokenAmountfor both in- and outputs).
  • ✨ Add LockingBytecodeP2SH32 to generate the new P2SH32 standard locking script.
  • 🐛 Fix optimisation bug that caused OP_0NOTEQUAL to be applied to non-integer values.
  • 💥 BREAKING: Move to Pure ESM.
  • 💥 BREAKING: Rename LockingBytecodeP2SH to LockingBytecodeP2SH20 - but it is recommended to change over to the new P2SH32 for security reasons.

CashScript SDK

  • ✨ Add support for CashTokens.
    • .to() now takes a token parameter that can be used to send CashTokens.
    • UTXOs that are retrieved with contract.getUtxos() include a token field if they are token UTXOs.
    • UTXOs that are passed into .from() can also include this token field to send tokens.
    • Add .withoutTokenChange() to disable automatic token change outputs.
    • Note that only the ElectrumNetworkProvider supports CashTokens at this time.
    • Note that NFTs do not support automatic UTXO selection
  • ✨ Add contract.tokenAddress to get the token-enabled address of a contract.
  • ✨ Add fromP2PKH() to add P2PKH inputs to a smart contract transaction.
    • Note: this was in the SDK before as experimentalFromP2PKH(). It has now been released as an official feature.
  • 💥 BREAKING: Move to Pure ESM.
  • 💥 BREAKING: Remove "testnet" & "staging" network options.
  • 💥 BREAKING: contract.address returns p2sh32 address by default, this can be configured to be p2sh20 on contract initialization.
  • 💥 BREAKING: Move the configuration of the network provider to an options object on contract initialization.
  • 💥 BREAKING: Use bigint rather than number for all instances of "script numbers" (e.g. function arguments) and satoshi amounts.
  • 💥 BREAKING: Replace contract.getRedeemScriptHex() with contract.bytecode.
  • 💥 BREAKING: Remove BitboxNetworkProvider.
  • 💥 BREAKING: All signature templates use SIGHASH_ALL | SIGHASH_UTXOS now, this new default can be overwritten in the constructor of the SignatureTemplate.

v0.7.5

28 Dec 16:56
Compare
Choose a tag to compare

CashScript SDK

  • 🐛 Fix a bug with chipnet connection

v0.7.4

05 Dec 19:52
Compare
Choose a tag to compare

cashc compiler

CashScript SDK

v0.7.3

14 Nov 16:12
39a835a
Compare
Choose a tag to compare

CashScript SDK

  • ✨ Add "chipnet" network option to ElectrumNetworkProvider, used to connect to the May 2023 testnet.
  • 🛠️ Renamed network options "testnet" & "staging" to "testnet3" and "testnet4" respectively. Old options will be removed in a future release.