Skip to content

adamant-api / api / AdamantApi

Class: AdamantApi

Defined in: src/api/index.ts:364

Resilient client for the public ADAMANT Node HTTP API.

The client inherits node health checks and failover from the internal NodeManager and returns structured API results instead of exposing raw Axios errors.

Extends

  • NodeManager

Constructors

Constructor

ts
new AdamantApi(options): AdamantApi;

Defined in: src/api/index.ts:367

Parameters

ParameterType
optionsAdamantApiOptions

Returns

AdamantApi

Overrides

ts
NodeManager.constructor

Properties

hasCompatibleNode

ts
protected hasCompatibleNode: boolean = true;

Defined in: src/helpers/healthCheck.ts:61

Inherited from

ts
NodeManager.hasCompatibleNode

logger

ts
protected logger: Logger;

Defined in: src/helpers/healthCheck.ts:60

Inherited from

ts
NodeManager.logger

maxRetries

ts
maxRetries: number;

Defined in: src/api/index.ts:365


node

ts
node: string;

Defined in: src/helpers/healthCheck.ts:57

Inherited from

ts
NodeManager.node

options

ts
options: NodeManagerOptions;

Defined in: src/helpers/healthCheck.ts:55

Inherited from

ts
NodeManager.options

socket?

ts
optional socket?: WebSocketClient;

Defined in: src/helpers/healthCheck.ts:58

Inherited from

ts
NodeManager.socket

Methods

checkNode()

ts
checkNode(node): Promise<
  | Omit<GetNodeStatusResponseDto, "success"> & {
  success: true;
}
  | {
  success: false;
}>;

Defined in: src/helpers/healthCheck.ts:311

Parameters

ParameterType
nodestring

Returns

Promise< | Omit<GetNodeStatusResponseDto, "success"> & { success: true; } | { success: false; }>

Inherited from

ts
NodeManager.checkNode

checkNodes()

ts
checkNodes(): Promise<ActiveNode[]>;

Defined in: src/helpers/healthCheck.ts:327

Returns

Promise<ActiveNode[]>

Inherited from

ts
NodeManager.checkNodes

chooseNode()

ts
chooseNode(activeNodes, forceChangeActiveNode?): Promise<void>;

Defined in: src/helpers/healthCheck.ts:151

Parameters

ParameterType
activeNodesActiveNode[]
forceChangeActiveNode?boolean

Returns

Promise<void>

Inherited from

ts
NodeManager.chooseNode

createAccount()

ts
createAccount(publicKey): Promise<
  | {
  errorMessage: string;
  success: boolean;
}
  | Omit<CreateNewAccountResponseDto, "success"> & {
  success: true;
}>;

Defined in: src/api/index.ts:501

Initializes an account from a public key without transmitting a secret.

Parameters

ParameterType
publicKeystring

Returns

Promise< | { errorMessage: string; success: boolean; } | Omit<CreateNewAccountResponseDto, "success"> & { success: true; }>


get()

ts
get<T>(endpoint, params?): Promise<AdamantApiResult<T>>;

Defined in: src/api/index.ts:458

Makes GET request to ADAMANT network.

endpoint should be in 'accounts/getPublicKey' format, excluding '/api/'.

Type Parameters

Type Parameter
T

Parameters

ParameterType
endpointstring
params?unknown

Returns

Promise<AdamantApiResult<T>>


getAccountBalance()

ts
getAccountBalance(address): Promise<AdamantApiResult<GetAccountBalanceResponseDto>>;

Defined in: src/api/index.ts:813

Get account balance

Parameters

ParameterType
addressstring

Returns

Promise<AdamantApiResult<GetAccountBalanceResponseDto>>


getAccountInfo()

ts
getAccountInfo(options): Promise<AdamantApiResult<GetAccountInfoResponseDto>>;

Defined in: src/api/index.ts:804

Get account information by ADAMANT address or Public Key

Parameters

ParameterType
optionsAddressOrPublicKeyObject

Returns

Promise<AdamantApiResult<GetAccountInfoResponseDto>>


getBlock()

ts
getBlock(id): Promise<AdamantApiResult<GetBlockInfoResponseDto>>;

Defined in: src/api/index.ts:822

Get block information by ID

Parameters

ParameterType
idstring

Returns

Promise<AdamantApiResult<GetBlockInfoResponseDto>>


