Constructor
# new AkashicPay()
Do not call this constructor directly; instead, use the factory function
AkashicPay.build.
The class itself is only exported for developers who want to extend it.
Classes
Methods
# async static build(args) → {Promise.<AkashicPay.<Environment>>}
Construct and initialise a new AkashicPay instance.
Parameters:
Name | Type | Description |
---|---|---|
args |
APBuilderArgs.<Environment>
|
Differ depending on the environment property (i.e. APBuilderArgs.environment). You must provide the L2-address of an Akashic-Link account, and either the corresponding private-key or recovery-phrase. |
Promise.<AkashicPay.<Environment>>
# async protected chooseBestACNode() → {Promise.<(ACNode|ACDevNode)>}
Finds an AkashicChain node to target for requests. If the chain is totally
healthy, the SDK will return the fastest node. Otherwise, it will return
the node least likely to experience consensus failures as the entry node.
The URL of an AC node on the network matching your environment
(production or development)
Promise.<(ACNode|ACDevNode)>
# async createDepositOrder(createDepositOrderParams) → {Promise.<ICreateDepositOrderResponse>}
Create deposit order
Parameters:
Name | Type | Description |
---|---|---|
createDepositOrderParams |
ICreateDepositOrder
|
Promise.<ICreateDepositOrderResponse>
# async getBalance() → {Promise.<Array.<IBalance>>}
Get total balances, divided by Network and Token.
Promise.<Array.<IBalance>>
# async getByOwnerAndIdentifier(getByOwnerAndIdentifierParams) → {Promise.<IGetByOwnerAndIdentifierResponse>}
Get key by BP and identifier
Parameters:
Name | Type | Description |
---|---|---|
getByOwnerAndIdentifierParams |
IGetByOwnerAndIdentifier
|
Promise.<IGetByOwnerAndIdentifierResponse>
# async getDepositAddress(network, identifier, referenceId) → {Promise.<IDepositAddress>}
Get an L1-address on the specified network for a user to deposit into
Parameters:
Name | Type | Description |
---|---|---|
network |
NetworkSymbol
|
L1-network |
identifier |
string
|
userID or similar identifier of the user |
referenceId |
string
|
optional referenceId to identify the order making the deposit |
Promise.<IDepositAddress>
# async getDepositAddressWithRequestedValue(network, identifier, referenceId, requestedCurrency, requestedAmount, receiveCurrencies, token, markupPercentage) → {Promise.<IDepositAddress>}
Get an L1-address on the specified network for a user to deposit into
with requested value
callback will match the requested value
Parameters:
Name | Type | Description |
---|---|---|
network |
NetworkSymbol
|
L1-network |
identifier |
string
|
userID or similar identifier of the user |
referenceId |
string
|
referenceId to identify the order making the deposit |
requestedCurrency |
Currency
|
requested currency |
requestedAmount |
string
|
requested amount |
receiveCurrencies |
string
|
optional currencies to be shown in deposit page, comma separated |
token |
TokenSymbol
|
optional token symbol |
markupPercentage |
string
|
optional markup percentage to be applied on exchange rate |
Promise.<IDepositAddress>
# async getDepositUrl(identifier, referenceId, receiveCurrencies, networks, redirectUrl) → {Promise.<string>}
Get deposit page url
Parameters:
Name | Type | Description |
---|---|---|
identifier |
string
|
userID or similar identifier of the user |
referenceId |
string
|
optional referenceId to identify the order |
receiveCurrencies |
Array.<Currency>
|
optional currencies to be shown in deposit page, comma separated |
networks |
Array.<Network>
|
optional networks to be shown in deposit page, comma separated |
redirectUrl |
string
|
optional redirect url to be used after making the deposit |
Promise.<string>
# async getDepositUrlWithRequestedValue(identifier, referenceId, requestedCurrency, requestedAmount, receiveCurrencies, networks, markupPercentage, redirectUrl) → {Promise.<string>}
Get deposit page url with requested value
callback will match the requested value
Parameters:
Name | Type | Description |
---|---|---|
identifier |
string
|
userID or similar identifier of the user |
referenceId |
string
|
referenceId to identify the order |
requestedCurrency |
Currency
|
requested currency |
requestedAmount |
string
|
requested amount |
receiveCurrencies |
Array.<Currency>
|
optional currencies to be shown in deposit page, comma separated |
networks |
Array.<NetworkSymbol>
|
optional networks to be shown in deposit page, comma separated |
markupPercentage |
string
|
optional markup percentage to be applied on exchange rate |
redirectUrl |
string
|
optional redirect url to be used after deposit |
Promise.<string>
# async getExchangeRates(requestedCurrency) → {Promise.<IGetExchangeRatesResult>}
Get exchange rates for all supported main-net coins in value of requested currency
Parameters:
Name | Type | Description |
---|---|---|
requestedCurrency |
string
|
Promise.<IGetExchangeRatesResult>
# async getKeysByOwnerAndIdentifier(getKeysByOwnerAndIdentifierParams) → {Promise.<Array.<IKeyByOwnerAndIdentifier>>}
Get all keys by BP and identifier
Parameters:
Name | Type | Description |
---|---|---|
getKeysByOwnerAndIdentifierParams |
IGetKeysByOwnerAndIdentifier
|
Promise.<Array.<IKeyByOwnerAndIdentifier>>
# async getSupportedCurrencies() → {Promise.<Record.<string, Array>>}
Get the currently supported currencies in AkashicPay
Returns an object with the currency as the keys and a list of networks as the values
Promise.<Record.<string, Array>>
# async getTransactionDetails(l2TxHash) → {Promise.<(ITransaction|undefined)>}
Get details of an individual transaction. Returns undefined if no
transaction found for the queried hash
Parameters:
Name | Type | Description |
---|---|---|
l2TxHash |
string
|
L2 AkashicChain Hash of transaction |
Promise.<(ITransaction|undefined)>
# async getTransfers(getTransactionParams) → {Promise.<Array.<ITransaction>>}
Get all or a subset of transactions. Optionally paginated with `page` and `limit`.
Optional parameters: `layer`, `status`, `startDate`, `endDate`, `hideSmallTransactions`, `identifier`, `referenceId`
`hideSmallTransactions` excludes values below 1 USD
Parameters:
Name | Type | Description |
---|---|---|
getTransactionParams |
IGetTransactions
|
Promise.<Array.<ITransaction>>
# async lookForL2Address(aliasOrL1OrL2Address, network) → {Promise.<ILookForL2AddressResult>}
Check which L2-address an alias or L1-address belongs to. Or call with an
L2-address to verify it exists
Parameters:
Name | Type | Description |
---|---|---|
aliasOrL1OrL2Address |
string
|
|
network |
NetworkSymbol
|
Promise.<ILookForL2AddressResult>
# mapMainToTestCurrency()
Map receive currency from mainnet to testnet if in development
# async payout(referenceId, to, amount, network, tokenopt) → {Promise.<IPayoutResponse>}
Send a crypto-transaction
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
referenceId |
string
|
userID or similar identifier of the transaction requesting the payout | |
to |
string
|
L1 or L2 address of receiver | |
amount |
string
|
Amount to send | |
network |
NetworkSymbol
|
L1-Network the funds belong to, e.g. `ETH` | |
token |
TokenSymbol
|
<optional> |
Optional. Include if sending token, e.g. `USDT` |
L2 Transaction hash of the transaction
or error if something went wrong
Promise.<IPayoutResponse>
# protected setOtkFromKeyPair(privateKey, l2Address) → {void}
Sets your OTK to sign transactions on AkashicChain (AC)
Parameters:
Name | Type | Description |
---|---|---|
privateKey |
string
|
private key from Akashic Link. |
l2Address |
string
|
L2-address of your Akashic account |
void
# async protected setOtkFromRecoveryPhrase(recoveryPhrase, l2Address) → {Promise.<void>}
Sets your OTK to sign transactions on AkashicChain (AC)
Parameters:
Name | Type | Description |
---|---|---|
recoveryPhrase |
string
|
The recovery phrase generated when you created your Akashic Link account. |
l2Address |
string
|
L2-address of your Akashic account |
Promise.<void>
# verifySignature(body, signature) → {boolean}
Verify HMAC signature against body and secret, sorting keys alphabetically
Parameters:
Name | Type | Description |
---|---|---|
body |
any
|
|
signature |
string
|
boolean