git.delta.rocks / unique-network / refs/commits / 8d30d144ba29

difftreelog

source

tests/src/substrate/substrate-api.ts791 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 | undefined = undefined;1415  try {16    api = new ApiPromise(settings);17    await promisifySubstrate(api, () => api && api.isReady)();18    await action(api);19  } finally {20    api && api.disconnect();21  }22}