getBlocks()

ts
getBlocks(options?): Promise<AdamantApiResult<GetBlocksResponseDto>>;

Defined in: src/api/index.ts:829

Get list of blocks

Parameters

ParameterType
options?GetBlocksOptions

Returns

Promise<AdamantApiResult<GetBlocksResponseDto>>


getBroadhash()

ts
getBroadhash(): Promise<AdamantApiResult<GetBroadhashResponseDto>>;

Defined in: src/api/index.ts:988

Broadhash is established as an aggregated rolling hash of the past five blocks present in the database.

Returns

Promise<AdamantApiResult<GetBroadhashResponseDto>>


getChatMessages()

ts
getChatMessages(
   address1, 
   address2, 
query?): Promise<AdamantApiResult<GetChatMessagesResponseDto>>;

Defined in: src/api/index.ts:850

Get messages between two accounts

Parameters

ParameterType
address1string
address2string
query?TransactionQuery<ChatroomsOptions>

Returns

Promise<AdamantApiResult<GetChatMessagesResponseDto>>


getChats()

ts
getChats(address, options?): Promise<AdamantApiResult<GetChatRoomsResponseDto>>;

Defined in: src/api/index.ts:836

Get list of Chats

Parameters

ParameterType
addressstring
options?TransactionQuery<ChatroomsOptions>

Returns

Promise<AdamantApiResult<GetChatRoomsResponseDto>>


getChatTransactions()

ts
getChatTransactions(options?): Promise<AdamantApiResult<GetChatTransactionsResponseDto>>;

Defined in: src/api/index.ts:866

Gets chat transactions through the legacy /api/chats/get endpoint.

Parameters

ParameterType
options?TransactionQuery<ChatroomsOptions>

Returns

Promise<AdamantApiResult<GetChatTransactionsResponseDto>>

Deprecated

Use getChats or getChatMessages instead.


getDelegate()

ts
getDelegate(options): Promise<AdamantApiResult<GetDelegateResponseDto>>;

Defined in: src/api/index.ts:884

Get delegate info by username or publicKey

Parameters

ParameterType
optionsDelegateLookupOptions

Returns

Promise<AdamantApiResult<GetDelegateResponseDto>>


getDelegates()

ts
getDelegates(options?): Promise<AdamantApiResult<GetDelegatesResponseDto>>;

Defined in: src/api/index.ts:877

Retrieves list of registered ADAMANT delegates

Parameters

ParameterType
options?GetDelegatesOptions

Returns

Promise<AdamantApiResult<GetDelegatesResponseDto>>


getDelegatesCount()

ts
getDelegatesCount(): Promise<AdamantApiResult<GetDelegatesCountResponseDto>>;

Defined in: src/api/index.ts:900

Get total count of delegates

Returns

Promise<AdamantApiResult<GetDelegatesCountResponseDto>>


getDelegateStats()

ts
getDelegateStats(generatorPublicKey): Promise<AdamantApiResult<GetDelegateStatsResponseDto>>;

Defined in: src/api/index.ts:907

Get forging activity of a delegate

Parameters

ParameterType
generatorPublicKeystring

Returns

Promise<AdamantApiResult<GetDelegateStatsResponseDto>>


getEpoch()

ts
getEpoch(): Promise<AdamantApiResult<GetEpochResponseDto>>;

Defined in: src/api/index.ts:995

Returns time when blockchain epoch starts. Value 2017-09-02T17:00:00.000Z is for mainnet.

Returns

Promise<AdamantApiResult<GetEpochResponseDto>>


getFee()

ts
getFee(): Promise<AdamantApiResult<GetTokenTransferFeeResponseDto>>;

Defined in: src/api/index.ts:1010

Returns current fee value for type 0 (token transfer) transactions. Integer amount of 1/10^8 ADM tokens (1 ADM = 100000000).

Returns

Promise<AdamantApiResult<GetTokenTransferFeeResponseDto>>


getFees()

ts
getFees(): Promise<AdamantApiResult<GetTransactionTypesFeesResponseDto>>;

Defined in: src/api/index.ts:1017

Returns current fee values for different transaction types

Returns

Promise<AdamantApiResult<GetTransactionTypesFeesResponseDto>>


getHeight()

ts
getHeight(): Promise<AdamantApiResult<GetHeightResponseDto>>;

Defined in: src/api/index.ts:1002

