git.delta.rocks / unique-network / refs/commits / 6bc9f6eef346

difftreelog

source

tests/src/substrate/wait-new-blocks.ts1.2 KiBsourcehistory
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617import {ApiPromise} from '@polkadot/api';1819/* eslint no-async-promise-executor: "off" */20export default function waitNewBlocks(api: ApiPromise, blocksCount = 1): Promise<void> {21  const promise = new Promise<void>(async (resolve) => {2223    const unsubscribe = await api.rpc.chain.subscribeNewHeads(() => {24      if (blocksCount > 0) {25        blocksCount--;26      } else {27        unsubscribe();28        resolve();29      }30    });31  });3233  return promise;34}