UNPKG

@harmoniclabs/plu-ts-onchain

Version:

An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript

111 lines (110 loc) 6.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.tx_v2 = exports.empty_refInputs = exports.empty_redeemers = exports.empty_v2_outs = exports.v2_inputs = exports.v2_out = exports.ctx = exports._purp = exports.txInfo_v1 = exports.outputs = exports.inputs = exports.address = exports.withdrawals = exports.signatories = exports.interval = exports.txId = exports.dCertificates = exports.datums = exports.beef32AsData = exports.beef32 = exports.validatorSpendingUtxoAsData = exports.validatorSpendingUtxo = exports.emptyValueAsData = exports.emptyValue = exports.unitDatumHash = void 0; var pluts_1 = require("../pluts/index.js"); exports.unitDatumHash = pluts_1.V2.PDatumHash.from((0, pluts_1.pByteString)("923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec")); exports.emptyValue = pluts_1.V2.PValue.from((0, pluts_1.pList)(pluts_1.V2.PValueEntry.type)([])); exports.emptyValueAsData = (0, pluts_1.toData)(pluts_1.V2.PValue.type)(exports.emptyValue); exports.validatorSpendingUtxo = pluts_1.V2.PTxOutRef.PTxOutRef({ id: (0, pluts_1.toData)(pluts_1.V2.PTxId.type)(pluts_1.V2.PTxId.PTxId({ txId: (0, pluts_1.toData)(pluts_1.bs)((0, pluts_1.pByteString)("deadbeef")) })), index: (0, pluts_1.pDataI)(0) }); exports.validatorSpendingUtxoAsData = (0, pluts_1.toData)(pluts_1.V2.PTxOutRef.type)(exports.validatorSpendingUtxo); exports.beef32 = pluts_1.V2.PValue.from((0, pluts_1.pList)(pluts_1.V2.PValueEntry.type)([ pluts_1.V2.PValueEntry.from([ pluts_1.V2.PCurrencySymbol.from((0, pluts_1.pByteString)("deadbeef")), (0, pluts_1.pList)(pluts_1.V2.PAssetsEntry.type)([ pluts_1.V2.PAssetsEntry.from([ pluts_1.V2.PTokenName.from((0, pluts_1.pByteString)("beef")), (0, pluts_1.pInt)(32) ]) ]) ]) ])); exports.beef32AsData = (0, pluts_1.toData)(pluts_1.V2.PValue.type)(exports.beef32); exports.datums = (0, pluts_1.toData)((0, pluts_1.map)(pluts_1.V2.PDatumHash.type, pluts_1.data))((0, pluts_1.pList)((0, pluts_1.pair)(pluts_1.V2.PDatumHash.type, pluts_1.data))([])); exports.dCertificates = (0, pluts_1.toData)((0, pluts_1.list)(pluts_1.V2.PDCert.type))((0, pluts_1.pList)(pluts_1.V2.PDCert.type)([])); exports.txId = (0, pluts_1.toData)(pluts_1.V2.PTxId.type)(pluts_1.V2.PTxId.PTxId({ txId: (0, pluts_1.toData)(pluts_1.bs)((0, pluts_1.pByteString)("deadbeef")) })); exports.interval = (0, pluts_1.toData)(pluts_1.V2.PPOSIXTimeRange.type)(pluts_1.V2.PPOSIXTimeRange.PInterval({ from: (0, pluts_1.toData)(pluts_1.V2.PBound.type)(pluts_1.V2.PBound.PBound({ bound: (0, pluts_1.toData)(pluts_1.V2.PExtended.type)(pluts_1.V2.PExtended.PFinite({ n: (0, pluts_1.pDataI)(1) })), inclusive: (0, pluts_1.toData)(pluts_1.bool)((0, pluts_1.pBool)(false)) })), to: (0, pluts_1.toData)(pluts_1.V2.PBound.type)(pluts_1.V2.PBound.PBound({ bound: (0, pluts_1.toData)(pluts_1.V2.PExtended.type)(pluts_1.V2.PExtended.PPosInf({})), inclusive: (0, pluts_1.toData)(pluts_1.bool)((0, pluts_1.pBool)(false)) })) })); exports.signatories = (0, pluts_1.toData)((0, pluts_1.list)(pluts_1.V2.PPubKeyHash.type))((0, pluts_1.pList)(pluts_1.V2.PPubKeyHash.type)([ pluts_1.V2.PPubKeyHash.from("deadbeef") ])); exports.withdrawals = (0, pluts_1.toData)((0, pluts_1.map)(pluts_1.V2.PStakingCredential.type, pluts_1.int))((0, pluts_1.pList)((0, pluts_1.pair)(pluts_1.V2.PStakingCredential.type, pluts_1.int))([])); exports.address = (0, pluts_1.toData)(pluts_1.V2.PAddress.type)(pluts_1.V2.PAddress.PAddress({ credential: pluts_1.V2.PCredential.PScriptCredential({ valHash: (0, pluts_1.toData)(pluts_1.V2.PValidatorHash.type)(pluts_1.V2.PValidatorHash.from((0, pluts_1.pByteString)("caffee"))) }), stakingCredential: (0, pluts_1.PMaybe)(pluts_1.V2.PStakingCredential.type).Nothing({}) })); exports.inputs = (0, pluts_1.toData)((0, pluts_1.list)(pluts_1.V1.PTxInInfo.type))((0, pluts_1.pList)(pluts_1.V1.PTxInInfo.type)([ pluts_1.V1.PTxInInfo.PTxInInfo({ utxoRef: exports.validatorSpendingUtxoAsData, resolved: (0, pluts_1.toData)(pluts_1.V1.PTxOut.type)(pluts_1.V1.PTxOut.PTxOut({ address: exports.address, datumHash: (0, pluts_1.PMaybe)(pluts_1.V2.PDatumHash.type).Just({ val: (0, pluts_1.toData)(pluts_1.V2.PDatumHash.type)(exports.unitDatumHash) }), value: exports.beef32AsData })) }) ])); exports.outputs = (0, pluts_1.toData)((0, pluts_1.list)(pluts_1.V1.PTxOut.type))((0, pluts_1.pList)(pluts_1.V1.PTxOut.type)([])); exports.txInfo_v1 = pluts_1.V1.PTxInfo.PTxInfo({ datums: exports.datums, dCertificates: exports.dCertificates, fee: exports.emptyValueAsData, mint: exports.emptyValueAsData, id: exports.txId, interval: exports.interval, signatories: exports.signatories, withdrawals: exports.withdrawals, inputs: exports.inputs, outputs: exports.outputs }); exports._purp = pluts_1.V2.PScriptPurpose.Spending({ utxoRef: exports.validatorSpendingUtxoAsData }); exports.ctx = pluts_1.V1.PScriptContext.PScriptContext({ tx: (0, pluts_1.toData)(pluts_1.V1.PTxInfo.type)(exports.txInfo_v1), purpose: (0, pluts_1.toData)(pluts_1.V2.PScriptPurpose.type)(exports._purp) }); exports.v2_out = (0, pluts_1.toData)(pluts_1.V2.PTxOut.type)(pluts_1.V2.PTxOut.PTxOut({ address: exports.address, value: exports.beef32AsData, datum: pluts_1.V2.POutputDatum.NoDatum({}), refScrpt: (0, pluts_1.PMaybe)(pluts_1.V2.PValidatorHash.type).Nothing({}) })); exports.v2_inputs = (0, pluts_1.toData)((0, pluts_1.list)(pluts_1.V2.PTxInInfo.type))((0, pluts_1.pList)(pluts_1.V2.PTxInInfo.type)([ pluts_1.V2.PTxInInfo.PTxInInfo({ utxoRef: exports.validatorSpendingUtxoAsData, resolved: exports.v2_out }) ])); exports.empty_v2_outs = (0, pluts_1.toData)((0, pluts_1.list)(pluts_1.V2.PTxOut.type))((0, pluts_1.pList)(pluts_1.V2.PTxOut.type)([])); exports.empty_redeemers = (0, pluts_1.toData)((0, pluts_1.map)(pluts_1.V2.PScriptPurpose.type, pluts_1.data))((0, pluts_1.pList)((0, pluts_1.pair)(pluts_1.V2.PScriptPurpose.type, pluts_1.data))([])); exports.empty_refInputs = (0, pluts_1.toData)((0, pluts_1.list)(pluts_1.V2.PTxInInfo.type))((0, pluts_1.pList)(pluts_1.V2.PTxInInfo.type)([])); exports.tx_v2 = (0, pluts_1.addUtilityForType)(pluts_1.V2.PTxInfo.type)(pluts_1.V2.PTxInfo.PTxInfo({ datums: exports.datums, dCertificates: exports.dCertificates, fee: exports.emptyValueAsData, mint: exports.emptyValueAsData, id: exports.txId, interval: exports.interval, signatories: exports.signatories, withdrawals: exports.withdrawals, inputs: exports.v2_inputs, outputs: exports.empty_v2_outs, redeemers: exports.empty_redeemers, refInputs: exports.empty_refInputs }));