Returns current node's blockchain height

Returns

Promise<AdamantApiResult<GetHeightResponseDto>>


getKVS()

ts
getKVS(options?): Promise<AdamantApiResult<GetKVSResponseDto>>;

Defined in: src/api/index.ts:1066

Fetches ADAMANT KVS transactions.

Parameters

ParameterType
options?TransactionQuery<KVSOptions>

Returns

Promise<AdamantApiResult<GetKVSResponseDto>>


getLoadingStatus()

ts
getLoadingStatus(): Promise<AdamantApiResult<GetLoadingStatusResponseDto>>;

Defined in: src/api/index.ts:960

Gets loading status

Returns

Promise<AdamantApiResult<GetLoadingStatusResponseDto>>


getMilestone()

ts
getMilestone(): Promise<AdamantApiResult<GetMilestoneResponseDto>>;

Defined in: src/api/index.ts:1031

Return current slot height, which determines reward a delegate will get for forging a block.

Returns

Promise<AdamantApiResult<GetMilestoneResponseDto>>


getNethash()

ts
getNethash(): Promise<AdamantApiResult<GetNethashResponseDto>>;

Defined in: src/api/index.ts:1024

The nethash describes e.g. the Mainnet or the Testnet, that the node is connecting to.

Returns

Promise<AdamantApiResult<GetNethashResponseDto>>


getNextForgers()

ts
getNextForgers(limit?): Promise<AdamantApiResult<GetNextForgersResponseDto>>;

Defined in: src/api/index.ts:919

Returns list of next forgers

Parameters

ParameterTypeDescription
limit?numbercount to retrieve

Returns

Promise<AdamantApiResult<GetNextForgersResponseDto>>


getNodeStatus()

ts
getNodeStatus(): Promise<AdamantApiResult<GetNodeStatusResponseDto>>;

Defined in: src/api/index.ts:1061

Returns both ADAMANT blockchain network information and Node information in a single request.

Returns

Promise<AdamantApiResult<GetNodeStatusResponseDto>>


getNodeVersion()

ts
getNodeVersion(): Promise<AdamantApiResult<GetNodeVersionResponseDto>>;

Defined in: src/api/index.ts:981

Gets node's software information

Returns

Promise<AdamantApiResult<GetNodeVersionResponseDto>>


getPeer()

ts
getPeer(ip, port): Promise<AdamantApiResult<GetPeerInfoResponseDto>>;

Defined in: src/api/index.ts:953

Finds a peer known to the active node.

Parameters

ParameterType
ipstring
portnumber

Returns

Promise<AdamantApiResult<GetPeerInfoResponseDto>>


getPeers()

ts
getPeers(options?): Promise<AdamantApiResult<GetPeersResponseDto>>;

Defined in: src/api/index.ts:948

Gets list of connected peer nodes

Parameters

ParameterType
options?GetPeersOptions

Returns

Promise<AdamantApiResult<GetPeersResponseDto>>


getPingStatus()

ts
getPingStatus(): Promise<AdamantApiResult<GetPingStatusResponseDto>>;

Defined in: src/api/index.ts:974

Checks if the connected node is alive

Returns

Promise<AdamantApiResult<GetPingStatusResponseDto>>


getPublicKey()

ts
getPublicKey(address): Promise<string>;

Defined in: src/api/index.ts:474

Get account Public Key

Parameters

ParameterType
address`U${string}`

Returns

Promise<string>


getQueuedTransaction()

ts
getQueuedTransaction(id): Promise<AdamantApiResult<GetQueuedTransactionsResponseDto>>;

Defined in: src/api/index.ts:1123

Get queued transaction by ID

Parameters

ParameterType
idstring

Returns

Promise<AdamantApiResult<GetQueuedTransactionsResponseDto>>


getQueuedTransactions()

ts
getQueuedTransactions(): Promise<AdamantApiResult<GetQueuedTransactionsResponseDto>>;

Defined in: src/api/index.ts:1116

Get queued transactions count

Returns

Promise<AdamantApiResult<GetQueuedTransactionsResponseDto>>


getReward()

ts
getReward(): Promise<AdamantApiResult<GetRewardResponseDto>>;

Defined in: src/api/index.ts:1039

Returns reward — the reward a delegate will get for forging a block. Integer amount of 1/10^8 ADM tokens (1 ADM = 100000000). Depends on the slot height.

