@indigo-labs/indigo-sdk
Version:
Indigo SDK for interacting with Indigo endpoints via lucid-evolution
36 lines (33 loc) • 1.12 kB
text/typescript
import { applyParamsToScript, SpendingValidator } from '@lucid-evolution/lucid';
import { castRobParams, RobParams } from './types';
import {
fromSystemParamsAssetLucid,
RobParamsSP,
} from '../../types/system-params';
import { _robValidator } from '../../validators/rob-validator';
export const mkRobValidator = (params: RobParams): SpendingValidator => {
return {
type: 'PlutusV3',
script: applyParamsToScript(_robValidator.cborHex, [castRobParams(params)]),
};
};
export const mkRobValidatorFromSP = (
params: RobParamsSP,
): SpendingValidator => {
return {
type: 'PlutusV3',
script: applyParamsToScript(_robValidator.cborHex, [
castRobParams({
versionRecordToken: fromSystemParamsAssetLucid(
params.versionRecordToken,
),
iassetValHash: params.iassetValHash,
iassetAuthToken: fromSystemParamsAssetLucid(params.iassetAuthToken),
collateralAssetAuthToken: fromSystemParamsAssetLucid(
params.collateralAssetAuthToken,
),
iassetPolicyId: params.iassetPolicyId.unCurrencySymbol,
}),
]),
};
};