TSM Release 65.0.0
Changelog
Node Configuration:
- All MPC protocol methods can be toggled on and off, and are DISABLED by default. You must explicitly enable the ones you need.
Patch changes (no effect on compatibility):
- Fixed error with DNS lookup when using iOS SDKs
- SDKv2 method for signing with a recovered schnorr private key
Mobile frameworks have been built using golang.org/x/mobile v0.0.0-20240905004112-7c4916698cc9
Versions
Client API: 54.0
Client Communication: 29.0
Database: 7.10.0
Node Communication: 32.0
Node Configuration: 21.0 (!)
Upgrade Instructions
MPC Protocol Features (Node Configuration: 21.0)
MPC protocol features such as GenerateKey, Sign, PublicKey, etc. can now be enabled or disabled per MPC protocol, and by default all methods are DISABLED. This means that without changes to the configuration file, the node will not be able to use the given MPC protocol, and it will fail to start.
Each MPC protocol (here we use DKLS19 as an example) now have a configuration section called DKLS19.Features that can look like this:
[DKLS19.Features]
GenerateKey = true
GeneratePresignatures = true
Sign = true
SignWithPresignature = true
GenerateRecoveryData = false
PublicKey = true
ChainCode = true
Reshare = false
CopyKey = false
BackupKeyShare = false
RestoreKeyShare = false
ExportKeyShares = false
ImportKeyShares = false
BIP32GenerateSeed = false
BIP32DeriveFromSeed = false
BIP32DeriveFromKey = false
BIP32ConvertKey = false
BIP32ExportSeed = false
BIP32ImportSeed = false
BIP32Info = false
Each MPC protocol can have a different feature set. Check the example configuration for a complete list of features for each protocol. The feature names correspond to methods in the SDK. If a feature is not listed, it defaults to false.
Also, some configuration options have been removed from the MPC protocols, as they are now controlled through the protocol features instead. This includes options such as EnableResharing, EnableShareBackup, EnableExport,
EnableERSExport and EnableBIP32ExportSeed.
If all features for an MPC protocol are disabled, the MPC node will refuse to start. In this case you should just
disable the protocol completely in the configuration.
Do not just enable all features without considering the impact of doing so. Especially features that allow export of
key shares in some way should be used with caution. In the example above the potentially dangerous features are
GenerateRecoveryData, BackupKeyShare, ExportKeyShares and BIP32ExportSeed.