Skip to content

Remove deprecated constant from the crypto contract #1447

Closed

Description

Context

FVM updated the requirement about user signature tags to accept all tags (onflow/flow-go#2171). The user tag is deprecated (not a protocol constant anymore) and should not be used.
It is still hardcoded in the crypto contract to verify signatures (https://github.com/onflow/cadence/blob/49c7bc8/runtime/stdlib/contracts/crypto.cdc#L155)

The crypto contract API could also take a tag parameter, which would be a breaking change.

The contract is currently part of the Cadence code base. We can take this opportunity to move the contract out of Cadence and deploy it on both testnet and mainnet. This allows future contract updates to happen without a spork.

Definition of done:

  • add a new tag parameter for the verify function and use it to verify each signature.
  • remove the flow user tag from the contract
  • update the contract tests
  • (optional) move the contract and tests outside of Cadence
  • (optional) deploy the new contract to testnet and mainnet
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions