PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/utxo-ord/dist/src
Просмотр файла: SatPoint.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseSatPoint = parseSatPoint;
exports.formatSatPoint = formatSatPoint;
exports.isSatPoint = isSatPoint;
/*
https://github.com/casey/ord/blob/master/bip.mediawiki#terminology-and-notation
> A satpoint may be used to indicate the location of a sat within an output.
> A satpoint consists of an outpoint, i.e., a transaction ID and output index, with the addition of
> the offset of the ordinal within that output. For example, if the sat in question is at offset 6
> in the first output of a transaction, its satpoint is:
> `680df1e4d43016571e504b0b142ee43c5c0b83398a97bdcfd94ea6f287322d22:0:6`
*/
const utxo_lib_1 = require("@bitgo/utxo-lib");
function parseSatPoint(p) {
const parts = p.split(':');
if (parts.length !== 3) {
throw new Error(`expected format txid:vout:sat`);
}
const [txid, vout, offsetStr] = parts;
const offset = BigInt(offsetStr);
if (offset.toString() !== offsetStr) {
throw new Error(`SatPoint offset must be base-10`);
}
if (offset < 0) {
throw new Error(`SatPoint offset must be positive`);
}
return {
...utxo_lib_1.bitgo.parseOutputId([txid, vout].join(':')),
offset,
};
}
function formatSatPoint(p) {
return `${p.txid}:${p.vout}:${p.offset}`;
}
function isSatPoint(v) {
try {
parseSatPoint(v);
return true;
}
catch {
return false;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2F0UG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2F0UG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFlQSxzQ0FpQkM7QUFFRCx3Q0FFQztBQUVELGdDQU9DO0FBN0NEOzs7Ozs7Ozs7O0VBVUU7QUFDRiw4Q0FBd0M7QUFJeEMsU0FBZ0IsYUFBYSxDQUFDLENBQVc7SUFDdkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDdEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pDLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ0QsSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELE9BQU87UUFDTCxHQUFHLGdCQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxNQUFNO0tBQ1AsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsQ0FBaUQ7SUFDOUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFXLENBQUM7QUFDcEQsQ0FBQztBQUVELFNBQWdCLFVBQVUsQ0FBQyxDQUFTO0lBQ2xDLElBQUksQ0FBQztRQUNILGFBQWEsQ0FBQyxDQUFhLENBQUMsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcblxuaHR0cHM6Ly9naXRodWIuY29tL2Nhc2V5L29yZC9ibG9iL21hc3Rlci9iaXAubWVkaWF3aWtpI3Rlcm1pbm9sb2d5LWFuZC1ub3RhdGlvblxuXG4+IEEgc2F0cG9pbnQgbWF5IGJlIHVzZWQgdG8gaW5kaWNhdGUgdGhlIGxvY2F0aW9uIG9mIGEgc2F0IHdpdGhpbiBhbiBvdXRwdXQuXG4+IEEgc2F0cG9pbnQgY29uc2lzdHMgb2YgYW4gb3V0cG9pbnQsIGkuZS4sIGEgdHJhbnNhY3Rpb24gSUQgYW5kIG91dHB1dCBpbmRleCwgd2l0aCB0aGUgYWRkaXRpb24gb2Zcbj4gdGhlIG9mZnNldCBvZiB0aGUgb3JkaW5hbCB3aXRoaW4gdGhhdCBvdXRwdXQuIEZvciBleGFtcGxlLCBpZiB0aGUgc2F0IGluIHF1ZXN0aW9uIGlzIGF0IG9mZnNldCA2XG4+IGluIHRoZSBmaXJzdCBvdXRwdXQgb2YgYSB0cmFuc2FjdGlvbiwgaXRzIHNhdHBvaW50IGlzOlxuPiBgNjgwZGYxZTRkNDMwMTY1NzFlNTA0YjBiMTQyZWU0M2M1YzBiODMzOThhOTdiZGNmZDk0ZWE2ZjI4NzMyMmQyMjowOjZgXG5cbiovXG5pbXBvcnQgeyBiaXRnbyB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmV4cG9ydCB0eXBlIFNhdFBvaW50ID0gYCR7c3RyaW5nfToke251bWJlcn06JHtiaWdpbnR9YDtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU2F0UG9pbnQocDogU2F0UG9pbnQpOiB7IHR4aWQ6IHN0cmluZzsgdm91dDogbnVtYmVyOyBvZmZzZXQ6IGJpZ2ludCB9IHtcbiAgY29uc3QgcGFydHMgPSBwLnNwbGl0KCc6Jyk7XG4gIGlmIChwYXJ0cy5sZW5ndGggIT09IDMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGV4cGVjdGVkIGZvcm1hdCB0eGlkOnZvdXQ6c2F0YCk7XG4gIH1cbiAgY29uc3QgW3R4aWQsIHZvdXQsIG9mZnNldFN0cl0gPSBwYXJ0cztcbiAgY29uc3Qgb2Zmc2V0ID0gQmlnSW50KG9mZnNldFN0cik7XG4gIGlmIChvZmZzZXQudG9TdHJpbmcoKSAhPT0gb2Zmc2V0U3RyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBTYXRQb2ludCBvZmZzZXQgbXVzdCBiZSBiYXNlLTEwYCk7XG4gIH1cbiAgaWYgKG9mZnNldCA8IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFNhdFBvaW50IG9mZnNldCBtdXN0IGJlIHBvc2l0aXZlYCk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICAuLi5iaXRnby5wYXJzZU91dHB1dElkKFt0eGlkLCB2b3V0XS5qb2luKCc6JykpLFxuICAgIG9mZnNldCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFNhdFBvaW50KHA6IHsgdHhpZDogc3RyaW5nOyB2b3V0OiBudW1iZXI7IG9mZnNldDogYmlnaW50IH0pOiBTYXRQb2ludCB7XG4gIHJldHVybiBgJHtwLnR4aWR9OiR7cC52b3V0fToke3Aub2Zmc2V0fWAgYXMgY29uc3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NhdFBvaW50KHY6IHN0cmluZyk6IHYgaXMgU2F0UG9pbnQge1xuICB0cnkge1xuICAgIHBhcnNlU2F0UG9pbnQodiBhcyBTYXRQb2ludCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19Выполнить команду
Для локальной разработки. Не используйте в интернете!