libnexa-ts
Version:
A pure and powerful Nexa SDK library.
1,276 lines (1,191 loc) • 387 kB
JavaScript
var $6R7eO$crypto = require("crypto");
var $6R7eO$bnjs = require("bn.js");
var $6R7eO$jsbigdecimal = require("js-big-decimal");
var $6R7eO$elliptic = require("elliptic");
var $6R7eO$bs58 = require("bs58");
function $parcel$export(e, n, v, s) {
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
}
var $parcel$global =
typeof globalThis !== 'undefined'
? globalThis
: typeof self !== 'undefined'
? self
: typeof window !== 'undefined'
? window
: typeof global !== 'undefined'
? global
: {};
function $parcel$defineInteropFlag(a) {
Object.defineProperty(a, '__esModule', {value: true, configurable: true});
}
function $parcel$interopDefault(a) {
return a && a.__esModule ? a.default : a;
}
var $parcel$modules = {};
var $parcel$inits = {};
var parcelRequire = $parcel$global["parcelRequire94c2"];
if (parcelRequire == null) {
parcelRequire = function(id) {
if (id in $parcel$modules) {
return $parcel$modules[id].exports;
}
if (id in $parcel$inits) {
var init = $parcel$inits[id];
delete $parcel$inits[id];
var module = {id: id, exports: {}};
$parcel$modules[id] = module;
init.call(module.exports, module, module.exports);
return module.exports;
}
var err = new Error("Cannot find module '" + id + "'");
err.code = 'MODULE_NOT_FOUND';
throw err;
};
parcelRequire.register = function register(id, init) {
$parcel$inits[id] = init;
};
$parcel$global["parcelRequire94c2"] = parcelRequire;
}
var parcelRegister = parcelRequire.register;
parcelRegister("aENYW", function(module, exports) {
$parcel$export(module.exports, "default", () => $7c246932a6f08ec1$export$2e2bcd8739ae039);
var $3cDs7 = parcelRequire("3cDs7");
var $8jk4m = parcelRequire("8jk4m");
/** Detect free variable `exports`. */ var freeExports = exports && !exports.nodeType && exports;
/** Detect free variable `module`. */ var freeModule = freeExports && true && module && !module.nodeType && module;
/** Detect the popular CommonJS extension `module.exports`. */ var moduleExports = freeModule && freeModule.exports === freeExports;
/** Built-in value references. */ var Buffer = moduleExports ? (0, $3cDs7.default).Buffer : undefined;
/* Built-in method references for those with the same name as other `lodash` methods. */ var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
/**
* Checks if `value` is a buffer.
*
* @static
* @memberOf _
* @since 4.3.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
* @example
*
* _.isBuffer(new Buffer(2));
* // => true
*
* _.isBuffer(new Uint8Array(2));
* // => false
*/ var isBuffer = nativeIsBuffer || (0, $8jk4m.default);
var $7c246932a6f08ec1$export$2e2bcd8739ae039 = isBuffer;
});
parcelRegister("3cDs7", function(module, exports) {
$parcel$export(module.exports, "default", () => $25511888cf33256a$export$2e2bcd8739ae039);
var $kZUzP = parcelRequire("kZUzP");
/** Detect free variable `self`. */ var $25511888cf33256a$var$freeSelf = typeof self == 'object' && self && self.Object === Object && self;
/** Used as a reference to the global object. */ var $25511888cf33256a$var$root = (0, $kZUzP.default) || $25511888cf33256a$var$freeSelf || Function('return this')();
var $25511888cf33256a$export$2e2bcd8739ae039 = $25511888cf33256a$var$root;
});
parcelRegister("kZUzP", function(module, exports) {
$parcel$export(module.exports, "default", () => $f4956421812324e8$export$2e2bcd8739ae039);
/** Detect free variable `global` from Node.js. */ var $f4956421812324e8$var$freeGlobal = typeof $parcel$global == 'object' && $parcel$global && $parcel$global.Object === Object && $parcel$global;
var $f4956421812324e8$export$2e2bcd8739ae039 = $f4956421812324e8$var$freeGlobal;
});
parcelRegister("8jk4m", function(module, exports) {
$parcel$export(module.exports, "default", () => $60cfaa6f1543ee26$export$2e2bcd8739ae039);
/**
* This method returns `false`.
*
* @static
* @memberOf _
* @since 4.13.0
* @category Util
* @returns {boolean} Returns `false`.
* @example
*
* _.times(2, _.stubFalse);
* // => [false, false]
*/ function $60cfaa6f1543ee26$var$stubFalse() {
return false;
}
var $60cfaa6f1543ee26$export$2e2bcd8739ae039 = $60cfaa6f1543ee26$var$stubFalse;
});
parcelRegister("jYXcM", function(module, exports) {
$parcel$export(module.exports, "default", () => $e8c18bcd0d59d0b0$export$2e2bcd8739ae039);
var $kZUzP = parcelRequire("kZUzP");
/** Detect free variable `exports`. */ var freeExports = exports && !exports.nodeType && exports;
/** Detect free variable `module`. */ var freeModule = freeExports && true && module && !module.nodeType && module;
/** Detect the popular CommonJS extension `module.exports`. */ var moduleExports = freeModule && freeModule.exports === freeExports;
/** Detect free variable `process` from Node.js. */ var freeProcess = moduleExports && (0, $kZUzP.default).process;
/** Used to access faster Node.js helpers. */ var nodeUtil = function() {
try {
// Use `util.types` for Node.js 10+.
var types = freeModule && freeModule.require && freeModule.require('util').types;
if (types) return types;
// Legacy `process.binding('util')` for Node.js < 10.
return freeProcess && freeProcess.binding && freeProcess.binding('util');
} catch (e) {}
}();
var $e8c18bcd0d59d0b0$export$2e2bcd8739ae039 = nodeUtil;
});
$parcel$defineInteropFlag(module.exports);
$parcel$export(module.exports, "Networks", () => $232a00b1b1c1d05a$export$2e8191f482a38ccd);
$parcel$export(module.exports, "default", () => $232a00b1b1c1d05a$export$2e2bcd8739ae039);
$parcel$export(module.exports, "BNExtended", () => $cebd1a660d46d4f0$export$2e2bcd8739ae039);
$parcel$export(module.exports, "Point", () => $475d7751b8dfab0e$export$2e2bcd8739ae039);
$parcel$export(module.exports, "Hash", () => $7d058489a2cd2e32$export$2e2bcd8739ae039);
$parcel$export(module.exports, "Signature", () => $45c9fd145871c312$export$2e2bcd8739ae039);
$parcel$export(module.exports, "DigitalSignature", () => $912c68f4296376d5$export$2e2bcd8739ae039);
$parcel$export(module.exports, "ECDSA", () => $f9ce71826f71c11d$export$2e2bcd8739ae039);
$parcel$export(module.exports, "Schnorr", () => $e45d4811da3ae99f$export$2e2bcd8739ae039);
$parcel$export(module.exports, "BufferReader", () => $793681353b33424e$export$2e2bcd8739ae039);
$parcel$export(module.exports, "BufferWriter", () => $27d89aa9bb7c6f61$export$2e2bcd8739ae039);
$parcel$export(module.exports, "Network", () => $7ce6f02ae130f698$export$95be4ae94445245a);
$parcel$export(module.exports, "NetworkManager", () => $6ddd5f7363f05fee$export$2e2bcd8739ae039);
$parcel$export(module.exports, "UnitType", () => $37900703f6302cd2$export$80d48287646c9e3b);
$parcel$export(module.exports, "UnitUtils", () => $37900703f6302cd2$export$2e2bcd8739ae039);
$parcel$export(module.exports, "BufferUtils", () => $a0da62b28fe8b518$export$2e2bcd8739ae039);
$parcel$export(module.exports, "CommonUtils", () => $613ba567778af3d5$export$2e2bcd8739ae039);
$parcel$export(module.exports, "PrivateKey", () => $e61ddaa7b91719ed$export$2e2bcd8739ae039);
$parcel$export(module.exports, "PublicKey", () => $69c41756de86d908$export$2e2bcd8739ae039);
$parcel$export(module.exports, "HDPrivateKey", () => $872cde33d7f1f07d$export$2e2bcd8739ae039);
$parcel$export(module.exports, "HDPublicKey", () => $4d46d1ec2c1a3d74$export$2e2bcd8739ae039);
$parcel$export(module.exports, "Opcode", () => $dfa355287eadce7b$export$393941f88fd16991);
$parcel$export(module.exports, "ScriptOpcode", () => $dfa355287eadce7b$export$2e2bcd8739ae039);
$parcel$export(module.exports, "Script", () => $cec68847560dbbf2$export$2e2bcd8739ae039);
$parcel$export(module.exports, "ScriptFactory", () => $aab47ff2f6d89c5c$export$2e2bcd8739ae039);
$parcel$export(module.exports, "Address", () => $533e4b49a20b893f$export$2e2bcd8739ae039);
$parcel$export(module.exports, "AddressType", () => $b9610d6664630265$export$189c6ba3eaa96ac2);
$parcel$export(module.exports, "Block", () => $b3658a0549d867a6$export$2e2bcd8739ae039);
$parcel$export(module.exports, "BlockHeader", () => $ecd8fc2364a7ad9b$export$2e2bcd8739ae039);
$parcel$export(module.exports, "SighashType", () => $ed2f2c80dc4690af$export$2e2bcd8739ae039);
$parcel$export(module.exports, "InputSighashType", () => $ed2f2c80dc4690af$export$ae38be9ef660d12e);
$parcel$export(module.exports, "OutputSighashType", () => $ed2f2c80dc4690af$export$cc0d5ed6c4786851);
$parcel$export(module.exports, "Transaction", () => $55fc31f5d97ab37d$export$2e2bcd8739ae039);
$parcel$export(module.exports, "UnspentOutput", () => $b0993d223e6a9efe$export$2e2bcd8739ae039);
$parcel$export(module.exports, "Output", () => $2e7b1b355e49b182$export$2e2bcd8739ae039);
$parcel$export(module.exports, "OutputType", () => $2e7b1b355e49b182$export$be94d7b677b041dd);
$parcel$export(module.exports, "Input", () => $d3b4e35338c88b33$export$2e2bcd8739ae039);
$parcel$export(module.exports, "InputType", () => $d3b4e35338c88b33$export$476dfc2401bc286b);
$parcel$export(module.exports, "PublicKeyTemplateInput", () => $fe06778587edbcfb$export$2e2bcd8739ae039);
$parcel$export(module.exports, "ScriptTemplateInput", () => $f0e1a3c2f2e435d2$export$2e2bcd8739ae039);
$parcel$export(module.exports, "PublicKeyHashInput", () => $45fc35bf5b9a2156$export$2e2bcd8739ae039);
$parcel$export(module.exports, "TxSigner", () => $b33ec09c8d7d44c7$export$2e2bcd8739ae039);
$parcel$export(module.exports, "TxSignature", () => $50f4ca4975b12eac$export$2e2bcd8739ae039);
$parcel$export(module.exports, "TransactionBuilder", () => $481c8266135fd162$export$2e2bcd8739ae039);
$parcel$export(module.exports, "Message", () => $ffccac3f2287e2ec$export$2e2bcd8739ae039);
$parcel$export(module.exports, "GroupToken", () => $a72dc72c943ac83d$export$2e2bcd8739ae039);
$parcel$export(module.exports, "GroupIdFlag", () => $a72dc72c943ac83d$export$7b9ebdcfe3200497);
$parcel$export(module.exports, "GroupIdType", () => $a72dc72c943ac83d$export$8da1cb8322810fc2);
var $6cc2b96990b19978$exports = {};
$6cc2b96990b19978$exports = JSON.parse("{\"name\":\"libnexa-ts\",\"version\":\"1.0.5\",\"description\":\"A pure and powerful Nexa SDK library.\",\"type\":\"module\",\"source\":\"src/index.ts\",\"types\":\"dist/index.d.ts\",\"main\":\"dist/index.cjs\",\"module\":\"dist/index.mjs\",\"browser\":\"dist/index.web.mjs\",\"exports\":{\"types\":\"./dist/index.d.ts\",\"node\":{\"import\":\"./dist/index.mjs\",\"require\":\"./dist/index.cjs\"},\"browser\":\"./dist/index.web.mjs\",\"default\":\"./dist/index.mjs\"},\"targets\":{\"main\":{\"context\":\"node\",\"outputFormat\":\"commonjs\",\"distDir\":\"dist\",\"isLibrary\":true,\"includeNodeModules\":[\"lodash-es\"]},\"module\":{\"context\":\"node\",\"outputFormat\":\"esmodule\",\"distDir\":\"dist\",\"isLibrary\":true},\"browser\":{\"context\":\"browser\",\"outputFormat\":\"esmodule\",\"distDir\":\"dist\",\"isLibrary\":true}},\"files\":[\"dist\"],\"scripts\":{\"check\":\"tsc --noEmit && npm run madge\",\"build\":\"del-cli ./dist && parcel build\",\"lint\":\"eslint .\",\"madge\":\"madge --circular src/index.ts\",\"test\":\"vitest run --dir tests\",\"coverage\":\"del-cli ./coverage && npm test -- --coverage --reporter=verbose --reporter=junit\",\"docs\":\"typedoc\"},\"keywords\":[\"nexa\",\"blockchain\"],\"repository\":{\"type\":\"git\",\"url\":\"https://gitlab.com/nexa/libnexa-ts\"},\"author\":\"vgrunner\",\"license\":\"MIT\",\"dependencies\":{\"bn.js\":\"^5.2.1\",\"bs58\":\"^6.0.0\",\"elliptic\":\"^6.6.1\",\"js-big-decimal\":\"^2.2.0\",\"lodash-es\":\"^4.17.21\"},\"devDependencies\":{\"@parcel/packager-ts\":\"^2.13.3\",\"@parcel/transformer-typescript-types\":\"^2.13.3\",\"@types/bn.js\":\"^5.1.6\",\"@types/elliptic\":\"^6.4.18\",\"@types/lodash-es\":\"^4.17.12\",\"@types/node\":\"^22.13.4\",\"@vitest/coverage-v8\":\"^3.0.6\",\"del-cli\":\"^6.0.0\",\"eslint\":\"^9.20.1\",\"madge\":\"^8.0.0\",\"parcel\":\"^2.13.3\",\"typedoc\":\"^0.27.7\",\"typedoc-plugin-markdown\":\"^4.4.2\",\"typedoc-plugin-rename-defaults\":\"^0.7.2\",\"typescript\":\"^5.7.3\",\"typescript-eslint\":\"^8.24.1\",\"vitest\":\"^3.0.6\"},\"@parcel/resolver-default\":{\"packageExports\":true},\"madge\":{\"detectiveOptions\":{\"ts\":{\"skipTypeImports\":true}}}}");
var $3cDs7 = parcelRequire("3cDs7");
/** Built-in value references. */ var $d08d69ef3ef34349$var$Symbol = (0, $3cDs7.default).Symbol;
var $d08d69ef3ef34349$export$2e2bcd8739ae039 = $d08d69ef3ef34349$var$Symbol;
/** Used for built-in method references. */ var $d52fac5539997fc9$var$objectProto = Object.prototype;
/** Used to check objects for own properties. */ var $d52fac5539997fc9$var$hasOwnProperty = $d52fac5539997fc9$var$objectProto.hasOwnProperty;
/**
* Used to resolve the
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
* of values.
*/ var $d52fac5539997fc9$var$nativeObjectToString = $d52fac5539997fc9$var$objectProto.toString;
/** Built-in value references. */ var $d52fac5539997fc9$var$symToStringTag = (0, $d08d69ef3ef34349$export$2e2bcd8739ae039) ? (0, $d08d69ef3ef34349$export$2e2bcd8739ae039).toStringTag : undefined;
/**
* A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
*
* @private
* @param {*} value The value to query.
* @returns {string} Returns the raw `toStringTag`.
*/ function $d52fac5539997fc9$var$getRawTag(value) {
var isOwn = $d52fac5539997fc9$var$hasOwnProperty.call(value, $d52fac5539997fc9$var$symToStringTag), tag = value[$d52fac5539997fc9$var$symToStringTag];
try {
value[$d52fac5539997fc9$var$symToStringTag] = undefined;
var unmasked = true;
} catch (e) {}
var result = $d52fac5539997fc9$var$nativeObjectToString.call(value);
if (unmasked) {
if (isOwn) value[$d52fac5539997fc9$var$symToStringTag] = tag;
else delete value[$d52fac5539997fc9$var$symToStringTag];
}
return result;
}
var $d52fac5539997fc9$export$2e2bcd8739ae039 = $d52fac5539997fc9$var$getRawTag;
/** Used for built-in method references. */ var $eee10ddb32d400f4$var$objectProto = Object.prototype;
/**
* Used to resolve the
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
* of values.
*/ var $eee10ddb32d400f4$var$nativeObjectToString = $eee10ddb32d400f4$var$objectProto.toString;
/**
* Converts `value` to a string using `Object.prototype.toString`.
*
* @private
* @param {*} value The value to convert.
* @returns {string} Returns the converted string.
*/ function $eee10ddb32d400f4$var$objectToString(value) {
return $eee10ddb32d400f4$var$nativeObjectToString.call(value);
}
var $eee10ddb32d400f4$export$2e2bcd8739ae039 = $eee10ddb32d400f4$var$objectToString;
/** `Object#toString` result references. */ var $9364cb19f21ed0a4$var$nullTag = '[object Null]', $9364cb19f21ed0a4$var$undefinedTag = '[object Undefined]';
/** Built-in value references. */ var $9364cb19f21ed0a4$var$symToStringTag = (0, $d08d69ef3ef34349$export$2e2bcd8739ae039) ? (0, $d08d69ef3ef34349$export$2e2bcd8739ae039).toStringTag : undefined;
/**
* The base implementation of `getTag` without fallbacks for buggy environments.
*
* @private
* @param {*} value The value to query.
* @returns {string} Returns the `toStringTag`.
*/ function $9364cb19f21ed0a4$var$baseGetTag(value) {
if (value == null) return value === undefined ? $9364cb19f21ed0a4$var$undefinedTag : $9364cb19f21ed0a4$var$nullTag;
return $9364cb19f21ed0a4$var$symToStringTag && $9364cb19f21ed0a4$var$symToStringTag in Object(value) ? (0, $d52fac5539997fc9$export$2e2bcd8739ae039)(value) : (0, $eee10ddb32d400f4$export$2e2bcd8739ae039)(value);
}
var $9364cb19f21ed0a4$export$2e2bcd8739ae039 = $9364cb19f21ed0a4$var$baseGetTag;
/**
* Checks if `value` is classified as an `Array` object.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is an array, else `false`.
* @example
*
* _.isArray([1, 2, 3]);
* // => true
*
* _.isArray(document.body.children);
* // => false
*
* _.isArray('abc');
* // => false
*
* _.isArray(_.noop);
* // => false
*/ var $eb478f550bce4d9a$var$isArray = Array.isArray;
var $eb478f550bce4d9a$export$2e2bcd8739ae039 = $eb478f550bce4d9a$var$isArray;
/**
* Checks if `value` is object-like. A value is object-like if it's not `null`
* and has a `typeof` result of "object".
*
* @static
* @memberOf _
* @since 4.0.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
* @example
*
* _.isObjectLike({});
* // => true
*
* _.isObjectLike([1, 2, 3]);
* // => true
*
* _.isObjectLike(_.noop);
* // => false
*
* _.isObjectLike(null);
* // => false
*/ function $2deff4ece5217d39$var$isObjectLike(value) {
return value != null && typeof value == 'object';
}
var $2deff4ece5217d39$export$2e2bcd8739ae039 = $2deff4ece5217d39$var$isObjectLike;
/** `Object#toString` result references. */ var $a24186ac4fcb020d$var$stringTag = '[object String]';
/**
* Checks if `value` is classified as a `String` primitive or object.
*
* @static
* @since 0.1.0
* @memberOf _
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a string, else `false`.
* @example
*
* _.isString('abc');
* // => true
*
* _.isString(1);
* // => false
*/ function $a24186ac4fcb020d$var$isString(value) {
return typeof value == 'string' || !(0, $eb478f550bce4d9a$export$2e2bcd8739ae039)(value) && (0, $2deff4ece5217d39$export$2e2bcd8739ae039)(value) && (0, $9364cb19f21ed0a4$export$2e2bcd8739ae039)(value) == $a24186ac4fcb020d$var$stringTag;
}
var $a24186ac4fcb020d$export$2e2bcd8739ae039 = $a24186ac4fcb020d$var$isString;
class $82f3c79f1ec63910$export$2e2bcd8739ae039 {
static validateState(condition, message) {
if (!condition) throw new Error(`Invalid State: ${message}`);
}
static validateArgument(condition, argumentName, message = "") {
if (!condition) throw new Error(`Invalid Argument: ${argumentName}. ${message}`);
}
static validateArgumentType(argument, type, argumentName) {
argumentName = argumentName || '(unknown name)';
if ((0, $a24186ac4fcb020d$export$2e2bcd8739ae039)(type)) {
if (type === 'Buffer') {
if (!Buffer.isBuffer(argument)) throw new TypeError(`Invalid Argument for ${argumentName}, expected ${type} but got ${typeof argument}`);
} else if (typeof argument !== type) throw new TypeError(`Invalid Argument for ${argumentName}, expected ${type} but got ${typeof argument}`);
} else {
if (!(argument instanceof type)) throw new TypeError(`Invalid Argument for ${argumentName}, expected ${type} but got ${typeof argument}`);
}
}
}
class $a0da62b28fe8b518$export$2e2bcd8739ae039 {
/**
* Fill a buffer with a value.
*
* @param buffer
* @param value
* @return filled buffer
*
* @deprecated use `buffer.fill(value)`
*/ static fill(buffer, value) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgumentType(buffer, 'Buffer', 'buffer');
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgumentType(value, 'number', 'value');
return buffer.fill(value);
}
/**
*
* @param original buffer
* @return Return a copy of a buffer
*
* @deprecated use `Buffer.from(original) or Buffer.copyBytesFrom(original)`
*/ static copy(original) {
let buffer = Buffer.alloc(original.length);
original.copy(buffer);
return buffer;
}
/**
* Tests for both node's Buffer and Uint8Array
*
* @param arg
* @return Returns true if the given argument is an instance of a buffer.
*/ static isBuffer(arg) {
return Buffer.isBuffer(arg) || arg instanceof Uint8Array;
}
/**
* Tests for both node's Buffer and Uint8Array
*
* @param arg
* @return Returns true if the given argument is an instance of a hash160 or hash256 buffer.
*/ static isHashBuffer(arg) {
return this.isBuffer(arg) && (arg.length === 20 || arg.length === 32);
}
/**
* Returns a zero-filled byte array
*
* @param length
*
* @deprecated use `Buffer.alloc(length)`
*/ static emptyBuffer(length) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgumentType(length, 'number', 'length');
return Buffer.alloc(length);
}
/**
* Reverse a buffer
* @param param
* @return new reversed buffer
*/ static reverse(param) {
return Buffer.from(param).reverse();
}
/**
* Transforms a buffer into a string with a number in hexa representation
*
* Shorthand for <tt>buffer.toString('hex')</tt>
*
* @param buffer
* @return string
*/ static bufferToHex(buffer) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgumentType(buffer, 'Buffer', 'buffer');
return buffer.toString('hex');
}
/**
* Transforms a number from 0 to 255 into a Buffer of size 1 with that value
*
* @param integer
* @return Buffer
*/ static integerAsSingleByteBuffer(integer) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgumentType(integer, 'number', 'integer');
return Buffer.from([
integer & 0xff
]);
}
/**
* Transforms the first byte of an array into a number ranging from -128 to 127
*
* @param buffer
* @return number
*/ static integerFromSingleByteBuffer(buffer) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgumentType(buffer, 'Buffer', 'buffer');
return buffer[0];
}
/**
* Transform a 4-byte integer into a Buffer of length 4.
*
* @param integer
* @return Buffer
*/ static integerAsBuffer(integer) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgumentType(integer, 'number', 'integer');
let bytes = [];
bytes.push(integer >> 24 & 0xff);
bytes.push(integer >> 16 & 0xff);
bytes.push(integer >> 8 & 0xff);
bytes.push(integer & 0xff);
return Buffer.from(bytes);
}
/**
* Transform the first 4 values of a Buffer into a number, in little endian encoding
*
* @param buffer
* @return integer
*/ static integerFromBuffer(buffer) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgumentType(buffer, 'Buffer', 'buffer');
return buffer[0] << 24 | buffer[1] << 16 | buffer[2] << 8 | buffer[3];
}
/* secure random bytes that sometimes throws an error due to lack of entropy */ static getRandomBuffer(size) {
return (0, ($parcel$interopDefault($6R7eO$crypto))).randomBytes(size);
}
}
var $7d058489a2cd2e32$var$SHA_BLOCKSIZE = /*#__PURE__*/ function($7d058489a2cd2e32$var$SHA_BLOCKSIZE) {
$7d058489a2cd2e32$var$SHA_BLOCKSIZE[$7d058489a2cd2e32$var$SHA_BLOCKSIZE["SHA256"] = 512] = "SHA256";
$7d058489a2cd2e32$var$SHA_BLOCKSIZE[$7d058489a2cd2e32$var$SHA_BLOCKSIZE["SHA512"] = 1024] = "SHA512";
return $7d058489a2cd2e32$var$SHA_BLOCKSIZE;
}($7d058489a2cd2e32$var$SHA_BLOCKSIZE || {});
class $7d058489a2cd2e32$export$2e2bcd8739ae039 {
static sha1(buf) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).isBuffer(buf), "buf", "Must be Buffer");
return (0, ($parcel$interopDefault($6R7eO$crypto))).createHash('sha1').update(buf).digest();
}
static sha256(buf) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).isBuffer(buf), "buf", "Must be Buffer");
return (0, ($parcel$interopDefault($6R7eO$crypto))).createHash('sha256').update(buf).digest();
}
static sha512(buf) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).isBuffer(buf), "buf", "Must be Buffer");
return (0, ($parcel$interopDefault($6R7eO$crypto))).createHash('sha512').update(buf).digest();
}
static ripemd160(buf) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).isBuffer(buf), "buf", "Must be Buffer");
return (0, ($parcel$interopDefault($6R7eO$crypto))).createHash('ripemd160').update(buf).digest();
}
static sha256sha256(buf) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).isBuffer(buf), "buf", "Must be Buffer");
return this.sha256(this.sha256(buf));
}
static sha256ripemd160(buf) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).isBuffer(buf), "buf", "Must be Buffer");
return this.ripemd160(this.sha256(buf));
}
static sha256hmac(data, key) {
return $7d058489a2cd2e32$export$2e2bcd8739ae039.hmac($7d058489a2cd2e32$export$2e2bcd8739ae039.sha256, 512, data, key);
}
static sha512hmac(data, key) {
return $7d058489a2cd2e32$export$2e2bcd8739ae039.hmac($7d058489a2cd2e32$export$2e2bcd8739ae039.sha512, 1024, data, key);
}
static hmac(hashf, size, data, key) {
//http://en.wikipedia.org/wiki/Hash-based_message_authentication_code
//http://tools.ietf.org/html/rfc4868#section-2
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).isBuffer(data), "data", "Must be Buffer");
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).isBuffer(key), "key", "Must be Buffer");
let blocksize = size / 8;
if (key.length > blocksize) key = hashf(key);
else if (key.length < blocksize) {
let fill = Buffer.alloc(blocksize);
fill.fill(0);
key.copy(fill);
key = fill;
}
let o_key = Buffer.alloc(blocksize);
o_key.fill(0x5c);
let i_key = Buffer.alloc(blocksize);
i_key.fill(0x36);
let o_key_pad = Buffer.alloc(blocksize);
let i_key_pad = Buffer.alloc(blocksize);
for(let i = 0; i < blocksize; i++){
o_key_pad[i] = o_key[i] ^ key[i];
i_key_pad[i] = i_key[i] ^ key[i];
}
return hashf(Buffer.concat([
o_key_pad,
hashf(Buffer.concat([
i_key_pad,
data
]))
]));
}
}
class $613ba567778af3d5$export$2e2bcd8739ae039 {
/**
* Determines whether a string contains only hexadecimal values
*
* @param value
* @returns true if the string is the hexa representation of a number
*/ static isHexa(value) {
return (0, $a24186ac4fcb020d$export$2e2bcd8739ae039)(value) && value.length % 2 === 0 && /^[0-9a-fA-F]+$/.test(value);
}
/**
* Test if an argument is a valid JSON object. If it is, returns a truthy
* value (the json object decoded), so no double JSON.parse call is necessary
*
* @param arg
* @return false if the argument is not a JSON string.
*/ static isValidJSON(arg) {
if (!(0, $a24186ac4fcb020d$export$2e2bcd8739ae039)(arg)) return false;
try {
return JSON.parse(arg);
} catch {
return false;
}
}
static cloneArray(array) {
return [
...array
];
}
/**
* Checks that a value is a natural number.
*
* @param value
* @return true if a positive integer or zero.
*/ static isNaturalNumber(value) {
return typeof value === 'number' && isFinite(value) && Math.floor(value) === value && value >= 0;
}
/**
* Checks that a value is a natural number.
*
* @param value
* @return true if a positive integer or zero.
*/ static isNaturalBigInt(value) {
return typeof value === 'bigint' && value >= 0n;
}
}
/** `Object#toString` result references. */ var $c5173e2899cab467$var$numberTag = '[object Number]';
/**
* Checks if `value` is classified as a `Number` primitive or object.
*
* **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are
* classified as numbers, use the `_.isFinite` method.
*
* @static
* @memberOf _
* @since 0.1.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a number, else `false`.
* @example
*
* _.isNumber(3);
* // => true
*
* _.isNumber(Number.MIN_VALUE);
* // => true
*
* _.isNumber(Infinity);
* // => true
*
* _.isNumber('3');
* // => false
*/ function $c5173e2899cab467$var$isNumber(value) {
return typeof value == 'number' || (0, $2deff4ece5217d39$export$2e2bcd8739ae039)(value) && (0, $9364cb19f21ed0a4$export$2e2bcd8739ae039)(value) == $c5173e2899cab467$var$numberTag;
}
var $c5173e2899cab467$export$2e2bcd8739ae039 = $c5173e2899cab467$var$isNumber;
class $cebd1a660d46d4f0$export$2e2bcd8739ae039 extends (0, ($parcel$interopDefault($6R7eO$bnjs))) {
static Zero = new $cebd1a660d46d4f0$export$2e2bcd8739ae039(0);
static One = new $cebd1a660d46d4f0$export$2e2bcd8739ae039(1);
static Minus1 = new $cebd1a660d46d4f0$export$2e2bcd8739ae039(-1);
static fromNumber(num) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $c5173e2899cab467$export$2e2bcd8739ae039)(num), "num");
return new $cebd1a660d46d4f0$export$2e2bcd8739ae039(num);
}
static fromBigInt(num) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument(typeof num === 'bigint', "num");
return new $cebd1a660d46d4f0$export$2e2bcd8739ae039(num.toString());
}
static fromString(str, base) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a24186ac4fcb020d$export$2e2bcd8739ae039)(str), "str");
return new $cebd1a660d46d4f0$export$2e2bcd8739ae039(str, base);
}
static fromBuffer(buf, opts) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).isBuffer(buf), "buf");
if (opts?.endian === 'little') buf = (0, $a0da62b28fe8b518$export$2e2bcd8739ae039).reverse(buf);
return new $cebd1a660d46d4f0$export$2e2bcd8739ae039(buf.toString('hex'), 16);
}
/**
* Create a BN from a "ScriptNum":
* This is analogous to the constructor for CScriptNum in nexad. Many ops in
* nexad's script interpreter use CScriptNum, which is not really a proper
* bignum. Instead, an error is thrown if trying to input a number bigger than
* 4 bytes. We copy that behavior here. A third argument, `size`, is provided to
* extend the hard limit of 4 bytes, as some usages require more than 4 bytes.
*/ static fromScriptNumBuffer(buf, fRequireMinimal, size) {
let nMaxNumSize = size || 4;
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument(buf.length <= nMaxNumSize, 'script number overflow');
if (fRequireMinimal && buf.length > 0) // Check that the number is encoded with the minimum possible
// number of bytes.
//
// If the most-significant-byte - excluding the sign bit - is zero
// then we're not minimal. Note how this test also rejects the
// negative-zero encoding, 0x80.
{
if ((buf[buf.length - 1] & 0x7f) === 0) {
// One exception: if there's more than one byte and the most
// significant bit of the second-most-significant-byte is set
// it would conflict with the sign bit. An example of this case
// is +-255, which encode to 0xff00 and 0xff80 respectively.
// (big-endian).
if (buf.length <= 1 || (buf[buf.length - 2] & 0x80) === 0) throw new Error('non-minimally encoded script number');
}
}
return $cebd1a660d46d4f0$export$2e2bcd8739ae039.fromSM(buf, {
endian: 'little'
});
}
// Override arithmetic methods to ensure they return BNExtended instances
add(b) {
const result = super.add(b).toString();
return new $cebd1a660d46d4f0$export$2e2bcd8739ae039(result);
}
sub(b) {
const result = super.sub(b).toString();
return new $cebd1a660d46d4f0$export$2e2bcd8739ae039(result);
}
mul(b) {
const result = super.mul(b).toString();
return new $cebd1a660d46d4f0$export$2e2bcd8739ae039(result);
}
mod(b) {
const result = super.mod(b).toString();
return new $cebd1a660d46d4f0$export$2e2bcd8739ae039(result);
}
umod(b) {
const result = super.umod(b).toString();
return new $cebd1a660d46d4f0$export$2e2bcd8739ae039(result);
}
toNumber() {
return parseInt(this.toString(10), 10);
}
toBigInt() {
return BigInt(this.toString(10));
}
toBuffer(opts, length) {
if ((0, $a24186ac4fcb020d$export$2e2bcd8739ae039)(opts)) // compatability with override
return super.toBuffer(opts, length);
let hex = this.toString(16, 2);
let buf = Buffer.from(hex, 'hex');
if (opts?.size) {
let natlen = hex.length / 2;
if (natlen > opts.size) buf = $cebd1a660d46d4f0$export$2e2bcd8739ae039.trim(buf, natlen);
else if (natlen < opts.size) buf = $cebd1a660d46d4f0$export$2e2bcd8739ae039.pad(buf, natlen, opts.size);
}
if (opts?.endian === 'little') buf = (0, $a0da62b28fe8b518$export$2e2bcd8739ae039).reverse(buf);
return buf;
}
/**
* The corollary to the above, with the notable exception that we do not throw
* an error if the output is larger than four bytes. (Which can happen if
* performing a numerical operation that results in an overflow to more than 4
* bytes).
*/ toScriptNumBuffer() {
return this.toSM({
endian: 'little'
});
}
toScriptBigNumBuffer() {
return this.toSM({
endian: 'little',
bignum: true
});
}
getSize() {
const bin = this.toString(2).replace('-', '');
const numBits = bin.length + 1;
return numBits / 8;
}
safeAdd(bigNumToAdd, maxSize) {
const sum = this.add(bigNumToAdd);
this.checkOperationForOverflow(bigNumToAdd, sum, maxSize);
return sum;
}
safeSub(bigNumToSubtract, maxSize) {
const difference = this.sub(bigNumToSubtract);
this.checkOperationForOverflow(bigNumToSubtract, difference, maxSize);
return difference;
}
safeMul(bigNumToMultiply, maxSize) {
const product = this.mul(bigNumToMultiply);
this.checkOperationForOverflow(bigNumToMultiply, product, maxSize);
return product;
}
checkOperationForOverflow(operand, result, maxSize) {
if (this.getSize() > maxSize || operand.getSize() > maxSize || result.getSize() > 8) throw new Error('overflow');
}
toSMBigEndian() {
let buf;
if (this.cmp($cebd1a660d46d4f0$export$2e2bcd8739ae039.Zero) === -1) {
buf = this.neg().toBuffer();
if (buf[0] & 0x80) buf = Buffer.concat([
Buffer.from([
0x80
]),
buf
]);
else buf[0] = buf[0] | 0x80;
} else {
buf = this.toBuffer();
if (buf[0] & 0x80) buf = Buffer.concat([
Buffer.from([
0x00
]),
buf
]);
}
if (buf.length === 1 && buf[0] === 0) buf = Buffer.from([]);
return buf;
}
toBigNumSMBigEndian() {
let buf;
if (this.cmp($cebd1a660d46d4f0$export$2e2bcd8739ae039.Zero) === -1) {
buf = this.neg().toBuffer();
buf = Buffer.concat([
Buffer.from([
0x80
]),
buf
]);
} else {
buf = this.toBuffer();
buf = Buffer.concat([
Buffer.from([
0x00
]),
buf
]);
}
return buf;
}
toSM(opts) {
let buf = opts?.bignum ? this.toBigNumSMBigEndian() : this.toSMBigEndian();
if (opts?.endian === 'little') buf = (0, $a0da62b28fe8b518$export$2e2bcd8739ae039).reverse(buf);
return buf;
}
/**
* Instantiate a BigNumber from a "signed magnitude buffer"
* (a buffer where the most significant bit represents the sign (0 = positive, -1 = negative))
*/ static fromSM(buf, opts) {
if (buf.length === 0) return this.fromBuffer(Buffer.from([
0
]));
if (opts?.endian === 'little') buf = (0, $a0da62b28fe8b518$export$2e2bcd8739ae039).reverse(buf);
let ret;
if (buf[0] & 0x80) {
buf[0] = buf[0] & 0x7f;
ret = this.fromBuffer(buf);
ret.neg().copy(ret);
} else ret = this.fromBuffer(buf);
return ret;
}
static trim(buf, natlen) {
return buf.subarray(natlen - buf.length, natlen);
}
static pad(buf, natlen, size) {
let rbuf = Buffer.alloc(size);
for(let i = 0; i < buf.length; i++)rbuf[rbuf.length - 1 - i] = buf[buf.length - 1 - i];
for(let i = 0; i < size - natlen; i++)rbuf[i] = 0;
return rbuf;
}
}
/**
* Checks if `value` is `undefined`.
*
* @static
* @since 0.1.0
* @memberOf _
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
* @example
*
* _.isUndefined(void 0);
* // => true
*
* _.isUndefined(null);
* // => false
*/ function $82745c4d69375604$var$isUndefined(value) {
return value === undefined;
}
var $82745c4d69375604$export$2e2bcd8739ae039 = $82745c4d69375604$var$isUndefined;
/**
* Checks if `value` is the
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
*
* @static
* @memberOf _
* @since 0.1.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
* @example
*
* _.isObject({});
* // => true
*
* _.isObject([1, 2, 3]);
* // => true
*
* _.isObject(_.noop);
* // => true
*
* _.isObject(null);
* // => false
*/ function $dfc046cb2cbe0263$var$isObject(value) {
var type = typeof value;
return value != null && (type == 'object' || type == 'function');
}
var $dfc046cb2cbe0263$export$2e2bcd8739ae039 = $dfc046cb2cbe0263$var$isObject;
class $793681353b33424e$export$2e2bcd8739ae039 {
buf;
pos;
constructor(buf){
this.buf = Buffer.from([]);
this.pos = 0;
if ((0, $82745c4d69375604$export$2e2bcd8739ae039)(buf)) return;
if (Buffer.isBuffer(buf)) this.set({
buf: buf
});
else if ((0, $a24186ac4fcb020d$export$2e2bcd8739ae039)(buf)) {
let b = Buffer.from(buf, 'hex');
if (b.length * 2 != buf.length) throw new TypeError('Invalid hex string');
this.set({
buf: b
});
} else if ((0, $dfc046cb2cbe0263$export$2e2bcd8739ae039)(buf)) {
let obj = buf;
this.set(obj);
} else throw new TypeError('Unrecognized argument for BufferReader');
}
set(obj) {
this.buf = obj.buf || this.buf;
this.pos = obj.pos || this.pos || 0;
return this;
}
eof() {
return this.pos >= this.buf.length;
}
finished = this.eof;
read(len) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument(!(0, $82745c4d69375604$export$2e2bcd8739ae039)(len), 'Must specify a length');
let buf = this.buf.subarray(this.pos, this.pos + len);
this.pos = this.pos + len;
return buf;
}
readAll() {
let buf = this.buf.subarray(this.pos, this.buf.length);
this.pos = this.buf.length;
return buf;
}
readUInt8() {
let val = this.buf.readUInt8(this.pos);
this.pos = this.pos + 1;
return val;
}
readUInt16BE() {
let val = this.buf.readUInt16BE(this.pos);
this.pos = this.pos + 2;
return val;
}
readUInt16LE() {
let val = this.buf.readUInt16LE(this.pos);
this.pos = this.pos + 2;
return val;
}
readUInt32BE() {
let val = this.buf.readUInt32BE(this.pos);
this.pos = this.pos + 4;
return val;
}
readUInt32LE() {
let val = this.buf.readUInt32LE(this.pos);
this.pos = this.pos + 4;
return val;
}
readInt32LE() {
let val = this.buf.readInt32LE(this.pos);
this.pos = this.pos + 4;
return val;
}
readUInt64BEBN() {
let buf = this.buf.subarray(this.pos, this.pos + 8);
let bn = (0, $cebd1a660d46d4f0$export$2e2bcd8739ae039).fromBuffer(buf);
this.pos = this.pos + 8;
return bn;
}
readUInt64LEBN() {
let second = this.buf.readUInt32LE(this.pos);
let first = this.buf.readUInt32LE(this.pos + 4);
let combined = first * 0x100000000 + second;
// Instantiating an instance of BN with a number is faster than with an
// array or string. However, the maximum safe number for a double precision
// floating point is 2 ^ 52 - 1 (0x1fffffffffffff), thus we can safely use
// non-floating point numbers less than this amount (52 bits). And in the case
// that the number is larger, we can instatiate an instance of BN by passing
// an array from the buffer (slower) and specifying the endianness.
let bn;
if (combined <= 0x1fffffffffffff) bn = new (0, $cebd1a660d46d4f0$export$2e2bcd8739ae039)(combined);
else {
let data = this.buf.subarray(this.pos, this.pos + 8);
bn = new (0, $cebd1a660d46d4f0$export$2e2bcd8739ae039)(data, 10, 'le');
}
this.pos = this.pos + 8;
return bn;
}
readVarintNum() {
let first = this.readUInt8();
switch(first){
case 0xFD:
return this.readUInt16LE();
case 0xFE:
return this.readUInt32LE();
case 0xFF:
let bn = this.readUInt64LEBN();
let n = bn.toNumber();
if (n <= Math.pow(2, 53)) return n;
else throw new Error('number too large to retain precision - use readVarintBN');
}
return first;
}
/**
* reads a length prepended buffer
*/ readVarLengthBuffer() {
let len = this.readVarintNum();
let buf = this.read(len);
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateState(buf.length === len, "Invalid length while reading varlength buffer. Expected to read: " + len + ' and read ' + buf.length);
return buf;
}
readVarintBuf() {
let first = this.buf.readUInt8(this.pos);
switch(first){
case 0xFD:
return this.read(3);
case 0xFE:
return this.read(5);
case 0xFF:
return this.read(9);
default:
return this.read(1);
}
}
readVarintBN() {
let first = this.readUInt8();
switch(first){
case 0xFD:
return new (0, $cebd1a660d46d4f0$export$2e2bcd8739ae039)(this.readUInt16LE());
case 0xFE:
return new (0, $cebd1a660d46d4f0$export$2e2bcd8739ae039)(this.readUInt32LE());
case 0xFF:
return this.readUInt64LEBN();
default:
return new (0, $cebd1a660d46d4f0$export$2e2bcd8739ae039)(first);
}
}
reverse() {
let buf = (0, $a0da62b28fe8b518$export$2e2bcd8739ae039).reverse(this.buf);
this.buf = buf;
return this;
}
readReverse(len) {
if ((0, $82745c4d69375604$export$2e2bcd8739ae039)(len)) len = this.buf.length;
let buf = this.buf.subarray(this.pos, this.pos + len);
this.pos = this.pos + len;
return (0, $a0da62b28fe8b518$export$2e2bcd8739ae039).reverse(buf);
}
readCoreVarintNum() {
let n = 0;
while(true){
let chData = this.readUInt8();
n = n << 7 | chData & 0x7F;
if (chData & 0x80) n++;
else return n;
}
}
}
class $27d89aa9bb7c6f61$export$2e2bcd8739ae039 {
bufs;
bufLen;
constructor(obj){
this.bufs = [];
this.bufLen = 0;
if (obj) this.set(obj);
}
set(obj) {
this.bufs = obj.bufs || this.bufs;
this.bufLen = this.bufs.reduce((prev, buf)=>prev + buf.length, 0);
return this;
}
toBuffer() {
return this.concat();
}
concat() {
return Buffer.concat(this.bufs, this.bufLen);
}
write(buf) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).isBuffer(buf), "buf");
this.bufs.push(buf);
this.bufLen += buf.length;
return this;
}
writeReverse(buf) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).isBuffer(buf), "buf");
this.bufs.push((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).reverse(buf));
this.bufLen += buf.length;
return this;
}
writeUInt8(n) {
let buf = Buffer.alloc(1);
buf.writeUInt8(n, 0);
this.write(buf);
return this;
}
writeUInt16BE(n) {
let buf = Buffer.alloc(2);
buf.writeUInt16BE(n, 0);
this.write(buf);
return this;
}
writeUInt16LE(n) {
let buf = Buffer.alloc(2);
buf.writeUInt16LE(n, 0);
this.write(buf);
return this;
}
writeUInt32BE(n) {
let buf = Buffer.alloc(4);
buf.writeUInt32BE(n, 0);
this.write(buf);
return this;
}
writeInt32LE(n) {
let buf = Buffer.alloc(4);
buf.writeInt32LE(n, 0);
this.write(buf);
return this;
}
writeUInt32LE(n) {
let buf = Buffer.alloc(4);
buf.writeUInt32LE(n, 0);
this.write(buf);
return this;
}
writeUInt64BEBN(bn) {
let buf = bn.toBuffer({
size: 8
});
this.write(buf);
return this;
}
writeUInt64LEBN(bn) {
let buf = bn.toBuffer({
size: 8
});
this.writeReverse(buf);
return this;
}
writeVarintNum(n) {
let buf = $27d89aa9bb7c6f61$export$2e2bcd8739ae039.varintBufNum(n);
this.write(buf);
return this;
}
writeVarintBN(bn) {
let buf = $27d89aa9bb7c6f61$export$2e2bcd8739ae039.varintBufBN(bn);
this.write(buf);
return this;
}
writeVarLengthBuf(buf) {
(0, $82f3c79f1ec63910$export$2e2bcd8739ae039).validateArgument((0, $a0da62b28fe8b518$export$2e2bcd8739ae039).isBuffer(buf), "buf");
this.writeVarintNum(buf.length);
this.write(buf);
return this;
}
writeCoreVarintNum(n) {
let tmp = [];
let len = 0;
while(true){
tmp.push(n & 0x7F | (len ? 0x80 : 0x00));
if (n <= 0x7F) break;
n = (n >> 7) - 1;
len++;
}
this.write(Buffer.from(tmp).reverse());
return this;
}
static varintBufNum(n) {
let buf = undefined;
if (n < 253) {
buf = Buffer.alloc(1);
buf.writeUInt8(n, 0);
} else if (n < 0x10000) {
buf = Buffer.alloc(3);
buf.writeUInt8(253, 0);
buf.writeUInt16LE(n, 1);
} else if (n < 0x100000000) {
buf = Buffer.alloc(5);
buf.writeUInt8(254, 0);
buf.writeUInt32LE(n, 1);
} else {
buf = Buffer.alloc(9);
buf.writeUInt8(255, 0);
buf.writeInt32LE(n & -1, 1);
buf.writeUInt32LE(Math.floor(n / 0x100000000), 5);
}
return buf;
}
static varintBufBN(bn) {
let buf = undefined;
let n = bn.toNumber();
if (n < 253) {
buf = Buffer.alloc(1);
buf.writeUInt8(n, 0);
} else if (n < 0x10000) {
buf = Buffer.alloc(3);
buf.writeUInt8(253, 0);
buf.writeUInt16LE(n, 1);
} else if (n < 0x100000000) {
buf = Buffer.alloc(5);
buf.writeUInt8(254, 0);
buf.writeUInt32LE(n, 1);
} else {
let bw = new $27d89aa9bb7c6f61$export$2e2bcd8739ae039();
bw.writeUInt8(255);
bw.writeUInt64LEBN(bn);
buf = bw.concat();
}
return buf;
}
}
/**
* Checks if `value` is `null` or `undefined`.
*
* @static
* @memberOf _
* @since 4.0.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is nullish, else `false`.
* @example
*
* _.isNil(null);
* // => true
*
* _.isNil(void 0);
* // => true
*
* _.isNil(NaN);
* // => false
*/ function $041ceca2686f3698$var$isNil(value) {
return value == null;
}
var $041ceca2686f3698$export$2e2bcd8739ae039 = $041ceca2686f3698$var$isNil;
/** Used to match a single whitespace character. */ var $744e754cd68db872$var$reWhitespace = /\s/;
/**
* Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
* character of `string`.
*
* @private
* @param {string} string The string to inspect.
* @returns {number} Returns the index of the