@indigo-labs/indigo-sdk
Version:
Indigo SDK for interacting with Indigo endpoints via lucid-evolution
72 lines (67 loc) • 2.22 kB
text/typescript
import { applyParamsToScript, SpendingValidator } from '@lucid-evolution/lucid';
import {
castPollManagerParams,
PollManagerParams,
} from '../poll/types-poll-manager';
import {
PollManagerParamsSP,
PollShardParamsSP,
fromSystemParamsAssetLucid,
} from '../../types/system-params';
import { castPollShardParams, PollShardParams } from './types-poll-shard';
import { _pollManagerValidator } from '../../validators/poll-manager-validator';
import { _pollShardValidator } from '../../validators/poll-shard-validator';
export const mkPollManagerValidator = (
params: PollManagerParams,
): SpendingValidator => {
return {
type: 'PlutusV3',
script: applyParamsToScript(_pollManagerValidator.cborHex, [
castPollManagerParams(params),
]),
};
};
export const mkPollManagerValidatorFromSP = (
params: PollManagerParamsSP,
): SpendingValidator => {
return {
type: 'PlutusV3',
script: applyParamsToScript(_pollManagerValidator.cborHex, [
castPollManagerParams({
govNFT: fromSystemParamsAssetLucid(params.govNFT),
pollToken: fromSystemParamsAssetLucid(params.pollToken),
upgradeToken: fromSystemParamsAssetLucid(params.upgradeToken),
indyAsset: fromSystemParamsAssetLucid(params.indyAsset),
govExecuteValHash: params.govExecuteValHash,
pBiasTime: BigInt(params.pBiasTime),
shardValHash: params.shardsValHash,
treasuryValHash: params.treasuryValHash,
}),
]),
};
};
export const mkPollShardValidator = (
params: PollShardParams,
): SpendingValidator => {
return {
type: 'PlutusV3',
script: applyParamsToScript(_pollShardValidator.cborHex, [
castPollShardParams(params),
]),
};
};
export const mkPollShardValidatorFromSP = (
params: PollShardParamsSP,
): SpendingValidator => {
return {
type: 'PlutusV3',
script: applyParamsToScript(_pollShardValidator.cborHex, [
castPollShardParams({
pollToken: fromSystemParamsAssetLucid(params.pollToken),
stakingToken: fromSystemParamsAssetLucid(params.stakingToken),
indyAsset: fromSystemParamsAssetLucid(params.indyAsset),
stakingValHash: params.stakingValHash,
}),
]),
};
};