Skip to content

Mainnet 9 - v0.17.4

Compare
Choose a tag to compare
@release-drafter release-drafter released this 26 May 01:46
· 29477 commits to master since this release
2d81520

Changes since v0.16.2

⭐ Features

🛠 Improvements

🐛 Bug Fixes

❓ Miscellaneous

Breaking changes

Proposer Key Sequence Number (#602)

When running a transaction, the proposer key sequence number would always be incremented unless any of the following conditions occur:

  • invalid transaction (transaction rejected by collection nodes)
  • any of the transaction signatures are not valid
  • the transaction is missing the signature(s) by the proposer
  • the proposal sequence number is invalid (not match with the one stored on the chain)

In other words, the new behaviour increments the sequence number even if the transaction fails at runtime or any other condition that is not mentioned above. The new behaviour protects the network against some cases of spamming attacks and protects users from double transaction submission attacks.

Transaction Domain Tags (#694)

Transaction domain tags allow signers to identify which messages are intended to represent encoded transactions, and which are not. The Flow protocol has been updated (as of May 5th 2021) to both accept signatures produced from messages prepended with a transaction domain tag, and from messages that are not. This spork will strictly require all signatures for transactions to have been produced from messages prepended with a transaction domain tag.

This breaking change requires all users of Flow Client Library, the Flow JavaScript SDK and Flow Go SDK to update their versions to a version greater than or equal to the version that supports transaction domain tags.

FlowIDTableStaking Smart Contract Breaking Change

This change refactors certain functions to eliminate excessive gas usage and is a part of preparing the contract for new protocol contracts like FlowEpoch and StakingCollection and making the contract more efficient

BREAKING CHANGE: Consolidating node and delegator metadata into a single struct to make querying staking information more straightforward.

These changes do not affect any transactions or active interactions with the Staking contract
You only need to take action if you are using any fo the following:

Cadence: Signature Algorithm Name Update (#710)

The naming of the ECDSA secp256k1 signature algorithm was not consistent across different codebases.

To main change is to replace SignatureAlgorithm.ECDSA_Secp256k1 with SignatureAlgorithm.ECDSA_secp256k1