@indigo-labs/indigo-sdk
Version:
Indigo SDK for interacting with Indigo endpoints via lucid-evolution
38 lines (35 loc) • 1.13 kB
text/typescript
import { applyParamsToScript, SpendingValidator } from '@lucid-evolution/lucid';
import { castStableswapParams, StableswapParams } from './types';
import {
fromSystemParamsAssetLucid,
StableswapParamsSP,
} from '../../types/system-params';
import { _stableswapValidator } from '../../validators/stableswap-validator';
export const mkStableswapValidator = (
params: StableswapParams,
): SpendingValidator => {
return {
type: 'PlutusV3',
script: applyParamsToScript(_stableswapValidator.cborHex, [
castStableswapParams(params),
]),
};
};
export const mkStableswapValidatorFromSP = (
params: StableswapParamsSP,
): SpendingValidator => {
return {
type: 'PlutusV3',
script: applyParamsToScript(_stableswapValidator.cborHex, [
castStableswapParams({
iassetSymbol: params.iassetSymbol.unCurrencySymbol,
cdpToken: fromSystemParamsAssetLucid(params.cdpToken),
versionRecordToken: fromSystemParamsAssetLucid(
params.versionRecordToken,
),
cdpValHash: params.cdpValHash,
treasuryValHash: params.treasuryValHash,
}),
]),
};
};