0.1.16 • Published 3 years ago
@thorswap-lib/midgard-sdk v0.1.16
@thorswap-lib/midgard-sdk
API helper for THORChain midgard service
Usage
Create and Initialize Midgard Client
  import { Midgard } from '@thorswap-lib/midgard-sdk'
  const midgardApi = new Midgard({ network: 'mainnet' }) // use default baseurl for mainnet
  const midgardApi = new Midgard({ network: 'stagenet' }) // use default baseurl for stagenetSetting midgard API base url
Available midgard services
  thorchain: 'https://midgard.thorchain.info',
  thorswap: 'https://midgard.thorswap.net',
  ninerealms: 'https://midgard.ninerealms.com',Setting base url
  midgardApi.setBaseUrl('thorswap') // set base url as 'https://midgard.thorswap.net'
  midgardApi.setBaseUrl('ninerealms') // set base url as 'https://midgard.ninerealms.com'Auto API fallback mechanism
- If API request fails, try with another API service
- If another API service is OK, use that service as a default
Midgard api functions
  setBaseUrl: (midgardService: 'thorchain' | 'thorswap' | 'ninerealms') => void
  getBaseUrl: () => string
  getHealth: () => Promise<Health>
  getPools: (status?: PoolStatus) => Promise<PoolDetail[]>
  getPoolDetail: (asset: string) => Promise<PoolDetail>
  getPoolStats: (param: { asset: string; period: StatsPeriod }) => Promise<PoolStatsDetail>
  getDepthHistory: (param: { pool: string; query?: HistoryQuery }) => Promise<DepthHistory>
  getEarningsHistory: (query: HistoryQuery) => Promise<EarningsHistory>
  getTVLHistory: (query: HistoryQuery) => Promise<TVLHistory>
  getSwapHistory: (param: { pool?: string; query?: HistoryQuery }) => Promise<SwapHistory>
  getLiquidityHistory: (param: { pool?: string; query?: HistoryQuery }) => Promise<LiquidityHistory>
  getNodes: () => Promise<THORNode[]>
  getNetworkData: () => Promise<Network>
  getActions: (params: ActionListParams) => Promise<ActionsList>
  getMembersAddresses: () => Promise<string[]>
  getMemberDetail: (address: string) => Promise<MemberDetails>
  getStats: () => Promise<StatsData>
  getConstants: () => Promise<Constants>
  getInboundAddresses: () => Promise<InboundAddressesItem[]>
  getInboundAddressByChain: (chain: string) => Promise<PoolAddress>
  getInboundDataByChain: (chain: string) => Promise<InboundAddressesItem>
  getLastblock: () => Promise<LastblockItem[]>
  getQueue: () => Promise<Queue>
  // THORName
  getTHORNameDetail: (name: string) => Promise<THORNameDetails>
  getTHORNamesByAddress: (address: string) => Promise<string[]>
  getTHORNamesOwnerByAddress: (address: string) => Promise<string[]>Default Midgard URLs
MIDGARD_MAINNET_URL = 'https://midgard.thorchain.info'
MIDGARD_STAGENET_URL = 'https://stagenet-midgard.ninerealms.com'
MIDGARD_TESTNET_URL = 'https://testnet.midgard.thorchain.info'