[#696] Add timelock puzzle support

Description

This adds the necessary cryptographic primitives for timelock puzzle support, as well as OPEN_CHEST instruction to the Morley interpreter, openChest command to Lorentz, and chest/key generators to both morley CLI and cleveland.

I've also had to update the primitives list to hangzhou revision, and I also bumped CI to use hangzhou, because otherwise timelock-specific tests will fail on CI.

Please note: this MR is against master, but we may want to consider creating a separate branch for hangzhou until it is live. IMO, it doesn't matter that much for the purpose of review though.

Related issue(s)

Resolves #696 (closed)

Checklist for your Merge Request

Related changes (conditional)

  • Tests (see short guidelines)

    • If I added new functionality, I added tests covering it.
    • If I fixed a bug, I added a regression test to prevent the bug from silently reappearing again.
  • Documentation

    • I checked whether I should update the docs and did so if necessary:
    • I updated changelog files of all affected packages released to Hackage if my changes are externally visible.

Stylistic guide (mandatory)

Edited by Nikolay Yakimov

Merge request reports

Loading