UNPKG

@harmoniclabs/plu-ts-offchain

Version:

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

26 lines (25 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.forceStakeCreds = void 0; var cardano_ledger_ts_1 = require("@harmoniclabs/cardano-ledger-ts"); function forceStakeCreds(creds) { if (creds instanceof cardano_ledger_ts_1.Credential) return creds; if (typeof creds === "string") { if (!creds.startsWith("stake")) { throw new Error("invalid bech32 stake address"); } creds = cardano_ledger_ts_1.StakeAddress.fromString(creds); } if (creds instanceof cardano_ledger_ts_1.StakeAddress) { return creds.toCredential(); } if (creds instanceof cardano_ledger_ts_1.Script) { return cardano_ledger_ts_1.Credential.script(new cardano_ledger_ts_1.StakeValidatorHash(creds.hash)); } if (creds.type === "pointer") { throw new Error("pointer stake credentials not supported"); } return new cardano_ledger_ts_1.Credential(creds.type === "script" ? cardano_ledger_ts_1.CredentialType.Script : cardano_ledger_ts_1.CredentialType.KeyHash, creds.hash); } exports.forceStakeCreds = forceStakeCreds;