@harmoniclabs/buildooor
Version:
Cardano transaction builder in typescript
29 lines (28 loc) • 1.16 kB
JavaScript
;
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({
type: creds.type === "script" ? cardano_ledger_ts_1.CredentialType.Script : cardano_ledger_ts_1.CredentialType.KeyHash,
hash: creds.hash
});
}
exports.forceStakeCreds = forceStakeCreds;