@interlay/interbtc
Version:
JavaScript library to interact with InterBTC
36 lines (35 loc) • 2.71 kB
TypeScript
import * as interbtcIndex from "@interlay/interbtc-index-client";
import { IndexApi as RawIndexApi, SatoshisTimeData } from "@interlay/interbtc-index-client";
import { BitcoinAmount, BitcoinUnit } from "@interlay/monetary-js";
import { ApiPromise } from "@polkadot/api";
import { Issue, Redeem, VaultExt, InterBtcApi } from "@interlay/interbtc-api";
import { CollateralBtcOracleStatus } from "./oracleTypes";
export interface BTCTimeData {
date: Date;
btc: BitcoinAmount;
}
declare const explicitWrappers: (index: RawIndexApi, interBtcApi: InterBtcApi) => {
getLatestSubmissionForEachOracle: (currencyKey: string) => Promise<CollateralBtcOracleStatus[]>;
getLatestSubmission: (currencyKey: string) => Promise<CollateralBtcOracleStatus>;
currentVaultData: () => Promise<VaultExt<BitcoinUnit>[]>;
getIssues: (requestParameters: interbtcIndex.GetIssuesRequest) => Promise<Issue[]>;
getRedeems: (requestParameters: interbtcIndex.GetRedeemsRequest) => Promise<Redeem[]>;
getFilteredIssues: (requestParameters: interbtcIndex.GetFilteredIssuesRequest) => Promise<Issue[]>;
getFilteredRedeems: (requestParameters: interbtcIndex.GetFilteredRedeemsRequest) => Promise<Redeem[]>;
getRecentDailyIssues: (requestParameters: interbtcIndex.GetRecentDailyIssuesRequest) => Promise<BTCTimeData[]>;
getRecentDailyRedeems: (requestParameters: interbtcIndex.GetRecentDailyRedeemsRequest) => Promise<BTCTimeData[]>;
getDustValue: () => Promise<BitcoinAmount>;
};
declare const GeneratedMiddlewareFns: readonly ["withMiddleware", "withPreMiddleware", "withPostMiddleware"];
declare type GeneratedMiddlewareFns = typeof GeneratedMiddlewareFns[number];
declare type RawApiResponse = Promise<interbtcIndex.ApiResponse<any>>;
export declare type ExplicitlyWrappedIndexAPI = ReturnType<typeof explicitWrappers>;
export declare type ThinWrappedIndexAPI = Pick<interbtcIndex.IndexApi, {
[ApiFn in keyof interbtcIndex.IndexApi]-?: ReturnType<interbtcIndex.IndexApi[ApiFn]> extends RawApiResponse ? never : ApiFn extends GeneratedMiddlewareFns ? never : ApiFn extends keyof ExplicitlyWrappedIndexAPI ? never : ApiFn;
}[keyof interbtcIndex.IndexApi]>;
export declare type WrappedIndexAPI = ThinWrappedIndexAPI & ExplicitlyWrappedIndexAPI;
export declare const DefaultIndexAPI: (configurationParams: interbtcIndex.ConfigurationParameters, interBtcApi: InterBtcApi) => WrappedIndexAPI;
export declare function indexIssueToTypedIssue(api: ApiPromise, issue: interbtcIndex.IndexIssue): Issue;
export declare function indexRedeemToTypedRedeem(api: ApiPromise, redeem: interbtcIndex.IndexRedeem): Redeem;
export declare function satoshisToBtcTimeData(data: SatoshisTimeData): BTCTimeData;
export {};