UNPKG

@indigo-labs/indigo-sdk

Version:

Indigo SDK for interacting with Indigo endpoints via lucid-evolution

52 lines (49 loc) 1.9 kB
import { applyParamsToScript, SpendingValidator } from '@lucid-evolution/lucid'; import { castStabilityPoolParams, StabilityPoolParams } from './types'; import { fromSysParamsStakeCredential, fromSystemParamsAssetLucid, StabilityPoolParamsSP, } from '../../types/system-params'; import { _stabilityPoolValidator } from '../../validators/stability-pool-validator'; export const mkStabilityPoolValidator = ( params: StabilityPoolParams, ): SpendingValidator => { return { type: 'PlutusV3', script: applyParamsToScript(_stabilityPoolValidator.cborHex, [ castStabilityPoolParams(params), ]), }; }; export const mkStabilityPoolValidatorFromSP = ( params: StabilityPoolParamsSP, ): SpendingValidator => { return { type: 'PlutusV3', script: applyParamsToScript(_stabilityPoolValidator.cborHex, [ castStabilityPoolParams({ assetSymbol: params.assetSymbol.unCurrencySymbol, stabilityPoolToken: fromSystemParamsAssetLucid( params.stabilityPoolToken, ), snapshotEpochToScaleToSumToken: fromSystemParamsAssetLucid( params.snapshotEpochToScaleToSumToken, ), accountToken: fromSystemParamsAssetLucid(params.accountToken), cdpToken: fromSystemParamsAssetLucid(params.cdpToken), iAssetAuthToken: fromSystemParamsAssetLucid(params.iAssetAuthToken), versionRecordToken: fromSystemParamsAssetLucid( params.versionRecordToken, ), iassetValHash: params.iassetValHash, accountCreateFeeLovelaces: BigInt(params.accountCreateFeeLovelaces), accountProcessingCooldownMs: BigInt(params.accountProcessingCooldownMs), accountProcessingBiasMs: BigInt(params.accountProcessingBiasMs), stakeCredential: params.stakeCredential ? fromSysParamsStakeCredential(params.stakeCredential) : null, }), ]), }; };