Skip to content

v0.9.5

Latest

Choose a tag to compare

@AgustinBadi AgustinBadi released this 26 Oct 16:10
· 75 commits to main since this release

v0.9.5 — Changes since v0.9.4

Bug Fixes

  • group.ak — The Create mint branch now enforces that the script output carries a valid
    inline GroupDatum. Previously any datum (including NoDatum) was accepted, which would
    have permanently locked the Group UTxO if an off-chain client minted it with a malformed datum.

  • semaphore.ak — The NFT destination check at mint was upgraded from a weak presence check
    (is_policy_on_value) to the stricter policies(without_lovelace(value)) == [policy_id],
    matching the standard already used in group.ak. This prevents foreign tokens from being
    locked into the Semaphore UTxO at mint time.

  • semaphore_test.ak (HIGH) — All spending tests placed vkey_inpu of reference_inputs. The spending validator reads the VKey from re
    happy-path test was silently failing and all fail tests were passin
    across all 8 spending tests.

Test Coverage

  • group_test.ak — Added 2 new fail tests: minting two tokens with
    under the same policy; minting a valid Group NFT alongside a foreign-
    script output. Added mint_wrong_oref: confirms the one-shot UTxO gu
    that does not consume the parameterised oref. Added spend_create_r confirms the Create` redeemer on the spend endpoint is rejected by t

  • semaphore_test.ak — Added 10 new fail tests: two tokens with di
    mint; foreign token in the script output at mint; DatumHash instead of inline datum at mint;
    wrong-typed inline datum (InlineDatum(42)) at mint; missing Group reference input at mint;
    VKey reference input with altered datum at spend; wrong oref at mint; Signal redeemer on
    the mint endpoint. Fixed spend_vkey_field_with_incorrect_value to u
    wrong_vk_oref, decoupling the datum-type rejection from the global

  • semaphore_test.ak (happy path) — Added `spend_signal_semaphore_
    existing happy-path test only covered MPF insertion into an empty tri
    from a pre-populated trie (a dummy nullifier already inserted) and uses an off-chain-generated
    non-membership proof to insert the real nullifier alongside it, verif

  • Test count: 32 → 45, all passing.

Project

  • License changed from Apache-2.0 to GPL v3.
  • Trusted setup ceremony documented: 20 independent participants, random beacon applied as
    contribution #21. Circuit hash and beacon hash recorded in the README
    transcript committed at keys/.
  • Off-chain SDK (modp-semaphore-bls12381) added as a git submodule at off-chain/.
  • README rewritten with architecture diagram, data type reference, dependencies table,
    off-chain SDK section, and ceremony details.