Waves Node v0.13.2 - Released on Testnet


#1

We have release v0.13.2 on Testnet.

Release notes

In the release

  • We have fixed the bug with a rollback of a Fee Sponsorship transaction
  • New in Smart Accounts:
    • Union Types, Case Types and Type Matching: Transaction = TransferTransaction | IssueTransaction | DataTransaction ...
    • Initialization of arrays using base64 text
    • Useful information in error message then a transaction is not allowed by the script
  • Update to RIDE IDE: multiple tabs and Base64 support

What are Union Types, Case Types and Type Matching

Previously it was not neccessary but very important to check transaction type before accessing field:

if (tx.type == 4) tx.recipent == ...

But that’s error-prone, because

if (tx.type == 44) tx.recipent == ...

would still compile and result in execution error.

With this change, each transaction type has its own fields, and you have to match tx type first:

match tx {
 case t: TransferTransaction => t.recipient = ...          # works
 case d: DataTransaction =>     d.recipient = ...          # won't compile!
 case _ => false
}

In this example, tx, d don’t have recipient field, but t has. All calls to transaction fields are now exception-free.

Update notes

Due to changes to RIDE scripts serialization we have to truncate the Testnet’s blockchain. Please, delete existing data and resync from the network.