UNPKG

@indigo-labs/indigo-sdk

Version:

Indigo SDK for interacting with Indigo endpoints via lucid-evolution

72 lines (67 loc) 2.22 kB
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, }), ]), }; };