@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
JavaScript
"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
}));