Skip to content

v0.3.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 23 Oct 16:57
release/v0.3.0
98231d4

0.3.0 - 2024-10-22

This is 0.3.0 release of Core.

This release has a large portion of the non-TDX specific changes outlined in the
Tofino spec. More TDX specific features will come in 0.4.0.

Notably, this includes changes like:

  • Fully on-chain registration
  • t-of-N signing instead of N-of-N signing
  • The addition of the relayer role
  • The removal of signing subgroups
  • The removal of permissioned access mode

For more details take a look through the CHANGELOG.

Docker Images

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

Published Crates

The crates from the crates/ subdirectory have been published on crates.io under the v0.3.0 version.

If you want to install the entropy-test-cli for example, you can do so using the following command:

cargo install entropy-test-cli@0.3.0

Breaking Changes

  • In #799 the concept of subgroups was removed in favour of a single pool of signers.
  • In #801 permissioned access mode was removed.
  • In #879 the network migrated from N-of-N cryptography to t-of-N cryptography.
  • In #938, the chainspec got a couple of new fields, pallet_staking_extension::initial_signers,
  • pallet_parameters::total_signers, and pallet_parameters::threshold, which are used to set up
    the initial threshold signing configuration for the network.
  • In #1030, the registration flow got cleaned up. A lot of storage entries, events, and extrinsics
    were removed from the Registry pallet. The genesis build config was also removed. Additionally,
    the new/user/ HTTP endpoint in the TSS was removed since it was no longer necessary.
  • In #1031, more Staking calls were blocked to go through the staking_extention pallet. This makes
    sure no funds can be unbonded from a validator if they are currently in the signing comittee. This
    was applied to unbond, chill, and withdraw_unbonded
  • In #1045, ProgramsInfo now takes version_number to maintain backwards compatibility if programs
    runtime is updated.
  • In #1050, the flow for signing has changed. A user now sends their request to any validator
    that is not a signer. This will act as a relayer. As such, UserSignatureRequest no longer
    requires the validators_info field since the the relayer adds that in after. The response
    received from the validator is now a Vec<Responses> from the signers.
  • In #1051 an extra field representing a provisioning certification key (PCK)
    was added to the Staking Extension's threshold_server genesis configuration in the network
    chainspecs.
  • In #1063 the pallet_staking_extension::validate() extrinsic was changed so that in order to
    populate certain data structures related to a candidates state (namely ThresholdToStash and
    ThresholdServer) an attestation from the Attestation pallet must have been received. Success of
    the validate() extrinsic does not mean the caller is a candidate or validator.
  • In #1086 Eve was removed as a validator from the devnet-local chainspec and replaced with Charlie.

Added

  • Jumpstart network (#918)
  • Add Signer groups and rotation (#938)
  • Split jumpstart and register flows (#952)
  • New on-chain registration flow (#955)
  • Reshare confirmation (#965)
  • Set inital signers (#971)
  • Add parent key threshold dynamically (#974)
  • Signing flow with derived accounts (#990)
  • TSS attestation endpoint (#1001)
  • Attestation pallet (#1003)
  • Add network-jumpstart command to entropy-test-cli (#1004)
  • Update test CLI for new registration and signing flows (#1008)
  • Add remove program function to entropy-client (#1023)
  • Select validators for jumpstart DKG #1053)
  • Add a programs version (#1045)
  • Handle Provisioning Certification Keys (PCKs) (#1051)
  • Block tss chain when signer (#1078)

Changed

  • Migrate to threshold signing (#800)
  • Use t of n signing in entropy-tss (#879)
  • Fix TSS AccountId keys in chainspec (#993)
  • No unbonding when signer or next signer (#1031)
  • Add relay tx endpoint (#1050)
  • Trigger attestation check during validate (#1063)
  • Add fourth node to devnet-local configuration (#1086)

Removed

  • Remove subgroups (#799)
  • Remove permission from chain (#801)
  • Remove prune_registration extrinsic (#1022)
  • Remove confirm_registered extrinsic (#1025)
  • Remove old registration flow (#1030)