0.1.16 • Published 1 year ago

@thorswap-lib/midgard-sdk v0.1.16

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@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 stagenet

Setting 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

  1. If API request fails, try with another API service
  2. 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'
0.1.16

1 year ago

0.1.14

1 year ago

0.1.15

1 year ago

0.1.12

2 years ago

0.1.13

1 year ago

0.1.10

2 years ago

0.1.11

2 years ago

0.1.9

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.4

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.3

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.2

2 years ago