v0.0.10
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 theserver
binary is now theentropy-tss
binary. From
this it follows that the Docker images previously published underentropyxyz/server
are
now being published underentropyxyz/entropy-tss
. - In #536 the registration interface was changed to accept a pointer to a program.
Programs are now expected to be uploaded using thePrograms::set_program
extrinsic.- The
Programs::update_program
extrinsic has been removed and replaced withset_program
and
remove_program
- The
Relayer::register
extrinsic now takes a list ofprogram_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 thePrograms
storage struct - The
Programs::ProgramUpdated
event was removed and replaced with theProgramCreated
and
ProgramRemoved
events - A new Programs configuration parameter,
MaxOwnedPrograms
, was added
- The
- 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 usecamelCase
function names. - In #563 the Wasm API to functions formerly in the
x25515chacha20poly1305
repository
was changed to usecamelCase
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 ofprogram_pointers
- A new Relayer configuration parameter,
- 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 todevnet-local
. Additionally, the default chain
type when none is specified is nowdev
instead oflocal
. - 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 aString
(#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
toprogram_deploy_key
(#604)
Fixed
- Fix inconsistency between interactive and file based passwords (#589)
Removed
- Remove pallet-helpers (#581)