Returns

Promise<AdamantApiResult<GetRewardResponseDto>>


getStatus()

ts
getStatus(): Promise<AdamantApiResult<GetNetworkInfoResponseDto>>;

Defined in: src/api/index.ts:1054

Returns blockchain network information in a single request

Returns

Promise<AdamantApiResult<GetNetworkInfoResponseDto>>


getSupply()

ts
getSupply(): Promise<AdamantApiResult<GetTokensTotalSupplyResponseDto>>;

Defined in: src/api/index.ts:1047

Returns total current supply of ADM tokens in network. Integer amount of 1/10^8 ADM tokens (1 ADM = 100000000). Total supply increases with every new forged block.

Returns

Promise<AdamantApiResult<GetTokensTotalSupplyResponseDto>>


getSyncStatus()

ts
getSyncStatus(): Promise<AdamantApiResult<GetSyncStatusResponseDto>>;

Defined in: src/api/index.ts:967

Gets information on node's sync process with other peers

Returns

Promise<AdamantApiResult<GetSyncStatusResponseDto>>


getTransaction()

ts
getTransaction(id, options?): Promise<AdamantApiResult<GetTransactionByIdResponseDto>>;

Defined in: src/api/index.ts:1096

Get transaction by ID

Parameters

ParameterType
idstring
options?TransactionQuery<TransactionsOptions>

Returns

Promise<AdamantApiResult<GetTransactionByIdResponseDto>>


getTransactions()

ts
getTransactions(options?): Promise<AdamantApiResult<GetTransactionsResponseDto>>;

Defined in: src/api/index.ts:1081

Returns list of transactions

Parameters

ParameterType
options?TransactionQuery<TransactionsOptions>

Returns

Promise<AdamantApiResult<GetTransactionsResponseDto>>


getTransactionsCount()

ts
getTransactionsCount(): Promise<AdamantApiResult<GetTransactionsCountResponseDto>>;

Defined in: src/api/index.ts:1109

Get confirmed, unconfirmed and queued transactions count

Returns

Promise<AdamantApiResult<GetTransactionsCountResponseDto>>


getUnconfirmedTransaction()

ts
getUnconfirmedTransaction(id): Promise<AdamantApiResult<GetUnconfirmedTransactionByIdResponseDto>>;

Defined in: src/api/index.ts:1142

Get unconfirmed transaction by ID

Parameters

ParameterType
idstring

Returns

Promise<AdamantApiResult<GetUnconfirmedTransactionByIdResponseDto>>


getUnconfirmedTransactions()

ts
getUnconfirmedTransactions(): Promise<AdamantApiResult<GetUnconfirmedTransactionsResponseDto>>;

Defined in: src/api/index.ts:1133

Get unconfirmed transactions

Returns

Promise<AdamantApiResult<GetUnconfirmedTransactionsResponseDto>>


getVoteData()

ts
getVoteData(address): Promise<AdamantApiResult<GetAccountVotesResponseDto>>;

Defined in: src/api/index.ts:939

Gets current votes of specific ADAMANT account

Parameters

ParameterTypeDescription
addressstringaddress of the account to get votes

Returns

Promise<AdamantApiResult<GetAccountVotesResponseDto>>


getVoters()

ts
getVoters(publicKey): Promise<AdamantApiResult<GetVotersResponseDto>>;

Defined in: src/api/index.ts:930

Gets list of delegate's voters

Parameters

ParameterTypeDescription
publicKeystringrepresenting delegate's publicKey

Returns

Promise<AdamantApiResult<GetVotersResponseDto>>


initSocket()

ts
initSocket(options): void;

Defined in: src/helpers/healthCheck.ts:100

Parameters

ParameterType
options| WsOptions | WebSocketClient

Returns

void

Inherited from

ts
NodeManager.initSocket

newDelegate()

ts
newDelegate(passphrase, username): Promise<
  | {
  errorMessage: string;
  success: boolean;
}
  | Omit<unknown, "success"> & {
  success: true;
}>;

Defined in: src/api/index.ts:514

Register new delegate within given username

Parameters

ParameterTypeDescription
passphrasestring-
usernamestringThe new delegate's username

Returns

Promise< | { errorMessage: string; success: boolean; } | Omit<unknown, "success"> & { success: true; }>


onReady()

ts
onReady(callback): void;

