PHP WebShell

Текущая директория: /opt/BitGoJS/modules/utxo-lib/dist/test/testutil

Просмотр файла: tnumber.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.decimalCoinsToSats = decimalCoinsToSats;
/**
 * Multiply a decimal amount by 1e8 to convert from coins to sats
 * (optionally to a bigint converting to bigint)
 *
 * This function really shouldn't exist, but is used by some test code. At some
 * point we should fix those functions to use strings or integers only to
 * represent monetary values.
 *
 * Throws error if resulting value is not a safe integer number
 *
 * @param value - decimal amount of coins
 * @param amountType - desired output type
 * @return value * 1e8, as amountType
 */
function decimalCoinsToSats(value, amountType = 'number') {
    if (amountType === 'number') {
        const scaledValue = value * 1e8;
        if (!Number.isSafeInteger(scaledValue)) {
            throw new Error('input value cannot be scaled to safe integer number');
        }
        return scaledValue;
    }
    else {
        const [integerString, decimalString] = value.toFixed(8).split('.');
        return (BigInt(integerString) * BigInt(1e8) + BigInt(decimalString));
    }
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdGVzdHV0aWwvdG51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWNBLGdEQWNDO0FBNUJEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxTQUFnQixrQkFBa0IsQ0FDaEMsS0FBYSxFQUNiLGFBQWtDLFFBQVE7SUFFMUMsSUFBSSxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsTUFBTSxXQUFXLEdBQUcsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsT0FBTyxXQUFzQixDQUFDO0lBQ2hDLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRSxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQVksQ0FBQztJQUNsRixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTXVsdGlwbHkgYSBkZWNpbWFsIGFtb3VudCBieSAxZTggdG8gY29udmVydCBmcm9tIGNvaW5zIHRvIHNhdHNcbiAqIChvcHRpb25hbGx5IHRvIGEgYmlnaW50IGNvbnZlcnRpbmcgdG8gYmlnaW50KVxuICpcbiAqIFRoaXMgZnVuY3Rpb24gcmVhbGx5IHNob3VsZG4ndCBleGlzdCwgYnV0IGlzIHVzZWQgYnkgc29tZSB0ZXN0IGNvZGUuIEF0IHNvbWVcbiAqIHBvaW50IHdlIHNob3VsZCBmaXggdGhvc2UgZnVuY3Rpb25zIHRvIHVzZSBzdHJpbmdzIG9yIGludGVnZXJzIG9ubHkgdG9cbiAqIHJlcHJlc2VudCBtb25ldGFyeSB2YWx1ZXMuXG4gKlxuICogVGhyb3dzIGVycm9yIGlmIHJlc3VsdGluZyB2YWx1ZSBpcyBub3QgYSBzYWZlIGludGVnZXIgbnVtYmVyXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gZGVjaW1hbCBhbW91bnQgb2YgY29pbnNcbiAqIEBwYXJhbSBhbW91bnRUeXBlIC0gZGVzaXJlZCBvdXRwdXQgdHlwZVxuICogQHJldHVybiB2YWx1ZSAqIDFlOCwgYXMgYW1vdW50VHlwZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVjaW1hbENvaW5zVG9TYXRzPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB2YWx1ZTogbnVtYmVyLFxuICBhbW91bnRUeXBlOiAnbnVtYmVyJyB8ICdiaWdpbnQnID0gJ251bWJlcidcbik6IFROdW1iZXIge1xuICBpZiAoYW1vdW50VHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICBjb25zdCBzY2FsZWRWYWx1ZSA9IHZhbHVlICogMWU4O1xuICAgIGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIoc2NhbGVkVmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2lucHV0IHZhbHVlIGNhbm5vdCBiZSBzY2FsZWQgdG8gc2FmZSBpbnRlZ2VyIG51bWJlcicpO1xuICAgIH1cbiAgICByZXR1cm4gc2NhbGVkVmFsdWUgYXMgVE51bWJlcjtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBbaW50ZWdlclN0cmluZywgZGVjaW1hbFN0cmluZ10gPSB2YWx1ZS50b0ZpeGVkKDgpLnNwbGl0KCcuJyk7XG4gICAgcmV0dXJuIChCaWdJbnQoaW50ZWdlclN0cmluZykgKiBCaWdJbnQoMWU4KSArIEJpZ0ludChkZWNpbWFsU3RyaW5nKSkgYXMgVE51bWJlcjtcbiAgfVxufVxuIl19

Выполнить команду


Для локальной разработки. Не используйте в интернете!