Everything evaluateOpen needs, already read from the chain.

interface EvaluateOpenInput {
    collateral: bigint;
    debt: bigint;
    fee: bigint;
    feeExempt: boolean;
    isRecoveryMode: boolean;
    minNetDebt: bigint;
    price: bigint;
    systemColl: bigint;
    systemDebt: bigint;
    troveStatus?: number;
}

Properties

collateral: bigint
debt: bigint

The requested draw.

fee: bigint

The fee the contract will actually charge, already zeroed for Recovery Mode or exemption.

feeExempt: boolean
isRecoveryMode: boolean
minNetDebt: bigint
price: bigint
systemColl: bigint
systemDebt: bigint
troveStatus?: number

getTroveStatus for the opening account, or undefined when none was supplied (MK-047). 1 is active and is the only value the contract refuses (:1146).