git.delta.rocks / unique-network / refs/commits / ab1a681cee4d

difftreelog

source

tests/src/substrate/substrate-api.ts814 Bsourcehistory
1import { WsProvider, ApiPromise } from "@polkadot/api";2import config from "../config";3import promisifySubstrate from "./promisify-substrate";4import { ApiOptions } from "@polkadot/api/types";56function defaultApiOptions(): ApiOptions {7  const wsProvider = new WsProvider(config.substrateUrl);8  return { provider: wsProvider, types: JSON.parse(config.customTypes) };9}1011export default async function usingApi(action: (api: ApiPromise) => Promise<void>, settings: ApiOptions | undefined = undefined): Promise<void> {12  settings = settings || defaultApiOptions();13  let api: ApiPromise = new ApiPromise(settings);1415  try {16    await promisifySubstrate(api, async () => {17      if(api) {18        await api.isReadyOrError;19        await action(api);20      }21    })();22  } finally {23    await api.disconnect();24  }25}