import { applyParamsToScript, MintingPolicy } from '@lucid-evolution/lucid';
import { castOneShotParams, OneShotParams } from './types';
import { _oneShotPolicy } from '../../validators/one-shot-policy';

export function mkOneShotPolicy(params: OneShotParams): MintingPolicy {
  return {
    type: 'PlutusV3',
    script: applyParamsToScript(_oneShotPolicy.cborHex, [
      castOneShotParams(params),
    ]),
  };
}
