export const AkashicScanApiUrl = 'https://api.akashicscan.com/api' as const;
export const AkashicScanApiUrlDev = 'https://api.testnet.akashicscan.com/api';
export const AkashicScanApiUrlStaging =
'https://api.staging.akashicscan.com/api';
export const AkashicPayApiUrl = 'https://api.akashicpay.com/api' as const;
export const AkashicPayApiUrlDev = 'https://api.testnet.akashicpay.com/api';
export const AkashicPayApiUrlStaging = 'https://api.staging.akashicpay.com/api';
export const AkashicPayUrl = 'https://www.akashicpay.com' as const;
export const AkashicPayUrlDev = 'https://testnet.akashicpay.com';
export const AkashicPayUrlStaging = 'https://staging.akashicpay.com';
export enum AkashicEndpoints {
PrepareTx = '/v0/l1-txn-orchestrator/prepare-withdrawal',
L2Lookup = '/v0/nft/look-for-l2-address',
OwnerTransaction = '/v0/owner/transactions',
IdentifierLookup = `/v0/key/bp-deposit-key`,
OwnerBalance = '/v0/owner/details',
TransactionsDetails = `/v0/transactions/transfer`,
IsBp = `/v0/owner/is-bp`,
SupportedCurrencies = `/v1/config/supported-currencies`,
OwnerKeys = `/v0/owner/keys?address`,
PrepareL2Txn = `/v0/l2-txn-orchestrator/prepare-l2-withdrawal`,
ExchangeRates = `/v0/exchange-rate`,
}
export enum AkashicPayEndpoints {
CreateDepositOrder = `/v0/deposit-request`,
AllKeysOfIdentifier = `/v0/key/all-bp-deposit-keys`,
}
/**
* ACNodes
*
* @property {Object} Singapore1 Singapore 1
* @property {Object} Singapore2 Singapore 2
* @property {Object} HongKong1 Hong Kong 1
* @property {Object} HongKong2 Hong Kong 2
* @property {Object} Japan1 Japan 1
* @property {Object} Japan2 Japan 2
*/
export const ACNodes = {
Singapore1: {
minigate: 'https://sg1-minigate.akashicchain.com/',
node: 'https://sg1.akashicchain.com/',
},
Singapore2: {
minigate: 'https://sg2-minigate.akashicchain.com/',
node: 'https://sg2.akashicchain.com/',
},
HongKong1: {
minigate: 'https://hk1-minigate.akashicchain.com/',
node: 'https://hk1.akashicchain.com/',
},
HongKong2: {
minigate: 'https://hk2-minigate.akashicchain.com/',
node: 'https://hk2.akashicchain.com/',
},
Japan1: {
minigate: 'https://jp1-minigate.akashicchain.com/',
node: 'https://jp1.akashicchain.com/',
},
Japan2: {
minigate: 'https://jp2-minigate.akashicchain.com/',
node: 'https://jp2.akashicchain.com/',
},
};
export type ACNode = typeof ACNodes.HongKong1;
/**
* ACDevNodes
*
* @property {Object} Singapore1 Singapore 1
* @property {Object} Singapore2 Singapore 2
* @property {Object} Japan1 Japan 1
* @property {Object} Japan2 Japan 2
* @property {Object} HongKong1 Hong Kong 1
* @property {Object} HongKong2 Hong Kong 2
*/
export const ACDevNodes = {
Singapore1: {
minigate: 'https://sg1-minigate.testnet.akashicchain.com/',
node: 'https://sg1.testnet.akashicchain.com/',
},
Singapore2: {
minigate: 'https://sg2-minigate.testnet.akashicchain.com/',
node: 'https://sg2.testnet.akashicchain.com/',
},
Japan1: {
minigate: 'https://jp1-minigate.testnet.akashicchain.com/',
node: 'https://jp1.testnet.akashicchain.com/',
},
Japan2: {
minigate: 'https://jp2-minigate.testnet.akashicchain.com/',
node: 'https://jp2.testnet.akashicchain.com/',
},
HongKong1: {
minigate: 'https://hk1-minigate.testnet.akashicchain.com/',
node: 'https://hk1.testnet.akashicchain.com/',
},
HongKong2: {
minigate: 'https://hk2-minigate.testnet.akashicchain.com/',
node: 'https://hk2.testnet.akashicchain.com/',
},
};
export type ACDevNode = typeof ACDevNodes.Singapore1;
export const acNodeList = Object.values(ACNodes);
export const acDevNodeList = Object.values(ACDevNodes);
/**
* @enum {string}
* @property {string} Production 'production'
* @property {string} Development 'development'
* @property {string} Staging 'staging'
*/
export enum Environment {
Production = 'production',
Staging = 'staging',
Development = 'development', // equivalent to testnet or preprod
}
export const otherError = {
unsupportedCoinError: 'Coin not supported',
transactionTooSmallError: 'Transaction is too small',
};
Source