@ethereum-waffle/chai
Version:
A sweet set of chai matchers for your blockchain testing needs.
26 lines (22 loc) • 796 B
text/typescript
import {BigNumberish} from 'ethers';
import {ensure} from '../calledOnContract/utils';
import {Account, getAddressOf} from './account';
export interface BalanceChangeOptions {
includeFee?: boolean;
errorMargin?: BigNumberish;
}
export function getAddresses(accounts: Account[]) {
return Promise.all(accounts.map((account) => getAddressOf(account)));
}
export async function getBalances(accounts: Account[], blockNumber?: number) {
return Promise.all(
accounts.map((account) => {
ensure(account.provider !== undefined, TypeError, 'Provider not found');
if (blockNumber !== undefined) {
return account.provider.getBalance(getAddressOf(account), blockNumber);
} else {
return account.provider.getBalance(getAddressOf(account));
}
})
);
}