UNPKG

@sidan-lab/sidan-csl

Version:

Cardano Off-chain Code APIs built on cardano-serialization-lib

33 lines (32 loc) 1.65 kB
export const conStr = (constructor, fields) => ({ constructor, fields, }); export const conStr0 = (fields) => conStr(0, fields); export const conStr1 = (fields) => conStr(1, fields); export const conStr2 = (fields) => conStr(2, fields); export const bool = (b) => (b ? conStr1([]) : conStr0([])); export const builtinByteString = (bytes) => ({ bytes }); export const integer = (int) => ({ int }); export const list = (pList) => ({ list: pList }); export const currencySymbol = (bytes) => builtinByteString(bytes); export const tokenName = (bytes) => builtinByteString(bytes); export const maybeStakingHash = (stakeCredential) => { if (stakeCredential === '') { return conStr1([]); } return conStr0([ conStr0([conStr0([builtinByteString(stakeCredential)])]), ]); }; export const pubKeyAddress = (bytes, stakeCredential) => conStr0([conStr0([builtinByteString(bytes)]), maybeStakingHash(stakeCredential || '')]); export const scriptAddress = (bytes, stakeCredential) => conStr0([conStr1([builtinByteString(bytes)]), maybeStakingHash(stakeCredential || '')]); export const assetClass = (policyId, assetName) => conStr0([currencySymbol(policyId), tokenName(assetName)]); export const txOutRef = (txHash, index) => conStr0([conStr0([builtinByteString(txHash)]), integer(index)]); export const paymentPubKeyHash = (bytes) => builtinByteString(bytes); export const pubKeyHash = (bytes) => builtinByteString(bytes); export const posixTime = (int) => ({ int }); export const assocMap = (itemsMap) => ({ map: itemsMap.map(([k, v]) => ({ k, v })), }); export const tuple = (key, value) => conStr0([key, value]);