UNPKG

@airdao/astra-cl-periphery

Version:

🎚 Peripheral smart contracts for interacting with AstraDEX Concentrated Liquidity version

28 lines (26 loc) • 911 B
import { TransactionReceipt, TransactionResponse } from '@ethersproject/abstract-provider' import { expect } from './expect' import { Contract, BigNumber, ContractTransaction } from 'ethers' export default async function snapshotGasCost( x: | TransactionResponse | Promise<TransactionResponse> | ContractTransaction | Promise<ContractTransaction> | TransactionReceipt | Promise<BigNumber> | BigNumber | Contract | Promise<Contract> ): Promise<void> { const resolved = await x if ('deployTransaction' in resolved) { const receipt = await resolved.deployTransaction.wait() expect(receipt.gasUsed.toNumber()).toMatchSnapshot() } else if ('wait' in resolved) { const waited = await resolved.wait() expect(waited.gasUsed.toNumber()).toMatchSnapshot() } else if (BigNumber.isBigNumber(resolved)) { expect(resolved.toNumber()).toMatchSnapshot() } }