import {
  applyParamsToScript,
  ScriptType,
  SpendingValidator,
} from '@lucid-evolution/lucid';
import { castPriceOracleParams, PriceOracleParams } from './types';
import { _priceOracleValidator } from '../../validators/price-oracle-validator';

export function mkPriceOracleValidator(
  params: PriceOracleParams,
): SpendingValidator {
  return {
    type: 'PlutusV3' as ScriptType,
    script: applyParamsToScript(_priceOracleValidator.cborHex, [
      castPriceOracleParams(params),
    ]),
  };
}
