Source

constants.ts

export const AkashicBaseUrl = 'https://api.akashicpay.com/api' as const;
export const AkashicBaseUrlDev = 'https://api.staging-akashicpay.com/api';

export const AkashicPayBaseUrl = 'https://www.akashicpay.com' as const;
export const AkashicPayBaseUrlDev = 'https://www.staging-akashicpay.com';

export enum AkashicEndpoints {
  PrepareTx = '/v0/l1-txn-orchestrator/prepare-withdrawal',
  L2Lookup = '/v0/nft/look-for-l2-address',
  OwnerTransaction = '/v0/owner/transactions',
  OwnerBalance = '/v0/owner/details',
  TransactionsDetails = `/v0/transactions/transfer`,
  IdentifierLookup = `/v0/key/bp-deposit-key`,
  AllKeysOfIdentifier = `/v0/key/all-bp-deposit-keys`,
  IsBp = `/v0/owner/is-bp`,
  SupportedCurrencies = `/v0/config/supported-currencies`,
}

/**
 * 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;

/**
 * @enum {string}
 * @property {string} Production 'production'
 * @property {string} Development 'development'
 */
export enum Environment {
  Production = 'production',
  Development = 'development',
}

export const otherError = {
  unsupportedCoinError: 'Coin not supported',
  transactionTooSmallError: 'Transaction is too small',
};