Defined in: src/helpers/healthCheck.ts:91

Parameters

ParameterType
callback() => void

Returns

void

Inherited from

ts
NodeManager.onReady

post()

ts
post<T>(endpoint, options): Promise<AdamantApiResult<T>>;

Defined in: src/api/index.ts:467

Makes POST request to ADAMANT network.

endpoint should be in 'accounts/getPublicKey' format, excluding '/api/'.

Type Parameters

Type Parameter
T

Parameters

ParameterType
endpointstring
optionsunknown

Returns

Promise<AdamantApiResult<T>>


searchDelegates()

ts
searchDelegates(q): Promise<AdamantApiResult<SearchDelegateResponseDto>>;

Defined in: src/api/index.ts:893

Search delegates by username

Parameters

ParameterTypeDescription
qstringusername

Returns

Promise<AdamantApiResult<SearchDelegateResponseDto>>


sendMessage()

ts
sendMessage(
   passphrase, 
   addressOrPublicKey, 
   message, 
   type?, 
   amount?, 
   isAmountInADM?): Promise<
  | {
  errorMessage: string;
  success: boolean;
}
  | Omit<unknown, "success"> & {
  success: true;
}>;

Defined in: src/api/index.ts:538

Encrypt a message, creates Message transaction, signs it, and broadcasts to ADAMANT network.

Parameters

ParameterTypeDefault value
passphrasestringundefined
addressOrPublicKeystringundefined
messagestringundefined
typeMessageTypeMessageType.Chat
amount?numberundefined
isAmountInADM?booleanundefined

Returns

Promise< | { errorMessage: string; success: boolean; } | Omit<unknown, "success"> & { success: true; }>


sendTokens()

ts
sendTokens(
   passphrase, 
   addressOrPublicKey, 
   amount, 
   isAmountInADM?): 
  | {
  errorMessage: string;
  success: boolean;
}
| Promise<AdamantApiResult<unknown>>;

Defined in: src/api/index.ts:625

Send tokens to an account

Parameters

ParameterTypeDefault value
passphrasestringundefined
addressOrPublicKeystringundefined
amountnumberundefined
isAmountInADMbooleantrue

Returns

| { errorMessage: string; success: boolean; } | Promise<AdamantApiResult<unknown>>


sendTransaction()

ts
sendTransaction(request): Promise<AdamantApiResult<RegisterTransactionResponseDto>>;

Defined in: src/api/index.ts:1089

Broadcasts an already-created and signed transaction.

Parameters

ParameterType
requestRegisterTransactionRequestBody

Returns

Promise<AdamantApiResult<RegisterTransactionResponseDto>>


setKVS()

ts
setKVS(request): Promise<AdamantApiResult<SetKVSResponseDto>>;

Defined in: src/api/index.ts:1074

Broadcasts an already-created and signed KVS transaction.

Parameters

ParameterType
requestSetKVSRequestBody

Returns

Promise<AdamantApiResult<SetKVSResponseDto>>


updateNodes()

ts
updateNodes(isPlannedUpdate?): Promise<void>;

Defined in: src/helpers/healthCheck.ts:125

Parameters

ParameterTypeDefault value
isPlannedUpdatebooleanfalse

Returns

Promise<void>

Inherited from

ts
NodeManager.updateNodes

voteForDelegate()

ts
voteForDelegate(passphrase, votes): Promise<
  | {
  errorMessage: string;
  success: boolean;
}
  | Omit<unknown, "success"> & {
  success: true;
}>;

Defined in: src/api/index.ts:695

Vote for specific delegates

Parameters

ParameterTypeDescription
passphrasestringAccount's passphrase
votesstring[]Array with public keys. For upvote, add leading + to delegate's public key. For downvote, add leading - to delegate's public key.

Returns

Promise< | { errorMessage: string; success: boolean; } | Omit<unknown, "success"> & { success: true; }>

Example

voteForDelegate(
  'apple banana cherry date elderberry fig grape hazelnut iris juniper kiwi lemon',
  [
    '+b3d0c0b99f64d0960324089eb678e90d8bcbb3dd8c73ee748e026f8b9a5b5468',
    '-9ef1f6212ae871716cfa2d04e3dc5339e8fe75f89818be21ee1d75004983e2a8',
    '+system',
    '-U16615166477939602094'
  ]
)

Released under the GPL-3.0 License.