@indigo-labs/indigo-sdk
Version:
Indigo SDK for interacting with Indigo endpoints via lucid-evolution
46 lines (43 loc) • 1.55 kB
text/typescript
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),
}),
]),
};
};