La méthode api.initSocket() accepte désormais une instance de WebSocketClient en tant qu’argument, ce qui permet d’initialiser directement le socket au lieu de l’assigner à la propriété api.socket.
const socket = new WebSocketClient({ /* ... */ })
api.initSocket(socket)
// instead of
api.socket = socket
Les fonctions encodeMessage() et decodeMessage() ont été améliorées pour accepter les clés publiques sous forme de Uint8Array ou de Buffer, éliminant ainsi la nécessité de convertir les clés publiques en chaînes de caractères.
import {encodeMessage, createKeypairFromPassphrase} from 'adamant-api'
const {publicKey} = createKeypairFromPassphrase('...')
const message = encodeMessage(,, publicKey) // No need to convert public key to string
De plus, decodeMessage() permet désormais de passer une paire de clés au lieu d’une phrase secrète, évitant ainsi à la fonction de recréer plusieurs fois une paire de clés à partir de la phrase secrète.
import {decodeMessage, createKeypairFromPassphrase} from 'adamant-api'
const keyPair = createKeypairFromPassphrase('...')
const message = decodeMessage(,, keyPair,) // <- It won't create a key pair from passphrase again
Pour les utilisateurs de TypeScript, la bibliothèque exporte désormais des utilitaires de gestionnaire de transactions, notamment SingleTransactionHandler, AnyTransactionHandler et TransactionHandler<T extends AnyTransaction>.
Plusieurs problèmes liés à TypeScript ont également été résolus. La définition de type pour AdamantApiOptions a été corrigée en ajoutant LogLevelName comme valeur possible pour la propriété logLevel, permettant ainsi d’utiliser des littéraux de chaînes comme 'log' au lieu de LogLevel.Log.
const api = new AdamantApi({ /* ... */ logLevel: 'log' })
Des modules de déclaration manquants pour npm ont été ajoutés, corrigeant une erreur liée à la recherche d’un fichier de déclaration pour le module coininfo.
Could not find a declaration file for module 'coininfo'.
/// <reference path="../../types/coininfo.d.ts" />
Enfin, la propriété amount dans ChatTransactionData, utilisée par createChatTransaction(), est désormais véritablement facultative.
- amount: number | undefined;
+ amount?: number;