cryptofoundry

联系 cryptofoundry

告诉我们您想构建或自动化的内容。

adamant-api-jsclient

ADAMANT API JS Client v2.1.0

现在,api.initSocket() 方法可以接受 WebSocketClient 实例作为参数,允许你直接初始化 socket,而无需将其赋值给 api.socket 属性。

const socket = new WebSocketClient({ /* ... */ })

api.initSocket(socket)
// instead of
api.socket = socket

encodeMessage() 和 decodeMessage() 函数已改进,支持将公钥作为 Uint8Array 或 Buffer 传入,无需再将公钥转换为字符串。

import {encodeMessage, createKeypairFromPassphrase} from 'adamant-api'

const {publicKey} = createKeypairFromPassphrase('...')
const message = encodeMessage(,, publicKey) // No need to convert public key to string

此外,decodeMessage() 支持传入密钥对而非密码短语,避免了函数反复从密码短语生成密钥对。

import {decodeMessage, createKeypairFromPassphrase} from 'adamant-api'

const keyPair = createKeypairFromPassphrase('...')
const message = decodeMessage(,, keyPair,) // <- It won't create a key pair from passphrase again

对于 TypeScript 用户,库现在导出了事务处理器工具,包括 SingleTransactionHandler、AnyTransactionHandler 和 TransactionHandler<T extends AnyTransaction>。

同时修复了多个 TypeScript 问题。已通过将 LogLevelName 添加为 logLevel 属性的可能值来修复 AdamantApiOptions 的类型定义,从而支持使用 'log' 这样的字符串字面量,而无需使用 LogLevel.Log。

const api = new AdamantApi({ /* ... */ logLevel: 'log' })

已添加 npm 所需的缺失声明模块,解决了无法找到 coininfo 模块声明文件的问题。

Could not find a declaration file for module 'coininfo'.
/// <reference path="../../types/coininfo.d.ts" />

最后,createChatTransaction() 使用的 ChatTransactionData 中的 amount 属性现在真正变为可选。

-  amount: number | undefined;
+  amount?: number;