Cold Wallet
Introduced cold wallet functionality that combines offline storage security with hot wallet operational flexibility. This hybrid approach provides enhanced protection for high-value assets while maintaining transaction capabilities:
- Secure offline key storage isolated from network connectivity
- Complete transaction lifecycle support including initiation, approvals, signing, verification and auditing
- Broadcast capabilities to publish signed transactions to the blockchain
Cold Wallet CLI
Released a command-line interface tool designed to streamline cold wallet deployment and configuration. The CLI automates the setup process and generates the necessary configuration files for supported operating systems:
- MacOS deployment support in Docker containerized mode
- Linux deployment support using systemd service management
Changes:
Node Communication:
- Added BIP-340 signature support to SEPD19S
Client API:
- C and Java SDKv2: Added methods for TsmUtils utility methods from the Go SDK.
- OIDC Access Token Authentication: Added the posibility to use static public key
- C and Java SDKv2: Added Embedded client with encryptor and configuration with OIDC authentication
- Java SDKv2: Changed names on SessionConfig creation to align with Go SDK, and changed Embedded Client creation to match Go.
- Go SDKv2: Generalized EdDSA to other schnorr variants. Renamed all EdDSA methods in SDKv2 to Schnorr and added support for BIP-340 signatures
Client Communication:
- EdDSA signatures are now identified as Schnorr signatures
Patch changes (no effect on compatibility):
- Added build tag to Go mobile, to fix error introduced in Go 1.20
- Upgraded to Go 1.21.6 (<https://go.dev/doc/devel/release#go1.21.minor>)
- When API keys are enabled, create the applications on startup instead of on demand
Versions:
Database: 7.8.0
Client API: 50.2 (!)
Client Communication: 27.0 (!)
Node Communication: 30.1
Node Configuration: 17.0 Changes
Client API:
- Go SDKv2: OIDC Access token authentication
- Go SDKv2: GenerateECDSAKeyPair() now returns pointer
Patch changes (no effect on compatibility):
- Fixed migration from versions prior to 55.0.0 with BIP-32 hard derived keys in the database
- Android and iOS SDKv2: Added TSM utilities (tsmutils)
Versions
Database: 7.8.0
Node Communication: 30.0
Node Configuration: 17.0
Client API: 48.1 (!)
Client Communication: 26.0🚀 We're starting the year with some improvements:
- [All] Ensured all intent objects have
protocolornetworkandclient_idin the response schemas. - [Ethereum] Added support for the Ethereum Holeš ky network in the Staking Integration API.
- Learn more in the Ethereum API Overview.
- [Polkadot] Fixed an issue where Polkadot deactivation intent responses were missing the
amountanddeactivationTypefields. - [NEAR]
- Fixed an error message for new customers who have not staked, preventing them from creating any withdrawal intents.
- Fixed response when requesting customer deactivation on the
POST/deactivation-intentsendpoint. - Fixed invalid network response on
GET/withdrawable-amountendpoint.
- [Cosmos] Fixed the response when a customer has no deactivation and restake intents.
- [Solana] Fixed the issue where the Customer ID was returned blank for the
stake-intentendpoint.
Changes
Patch changes (no effect on compatibility):
- Fixed security issue with DKLS19
- Fix bug in tsmcli preventing it from working with a single MCP node
- Go SDKv1: Un-deprecate keyClient.Delete()
Versions
Database: 7.8.0
Node Communication: 30.0
Node Configuration: 17.0
Client API: 47.0
Client Communication: 26.0Changes
Client API:
- Java SDKv2: Added JNA based Java SDK for SDKv2
- C SDKv2: Changed Session Config to take a map like the Go SDK and added the broadcast API
Patch changes (no effect on compatibility):
- Print log configuration when starting nodes
- Added logging on error for the C SDKv2
- Trailing slash in issuer URL is now removed before validating
- libtsmclient, Node.js SDK, Java SDK now logs sessionID for EdDSA and ECDSA that takes sessionID as input.
Versions
Database: 7.8.0
Node Communication: 30.0
Node Configuration: 17.0
Client API: 47.0 (!)
Client Communication: 26.0Changes
Node Configuration:
- Port option has been removed from the multiinstance configuration.
Node Communication:
- Multi-instance optimizations. This breaks compatibility with older multi-instance versions.
Versions
Database: 7.8.0
Node Communication: 30.0 (!)
Node Configuration: 17.0 (!)
Client API: 46.0
Client Communication: 26.0Changes
Client API:
- Go SDKv2: Parameters and results as pointers, and results are wrapped so each method now returns at most two values - this makes the interface more uniform, and we can now share more code with the mobile SDKs
- Golang SDKv1: Added static method EDDSASecretShare
Patch changes (no effect on compatibility):
- Mask api keys in initial log message
- Improve input validation in SDKv1 constructors
- Upgrade Go from v1.19 to v1.21
- Removed some old, unused types that was accidentally exposed in the SDK and libtsmclient
- Updated API doc for Golang SDKv1 and SDKv2
Versions
Database: 7.8.0
Node Communication: 29.0
Node Configuration: 16.1
Client API: 46.0 (!)
Client Communication: 26.0