import { BigNumber } from 'ethers'

export interface ICryptoValue {
	weiBigNumber: BigNumber
	weiHex: string
	weiDecimalNumber?: number
	gWeiDecimalNumber?: number
	fullDecimalNumber?: number
}

export interface IComputationalCostRecord {
	costs: number[]
}

export interface IOperationalCost {
	ixilyTax: ICryptoValue
	walletBalancePrior: ICryptoValue
	estimatedGasPrice: ICryptoValue
	estimatedComputationalRawCost: number
	costRecords: IComputationalCostRecord
	estimatedTotalGasCost: ICryptoValue
	estimatedTotalCost: ICryptoValue
	haveEnoughForTry: boolean
	walletBalanceAfter?: ICryptoValue
	totalCost?: ICryptoValue
	gasGost?: ICryptoValue
	gasPrice?: ICryptoValue
	computationalRawCost?: number
}
