UNPKG

@indigo-labs/indigo-sdk

Version:

Indigo SDK for interacting with Indigo endpoints via lucid-evolution

46 lines (43 loc) 1.55 kB
import { applyParamsToScript, SpendingValidator } from '@lucid-evolution/lucid'; import { castCDPCreatorParams, CDPCreatorParams } from './types'; import { CDPCreatorParamsSP, fromSystemParamsAssetLucid, } from '../../types/system-params'; import { _cdpCreatorValidator } from '../../validators/cdp-creator-validator'; export const mkCDPCreatorValidator = ( params: CDPCreatorParams, ): SpendingValidator => { return { type: 'PlutusV3', script: applyParamsToScript(_cdpCreatorValidator.cborHex, [ castCDPCreatorParams(params), ]), }; }; export const mkCDPCreatorValidatorFromSP = ( params: CDPCreatorParamsSP, ): SpendingValidator => { return { type: 'PlutusV3', script: applyParamsToScript(_cdpCreatorValidator.cborHex, [ castCDPCreatorParams({ cdpCreatorNft: fromSystemParamsAssetLucid(params.cdpCreatorNft), cdpAssetCs: params.cdpAssetCs.unCurrencySymbol, cdpAuthTk: fromSystemParamsAssetLucid(params.cdpAuthTk), iAssetAuthTk: fromSystemParamsAssetLucid(params.iAssetAuthTk), collateralAssetAuthTk: fromSystemParamsAssetLucid( params.collateralAssetAuthTk, ), upgradeToken: fromSystemParamsAssetLucid(params.upgradeToken), versionRecordToken: fromSystemParamsAssetLucid( params.versionRecordToken, ), iassetValHash: params.iassetValHash, cdpScriptHash: params.cdpScriptHash, treasuryValHash: params.treasuryValHash, biasTime: BigInt(params.biasTime), }), ]), }; };