UNPKG

@indigo-labs/indigo-sdk

Version:

Indigo SDK for interacting with Indigo endpoints via lucid-evolution

39 lines (34 loc) 1.18 kB
import { applyParamsToScript, SpendingValidator } from '@lucid-evolution/lucid'; import { fromSystemParamsAssetLucid, IAssetParamsSP, } from '../../types/system-params'; import { _cdpValidator } from '../../validators/cdp-validator'; import { _iassetValidator } from '../../validators/iasset-validator'; import { Data } from '@lucid-evolution/lucid'; import { AssetClassSchema } from '../../types/generic'; const IAssetScriptParamsSchema = Data.Object({ upgradeToken: AssetClassSchema, versionRecordToken: AssetClassSchema, }); export type IAssetScriptParams = Data.Static<typeof IAssetScriptParamsSchema>; export const IAssetScriptParams = IAssetScriptParamsSchema as unknown as IAssetScriptParams; export const mkIAssetValidatorFromSP = ( params: IAssetParamsSP, ): SpendingValidator => { return { type: 'PlutusV3', script: applyParamsToScript(_iassetValidator.cborHex, [ Data.castTo( { upgradeToken: fromSystemParamsAssetLucid(params.upgradeToken), versionRecordToken: fromSystemParamsAssetLucid( params.versionRecordToken, ), }, IAssetScriptParams, ), ]), }; };