Skip to content

v0.0.10

Compare
Choose a tag to compare
@github-actions github-actions released this 24 Jan 19:07
release/v0.0.10
a9463b0

0.0.10 - 2024-01-24

A lot of the changes introduced in this release are program related.

The workflow around having to upload a program during registration is gone. Instead users can
register with programs which have previously been uploaded on-chain by providing the hash of the
program they want to use.

When registering a user can also customize the behaviour of their chosen program through the new
program configuration feature.

If a single program doesn't provide enough functionality, now users can register with multiple
programs. During signature generation all of these programs will be executed. Only if all of them
run successfully then a signature is produced.

Finally, users are now able to indicate which hashing algorithm they would like to use during the
signing step. We provide some common ones out of the box, but custom user-provided hashing
algorithms are also supported.

Docker Images

If you plan on using Docker images from this release, please use the following tags:

Breaking Changes

  • In #561 several crates were renamed in order to ensure consistent naming across the repo.
    The most impactful of these is that the server binary is now the entropy-tss binary. From
    this it follows that the Docker images previously published under entropyxyz/server are
    now being published under entropyxyz/entropy-tss.
  • In #536 the registration interface was changed to accept a pointer to a program.
    Programs are now expected to be uploaded using the Programs::set_program extrinsic.
    • The Programs::update_program extrinsic has been removed and replaced with set_program and
      remove_program
    • The Relayer::register extrinsic now takes a list of program_pointer instead of an
      initial_program
    • The Relayer::AllowedToModifyProgram storage struct and accompanying getter,
      sig_req_accounts, was removed
    • The Programs::Bytecode storage struct and accompanying getter, bytecode, was removed and
      replaced with the Programs storage struct
    • The Programs::ProgramUpdated event was removed and replaced with the ProgramCreated and
      ProgramRemoved events
    • A new Programs configuration parameter, MaxOwnedPrograms, was added
  • In #549, when executing the signing protocol on the client-side, a sig-uid no longer
    needs to be given as an argument
  • In #566 the Wasm API to entropy-protocol was changed to use camelCase function names.
  • In #563 the Wasm API to functions formerly in the x25515chacha20poly1305 repository
    was changed to use camelCase function names.
  • In #568 the registration and program update interfaces were changes to accept a
    vector of program hashes.
    • A new Relayer configuration parameter, MaxProgramHashes, was added
    • The Relayer::Registered storage struct was changed to contain a list of program_pointers
  • In #577 the auxilary program data is now expected to be in a vector. This order of the auxilary data
    should match the order of the programs that are being registered.
  • In #592 the local-devnet chain-type was renamed to devnet-local. Additionally, the default chain
    type when none is specified is now dev instead of local.
  • In #593 the programs interface was changed to accept a program configuration interface. This allows
    an uploaded program to be configured differently by different users.
  • In #604, the program_modification_account term used in the Programs pallet was changed to
    deployer. This better reflects the purpose of this account.

Added

  • Test CLI which calls the same code as in integration tests (#417)
  • Pointer for Programs (#536)
  • Add password file option (#555)
  • Include contents of x25515chacha20poly1305 repo in entropy-protocol (#563)
  • Custom Hashing Algorithms (#553)
  • Add ref counter to programs (#585)
  • Add --setup-only flag (#588)
  • Add --version flag and about field to TSS (#590)
  • Program config storage (#593)
  • Add a hashes endpoint (#600)

Changed

  • Crate name refactor (#561)
  • Only run wasm integration tests when a feature is enabled (#565)
  • Protocol sessions are now identified by a SessionID type rather than a String
    (#549)
  • Change bip39 implementation (#562)
  • Additive programs (#568)
  • Additional hash field in /sign_tx JSON body indicates which hashing algorithm to use for signing (#553)
  • Additive aux data (#577)
  • Refactor Rust-based chain specs (#592)
  • Fix test CLI for additive program pointers and update / refactor tests (#591)
  • Change program_modification_account to program_deploy_key (#604)

Fixed

  • Fix inconsistency between interactive and file based passwords (#589)

Removed

  • Remove pallet-helpers (#581)