@bugbytes/hapi-mirror
Version:
Hedera Mirror Node Client
30 lines • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.mirrorString_to_transactionID = exports.mirrorString_to_publicKey = void 0;
const utils_1 = require("@noble/hashes/utils");
const hapi_proto_1 = require("@bugbytes/hapi-proto");
const hapi_util_1 = require("@bugbytes/hapi-util");
function mirrorString_to_publicKey(key) {
if (key && key.key) {
const bytes = (0, utils_1.hexToBytes)(key.key);
switch (key?._type) {
case "ED25519":
return { key: { $case: "ed25519", ed25519: bytes } };
case "ECDSA_SECP256K1":
return { key: { $case: "ECDSASecp256k1", ECDSASecp256k1: bytes } };
case "ProtobufEncoded":
return hapi_proto_1.Key.decode(bytes);
}
}
return { key: { $case: "keyList", keyList: { keys: [] } } };
}
exports.mirrorString_to_publicKey = mirrorString_to_publicKey;
function mirrorString_to_transactionID(txId) {
if (/^\d+\.\d+\.\d+\-\d+\-\d+$/.test(txId)) {
const [account, seconds, nanos] = txId.split('-');
return (0, hapi_util_1.keyString_to_transactionID)(`${account}@${seconds}.${nanos}`);
}
throw new Error("Unable to parse transaction mirror string.");
}
exports.mirrorString_to_transactionID = mirrorString_to_transactionID;
//# sourceMappingURL=util.js.map