Releases: Adamant-im/adamant-api-jsclient
v2.4.0
v2.2.0
Added
-
Export validator utils:
function isPassphrase(passphrase: unknown): passphrase is string; function isAdmAddress(address: unknown): address is AdamantAddress; function isAdmPublicKey(publicKey: unknown): publicKey is string; function isAdmVoteForPublicKey(publicKey: unknown): publicKey is string; function isAdmVoteForAddress(address: unknown): boolean; function isAdmVoteForDelegateName(delegateName: unknown): delegateName is string; function validateMessage( message: string, messageType: MessageType = MessageType.Chat ): { success: false, error: string } | { success: true }; function isDelegateName(name: unknown): name is string; function admToSats(amount: number): number;
v2.1.0
Added
-
api.initSocket()
now accepts an instance ofWebSocketClient
as an argument:const socket = new WebSocketClient({ /* ... */ }) api.initSocket(socket) // instead of api.socket = socket
-
Improved the
encodeMessage()
anddecodeMessage()
functions to accept public keys as Uint8Array or Bufferimport {encodeMessage, createKeypairFromPassphrase} from 'adamant-api' const {publicKey} = createKeypairFromPassphrase('...') const message = encodeMessage(,, publicKey) // No need to convert public key to string
-
decodeMessage()
allows passing a key pair instead of a passphrase:import {decodeMessage, createKeypairFromPassphrase} from 'adamant-api' const keyPair = createKeypairFromPassphrase('...') const message = decodeMessage(,, keyPair,) // <- It won't create a key pair from passphrase again
-
TypeScript: Export transaction handlers TypeScript utils:
SingleTransactionHandler
,AnyTransactionHandler
,TransactionHandler<T extends AnyTransaction>
Fixed
-
TypeScript: Fixed typing for
AdamantApiOptions
by addingLogLevelName
as possible value forlogLevel
property.For example, you can now use
'log'
instead ofLogLevel.Log
in TypeScript:const api = new AdamantApi({ /* ... */ logLevel: 'log' })
-
TypeScript: Added missing declaration modules to npm that led to the error:
Could not find a declaration file for module 'coininfo'. /// <reference path="../../types/coininfo.d.ts" />
-
TypeScript:
amount
property inChatTransactionData
(createChatTransaction()
argument) is now truly optional:- amount: number | undefined; + amount?: number;
v2.0.0
Added
-
TypeScript support
The project was fully rewritten in TypeScript, which means it supports typings now.
See examples directory.
-
More API methods
Added more API methods:
// before const block = await api.get('blocks/get', { id }); // after const block = await api.getBlock(id);
and
post()
method:await api.post('transactions/process', { transaction });
-
getTransactionId() method
Pass signed transaction with signature to get a transaction id as a string:
import {getTransactionId} from 'adamant-api' const id = getTransactionId(signedTransaction)
See an example for more information.
Fixed
-
Creating multiple instances
Previously, it was not possible to create multiple instances due to the storage of Logger and "Node Manager" data in the modules.
-
Importing module several times
Fixed a bug where importing adamant-api-jsclient caused issues when it was also imported as a dependency.
Changed
-
API Initialization
Now you will create new instances of
adamant-api
using keywordnew
:import { AdamantApi } from 'adamant-api'; const api = new AdamantApi({ nodes: [/* ... */] });
-
Socket Initialization
Replace
api.socket.initSocket()
withapi.initSocket()
.Use
api.socket.on()
instead of.initSocket({ onNewMessage() {} })
.// before api.socket.initSocket({ admAddress: 'U1234..', onNewMessage(transaction) { // ... }, }); // after api.initSocket({ admAddress: 'U1234..' }); api.socket.on((transaction: AnyTransaction) => { // ... });
or specify
socket
option when initializing API:// socket.ts import { WebSocketClient, TransactionType } from 'adamant-api'; const socket = new WebSocketClient({ admAddress: 'U1234..' }); socket.on([TransactionType.CHAT_MESSAGE, TransactionType.SEND], (transaction) => { // handle chat messages and transfer tokens transactions }); socket.on(TransactionType.VOTE, (transaction) => { // handle vote for delegate transaction }); export { socket };
// api.ts import { AdamantApi } from 'adamant-api'; import { socket } from './socket'; export const api = new AdamantApi({ socket, nodes: [/* ... */], });
Removeed
-
createTransaction()
Use
createSendTransaction
,createStateTransaction
,createChatTransaction
,createDelegateTransaction
,createVoteTransaction
methods instead.
v1.8.0
v1.7.0
v1.6.0
- Update socket.io
- Update other dependencies
- Re-export key for backward compatibility
v1.5.0
- Refactoring
- Add Lisk support
- Axios client
- Style/contributing
v1.4.0
- Add delegateNew()
- Add voteForDelegate()
- Update dependencies
Docs: https://github.com/Adamant-im/adamant-api-jsclient/wiki/API-Specification
v1.3.0
- Add DOGE keys generation