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
, andpallet_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 theRegistry
pallet. The genesis build config was also removed. Additionally,
thenew/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 tounbond
,chill
, andwithdraw_unbonded
- In #1045,
ProgramsInfo
now takesversion_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 thevalidators_info
field since the the relayer adds that in after. The response
received from the validator is now aVec<Responses>
from the signers. - In #1051 an extra field representing a provisioning certification key (PCK)
was added to the Staking Extension'sthreshold_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 (namelyThresholdToStash
and
ThresholdServer
) an attestation from the Attestation pallet must have been received. Success of
thevalidate()
extrinsic does not mean the caller is a candidate or validator. - In #1086
Eve
was removed as a validator from thedevnet-local
chainspec and replaced withCharlie
.
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 toentropy-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)