v0.0.11
0.0.11 - 2024-04-08
It's been a minute since our last release! A few of the major changes since then include:
- The addition of Public access mode for signature requests, allowing anybody to request a from an account.
- The removal of Permissioned access mode for signature requests. Its functionality was made redundant by the Public access mode
- Request rate limiting for signing requests. This is done by the threshold servers, but the are agreed upon on-chain.
Docker Images
If you plan on using Docker images from this release, please use the following tags:
Breaking Changes
- In #623, 'Public Access Mode', the
UserSignatureRequest
given when requesting a signature with the 'sign_tx' http endpoint must now contain an additional field,signature_request_account: AccountId32
. In private and permissioned modes, this must be identical to the account used to sign theSignedMessage
containing the signature request. In public access mode this may be an Entropy account owned by someone else. - In #629, 'Add proactive refresh keys on-chain', the
StakingExtensionConfig::proactive_refresh_validators
field used by the chain spec is nowStakingExtensionConfig::proactive_refresh_data
and takes a tuple ofVec
. Both should be empty at genesis for production. - In #631, the
config_interface
field ofProgramInfo
was renamed tointerface_description
to be more semantically accurate. This field will now be used to describe program interfaces, including the auxilary and configuration interfaces of the program. - In #658,
RegisteredInfo
andRegisteringDetails
now containversion_number
. As wellKeyVersionNumber
was added as a config parameter to theRelayer
pallet. - In #659, the Staking Extension pallet's
validate
extrinsic changed to take aServerInfo
struct instead of individual fields. - In #660, if too many request are sent for signing by a user in a block the TSS will reject them. The chainspec now has an added field for the new Parameters pallet, which itself has a
request_limit
field. - In #661, the Relayer pallet was renamed to the Registry pallet as this better describes the purpose of the pallet.
- In #662, the Free Transaction pallet was removed.
- In #666, Permissioned access type was removed to be handled by a program. Also in
registered
sig_request_key
as the key for the struct was replaced byverifying_key
. This meansverifying_key
was removed from theregistered
struct. - In #678, the Registry pallet's
get_validator_info()
public method stopped returning the validator index - In #680, a new genesis config entry was added for the Programs pallet. This entry,
initial_programs
, is a list of tuples which contains information (hash
,bytecode
,config
,auxiliary data
) about what programs to have on chain during genesis. - In #681,
program_interface
inprogram_data
of thePrograms
pallet has been split intoconfiguration_schema
andauxiliary_data_schema
- In #674, 'Add HPKE implementation',
entropy-protocol
'sSignedMessage
has been replaced byEncryptedSignedMessage
which has some small API differences:derive_static_secret
was renamed toderive_x25519_static_secret
, and in theentropy-protocol
JS module the subclass dealing with encryption has been renamed fromX25519Chacha20Poly1305
toHpke
. The JS API is otherwise the same as before. - In #703, a new genesis config parameter for the Parameters pallet was added,
max_instructions_per_program
.
Added
- Add ValidatorSubgroupRotated event (#618)
- Public access mode (#623)
- Emit events on TSS server errors (#625)
- Add direct query for a validator's subgroup (#642)
- Add version number to registered (#658)
- Request limit check (#660)
- Add helper for checking if a validator is in the signing committee (#678)
- Note unresponsiveness reports in Slashing pallet (#679)
- Add device key program to initial chainstate (#680)
- Add aux data to program info (#681)
- Add HPKE implementation (#674)
- Add max instructions parameters onchain (#703)
Changed
- Test CLI - dont send hardcoded auxiliary data by default when signing (#614)
- Add proactive refresh keys on-chain (#629)
- Rename ProgramInfo.config_interface to interface_description (#631)
- Change test-cli default access mode and update readme for recent changes (#643)
- Add additional checks to TSS server's
/user/receive_key
endpoint (#655) - Disallow using existing TSS account IDs in Staking pallet (#657)
- Clean ups around Staking Extension's
validate()
extrinsic (#659) - Rename
pallet_relayer
topallet_registry
(#661) - Remove permissioned access type (#666)
- Use SessionID in shared randomness (#676)
Removed
- Remove
pallet-free-tx
(#662)