git.delta.rocks / unique-network / refs/commits / 20e47ec6bc5a

difftreelog

source

tests/src/substrate/substrate-api.ts834 Bsourcehistory
1import { WsProvider, ApiPromise } from "@polkadot/api";2import config from "../config";3import promisifySubstrate from "./promisify-substrate";4import { ApiOptions } from "@polkadot/api/types";5import rtt from "../../../runtime_types.json";67function defaultApiOptions(): ApiOptions {8  const wsProvider = new WsProvider(config.substrateUrl);9  return { provider: wsProvider, types: rtt };10}1112export default async function usingApi(action: (api: ApiPromise) => Promise<void>, settings: ApiOptions | undefined = undefined): Promise<void> {13  settings = settings || defaultApiOptions();14  let api: ApiPromise = new ApiPromise(settings);1516  try {17    await promisifySubstrate(api, async () => {18      if(api) {19        await api.isReadyOrError;20        await action(api);21      }22    })();23  } finally {24    await api.disconnect();25  }26}