@indigo-labs/indigo-sdk
Version:
Indigo SDK for interacting with Indigo endpoints via lucid-evolution
28 lines (26 loc) • 919 B
text/typescript
import { applyParamsToScript, SpendingValidator } from '@lucid-evolution/lucid';
import {
fromSysParamsStakeCredential,
fromSystemParamsAssetLucid,
TreasuryParamsSP,
} from '../../types/system-params';
import { _treasuryValidator } from '../../validators/treasury-validator';
import { castTreasuryParams } from './types';
export const mkTreasuryValidatorFromSP = (
params: TreasuryParamsSP,
): SpendingValidator => {
return {
type: 'PlutusV3',
script: applyParamsToScript(_treasuryValidator.cborHex, [
castTreasuryParams({
upgradeToken: fromSystemParamsAssetLucid(params.upgradeToken),
versionRecordToken: fromSystemParamsAssetLucid(
params.versionRecordToken,
),
treasuryUtxosStakeCredential: params.treasuryUtxosStakeCredential
? fromSysParamsStakeCredential(params.treasuryUtxosStakeCredential)
: null,
}),
]),
};
};