UNPKG

@indigo-labs/indigo-sdk

Version:

Indigo SDK for interacting with Indigo endpoints via lucid-evolution

58 lines (55 loc) 1.83 kB
import { applyParamsToScript, applySingleCborEncoding, SpendingValidator, } from '@lucid-evolution/lucid'; import { castExecuteParams, ExecuteParams } from './types'; import { ExecuteParamsSP, fromSystemParamsAssetLucid, } from '../../types/system-params'; import { _executeValidator } from '../../validators/execute-validator'; export const mkExecuteValidator = ( params: ExecuteParams, ): SpendingValidator => { return { type: 'PlutusV3', script: applySingleCborEncoding( applyParamsToScript(_executeValidator.cborHex, [ castExecuteParams(params), ]), ), }; }; export const mkExecuteValidatorFromSP = ( params: ExecuteParamsSP, ): SpendingValidator => { return { type: 'PlutusV3', script: applySingleCborEncoding( applyParamsToScript(_executeValidator.cborHex, [ castExecuteParams({ govNFT: fromSystemParamsAssetLucid(params.govNFT), upgradeToken: fromSystemParamsAssetLucid(params.upgradeToken), iAssetToken: fromSystemParamsAssetLucid(params.iAssetToken), collateralAssetToken: fromSystemParamsAssetLucid( params.collateralAssetToken, ), stabilityPoolToken: fromSystemParamsAssetLucid( params.stabilityPoolToken, ), cdpCreatorToken: fromSystemParamsAssetLucid(params.cdpCreatorToken), cdpToken: fromSystemParamsAssetLucid(params.cdpToken), versionRecordToken: fromSystemParamsAssetLucid( params.versionRecordToken, ), iassetValHash: params.iassetValHash, cdpValHash: params.cdpValHash, sPoolValHash: params.sPoolValHash, versionRegistryValHash: params.versionRegistryValHash, treasuryValHash: params.treasuryValHash, }), ]), ), }; };