git.delta.rocks / unique-network / refs/commits / 3c67ef33ab39

difftreelog

source

tests/src/substrate/substrate-api.ts883 Bsourcehistory
1import { WsProvider, ApiPromise } from "@polkadot/api";2import config from "../config";3import promisifySubstrate from "./promisify-substrate";4import { ApiOptions } from "@polkadot/api/types";5import fs from "fs";67const rtt = JSON.parse(fs.readFileSync('../runtime_types.json', 'utf8'));89function defaultApiOptions(): ApiOptions {10  const wsProvider = new WsProvider(config.substrateUrl);11  return { provider: wsProvider, types: rtt };12}1314export default async function usingApi(action: (api: ApiPromise) => Promise<void>, settings: ApiOptions | undefined = undefined): Promise<void> {15  settings = settings || defaultApiOptions();16  let api: ApiPromise = new ApiPromise(settings);1718  try {19    await promisifySubstrate(api, async () => {20      if(api) {21        await api.isReadyOrError;22        await action(api);23      }24    })();25  } finally {26    await api.disconnect();27  }28}