Breaking Change: Cadence Crypto Contract Domain Tag - 6/16/2021

We want to let you know that there will be a breaking change to Cadence that will impact development teams using the Crypto contract. This is a critical update.

This change will go into effect:

  • TestNet: 6-22-2021
  • MainNet: 6-23-2021

Who/What This Impacts

The built-in Cadence contract Crypto changed. This breaking change only affects users of this contract.

  • The Crypto contract user domain tag used to verify KeyList signatures changed from "user" to "FLOW-V0.0-user", the same tag used by SDKs
  • The function Crypto.KeyList.isValid was renamed to verify

Why This Change Happened

  • The user domain tag was made consistent with the tag used by Flow SDKs
  • The function was renamed to consistenly use the term “verification”

Action Required

  • When using the KeyList structure from the Crypto contract, generate off-chain signatures with the user domain tag "FLOW-V0.0-user", the same tag used by the SDKs
  • Replace function calls of Crypto.KeyList.isValid with the new name verify

If you have any questions regarding this breaking change, please ask our team in Discord for further assistance.

Thank you,
The Flow Team :ocean: