@miden-sdk/miden-sdk 0.13.3 → 0.14.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cargo-DlfmzoDc.js","sources":["../node_modules/dexie/dist/dexie.js","../node_modules/dexie/import-wrapper.mjs","../node_modules/semver/internal/constants.js","../node_modules/semver/internal/debug.js","../node_modules/semver/internal/re.js","../node_modules/semver/internal/parse-options.js","../node_modules/semver/internal/identifiers.js","../node_modules/semver/classes/semver.js","../node_modules/semver/functions/parse.js","../node_modules/semver/functions/valid.js","../node_modules/semver/functions/compare.js","../node_modules/semver/functions/gt.js","../node_modules/semver/functions/lt.js","../node_modules/semver/functions/eq.js","../node_modules/semver/functions/neq.js","../node_modules/semver/functions/gte.js","../node_modules/semver/functions/lte.js","../node_modules/semver/functions/cmp.js","../node_modules/semver/functions/coerce.js","../node_modules/semver/internal/lrucache.js","../node_modules/semver/classes/range.js","../node_modules/semver/classes/comparator.js","../node_modules/semver/functions/satisfies.js","../node_modules/semver/ranges/to-comparators.js","../node_modules/semver/ranges/max-satisfying.js","../node_modules/semver/ranges/min-satisfying.js","../node_modules/semver/ranges/min-version.js","../node_modules/semver/ranges/valid.js","../node_modules/semver/ranges/outside.js","../node_modules/semver/ranges/intersects.js","../node_modules/semver/ranges/subset.js","../node_modules/semver/index.js","../.__rollup-plugin-rust__miden_client_web/snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/utils.js","../.__rollup-plugin-rust__miden_client_web/snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/schema.js","../.__rollup-plugin-rust__miden_client_web/snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/accounts.js","../.__rollup-plugin-rust__miden_client_web/snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/chainData.js","../.__rollup-plugin-rust__miden_client_web/snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/export.js","../.__rollup-plugin-rust__miden_client_web/snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/import.js","../.__rollup-plugin-rust__miden_client_web/snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/notes.js","../.__rollup-plugin-rust__miden_client_web/snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/settings.js","../.__rollup-plugin-rust__miden_client_web/snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/transactions.js","../.__rollup-plugin-rust__miden_client_web/snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/sync.js","../.__rollup-plugin-rust__miden_client_web/index.js"],"sourcesContent":["/*\n * Dexie.js - a minimalistic wrapper for IndexedDB\n * ===============================================\n *\n * By David Fahlander, david.fahlander@gmail.com\n *\n * Version 4.0.8, Wed Jul 10 2024\n *\n * https://dexie.org\n *\n * Apache License Version 2.0, January 2004, http://www.apache.org/licenses/\n */\n \n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dexie = factory());\n})(this, (function () { 'use strict';\n\n /*! *****************************************************************************\n Copyright (c) Microsoft Corporation.\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted.\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n PERFORMANCE OF THIS SOFTWARE.\n ***************************************************************************** */\n var extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n }\n var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };\n function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n }\n\n var _global = typeof globalThis !== 'undefined' ? globalThis :\n typeof self !== 'undefined' ? self :\n typeof window !== 'undefined' ? window :\n global;\n\n var keys = Object.keys;\n var isArray = Array.isArray;\n if (typeof Promise !== 'undefined' && !_global.Promise) {\n _global.Promise = Promise;\n }\n function extend(obj, extension) {\n if (typeof extension !== 'object')\n return obj;\n keys(extension).forEach(function (key) {\n obj[key] = extension[key];\n });\n return obj;\n }\n var getProto = Object.getPrototypeOf;\n var _hasOwn = {}.hasOwnProperty;\n function hasOwn(obj, prop) {\n return _hasOwn.call(obj, prop);\n }\n function props(proto, extension) {\n if (typeof extension === 'function')\n extension = extension(getProto(proto));\n (typeof Reflect === \"undefined\" ? keys : Reflect.ownKeys)(extension).forEach(function (key) {\n setProp(proto, key, extension[key]);\n });\n }\n var defineProperty = Object.defineProperty;\n function setProp(obj, prop, functionOrGetSet, options) {\n defineProperty(obj, prop, extend(functionOrGetSet && hasOwn(functionOrGetSet, \"get\") && typeof functionOrGetSet.get === 'function' ?\n { get: functionOrGetSet.get, set: functionOrGetSet.set, configurable: true } :\n { value: functionOrGetSet, configurable: true, writable: true }, options));\n }\n function derive(Child) {\n return {\n from: function (Parent) {\n Child.prototype = Object.create(Parent.prototype);\n setProp(Child.prototype, \"constructor\", Child);\n return {\n extend: props.bind(null, Child.prototype)\n };\n }\n };\n }\n var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n function getPropertyDescriptor(obj, prop) {\n var pd = getOwnPropertyDescriptor(obj, prop);\n var proto;\n return pd || (proto = getProto(obj)) && getPropertyDescriptor(proto, prop);\n }\n var _slice = [].slice;\n function slice(args, start, end) {\n return _slice.call(args, start, end);\n }\n function override(origFunc, overridedFactory) {\n return overridedFactory(origFunc);\n }\n function assert(b) {\n if (!b)\n throw new Error(\"Assertion Failed\");\n }\n function asap$1(fn) {\n if (_global.setImmediate)\n setImmediate(fn);\n else\n setTimeout(fn, 0);\n }\n function arrayToObject(array, extractor) {\n return array.reduce(function (result, item, i) {\n var nameAndValue = extractor(item, i);\n if (nameAndValue)\n result[nameAndValue[0]] = nameAndValue[1];\n return result;\n }, {});\n }\n function getByKeyPath(obj, keyPath) {\n if (typeof keyPath === 'string' && hasOwn(obj, keyPath))\n return obj[keyPath];\n if (!keyPath)\n return obj;\n if (typeof keyPath !== 'string') {\n var rv = [];\n for (var i = 0, l = keyPath.length; i < l; ++i) {\n var val = getByKeyPath(obj, keyPath[i]);\n rv.push(val);\n }\n return rv;\n }\n var period = keyPath.indexOf('.');\n if (period !== -1) {\n var innerObj = obj[keyPath.substr(0, period)];\n return innerObj == null ? undefined : getByKeyPath(innerObj, keyPath.substr(period + 1));\n }\n return undefined;\n }\n function setByKeyPath(obj, keyPath, value) {\n if (!obj || keyPath === undefined)\n return;\n if ('isFrozen' in Object && Object.isFrozen(obj))\n return;\n if (typeof keyPath !== 'string' && 'length' in keyPath) {\n assert(typeof value !== 'string' && 'length' in value);\n for (var i = 0, l = keyPath.length; i < l; ++i) {\n setByKeyPath(obj, keyPath[i], value[i]);\n }\n }\n else {\n var period = keyPath.indexOf('.');\n if (period !== -1) {\n var currentKeyPath = keyPath.substr(0, period);\n var remainingKeyPath = keyPath.substr(period + 1);\n if (remainingKeyPath === \"\")\n if (value === undefined) {\n if (isArray(obj) && !isNaN(parseInt(currentKeyPath)))\n obj.splice(currentKeyPath, 1);\n else\n delete obj[currentKeyPath];\n }\n else\n obj[currentKeyPath] = value;\n else {\n var innerObj = obj[currentKeyPath];\n if (!innerObj || !hasOwn(obj, currentKeyPath))\n innerObj = (obj[currentKeyPath] = {});\n setByKeyPath(innerObj, remainingKeyPath, value);\n }\n }\n else {\n if (value === undefined) {\n if (isArray(obj) && !isNaN(parseInt(keyPath)))\n obj.splice(keyPath, 1);\n else\n delete obj[keyPath];\n }\n else\n obj[keyPath] = value;\n }\n }\n }\n function delByKeyPath(obj, keyPath) {\n if (typeof keyPath === 'string')\n setByKeyPath(obj, keyPath, undefined);\n else if ('length' in keyPath)\n [].map.call(keyPath, function (kp) {\n setByKeyPath(obj, kp, undefined);\n });\n }\n function shallowClone(obj) {\n var rv = {};\n for (var m in obj) {\n if (hasOwn(obj, m))\n rv[m] = obj[m];\n }\n return rv;\n }\n var concat = [].concat;\n function flatten(a) {\n return concat.apply([], a);\n }\n var intrinsicTypeNames = \"BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey\"\n .split(',').concat(flatten([8, 16, 32, 64].map(function (num) { return [\"Int\", \"Uint\", \"Float\"].map(function (t) { return t + num + \"Array\"; }); }))).filter(function (t) { return _global[t]; });\n var intrinsicTypes = new Set(intrinsicTypeNames.map(function (t) { return _global[t]; }));\n function cloneSimpleObjectTree(o) {\n var rv = {};\n for (var k in o)\n if (hasOwn(o, k)) {\n var v = o[k];\n rv[k] = !v || typeof v !== 'object' || intrinsicTypes.has(v.constructor) ? v : cloneSimpleObjectTree(v);\n }\n return rv;\n }\n function objectIsEmpty(o) {\n for (var k in o)\n if (hasOwn(o, k))\n return false;\n return true;\n }\n var circularRefs = null;\n function deepClone(any) {\n circularRefs = new WeakMap();\n var rv = innerDeepClone(any);\n circularRefs = null;\n return rv;\n }\n function innerDeepClone(x) {\n if (!x || typeof x !== 'object')\n return x;\n var rv = circularRefs.get(x);\n if (rv)\n return rv;\n if (isArray(x)) {\n rv = [];\n circularRefs.set(x, rv);\n for (var i = 0, l = x.length; i < l; ++i) {\n rv.push(innerDeepClone(x[i]));\n }\n }\n else if (intrinsicTypes.has(x.constructor)) {\n rv = x;\n }\n else {\n var proto = getProto(x);\n rv = proto === Object.prototype ? {} : Object.create(proto);\n circularRefs.set(x, rv);\n for (var prop in x) {\n if (hasOwn(x, prop)) {\n rv[prop] = innerDeepClone(x[prop]);\n }\n }\n }\n return rv;\n }\n var toString = {}.toString;\n function toStringTag(o) {\n return toString.call(o).slice(8, -1);\n }\n var iteratorSymbol = typeof Symbol !== 'undefined' ?\n Symbol.iterator :\n '@@iterator';\n var getIteratorOf = typeof iteratorSymbol === \"symbol\" ? function (x) {\n var i;\n return x != null && (i = x[iteratorSymbol]) && i.apply(x);\n } : function () { return null; };\n function delArrayItem(a, x) {\n var i = a.indexOf(x);\n if (i >= 0)\n a.splice(i, 1);\n return i >= 0;\n }\n var NO_CHAR_ARRAY = {};\n function getArrayOf(arrayLike) {\n var i, a, x, it;\n if (arguments.length === 1) {\n if (isArray(arrayLike))\n return arrayLike.slice();\n if (this === NO_CHAR_ARRAY && typeof arrayLike === 'string')\n return [arrayLike];\n if ((it = getIteratorOf(arrayLike))) {\n a = [];\n while ((x = it.next()), !x.done)\n a.push(x.value);\n return a;\n }\n if (arrayLike == null)\n return [arrayLike];\n i = arrayLike.length;\n if (typeof i === 'number') {\n a = new Array(i);\n while (i--)\n a[i] = arrayLike[i];\n return a;\n }\n return [arrayLike];\n }\n i = arguments.length;\n a = new Array(i);\n while (i--)\n a[i] = arguments[i];\n return a;\n }\n var isAsyncFunction = typeof Symbol !== 'undefined'\n ? function (fn) { return fn[Symbol.toStringTag] === 'AsyncFunction'; }\n : function () { return false; };\n\n var dexieErrorNames = [\n 'Modify',\n 'Bulk',\n 'OpenFailed',\n 'VersionChange',\n 'Schema',\n 'Upgrade',\n 'InvalidTable',\n 'MissingAPI',\n 'NoSuchDatabase',\n 'InvalidArgument',\n 'SubTransaction',\n 'Unsupported',\n 'Internal',\n 'DatabaseClosed',\n 'PrematureCommit',\n 'ForeignAwait'\n ];\n var idbDomErrorNames = [\n 'Unknown',\n 'Constraint',\n 'Data',\n 'TransactionInactive',\n 'ReadOnly',\n 'Version',\n 'NotFound',\n 'InvalidState',\n 'InvalidAccess',\n 'Abort',\n 'Timeout',\n 'QuotaExceeded',\n 'Syntax',\n 'DataClone'\n ];\n var errorList = dexieErrorNames.concat(idbDomErrorNames);\n var defaultTexts = {\n VersionChanged: \"Database version changed by other database connection\",\n DatabaseClosed: \"Database has been closed\",\n Abort: \"Transaction aborted\",\n TransactionInactive: \"Transaction has already completed or failed\",\n MissingAPI: \"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb\"\n };\n function DexieError(name, msg) {\n this.name = name;\n this.message = msg;\n }\n derive(DexieError).from(Error).extend({\n toString: function () { return this.name + \": \" + this.message; }\n });\n function getMultiErrorMessage(msg, failures) {\n return msg + \". Errors: \" + Object.keys(failures)\n .map(function (key) { return failures[key].toString(); })\n .filter(function (v, i, s) { return s.indexOf(v) === i; })\n .join('\\n');\n }\n function ModifyError(msg, failures, successCount, failedKeys) {\n this.failures = failures;\n this.failedKeys = failedKeys;\n this.successCount = successCount;\n this.message = getMultiErrorMessage(msg, failures);\n }\n derive(ModifyError).from(DexieError);\n function BulkError(msg, failures) {\n this.name = \"BulkError\";\n this.failures = Object.keys(failures).map(function (pos) { return failures[pos]; });\n this.failuresByPos = failures;\n this.message = getMultiErrorMessage(msg, this.failures);\n }\n derive(BulkError).from(DexieError);\n var errnames = errorList.reduce(function (obj, name) { return (obj[name] = name + \"Error\", obj); }, {});\n var BaseException = DexieError;\n var exceptions = errorList.reduce(function (obj, name) {\n var fullName = name + \"Error\";\n function DexieError(msgOrInner, inner) {\n this.name = fullName;\n if (!msgOrInner) {\n this.message = defaultTexts[name] || fullName;\n this.inner = null;\n }\n else if (typeof msgOrInner === 'string') {\n this.message = \"\".concat(msgOrInner).concat(!inner ? '' : '\\n ' + inner);\n this.inner = inner || null;\n }\n else if (typeof msgOrInner === 'object') {\n this.message = \"\".concat(msgOrInner.name, \" \").concat(msgOrInner.message);\n this.inner = msgOrInner;\n }\n }\n derive(DexieError).from(BaseException);\n obj[name] = DexieError;\n return obj;\n }, {});\n exceptions.Syntax = SyntaxError;\n exceptions.Type = TypeError;\n exceptions.Range = RangeError;\n var exceptionMap = idbDomErrorNames.reduce(function (obj, name) {\n obj[name + \"Error\"] = exceptions[name];\n return obj;\n }, {});\n function mapError(domError, message) {\n if (!domError || domError instanceof DexieError || domError instanceof TypeError || domError instanceof SyntaxError || !domError.name || !exceptionMap[domError.name])\n return domError;\n var rv = new exceptionMap[domError.name](message || domError.message, domError);\n if (\"stack\" in domError) {\n setProp(rv, \"stack\", { get: function () {\n return this.inner.stack;\n } });\n }\n return rv;\n }\n var fullNameExceptions = errorList.reduce(function (obj, name) {\n if ([\"Syntax\", \"Type\", \"Range\"].indexOf(name) === -1)\n obj[name + \"Error\"] = exceptions[name];\n return obj;\n }, {});\n fullNameExceptions.ModifyError = ModifyError;\n fullNameExceptions.DexieError = DexieError;\n fullNameExceptions.BulkError = BulkError;\n\n function nop() { }\n function mirror(val) { return val; }\n function pureFunctionChain(f1, f2) {\n if (f1 == null || f1 === mirror)\n return f2;\n return function (val) {\n return f2(f1(val));\n };\n }\n function callBoth(on1, on2) {\n return function () {\n on1.apply(this, arguments);\n on2.apply(this, arguments);\n };\n }\n function hookCreatingChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n var res = f1.apply(this, arguments);\n if (res !== undefined)\n arguments[0] = res;\n var onsuccess = this.onsuccess,\n onerror = this.onerror;\n this.onsuccess = null;\n this.onerror = null;\n var res2 = f2.apply(this, arguments);\n if (onsuccess)\n this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;\n if (onerror)\n this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;\n return res2 !== undefined ? res2 : res;\n };\n }\n function hookDeletingChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n f1.apply(this, arguments);\n var onsuccess = this.onsuccess,\n onerror = this.onerror;\n this.onsuccess = this.onerror = null;\n f2.apply(this, arguments);\n if (onsuccess)\n this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;\n if (onerror)\n this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;\n };\n }\n function hookUpdatingChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function (modifications) {\n var res = f1.apply(this, arguments);\n extend(modifications, res);\n var onsuccess = this.onsuccess,\n onerror = this.onerror;\n this.onsuccess = null;\n this.onerror = null;\n var res2 = f2.apply(this, arguments);\n if (onsuccess)\n this.onsuccess = this.onsuccess ? callBoth(onsuccess, this.onsuccess) : onsuccess;\n if (onerror)\n this.onerror = this.onerror ? callBoth(onerror, this.onerror) : onerror;\n return res === undefined ?\n (res2 === undefined ? undefined : res2) :\n (extend(res, res2));\n };\n }\n function reverseStoppableEventChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n if (f2.apply(this, arguments) === false)\n return false;\n return f1.apply(this, arguments);\n };\n }\n function promisableChain(f1, f2) {\n if (f1 === nop)\n return f2;\n return function () {\n var res = f1.apply(this, arguments);\n if (res && typeof res.then === 'function') {\n var thiz = this, i = arguments.length, args = new Array(i);\n while (i--)\n args[i] = arguments[i];\n return res.then(function () {\n return f2.apply(thiz, args);\n });\n }\n return f2.apply(this, arguments);\n };\n }\n\n var debug = typeof location !== 'undefined' &&\n /^(http|https):\\/\\/(localhost|127\\.0\\.0\\.1)/.test(location.href);\n function setDebug(value, filter) {\n debug = value;\n }\n\n var INTERNAL = {};\n var ZONE_ECHO_LIMIT = 100, _a$1 = typeof Promise === 'undefined' ?\n [] :\n (function () {\n var globalP = Promise.resolve();\n if (typeof crypto === 'undefined' || !crypto.subtle)\n return [globalP, getProto(globalP), globalP];\n var nativeP = crypto.subtle.digest(\"SHA-512\", new Uint8Array([0]));\n return [\n nativeP,\n getProto(nativeP),\n globalP\n ];\n })(), resolvedNativePromise = _a$1[0], nativePromiseProto = _a$1[1], resolvedGlobalPromise = _a$1[2], nativePromiseThen = nativePromiseProto && nativePromiseProto.then;\n var NativePromise = resolvedNativePromise && resolvedNativePromise.constructor;\n var patchGlobalPromise = !!resolvedGlobalPromise;\n function schedulePhysicalTick() {\n queueMicrotask(physicalTick);\n }\n var asap = function (callback, args) {\n microtickQueue.push([callback, args]);\n if (needsNewPhysicalTick) {\n schedulePhysicalTick();\n needsNewPhysicalTick = false;\n }\n };\n var isOutsideMicroTick = true,\n needsNewPhysicalTick = true,\n unhandledErrors = [],\n rejectingErrors = [],\n rejectionMapper = mirror;\n var globalPSD = {\n id: 'global',\n global: true,\n ref: 0,\n unhandleds: [],\n onunhandled: nop,\n pgp: false,\n env: {},\n finalize: nop\n };\n var PSD = globalPSD;\n var microtickQueue = [];\n var numScheduledCalls = 0;\n var tickFinalizers = [];\n function DexiePromise(fn) {\n if (typeof this !== 'object')\n throw new TypeError('Promises must be constructed via new');\n this._listeners = [];\n this._lib = false;\n var psd = (this._PSD = PSD);\n if (typeof fn !== 'function') {\n if (fn !== INTERNAL)\n throw new TypeError('Not a function');\n this._state = arguments[1];\n this._value = arguments[2];\n if (this._state === false)\n handleRejection(this, this._value);\n return;\n }\n this._state = null;\n this._value = null;\n ++psd.ref;\n executePromiseTask(this, fn);\n }\n var thenProp = {\n get: function () {\n var psd = PSD, microTaskId = totalEchoes;\n function then(onFulfilled, onRejected) {\n var _this = this;\n var possibleAwait = !psd.global && (psd !== PSD || microTaskId !== totalEchoes);\n var cleanup = possibleAwait && !decrementExpectedAwaits();\n var rv = new DexiePromise(function (resolve, reject) {\n propagateToListener(_this, new Listener(nativeAwaitCompatibleWrap(onFulfilled, psd, possibleAwait, cleanup), nativeAwaitCompatibleWrap(onRejected, psd, possibleAwait, cleanup), resolve, reject, psd));\n });\n if (this._consoleTask)\n rv._consoleTask = this._consoleTask;\n return rv;\n }\n then.prototype = INTERNAL;\n return then;\n },\n set: function (value) {\n setProp(this, 'then', value && value.prototype === INTERNAL ?\n thenProp :\n {\n get: function () {\n return value;\n },\n set: thenProp.set\n });\n }\n };\n props(DexiePromise.prototype, {\n then: thenProp,\n _then: function (onFulfilled, onRejected) {\n propagateToListener(this, new Listener(null, null, onFulfilled, onRejected, PSD));\n },\n catch: function (onRejected) {\n if (arguments.length === 1)\n return this.then(null, onRejected);\n var type = arguments[0], handler = arguments[1];\n return typeof type === 'function' ? this.then(null, function (err) {\n return err instanceof type ? handler(err) : PromiseReject(err);\n })\n : this.then(null, function (err) {\n return err && err.name === type ? handler(err) : PromiseReject(err);\n });\n },\n finally: function (onFinally) {\n return this.then(function (value) {\n return DexiePromise.resolve(onFinally()).then(function () { return value; });\n }, function (err) {\n return DexiePromise.resolve(onFinally()).then(function () { return PromiseReject(err); });\n });\n },\n timeout: function (ms, msg) {\n var _this = this;\n return ms < Infinity ?\n new DexiePromise(function (resolve, reject) {\n var handle = setTimeout(function () { return reject(new exceptions.Timeout(msg)); }, ms);\n _this.then(resolve, reject).finally(clearTimeout.bind(null, handle));\n }) : this;\n }\n });\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag)\n setProp(DexiePromise.prototype, Symbol.toStringTag, 'Dexie.Promise');\n globalPSD.env = snapShot();\n function Listener(onFulfilled, onRejected, resolve, reject, zone) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.resolve = resolve;\n this.reject = reject;\n this.psd = zone;\n }\n props(DexiePromise, {\n all: function () {\n var values = getArrayOf.apply(null, arguments)\n .map(onPossibleParallellAsync);\n return new DexiePromise(function (resolve, reject) {\n if (values.length === 0)\n resolve([]);\n var remaining = values.length;\n values.forEach(function (a, i) { return DexiePromise.resolve(a).then(function (x) {\n values[i] = x;\n if (!--remaining)\n resolve(values);\n }, reject); });\n });\n },\n resolve: function (value) {\n if (value instanceof DexiePromise)\n return value;\n if (value && typeof value.then === 'function')\n return new DexiePromise(function (resolve, reject) {\n value.then(resolve, reject);\n });\n var rv = new DexiePromise(INTERNAL, true, value);\n return rv;\n },\n reject: PromiseReject,\n race: function () {\n var values = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);\n return new DexiePromise(function (resolve, reject) {\n values.map(function (value) { return DexiePromise.resolve(value).then(resolve, reject); });\n });\n },\n PSD: {\n get: function () { return PSD; },\n set: function (value) { return PSD = value; }\n },\n totalEchoes: { get: function () { return totalEchoes; } },\n newPSD: newScope,\n usePSD: usePSD,\n scheduler: {\n get: function () { return asap; },\n set: function (value) { asap = value; }\n },\n rejectionMapper: {\n get: function () { return rejectionMapper; },\n set: function (value) { rejectionMapper = value; }\n },\n follow: function (fn, zoneProps) {\n return new DexiePromise(function (resolve, reject) {\n return newScope(function (resolve, reject) {\n var psd = PSD;\n psd.unhandleds = [];\n psd.onunhandled = reject;\n psd.finalize = callBoth(function () {\n var _this = this;\n run_at_end_of_this_or_next_physical_tick(function () {\n _this.unhandleds.length === 0 ? resolve() : reject(_this.unhandleds[0]);\n });\n }, psd.finalize);\n fn();\n }, zoneProps, resolve, reject);\n });\n }\n });\n if (NativePromise) {\n if (NativePromise.allSettled)\n setProp(DexiePromise, \"allSettled\", function () {\n var possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);\n return new DexiePromise(function (resolve) {\n if (possiblePromises.length === 0)\n resolve([]);\n var remaining = possiblePromises.length;\n var results = new Array(remaining);\n possiblePromises.forEach(function (p, i) { return DexiePromise.resolve(p).then(function (value) { return results[i] = { status: \"fulfilled\", value: value }; }, function (reason) { return results[i] = { status: \"rejected\", reason: reason }; })\n .then(function () { return --remaining || resolve(results); }); });\n });\n });\n if (NativePromise.any && typeof AggregateError !== 'undefined')\n setProp(DexiePromise, \"any\", function () {\n var possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);\n return new DexiePromise(function (resolve, reject) {\n if (possiblePromises.length === 0)\n reject(new AggregateError([]));\n var remaining = possiblePromises.length;\n var failures = new Array(remaining);\n possiblePromises.forEach(function (p, i) { return DexiePromise.resolve(p).then(function (value) { return resolve(value); }, function (failure) {\n failures[i] = failure;\n if (!--remaining)\n reject(new AggregateError(failures));\n }); });\n });\n });\n }\n function executePromiseTask(promise, fn) {\n try {\n fn(function (value) {\n if (promise._state !== null)\n return;\n if (value === promise)\n throw new TypeError('A promise cannot be resolved with itself.');\n var shouldExecuteTick = promise._lib && beginMicroTickScope();\n if (value && typeof value.then === 'function') {\n executePromiseTask(promise, function (resolve, reject) {\n value instanceof DexiePromise ?\n value._then(resolve, reject) :\n value.then(resolve, reject);\n });\n }\n else {\n promise._state = true;\n promise._value = value;\n propagateAllListeners(promise);\n }\n if (shouldExecuteTick)\n endMicroTickScope();\n }, handleRejection.bind(null, promise));\n }\n catch (ex) {\n handleRejection(promise, ex);\n }\n }\n function handleRejection(promise, reason) {\n rejectingErrors.push(reason);\n if (promise._state !== null)\n return;\n var shouldExecuteTick = promise._lib && beginMicroTickScope();\n reason = rejectionMapper(reason);\n promise._state = false;\n promise._value = reason;\n addPossiblyUnhandledError(promise);\n propagateAllListeners(promise);\n if (shouldExecuteTick)\n endMicroTickScope();\n }\n function propagateAllListeners(promise) {\n var listeners = promise._listeners;\n promise._listeners = [];\n for (var i = 0, len = listeners.length; i < len; ++i) {\n propagateToListener(promise, listeners[i]);\n }\n var psd = promise._PSD;\n --psd.ref || psd.finalize();\n if (numScheduledCalls === 0) {\n ++numScheduledCalls;\n asap(function () {\n if (--numScheduledCalls === 0)\n finalizePhysicalTick();\n }, []);\n }\n }\n function propagateToListener(promise, listener) {\n if (promise._state === null) {\n promise._listeners.push(listener);\n return;\n }\n var cb = promise._state ? listener.onFulfilled : listener.onRejected;\n if (cb === null) {\n return (promise._state ? listener.resolve : listener.reject)(promise._value);\n }\n ++listener.psd.ref;\n ++numScheduledCalls;\n asap(callListener, [cb, promise, listener]);\n }\n function callListener(cb, promise, listener) {\n try {\n var ret, value = promise._value;\n if (!promise._state && rejectingErrors.length)\n rejectingErrors = [];\n ret = debug && promise._consoleTask ? promise._consoleTask.run(function () { return cb(value); }) : cb(value);\n if (!promise._state && rejectingErrors.indexOf(value) === -1) {\n markErrorAsHandled(promise);\n }\n listener.resolve(ret);\n }\n catch (e) {\n listener.reject(e);\n }\n finally {\n if (--numScheduledCalls === 0)\n finalizePhysicalTick();\n --listener.psd.ref || listener.psd.finalize();\n }\n }\n function physicalTick() {\n usePSD(globalPSD, function () {\n beginMicroTickScope() && endMicroTickScope();\n });\n }\n function beginMicroTickScope() {\n var wasRootExec = isOutsideMicroTick;\n isOutsideMicroTick = false;\n needsNewPhysicalTick = false;\n return wasRootExec;\n }\n function endMicroTickScope() {\n var callbacks, i, l;\n do {\n while (microtickQueue.length > 0) {\n callbacks = microtickQueue;\n microtickQueue = [];\n l = callbacks.length;\n for (i = 0; i < l; ++i) {\n var item = callbacks[i];\n item[0].apply(null, item[1]);\n }\n }\n } while (microtickQueue.length > 0);\n isOutsideMicroTick = true;\n needsNewPhysicalTick = true;\n }\n function finalizePhysicalTick() {\n var unhandledErrs = unhandledErrors;\n unhandledErrors = [];\n unhandledErrs.forEach(function (p) {\n p._PSD.onunhandled.call(null, p._value, p);\n });\n var finalizers = tickFinalizers.slice(0);\n var i = finalizers.length;\n while (i)\n finalizers[--i]();\n }\n function run_at_end_of_this_or_next_physical_tick(fn) {\n function finalizer() {\n fn();\n tickFinalizers.splice(tickFinalizers.indexOf(finalizer), 1);\n }\n tickFinalizers.push(finalizer);\n ++numScheduledCalls;\n asap(function () {\n if (--numScheduledCalls === 0)\n finalizePhysicalTick();\n }, []);\n }\n function addPossiblyUnhandledError(promise) {\n if (!unhandledErrors.some(function (p) { return p._value === promise._value; }))\n unhandledErrors.push(promise);\n }\n function markErrorAsHandled(promise) {\n var i = unhandledErrors.length;\n while (i)\n if (unhandledErrors[--i]._value === promise._value) {\n unhandledErrors.splice(i, 1);\n return;\n }\n }\n function PromiseReject(reason) {\n return new DexiePromise(INTERNAL, false, reason);\n }\n function wrap(fn, errorCatcher) {\n var psd = PSD;\n return function () {\n var wasRootExec = beginMicroTickScope(), outerScope = PSD;\n try {\n switchToZone(psd, true);\n return fn.apply(this, arguments);\n }\n catch (e) {\n errorCatcher && errorCatcher(e);\n }\n finally {\n switchToZone(outerScope, false);\n if (wasRootExec)\n endMicroTickScope();\n }\n };\n }\n var task = { awaits: 0, echoes: 0, id: 0 };\n var taskCounter = 0;\n var zoneStack = [];\n var zoneEchoes = 0;\n var totalEchoes = 0;\n var zone_id_counter = 0;\n function newScope(fn, props, a1, a2) {\n var parent = PSD, psd = Object.create(parent);\n psd.parent = parent;\n psd.ref = 0;\n psd.global = false;\n psd.id = ++zone_id_counter;\n globalPSD.env;\n psd.env = patchGlobalPromise ? {\n Promise: DexiePromise,\n PromiseProp: { value: DexiePromise, configurable: true, writable: true },\n all: DexiePromise.all,\n race: DexiePromise.race,\n allSettled: DexiePromise.allSettled,\n any: DexiePromise.any,\n resolve: DexiePromise.resolve,\n reject: DexiePromise.reject,\n } : {};\n if (props)\n extend(psd, props);\n ++parent.ref;\n psd.finalize = function () {\n --this.parent.ref || this.parent.finalize();\n };\n var rv = usePSD(psd, fn, a1, a2);\n if (psd.ref === 0)\n psd.finalize();\n return rv;\n }\n function incrementExpectedAwaits() {\n if (!task.id)\n task.id = ++taskCounter;\n ++task.awaits;\n task.echoes += ZONE_ECHO_LIMIT;\n return task.id;\n }\n function decrementExpectedAwaits() {\n if (!task.awaits)\n return false;\n if (--task.awaits === 0)\n task.id = 0;\n task.echoes = task.awaits * ZONE_ECHO_LIMIT;\n return true;\n }\n if (('' + nativePromiseThen).indexOf('[native code]') === -1) {\n incrementExpectedAwaits = decrementExpectedAwaits = nop;\n }\n function onPossibleParallellAsync(possiblePromise) {\n if (task.echoes && possiblePromise && possiblePromise.constructor === NativePromise) {\n incrementExpectedAwaits();\n return possiblePromise.then(function (x) {\n decrementExpectedAwaits();\n return x;\n }, function (e) {\n decrementExpectedAwaits();\n return rejection(e);\n });\n }\n return possiblePromise;\n }\n function zoneEnterEcho(targetZone) {\n ++totalEchoes;\n if (!task.echoes || --task.echoes === 0) {\n task.echoes = task.awaits = task.id = 0;\n }\n zoneStack.push(PSD);\n switchToZone(targetZone, true);\n }\n function zoneLeaveEcho() {\n var zone = zoneStack[zoneStack.length - 1];\n zoneStack.pop();\n switchToZone(zone, false);\n }\n function switchToZone(targetZone, bEnteringZone) {\n var currentZone = PSD;\n if (bEnteringZone ? task.echoes && (!zoneEchoes++ || targetZone !== PSD) : zoneEchoes && (!--zoneEchoes || targetZone !== PSD)) {\n queueMicrotask(bEnteringZone ? zoneEnterEcho.bind(null, targetZone) : zoneLeaveEcho);\n }\n if (targetZone === PSD)\n return;\n PSD = targetZone;\n if (currentZone === globalPSD)\n globalPSD.env = snapShot();\n if (patchGlobalPromise) {\n var GlobalPromise = globalPSD.env.Promise;\n var targetEnv = targetZone.env;\n if (currentZone.global || targetZone.global) {\n Object.defineProperty(_global, 'Promise', targetEnv.PromiseProp);\n GlobalPromise.all = targetEnv.all;\n GlobalPromise.race = targetEnv.race;\n GlobalPromise.resolve = targetEnv.resolve;\n GlobalPromise.reject = targetEnv.reject;\n if (targetEnv.allSettled)\n GlobalPromise.allSettled = targetEnv.allSettled;\n if (targetEnv.any)\n GlobalPromise.any = targetEnv.any;\n }\n }\n }\n function snapShot() {\n var GlobalPromise = _global.Promise;\n return patchGlobalPromise ? {\n Promise: GlobalPromise,\n PromiseProp: Object.getOwnPropertyDescriptor(_global, \"Promise\"),\n all: GlobalPromise.all,\n race: GlobalPromise.race,\n allSettled: GlobalPromise.allSettled,\n any: GlobalPromise.any,\n resolve: GlobalPromise.resolve,\n reject: GlobalPromise.reject,\n } : {};\n }\n function usePSD(psd, fn, a1, a2, a3) {\n var outerScope = PSD;\n try {\n switchToZone(psd, true);\n return fn(a1, a2, a3);\n }\n finally {\n switchToZone(outerScope, false);\n }\n }\n function nativeAwaitCompatibleWrap(fn, zone, possibleAwait, cleanup) {\n return typeof fn !== 'function' ? fn : function () {\n var outerZone = PSD;\n if (possibleAwait)\n incrementExpectedAwaits();\n switchToZone(zone, true);\n try {\n return fn.apply(this, arguments);\n }\n finally {\n switchToZone(outerZone, false);\n if (cleanup)\n queueMicrotask(decrementExpectedAwaits);\n }\n };\n }\n function execInGlobalContext(cb) {\n if (Promise === NativePromise && task.echoes === 0) {\n if (zoneEchoes === 0) {\n cb();\n }\n else {\n enqueueNativeMicroTask(cb);\n }\n }\n else {\n setTimeout(cb, 0);\n }\n }\n var rejection = DexiePromise.reject;\n\n function tempTransaction(db, mode, storeNames, fn) {\n if (!db.idbdb || (!db._state.openComplete && (!PSD.letThrough && !db._vip))) {\n if (db._state.openComplete) {\n return rejection(new exceptions.DatabaseClosed(db._state.dbOpenError));\n }\n if (!db._state.isBeingOpened) {\n if (!db._state.autoOpen)\n return rejection(new exceptions.DatabaseClosed());\n db.open().catch(nop);\n }\n return db._state.dbReadyPromise.then(function () { return tempTransaction(db, mode, storeNames, fn); });\n }\n else {\n var trans = db._createTransaction(mode, storeNames, db._dbSchema);\n try {\n trans.create();\n db._state.PR1398_maxLoop = 3;\n }\n catch (ex) {\n if (ex.name === errnames.InvalidState && db.isOpen() && --db._state.PR1398_maxLoop > 0) {\n console.warn('Dexie: Need to reopen db');\n db.close({ disableAutoOpen: false });\n return db.open().then(function () { return tempTransaction(db, mode, storeNames, fn); });\n }\n return rejection(ex);\n }\n return trans._promise(mode, function (resolve, reject) {\n return newScope(function () {\n PSD.trans = trans;\n return fn(resolve, reject, trans);\n });\n }).then(function (result) {\n if (mode === 'readwrite')\n try {\n trans.idbtrans.commit();\n }\n catch (_a) { }\n return mode === 'readonly' ? result : trans._completion.then(function () { return result; });\n });\n }\n }\n\n var DEXIE_VERSION = '4.0.8';\n var maxString = String.fromCharCode(65535);\n var minKey = -Infinity;\n var INVALID_KEY_ARGUMENT = \"Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.\";\n var STRING_EXPECTED = \"String expected.\";\n var connections = [];\n var DBNAMES_DB = '__dbnames';\n var READONLY = 'readonly';\n var READWRITE = 'readwrite';\n\n function combine(filter1, filter2) {\n return filter1 ?\n filter2 ?\n function () { return filter1.apply(this, arguments) && filter2.apply(this, arguments); } :\n filter1 :\n filter2;\n }\n\n var AnyRange = {\n type: 3 ,\n lower: -Infinity,\n lowerOpen: false,\n upper: [[]],\n upperOpen: false\n };\n\n function workaroundForUndefinedPrimKey(keyPath) {\n return typeof keyPath === \"string\" && !/\\./.test(keyPath)\n ? function (obj) {\n if (obj[keyPath] === undefined && (keyPath in obj)) {\n obj = deepClone(obj);\n delete obj[keyPath];\n }\n return obj;\n }\n : function (obj) { return obj; };\n }\n\n function Entity() {\n throw exceptions.Type();\n }\n\n function cmp(a, b) {\n try {\n var ta = type(a);\n var tb = type(b);\n if (ta !== tb) {\n if (ta === 'Array')\n return 1;\n if (tb === 'Array')\n return -1;\n if (ta === 'binary')\n return 1;\n if (tb === 'binary')\n return -1;\n if (ta === 'string')\n return 1;\n if (tb === 'string')\n return -1;\n if (ta === 'Date')\n return 1;\n if (tb !== 'Date')\n return NaN;\n return -1;\n }\n switch (ta) {\n case 'number':\n case 'Date':\n case 'string':\n return a > b ? 1 : a < b ? -1 : 0;\n case 'binary': {\n return compareUint8Arrays(getUint8Array(a), getUint8Array(b));\n }\n case 'Array':\n return compareArrays(a, b);\n }\n }\n catch (_a) { }\n return NaN;\n }\n function compareArrays(a, b) {\n var al = a.length;\n var bl = b.length;\n var l = al < bl ? al : bl;\n for (var i = 0; i < l; ++i) {\n var res = cmp(a[i], b[i]);\n if (res !== 0)\n return res;\n }\n return al === bl ? 0 : al < bl ? -1 : 1;\n }\n function compareUint8Arrays(a, b) {\n var al = a.length;\n var bl = b.length;\n var l = al < bl ? al : bl;\n for (var i = 0; i < l; ++i) {\n if (a[i] !== b[i])\n return a[i] < b[i] ? -1 : 1;\n }\n return al === bl ? 0 : al < bl ? -1 : 1;\n }\n function type(x) {\n var t = typeof x;\n if (t !== 'object')\n return t;\n if (ArrayBuffer.isView(x))\n return 'binary';\n var tsTag = toStringTag(x);\n return tsTag === 'ArrayBuffer' ? 'binary' : tsTag;\n }\n function getUint8Array(a) {\n if (a instanceof Uint8Array)\n return a;\n if (ArrayBuffer.isView(a))\n return new Uint8Array(a.buffer, a.byteOffset, a.byteLength);\n return new Uint8Array(a);\n }\n\n var Table = (function () {\n function Table() {\n }\n Table.prototype._trans = function (mode, fn, writeLocked) {\n var trans = this._tx || PSD.trans;\n var tableName = this.name;\n var task = debug && typeof console !== 'undefined' && console.createTask && console.createTask(\"Dexie: \".concat(mode === 'readonly' ? 'read' : 'write', \" \").concat(this.name));\n function checkTableInTransaction(resolve, reject, trans) {\n if (!trans.schema[tableName])\n throw new exceptions.NotFound(\"Table \" + tableName + \" not part of transaction\");\n return fn(trans.idbtrans, trans);\n }\n var wasRootExec = beginMicroTickScope();\n try {\n var p = trans && trans.db._novip === this.db._novip ?\n trans === PSD.trans ?\n trans._promise(mode, checkTableInTransaction, writeLocked) :\n newScope(function () { return trans._promise(mode, checkTableInTransaction, writeLocked); }, { trans: trans, transless: PSD.transless || PSD }) :\n tempTransaction(this.db, mode, [this.name], checkTableInTransaction);\n if (task) {\n p._consoleTask = task;\n p = p.catch(function (err) {\n console.trace(err);\n return rejection(err);\n });\n }\n return p;\n }\n finally {\n if (wasRootExec)\n endMicroTickScope();\n }\n };\n Table.prototype.get = function (keyOrCrit, cb) {\n var _this = this;\n if (keyOrCrit && keyOrCrit.constructor === Object)\n return this.where(keyOrCrit).first(cb);\n if (keyOrCrit == null)\n return rejection(new exceptions.Type(\"Invalid argument to Table.get()\"));\n return this._trans('readonly', function (trans) {\n return _this.core.get({ trans: trans, key: keyOrCrit })\n .then(function (res) { return _this.hook.reading.fire(res); });\n }).then(cb);\n };\n Table.prototype.where = function (indexOrCrit) {\n if (typeof indexOrCrit === 'string')\n return new this.db.WhereClause(this, indexOrCrit);\n if (isArray(indexOrCrit))\n return new this.db.WhereClause(this, \"[\".concat(indexOrCrit.join('+'), \"]\"));\n var keyPaths = keys(indexOrCrit);\n if (keyPaths.length === 1)\n return this\n .where(keyPaths[0])\n .equals(indexOrCrit[keyPaths[0]]);\n var compoundIndex = this.schema.indexes.concat(this.schema.primKey).filter(function (ix) {\n if (ix.compound &&\n keyPaths.every(function (keyPath) { return ix.keyPath.indexOf(keyPath) >= 0; })) {\n for (var i = 0; i < keyPaths.length; ++i) {\n if (keyPaths.indexOf(ix.keyPath[i]) === -1)\n return false;\n }\n return true;\n }\n return false;\n }).sort(function (a, b) { return a.keyPath.length - b.keyPath.length; })[0];\n if (compoundIndex && this.db._maxKey !== maxString) {\n var keyPathsInValidOrder = compoundIndex.keyPath.slice(0, keyPaths.length);\n return this\n .where(keyPathsInValidOrder)\n .equals(keyPathsInValidOrder.map(function (kp) { return indexOrCrit[kp]; }));\n }\n if (!compoundIndex && debug)\n console.warn(\"The query \".concat(JSON.stringify(indexOrCrit), \" on \").concat(this.name, \" would benefit from a \") +\n \"compound index [\".concat(keyPaths.join('+'), \"]\"));\n var idxByName = this.schema.idxByName;\n var idb = this.db._deps.indexedDB;\n function equals(a, b) {\n return idb.cmp(a, b) === 0;\n }\n var _a = keyPaths.reduce(function (_a, keyPath) {\n var prevIndex = _a[0], prevFilterFn = _a[1];\n var index = idxByName[keyPath];\n var value = indexOrCrit[keyPath];\n return [\n prevIndex || index,\n prevIndex || !index ?\n combine(prevFilterFn, index && index.multi ?\n function (x) {\n var prop = getByKeyPath(x, keyPath);\n return isArray(prop) && prop.some(function (item) { return equals(value, item); });\n } : function (x) { return equals(value, getByKeyPath(x, keyPath)); })\n : prevFilterFn\n ];\n }, [null, null]), idx = _a[0], filterFunction = _a[1];\n return idx ?\n this.where(idx.name).equals(indexOrCrit[idx.keyPath])\n .filter(filterFunction) :\n compoundIndex ?\n this.filter(filterFunction) :\n this.where(keyPaths).equals('');\n };\n Table.prototype.filter = function (filterFunction) {\n return this.toCollection().and(filterFunction);\n };\n Table.prototype.count = function (thenShortcut) {\n return this.toCollection().count(thenShortcut);\n };\n Table.prototype.offset = function (offset) {\n return this.toCollection().offset(offset);\n };\n Table.prototype.limit = function (numRows) {\n return this.toCollection().limit(numRows);\n };\n Table.prototype.each = function (callback) {\n return this.toCollection().each(callback);\n };\n Table.prototype.toArray = function (thenShortcut) {\n return this.toCollection().toArray(thenShortcut);\n };\n Table.prototype.toCollection = function () {\n return new this.db.Collection(new this.db.WhereClause(this));\n };\n Table.prototype.orderBy = function (index) {\n return new this.db.Collection(new this.db.WhereClause(this, isArray(index) ?\n \"[\".concat(index.join('+'), \"]\") :\n index));\n };\n Table.prototype.reverse = function () {\n return this.toCollection().reverse();\n };\n Table.prototype.mapToClass = function (constructor) {\n var _a = this, db = _a.db, tableName = _a.name;\n this.schema.mappedClass = constructor;\n if (constructor.prototype instanceof Entity) {\n constructor = (function (_super) {\n __extends(class_1, _super);\n function class_1() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(class_1.prototype, \"db\", {\n get: function () { return db; },\n enumerable: false,\n configurable: true\n });\n class_1.prototype.table = function () { return tableName; };\n return class_1;\n }(constructor));\n }\n var inheritedProps = new Set();\n for (var proto = constructor.prototype; proto; proto = getProto(proto)) {\n Object.getOwnPropertyNames(proto).forEach(function (propName) { return inheritedProps.add(propName); });\n }\n var readHook = function (obj) {\n if (!obj)\n return obj;\n var res = Object.create(constructor.prototype);\n for (var m in obj)\n if (!inheritedProps.has(m))\n try {\n res[m] = obj[m];\n }\n catch (_) { }\n return res;\n };\n if (this.schema.readHook) {\n this.hook.reading.unsubscribe(this.schema.readHook);\n }\n this.schema.readHook = readHook;\n this.hook(\"reading\", readHook);\n return constructor;\n };\n Table.prototype.defineClass = function () {\n function Class(content) {\n extend(this, content);\n }\n return this.mapToClass(Class);\n };\n Table.prototype.add = function (obj, key) {\n var _this = this;\n var _a = this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n var objToAdd = obj;\n if (keyPath && auto) {\n objToAdd = workaroundForUndefinedPrimKey(keyPath)(obj);\n }\n return this._trans('readwrite', function (trans) {\n return _this.core.mutate({ trans: trans, type: 'add', keys: key != null ? [key] : null, values: [objToAdd] });\n }).then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : res.lastResult; })\n .then(function (lastResult) {\n if (keyPath) {\n try {\n setByKeyPath(obj, keyPath, lastResult);\n }\n catch (_) { }\n }\n return lastResult;\n });\n };\n Table.prototype.update = function (keyOrObject, modifications) {\n if (typeof keyOrObject === 'object' && !isArray(keyOrObject)) {\n var key = getByKeyPath(keyOrObject, this.schema.primKey.keyPath);\n if (key === undefined)\n return rejection(new exceptions.InvalidArgument(\"Given object does not contain its primary key\"));\n return this.where(\":id\").equals(key).modify(modifications);\n }\n else {\n return this.where(\":id\").equals(keyOrObject).modify(modifications);\n }\n };\n Table.prototype.put = function (obj, key) {\n var _this = this;\n var _a = this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n var objToAdd = obj;\n if (keyPath && auto) {\n objToAdd = workaroundForUndefinedPrimKey(keyPath)(obj);\n }\n return this._trans('readwrite', function (trans) { return _this.core.mutate({ trans: trans, type: 'put', values: [objToAdd], keys: key != null ? [key] : null }); })\n .then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : res.lastResult; })\n .then(function (lastResult) {\n if (keyPath) {\n try {\n setByKeyPath(obj, keyPath, lastResult);\n }\n catch (_) { }\n }\n return lastResult;\n });\n };\n Table.prototype.delete = function (key) {\n var _this = this;\n return this._trans('readwrite', function (trans) { return _this.core.mutate({ trans: trans, type: 'delete', keys: [key] }); })\n .then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : undefined; });\n };\n Table.prototype.clear = function () {\n var _this = this;\n return this._trans('readwrite', function (trans) { return _this.core.mutate({ trans: trans, type: 'deleteRange', range: AnyRange }); })\n .then(function (res) { return res.numFailures ? DexiePromise.reject(res.failures[0]) : undefined; });\n };\n Table.prototype.bulkGet = function (keys) {\n var _this = this;\n return this._trans('readonly', function (trans) {\n return _this.core.getMany({\n keys: keys,\n trans: trans\n }).then(function (result) { return result.map(function (res) { return _this.hook.reading.fire(res); }); });\n });\n };\n Table.prototype.bulkAdd = function (objects, keysOrOptions, options) {\n var _this = this;\n var keys = Array.isArray(keysOrOptions) ? keysOrOptions : undefined;\n options = options || (keys ? undefined : keysOrOptions);\n var wantResults = options ? options.allKeys : undefined;\n return this._trans('readwrite', function (trans) {\n var _a = _this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n if (keyPath && keys)\n throw new exceptions.InvalidArgument(\"bulkAdd(): keys argument invalid on tables with inbound keys\");\n if (keys && keys.length !== objects.length)\n throw new exceptions.InvalidArgument(\"Arguments objects and keys must have the same length\");\n var numObjects = objects.length;\n var objectsToAdd = keyPath && auto ?\n objects.map(workaroundForUndefinedPrimKey(keyPath)) :\n objects;\n return _this.core.mutate({ trans: trans, type: 'add', keys: keys, values: objectsToAdd, wantResults: wantResults })\n .then(function (_a) {\n var numFailures = _a.numFailures, results = _a.results, lastResult = _a.lastResult, failures = _a.failures;\n var result = wantResults ? results : lastResult;\n if (numFailures === 0)\n return result;\n throw new BulkError(\"\".concat(_this.name, \".bulkAdd(): \").concat(numFailures, \" of \").concat(numObjects, \" operations failed\"), failures);\n });\n });\n };\n Table.prototype.bulkPut = function (objects, keysOrOptions, options) {\n var _this = this;\n var keys = Array.isArray(keysOrOptions) ? keysOrOptions : undefined;\n options = options || (keys ? undefined : keysOrOptions);\n var wantResults = options ? options.allKeys : undefined;\n return this._trans('readwrite', function (trans) {\n var _a = _this.schema.primKey, auto = _a.auto, keyPath = _a.keyPath;\n if (keyPath && keys)\n throw new exceptions.InvalidArgument(\"bulkPut(): keys argument invalid on tables with inbound keys\");\n if (keys && keys.length !== objects.length)\n throw new exceptions.InvalidArgument(\"Arguments objects and keys must have the same length\");\n var numObjects = objects.length;\n var objectsToPut = keyPath && auto ?\n objects.map(workaroundForUndefinedPrimKey(keyPath)) :\n objects;\n return _this.core.mutate({ trans: trans, type: 'put', keys: keys, values: objectsToPut, wantResults: wantResults })\n .then(function (_a) {\n var numFailures = _a.numFailures, results = _a.results, lastResult = _a.lastResult, failures = _a.failures;\n var result = wantResults ? results : lastResult;\n if (numFailures === 0)\n return result;\n throw new BulkError(\"\".concat(_this.name, \".bulkPut(): \").concat(numFailures, \" of \").concat(numObjects, \" operations failed\"), failures);\n });\n });\n };\n Table.prototype.bulkUpdate = function (keysAndChanges) {\n var _this = this;\n var coreTable = this.core;\n var keys = keysAndChanges.map(function (entry) { return entry.key; });\n var changeSpecs = keysAndChanges.map(function (entry) { return entry.changes; });\n var offsetMap = [];\n return this._trans('readwrite', function (trans) {\n return coreTable.getMany({ trans: trans, keys: keys, cache: 'clone' }).then(function (objs) {\n var resultKeys = [];\n var resultObjs = [];\n keysAndChanges.forEach(function (_a, idx) {\n var key = _a.key, changes = _a.changes;\n var obj = objs[idx];\n if (obj) {\n for (var _i = 0, _b = Object.keys(changes); _i < _b.length; _i++) {\n var keyPath = _b[_i];\n var value = changes[keyPath];\n if (keyPath === _this.schema.primKey.keyPath) {\n if (cmp(value, key) !== 0) {\n throw new exceptions.Constraint(\"Cannot update primary key in bulkUpdate()\");\n }\n }\n else {\n setByKeyPath(obj, keyPath, value);\n }\n }\n offsetMap.push(idx);\n resultKeys.push(key);\n resultObjs.push(obj);\n }\n });\n var numEntries = resultKeys.length;\n return coreTable\n .mutate({\n trans: trans,\n type: 'put',\n keys: resultKeys,\n values: resultObjs,\n updates: {\n keys: keys,\n changeSpecs: changeSpecs\n }\n })\n .then(function (_a) {\n var numFailures = _a.numFailures, failures = _a.failures;\n if (numFailures === 0)\n return numEntries;\n for (var _i = 0, _b = Object.keys(failures); _i < _b.length; _i++) {\n var offset = _b[_i];\n var mappedOffset = offsetMap[Number(offset)];\n if (mappedOffset != null) {\n var failure = failures[offset];\n delete failures[offset];\n failures[mappedOffset] = failure;\n }\n }\n throw new BulkError(\"\".concat(_this.name, \".bulkUpdate(): \").concat(numFailures, \" of \").concat(numEntries, \" operations failed\"), failures);\n });\n });\n });\n };\n Table.prototype.bulkDelete = function (keys) {\n var _this = this;\n var numKeys = keys.length;\n return this._trans('readwrite', function (trans) {\n return _this.core.mutate({ trans: trans, type: 'delete', keys: keys });\n }).then(function (_a) {\n var numFailures = _a.numFailures, lastResult = _a.lastResult, failures = _a.failures;\n if (numFailures === 0)\n return lastResult;\n throw new BulkError(\"\".concat(_this.name, \".bulkDelete(): \").concat(numFailures, \" of \").concat(numKeys, \" operations failed\"), failures);\n });\n };\n return Table;\n }());\n\n function Events(ctx) {\n var evs = {};\n var rv = function (eventName, subscriber) {\n if (subscriber) {\n var i = arguments.length, args = new Array(i - 1);\n while (--i)\n args[i - 1] = arguments[i];\n evs[eventName].subscribe.apply(null, args);\n return ctx;\n }\n else if (typeof (eventName) === 'string') {\n return evs[eventName];\n }\n };\n rv.addEventType = add;\n for (var i = 1, l = arguments.length; i < l; ++i) {\n add(arguments[i]);\n }\n return rv;\n function add(eventName, chainFunction, defaultFunction) {\n if (typeof eventName === 'object')\n return addConfiguredEvents(eventName);\n if (!chainFunction)\n chainFunction = reverseStoppableEventChain;\n if (!defaultFunction)\n defaultFunction = nop;\n var context = {\n subscribers: [],\n fire: defaultFunction,\n subscribe: function (cb) {\n if (context.subscribers.indexOf(cb) === -1) {\n context.subscribers.push(cb);\n context.fire = chainFunction(context.fire, cb);\n }\n },\n unsubscribe: function (cb) {\n context.subscribers = context.subscribers.filter(function (fn) { return fn !== cb; });\n context.fire = context.subscribers.reduce(chainFunction, defaultFunction);\n }\n };\n evs[eventName] = rv[eventName] = context;\n return context;\n }\n function addConfiguredEvents(cfg) {\n keys(cfg).forEach(function (eventName) {\n var args = cfg[eventName];\n if (isArray(args)) {\n add(eventName, cfg[eventName][0], cfg[eventName][1]);\n }\n else if (args === 'asap') {\n var context = add(eventName, mirror, function fire() {\n var i = arguments.length, args = new Array(i);\n while (i--)\n args[i] = arguments[i];\n context.subscribers.forEach(function (fn) {\n asap$1(function fireEvent() {\n fn.apply(null, args);\n });\n });\n });\n }\n else\n throw new exceptions.InvalidArgument(\"Invalid event config\");\n });\n }\n }\n\n function makeClassConstructor(prototype, constructor) {\n derive(constructor).from({ prototype: prototype });\n return constructor;\n }\n\n function createTableConstructor(db) {\n return makeClassConstructor(Table.prototype, function Table(name, tableSchema, trans) {\n this.db = db;\n this._tx = trans;\n this.name = name;\n this.schema = tableSchema;\n this.hook = db._allTables[name] ? db._allTables[name].hook : Events(null, {\n \"creating\": [hookCreatingChain, nop],\n \"reading\": [pureFunctionChain, mirror],\n \"updating\": [hookUpdatingChain, nop],\n \"deleting\": [hookDeletingChain, nop]\n });\n });\n }\n\n function isPlainKeyRange(ctx, ignoreLimitFilter) {\n return !(ctx.filter || ctx.algorithm || ctx.or) &&\n (ignoreLimitFilter ? ctx.justLimit : !ctx.replayFilter);\n }\n function addFilter(ctx, fn) {\n ctx.filter = combine(ctx.filter, fn);\n }\n function addReplayFilter(ctx, factory, isLimitFilter) {\n var curr = ctx.replayFilter;\n ctx.replayFilter = curr ? function () { return combine(curr(), factory()); } : factory;\n ctx.justLimit = isLimitFilter && !curr;\n }\n function addMatchFilter(ctx, fn) {\n ctx.isMatch = combine(ctx.isMatch, fn);\n }\n function getIndexOrStore(ctx, coreSchema) {\n if (ctx.isPrimKey)\n return coreSchema.primaryKey;\n var index = coreSchema.getIndexByKeyPath(ctx.index);\n if (!index)\n throw new exceptions.Schema(\"KeyPath \" + ctx.index + \" on object store \" + coreSchema.name + \" is not indexed\");\n return index;\n }\n function openCursor(ctx, coreTable, trans) {\n var index = getIndexOrStore(ctx, coreTable.schema);\n return coreTable.openCursor({\n trans: trans,\n values: !ctx.keysOnly,\n reverse: ctx.dir === 'prev',\n unique: !!ctx.unique,\n query: {\n index: index,\n range: ctx.range\n }\n });\n }\n function iter(ctx, fn, coreTrans, coreTable) {\n var filter = ctx.replayFilter ? combine(ctx.filter, ctx.replayFilter()) : ctx.filter;\n if (!ctx.or) {\n return iterate(openCursor(ctx, coreTable, coreTrans), combine(ctx.algorithm, filter), fn, !ctx.keysOnly && ctx.valueMapper);\n }\n else {\n var set_1 = {};\n var union = function (item, cursor, advance) {\n if (!filter || filter(cursor, advance, function (result) { return cursor.stop(result); }, function (err) { return cursor.fail(err); })) {\n var primaryKey = cursor.primaryKey;\n var key = '' + primaryKey;\n if (key === '[object ArrayBuffer]')\n key = '' + new Uint8Array(primaryKey);\n if (!hasOwn(set_1, key)) {\n set_1[key] = true;\n fn(item, cursor, advance);\n }\n }\n };\n return Promise.all([\n ctx.or._iterate(union, coreTrans),\n iterate(openCursor(ctx, coreTable, coreTrans), ctx.algorithm, union, !ctx.keysOnly && ctx.valueMapper)\n ]);\n }\n }\n function iterate(cursorPromise, filter, fn, valueMapper) {\n var mappedFn = valueMapper ? function (x, c, a) { return fn(valueMapper(x), c, a); } : fn;\n var wrappedFn = wrap(mappedFn);\n return cursorPromise.then(function (cursor) {\n if (cursor) {\n return cursor.start(function () {\n var c = function () { return cursor.continue(); };\n if (!filter || filter(cursor, function (advancer) { return c = advancer; }, function (val) { cursor.stop(val); c = nop; }, function (e) { cursor.fail(e); c = nop; }))\n wrappedFn(cursor.value, cursor, function (advancer) { return c = advancer; });\n c();\n });\n }\n });\n }\n\n var PropModSymbol = Symbol();\n var PropModification = (function () {\n function PropModification(spec) {\n Object.assign(this, spec);\n }\n PropModification.prototype.execute = function (value) {\n var _a;\n if (this.add !== undefined) {\n var term = this.add;\n if (isArray(term)) {\n return __spreadArray(__spreadArray([], (isArray(value) ? value : []), true), term, true).sort();\n }\n if (typeof term === 'number')\n return (Number(value) || 0) + term;\n if (typeof term === 'bigint') {\n try {\n return BigInt(value) + term;\n }\n catch (_b) {\n return BigInt(0) + term;\n }\n }\n throw new TypeError(\"Invalid term \".concat(term));\n }\n if (this.remove !== undefined) {\n var subtrahend_1 = this.remove;\n if (isArray(subtrahend_1)) {\n return isArray(value) ? value.filter(function (item) { return !subtrahend_1.includes(item); }).sort() : [];\n }\n if (typeof subtrahend_1 === 'number')\n return Number(value) - subtrahend_1;\n if (typeof subtrahend_1 === 'bigint') {\n try {\n return BigInt(value) - subtrahend_1;\n }\n catch (_c) {\n return BigInt(0) - subtrahend_1;\n }\n }\n throw new TypeError(\"Invalid subtrahend \".concat(subtrahend_1));\n }\n var prefixToReplace = (_a = this.replacePrefix) === null || _a === void 0 ? void 0 : _a[0];\n if (prefixToReplace && typeof value === 'string' && value.startsWith(prefixToReplace)) {\n return this.replacePrefix[1] + value.substring(prefixToReplace.length);\n }\n return value;\n };\n return PropModification;\n }());\n\n var Collection = (function () {\n function Collection() {\n }\n Collection.prototype._read = function (fn, cb) {\n var ctx = this._ctx;\n return ctx.error ?\n ctx.table._trans(null, rejection.bind(null, ctx.error)) :\n ctx.table._trans('readonly', fn).then(cb);\n };\n Collection.prototype._write = function (fn) {\n var ctx = this._ctx;\n return ctx.error ?\n ctx.table._trans(null, rejection.bind(null, ctx.error)) :\n ctx.table._trans('readwrite', fn, \"locked\");\n };\n Collection.prototype._addAlgorithm = function (fn) {\n var ctx = this._ctx;\n ctx.algorithm = combine(ctx.algorithm, fn);\n };\n Collection.prototype._iterate = function (fn, coreTrans) {\n return iter(this._ctx, fn, coreTrans, this._ctx.table.core);\n };\n Collection.prototype.clone = function (props) {\n var rv = Object.create(this.constructor.prototype), ctx = Object.create(this._ctx);\n if (props)\n extend(ctx, props);\n rv._ctx = ctx;\n return rv;\n };\n Collection.prototype.raw = function () {\n this._ctx.valueMapper = null;\n return this;\n };\n Collection.prototype.each = function (fn) {\n var ctx = this._ctx;\n return this._read(function (trans) { return iter(ctx, fn, trans, ctx.table.core); });\n };\n Collection.prototype.count = function (cb) {\n var _this = this;\n return this._read(function (trans) {\n var ctx = _this._ctx;\n var coreTable = ctx.table.core;\n if (isPlainKeyRange(ctx, true)) {\n return coreTable.count({\n trans: trans,\n query: {\n index: getIndexOrStore(ctx, coreTable.schema),\n range: ctx.range\n }\n }).then(function (count) { return Math.min(count, ctx.limit); });\n }\n else {\n var count = 0;\n return iter(ctx, function () { ++count; return false; }, trans, coreTable)\n .then(function () { return count; });\n }\n }).then(cb);\n };\n Collection.prototype.sortBy = function (keyPath, cb) {\n var parts = keyPath.split('.').reverse(), lastPart = parts[0], lastIndex = parts.length - 1;\n function getval(obj, i) {\n if (i)\n return getval(obj[parts[i]], i - 1);\n return obj[lastPart];\n }\n var order = this._ctx.dir === \"next\" ? 1 : -1;\n function sorter(a, b) {\n var aVal = getval(a, lastIndex), bVal = getval(b, lastIndex);\n return aVal < bVal ? -order : aVal > bVal ? order : 0;\n }\n return this.toArray(function (a) {\n return a.sort(sorter);\n }).then(cb);\n };\n Collection.prototype.toArray = function (cb) {\n var _this = this;\n return this._read(function (trans) {\n var ctx = _this._ctx;\n if (ctx.dir === 'next' && isPlainKeyRange(ctx, true) && ctx.limit > 0) {\n var valueMapper_1 = ctx.valueMapper;\n var index = getIndexOrStore(ctx, ctx.table.core.schema);\n return ctx.table.core.query({\n trans: trans,\n limit: ctx.limit,\n values: true,\n query: {\n index: index,\n range: ctx.range\n }\n }).then(function (_a) {\n var result = _a.result;\n return valueMapper_1 ? result.map(valueMapper_1) : result;\n });\n }\n else {\n var a_1 = [];\n return iter(ctx, function (item) { return a_1.push(item); }, trans, ctx.table.core).then(function () { return a_1; });\n }\n }, cb);\n };\n Collection.prototype.offset = function (offset) {\n var ctx = this._ctx;\n if (offset <= 0)\n return this;\n ctx.offset += offset;\n if (isPlainKeyRange(ctx)) {\n addReplayFilter(ctx, function () {\n var offsetLeft = offset;\n return function (cursor, advance) {\n if (offsetLeft === 0)\n return true;\n if (offsetLeft === 1) {\n --offsetLeft;\n return false;\n }\n advance(function () {\n cursor.advance(offsetLeft);\n offsetLeft = 0;\n });\n return false;\n };\n });\n }\n else {\n addReplayFilter(ctx, function () {\n var offsetLeft = offset;\n return function () { return (--offsetLeft < 0); };\n });\n }\n return this;\n };\n Collection.prototype.limit = function (numRows) {\n this._ctx.limit = Math.min(this._ctx.limit, numRows);\n addReplayFilter(this._ctx, function () {\n var rowsLeft = numRows;\n return function (cursor, advance, resolve) {\n if (--rowsLeft <= 0)\n advance(resolve);\n return rowsLeft >= 0;\n };\n }, true);\n return this;\n };\n Collection.prototype.until = function (filterFunction, bIncludeStopEntry) {\n addFilter(this._ctx, function (cursor, advance, resolve) {\n if (filterFunction(cursor.value)) {\n advance(resolve);\n return bIncludeStopEntry;\n }\n else {\n return true;\n }\n });\n return this;\n };\n Collection.prototype.first = function (cb) {\n return this.limit(1).toArray(function (a) { return a[0]; }).then(cb);\n };\n Collection.prototype.last = function (cb) {\n return this.reverse().first(cb);\n };\n Collection.prototype.filter = function (filterFunction) {\n addFilter(this._ctx, function (cursor) {\n return filterFunction(cursor.value);\n });\n addMatchFilter(this._ctx, filterFunction);\n return this;\n };\n Collection.prototype.and = function (filter) {\n return this.filter(filter);\n };\n Collection.prototype.or = function (indexName) {\n return new this.db.WhereClause(this._ctx.table, indexName, this);\n };\n Collection.prototype.reverse = function () {\n this._ctx.dir = (this._ctx.dir === \"prev\" ? \"next\" : \"prev\");\n if (this._ondirectionchange)\n this._ondirectionchange(this._ctx.dir);\n return this;\n };\n Collection.prototype.desc = function () {\n return this.reverse();\n };\n Collection.prototype.eachKey = function (cb) {\n var ctx = this._ctx;\n ctx.keysOnly = !ctx.isMatch;\n return this.each(function (val, cursor) { cb(cursor.key, cursor); });\n };\n Collection.prototype.eachUniqueKey = function (cb) {\n this._ctx.unique = \"unique\";\n return this.eachKey(cb);\n };\n Collection.prototype.eachPrimaryKey = function (cb) {\n var ctx = this._ctx;\n ctx.keysOnly = !ctx.isMatch;\n return this.each(function (val, cursor) { cb(cursor.primaryKey, cursor); });\n };\n Collection.prototype.keys = function (cb) {\n var ctx = this._ctx;\n ctx.keysOnly = !ctx.isMatch;\n var a = [];\n return this.each(function (item, cursor) {\n a.push(cursor.key);\n }).then(function () {\n return a;\n }).then(cb);\n };\n Collection.prototype.primaryKeys = function (cb) {\n var ctx = this._ctx;\n if (ctx.dir === 'next' && isPlainKeyRange(ctx, true) && ctx.limit > 0) {\n return this._read(function (trans) {\n var index = getIndexOrStore(ctx, ctx.table.core.schema);\n return ctx.table.core.query({\n trans: trans,\n values: false,\n limit: ctx.limit,\n query: {\n index: index,\n range: ctx.range\n }\n });\n }).then(function (_a) {\n var result = _a.result;\n return result;\n }).then(cb);\n }\n ctx.keysOnly = !ctx.isMatch;\n var a = [];\n return this.each(function (item, cursor) {\n a.push(cursor.primaryKey);\n }).then(function () {\n return a;\n }).then(cb);\n };\n Collection.prototype.uniqueKeys = function (cb) {\n this._ctx.unique = \"unique\";\n return this.keys(cb);\n };\n Collection.prototype.firstKey = function (cb) {\n return this.limit(1).keys(function (a) { return a[0]; }).then(cb);\n };\n Collection.prototype.lastKey = function (cb) {\n return this.reverse().firstKey(cb);\n };\n Collection.prototype.distinct = function () {\n var ctx = this._ctx, idx = ctx.index && ctx.table.schema.idxByName[ctx.index];\n if (!idx || !idx.multi)\n return this;\n var set = {};\n addFilter(this._ctx, function (cursor) {\n var strKey = cursor.primaryKey.toString();\n var found = hasOwn(set, strKey);\n set[strKey] = true;\n return !found;\n });\n return this;\n };\n Collection.prototype.modify = function (changes) {\n var _this = this;\n var ctx = this._ctx;\n return this._write(function (trans) {\n var modifyer;\n if (typeof changes === 'function') {\n modifyer = changes;\n }\n else {\n var keyPaths = keys(changes);\n var numKeys = keyPaths.length;\n modifyer = function (item) {\n var anythingModified = false;\n for (var i = 0; i < numKeys; ++i) {\n var keyPath = keyPaths[i];\n var val = changes[keyPath];\n var origVal = getByKeyPath(item, keyPath);\n if (val instanceof PropModification) {\n setByKeyPath(item, keyPath, val.execute(origVal));\n anythingModified = true;\n }\n else if (origVal !== val) {\n setByKeyPath(item, keyPath, val);\n anythingModified = true;\n }\n }\n return anythingModified;\n };\n }\n var coreTable = ctx.table.core;\n var _a = coreTable.schema.primaryKey, outbound = _a.outbound, extractKey = _a.extractKey;\n var limit = _this.db._options.modifyChunkSize || 200;\n var totalFailures = [];\n var successCount = 0;\n var failedKeys = [];\n var applyMutateResult = function (expectedCount, res) {\n var failures = res.failures, numFailures = res.numFailures;\n successCount += expectedCount - numFailures;\n for (var _i = 0, _a = keys(failures); _i < _a.length; _i++) {\n var pos = _a[_i];\n totalFailures.push(failures[pos]);\n }\n };\n return _this.clone().primaryKeys().then(function (keys) {\n var criteria = isPlainKeyRange(ctx) &&\n ctx.limit === Infinity &&\n (typeof changes !== 'function' || changes === deleteCallback) && {\n index: ctx.index,\n range: ctx.range\n };\n var nextChunk = function (offset) {\n var count = Math.min(limit, keys.length - offset);\n return coreTable.getMany({\n trans: trans,\n keys: keys.slice(offset, offset + count),\n cache: \"immutable\"\n }).then(function (values) {\n var addValues = [];\n var putValues = [];\n var putKeys = outbound ? [] : null;\n var deleteKeys = [];\n for (var i = 0; i < count; ++i) {\n var origValue = values[i];\n var ctx_1 = {\n value: deepClone(origValue),\n primKey: keys[offset + i]\n };\n if (modifyer.call(ctx_1, ctx_1.value, ctx_1) !== false) {\n if (ctx_1.value == null) {\n deleteKeys.push(keys[offset + i]);\n }\n else if (!outbound && cmp(extractKey(origValue), extractKey(ctx_1.value)) !== 0) {\n deleteKeys.push(keys[offset + i]);\n addValues.push(ctx_1.value);\n }\n else {\n putValues.push(ctx_1.value);\n if (outbound)\n putKeys.push(keys[offset + i]);\n }\n }\n }\n return Promise.resolve(addValues.length > 0 &&\n coreTable.mutate({ trans: trans, type: 'add', values: addValues })\n .then(function (res) {\n for (var pos in res.failures) {\n deleteKeys.splice(parseInt(pos), 1);\n }\n applyMutateResult(addValues.length, res);\n })).then(function () { return (putValues.length > 0 || (criteria && typeof changes === 'object')) &&\n coreTable.mutate({\n trans: trans,\n type: 'put',\n keys: putKeys,\n values: putValues,\n criteria: criteria,\n changeSpec: typeof changes !== 'function'\n && changes,\n isAdditionalChunk: offset > 0\n }).then(function (res) { return applyMutateResult(putValues.length, res); }); }).then(function () { return (deleteKeys.length > 0 || (criteria && changes === deleteCallback)) &&\n coreTable.mutate({\n trans: trans,\n type: 'delete',\n keys: deleteKeys,\n criteria: criteria,\n isAdditionalChunk: offset > 0\n }).then(function (res) { return applyMutateResult(deleteKeys.length, res); }); }).then(function () {\n return keys.length > offset + count && nextChunk(offset + limit);\n });\n });\n };\n return nextChunk(0).then(function () {\n if (totalFailures.length > 0)\n throw new ModifyError(\"Error modifying one or more objects\", totalFailures, successCount, failedKeys);\n return keys.length;\n });\n });\n });\n };\n Collection.prototype.delete = function () {\n var ctx = this._ctx, range = ctx.range;\n if (isPlainKeyRange(ctx) &&\n (ctx.isPrimKey || range.type === 3 ))\n {\n return this._write(function (trans) {\n var primaryKey = ctx.table.core.schema.primaryKey;\n var coreRange = range;\n return ctx.table.core.count({ trans: trans, query: { index: primaryKey, range: coreRange } }).then(function (count) {\n return ctx.table.core.mutate({ trans: trans, type: 'deleteRange', range: coreRange })\n .then(function (_a) {\n var failures = _a.failures; _a.lastResult; _a.results; var numFailures = _a.numFailures;\n if (numFailures)\n throw new ModifyError(\"Could not delete some values\", Object.keys(failures).map(function (pos) { return failures[pos]; }), count - numFailures);\n return count - numFailures;\n });\n });\n });\n }\n return this.modify(deleteCallback);\n };\n return Collection;\n }());\n var deleteCallback = function (value, ctx) { return ctx.value = null; };\n\n function createCollectionConstructor(db) {\n return makeClassConstructor(Collection.prototype, function Collection(whereClause, keyRangeGenerator) {\n this.db = db;\n var keyRange = AnyRange, error = null;\n if (keyRangeGenerator)\n try {\n keyRange = keyRangeGenerator();\n }\n catch (ex) {\n error = ex;\n }\n var whereCtx = whereClause._ctx;\n var table = whereCtx.table;\n var readingHook = table.hook.reading.fire;\n this._ctx = {\n table: table,\n index: whereCtx.index,\n isPrimKey: (!whereCtx.index || (table.schema.primKey.keyPath && whereCtx.index === table.schema.primKey.name)),\n range: keyRange,\n keysOnly: false,\n dir: \"next\",\n unique: \"\",\n algorithm: null,\n filter: null,\n replayFilter: null,\n justLimit: true,\n isMatch: null,\n offset: 0,\n limit: Infinity,\n error: error,\n or: whereCtx.or,\n valueMapper: readingHook !== mirror ? readingHook : null\n };\n });\n }\n\n function simpleCompare(a, b) {\n return a < b ? -1 : a === b ? 0 : 1;\n }\n function simpleCompareReverse(a, b) {\n return a > b ? -1 : a === b ? 0 : 1;\n }\n\n function fail(collectionOrWhereClause, err, T) {\n var collection = collectionOrWhereClause instanceof WhereClause ?\n new collectionOrWhereClause.Collection(collectionOrWhereClause) :\n collectionOrWhereClause;\n collection._ctx.error = T ? new T(err) : new TypeError(err);\n return collection;\n }\n function emptyCollection(whereClause) {\n return new whereClause.Collection(whereClause, function () { return rangeEqual(\"\"); }).limit(0);\n }\n function upperFactory(dir) {\n return dir === \"next\" ?\n function (s) { return s.toUpperCase(); } :\n function (s) { return s.toLowerCase(); };\n }\n function lowerFactory(dir) {\n return dir === \"next\" ?\n function (s) { return s.toLowerCase(); } :\n function (s) { return s.toUpperCase(); };\n }\n function nextCasing(key, lowerKey, upperNeedle, lowerNeedle, cmp, dir) {\n var length = Math.min(key.length, lowerNeedle.length);\n var llp = -1;\n for (var i = 0; i < length; ++i) {\n var lwrKeyChar = lowerKey[i];\n if (lwrKeyChar !== lowerNeedle[i]) {\n if (cmp(key[i], upperNeedle[i]) < 0)\n return key.substr(0, i) + upperNeedle[i] + upperNeedle.substr(i + 1);\n if (cmp(key[i], lowerNeedle[i]) < 0)\n return key.substr(0, i) + lowerNeedle[i] + upperNeedle.substr(i + 1);\n if (llp >= 0)\n return key.substr(0, llp) + lowerKey[llp] + upperNeedle.substr(llp + 1);\n return null;\n }\n if (cmp(key[i], lwrKeyChar) < 0)\n llp = i;\n }\n if (length < lowerNeedle.length && dir === \"next\")\n return key + upperNeedle.substr(key.length);\n if (length < key.length && dir === \"prev\")\n return key.substr(0, upperNeedle.length);\n return (llp < 0 ? null : key.substr(0, llp) + lowerNeedle[llp] + upperNeedle.substr(llp + 1));\n }\n function addIgnoreCaseAlgorithm(whereClause, match, needles, suffix) {\n var upper, lower, compare, upperNeedles, lowerNeedles, direction, nextKeySuffix, needlesLen = needles.length;\n if (!needles.every(function (s) { return typeof s === 'string'; })) {\n return fail(whereClause, STRING_EXPECTED);\n }\n function initDirection(dir) {\n upper = upperFactory(dir);\n lower = lowerFactory(dir);\n compare = (dir === \"next\" ? simpleCompare : simpleCompareReverse);\n var needleBounds = needles.map(function (needle) {\n return { lower: lower(needle), upper: upper(needle) };\n }).sort(function (a, b) {\n return compare(a.lower, b.lower);\n });\n upperNeedles = needleBounds.map(function (nb) { return nb.upper; });\n lowerNeedles = needleBounds.map(function (nb) { return nb.lower; });\n direction = dir;\n nextKeySuffix = (dir === \"next\" ? \"\" : suffix);\n }\n initDirection(\"next\");\n var c = new whereClause.Collection(whereClause, function () { return createRange(upperNeedles[0], lowerNeedles[needlesLen - 1] + suffix); });\n c._ondirectionchange = function (direction) {\n initDirection(direction);\n };\n var firstPossibleNeedle = 0;\n c._addAlgorithm(function (cursor, advance, resolve) {\n var key = cursor.key;\n if (typeof key !== 'string')\n return false;\n var lowerKey = lower(key);\n if (match(lowerKey, lowerNeedles, firstPossibleNeedle)) {\n return true;\n }\n else {\n var lowestPossibleCasing = null;\n for (var i = firstPossibleNeedle; i < needlesLen; ++i) {\n var casing = nextCasing(key, lowerKey, upperNeedles[i], lowerNeedles[i], compare, direction);\n if (casing === null && lowestPossibleCasing === null)\n firstPossibleNeedle = i + 1;\n else if (lowestPossibleCasing === null || compare(lowestPossibleCasing, casing) > 0) {\n lowestPossibleCasing = casing;\n }\n }\n if (lowestPossibleCasing !== null) {\n advance(function () { cursor.continue(lowestPossibleCasing + nextKeySuffix); });\n }\n else {\n advance(resolve);\n }\n return false;\n }\n });\n return c;\n }\n function createRange(lower, upper, lowerOpen, upperOpen) {\n return {\n type: 2 ,\n lower: lower,\n upper: upper,\n lowerOpen: lowerOpen,\n upperOpen: upperOpen\n };\n }\n function rangeEqual(value) {\n return {\n type: 1 ,\n lower: value,\n upper: value\n };\n }\n\n var WhereClause = (function () {\n function WhereClause() {\n }\n Object.defineProperty(WhereClause.prototype, \"Collection\", {\n get: function () {\n return this._ctx.table.db.Collection;\n },\n enumerable: false,\n configurable: true\n });\n WhereClause.prototype.between = function (lower, upper, includeLower, includeUpper) {\n includeLower = includeLower !== false;\n includeUpper = includeUpper === true;\n try {\n if ((this._cmp(lower, upper) > 0) ||\n (this._cmp(lower, upper) === 0 && (includeLower || includeUpper) && !(includeLower && includeUpper)))\n return emptyCollection(this);\n return new this.Collection(this, function () { return createRange(lower, upper, !includeLower, !includeUpper); });\n }\n catch (e) {\n return fail(this, INVALID_KEY_ARGUMENT);\n }\n };\n WhereClause.prototype.equals = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return rangeEqual(value); });\n };\n WhereClause.prototype.above = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return createRange(value, undefined, true); });\n };\n WhereClause.prototype.aboveOrEqual = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return createRange(value, undefined, false); });\n };\n WhereClause.prototype.below = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return createRange(undefined, value, false, true); });\n };\n WhereClause.prototype.belowOrEqual = function (value) {\n if (value == null)\n return fail(this, INVALID_KEY_ARGUMENT);\n return new this.Collection(this, function () { return createRange(undefined, value); });\n };\n WhereClause.prototype.startsWith = function (str) {\n if (typeof str !== 'string')\n return fail(this, STRING_EXPECTED);\n return this.between(str, str + maxString, true, true);\n };\n WhereClause.prototype.startsWithIgnoreCase = function (str) {\n if (str === \"\")\n return this.startsWith(str);\n return addIgnoreCaseAlgorithm(this, function (x, a) { return x.indexOf(a[0]) === 0; }, [str], maxString);\n };\n WhereClause.prototype.equalsIgnoreCase = function (str) {\n return addIgnoreCaseAlgorithm(this, function (x, a) { return x === a[0]; }, [str], \"\");\n };\n WhereClause.prototype.anyOfIgnoreCase = function () {\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n if (set.length === 0)\n return emptyCollection(this);\n return addIgnoreCaseAlgorithm(this, function (x, a) { return a.indexOf(x) !== -1; }, set, \"\");\n };\n WhereClause.prototype.startsWithAnyOfIgnoreCase = function () {\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n if (set.length === 0)\n return emptyCollection(this);\n return addIgnoreCaseAlgorithm(this, function (x, a) { return a.some(function (n) { return x.indexOf(n) === 0; }); }, set, maxString);\n };\n WhereClause.prototype.anyOf = function () {\n var _this = this;\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n var compare = this._cmp;\n try {\n set.sort(compare);\n }\n catch (e) {\n return fail(this, INVALID_KEY_ARGUMENT);\n }\n if (set.length === 0)\n return emptyCollection(this);\n var c = new this.Collection(this, function () { return createRange(set[0], set[set.length - 1]); });\n c._ondirectionchange = function (direction) {\n compare = (direction === \"next\" ?\n _this._ascending :\n _this._descending);\n set.sort(compare);\n };\n var i = 0;\n c._addAlgorithm(function (cursor, advance, resolve) {\n var key = cursor.key;\n while (compare(key, set[i]) > 0) {\n ++i;\n if (i === set.length) {\n advance(resolve);\n return false;\n }\n }\n if (compare(key, set[i]) === 0) {\n return true;\n }\n else {\n advance(function () { cursor.continue(set[i]); });\n return false;\n }\n });\n return c;\n };\n WhereClause.prototype.notEqual = function (value) {\n return this.inAnyRange([[minKey, value], [value, this.db._maxKey]], { includeLowers: false, includeUppers: false });\n };\n WhereClause.prototype.noneOf = function () {\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n if (set.length === 0)\n return new this.Collection(this);\n try {\n set.sort(this._ascending);\n }\n catch (e) {\n return fail(this, INVALID_KEY_ARGUMENT);\n }\n var ranges = set.reduce(function (res, val) { return res ?\n res.concat([[res[res.length - 1][1], val]]) :\n [[minKey, val]]; }, null);\n ranges.push([set[set.length - 1], this.db._maxKey]);\n return this.inAnyRange(ranges, { includeLowers: false, includeUppers: false });\n };\n WhereClause.prototype.inAnyRange = function (ranges, options) {\n var _this = this;\n var cmp = this._cmp, ascending = this._ascending, descending = this._descending, min = this._min, max = this._max;\n if (ranges.length === 0)\n return emptyCollection(this);\n if (!ranges.every(function (range) {\n return range[0] !== undefined &&\n range[1] !== undefined &&\n ascending(range[0], range[1]) <= 0;\n })) {\n return fail(this, \"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower\", exceptions.InvalidArgument);\n }\n var includeLowers = !options || options.includeLowers !== false;\n var includeUppers = options && options.includeUppers === true;\n function addRange(ranges, newRange) {\n var i = 0, l = ranges.length;\n for (; i < l; ++i) {\n var range = ranges[i];\n if (cmp(newRange[0], range[1]) < 0 && cmp(newRange[1], range[0]) > 0) {\n range[0] = min(range[0], newRange[0]);\n range[1] = max(range[1], newRange[1]);\n break;\n }\n }\n if (i === l)\n ranges.push(newRange);\n return ranges;\n }\n var sortDirection = ascending;\n function rangeSorter(a, b) { return sortDirection(a[0], b[0]); }\n var set;\n try {\n set = ranges.reduce(addRange, []);\n set.sort(rangeSorter);\n }\n catch (ex) {\n return fail(this, INVALID_KEY_ARGUMENT);\n }\n var rangePos = 0;\n var keyIsBeyondCurrentEntry = includeUppers ?\n function (key) { return ascending(key, set[rangePos][1]) > 0; } :\n function (key) { return ascending(key, set[rangePos][1]) >= 0; };\n var keyIsBeforeCurrentEntry = includeLowers ?\n function (key) { return descending(key, set[rangePos][0]) > 0; } :\n function (key) { return descending(key, set[rangePos][0]) >= 0; };\n function keyWithinCurrentRange(key) {\n return !keyIsBeyondCurrentEntry(key) && !keyIsBeforeCurrentEntry(key);\n }\n var checkKey = keyIsBeyondCurrentEntry;\n var c = new this.Collection(this, function () { return createRange(set[0][0], set[set.length - 1][1], !includeLowers, !includeUppers); });\n c._ondirectionchange = function (direction) {\n if (direction === \"next\") {\n checkKey = keyIsBeyondCurrentEntry;\n sortDirection = ascending;\n }\n else {\n checkKey = keyIsBeforeCurrentEntry;\n sortDirection = descending;\n }\n set.sort(rangeSorter);\n };\n c._addAlgorithm(function (cursor, advance, resolve) {\n var key = cursor.key;\n while (checkKey(key)) {\n ++rangePos;\n if (rangePos === set.length) {\n advance(resolve);\n return false;\n }\n }\n if (keyWithinCurrentRange(key)) {\n return true;\n }\n else if (_this._cmp(key, set[rangePos][1]) === 0 || _this._cmp(key, set[rangePos][0]) === 0) {\n return false;\n }\n else {\n advance(function () {\n if (sortDirection === ascending)\n cursor.continue(set[rangePos][0]);\n else\n cursor.continue(set[rangePos][1]);\n });\n return false;\n }\n });\n return c;\n };\n WhereClause.prototype.startsWithAnyOf = function () {\n var set = getArrayOf.apply(NO_CHAR_ARRAY, arguments);\n if (!set.every(function (s) { return typeof s === 'string'; })) {\n return fail(this, \"startsWithAnyOf() only works with strings\");\n }\n if (set.length === 0)\n return emptyCollection(this);\n return this.inAnyRange(set.map(function (str) { return [str, str + maxString]; }));\n };\n return WhereClause;\n }());\n\n function createWhereClauseConstructor(db) {\n return makeClassConstructor(WhereClause.prototype, function WhereClause(table, index, orCollection) {\n this.db = db;\n this._ctx = {\n table: table,\n index: index === \":id\" ? null : index,\n or: orCollection\n };\n this._cmp = this._ascending = cmp;\n this._descending = function (a, b) { return cmp(b, a); };\n this._max = function (a, b) { return cmp(a, b) > 0 ? a : b; };\n this._min = function (a, b) { return cmp(a, b) < 0 ? a : b; };\n this._IDBKeyRange = db._deps.IDBKeyRange;\n if (!this._IDBKeyRange)\n throw new exceptions.MissingAPI();\n });\n }\n\n function eventRejectHandler(reject) {\n return wrap(function (event) {\n preventDefault(event);\n reject(event.target.error);\n return false;\n });\n }\n function preventDefault(event) {\n if (event.stopPropagation)\n event.stopPropagation();\n if (event.preventDefault)\n event.preventDefault();\n }\n\n var DEXIE_STORAGE_MUTATED_EVENT_NAME = 'storagemutated';\n var STORAGE_MUTATED_DOM_EVENT_NAME = 'x-storagemutated-1';\n var globalEvents = Events(null, DEXIE_STORAGE_MUTATED_EVENT_NAME);\n\n var Transaction = (function () {\n function Transaction() {\n }\n Transaction.prototype._lock = function () {\n assert(!PSD.global);\n ++this._reculock;\n if (this._reculock === 1 && !PSD.global)\n PSD.lockOwnerFor = this;\n return this;\n };\n Transaction.prototype._unlock = function () {\n assert(!PSD.global);\n if (--this._reculock === 0) {\n if (!PSD.global)\n PSD.lockOwnerFor = null;\n while (this._blockedFuncs.length > 0 && !this._locked()) {\n var fnAndPSD = this._blockedFuncs.shift();\n try {\n usePSD(fnAndPSD[1], fnAndPSD[0]);\n }\n catch (e) { }\n }\n }\n return this;\n };\n Transaction.prototype._locked = function () {\n return this._reculock && PSD.lockOwnerFor !== this;\n };\n Transaction.prototype.create = function (idbtrans) {\n var _this = this;\n if (!this.mode)\n return this;\n var idbdb = this.db.idbdb;\n var dbOpenError = this.db._state.dbOpenError;\n assert(!this.idbtrans);\n if (!idbtrans && !idbdb) {\n switch (dbOpenError && dbOpenError.name) {\n case \"DatabaseClosedError\":\n throw new exceptions.DatabaseClosed(dbOpenError);\n case \"MissingAPIError\":\n throw new exceptions.MissingAPI(dbOpenError.message, dbOpenError);\n default:\n throw new exceptions.OpenFailed(dbOpenError);\n }\n }\n if (!this.active)\n throw new exceptions.TransactionInactive();\n assert(this._completion._state === null);\n idbtrans = this.idbtrans = idbtrans ||\n (this.db.core\n ? this.db.core.transaction(this.storeNames, this.mode, { durability: this.chromeTransactionDurability })\n : idbdb.transaction(this.storeNames, this.mode, { durability: this.chromeTransactionDurability }));\n idbtrans.onerror = wrap(function (ev) {\n preventDefault(ev);\n _this._reject(idbtrans.error);\n });\n idbtrans.onabort = wrap(function (ev) {\n preventDefault(ev);\n _this.active && _this._reject(new exceptions.Abort(idbtrans.error));\n _this.active = false;\n _this.on(\"abort\").fire(ev);\n });\n idbtrans.oncomplete = wrap(function () {\n _this.active = false;\n _this._resolve();\n if ('mutatedParts' in idbtrans) {\n globalEvents.storagemutated.fire(idbtrans[\"mutatedParts\"]);\n }\n });\n return this;\n };\n Transaction.prototype._promise = function (mode, fn, bWriteLock) {\n var _this = this;\n if (mode === 'readwrite' && this.mode !== 'readwrite')\n return rejection(new exceptions.ReadOnly(\"Transaction is readonly\"));\n if (!this.active)\n return rejection(new exceptions.TransactionInactive());\n if (this._locked()) {\n return new DexiePromise(function (resolve, reject) {\n _this._blockedFuncs.push([function () {\n _this._promise(mode, fn, bWriteLock).then(resolve, reject);\n }, PSD]);\n });\n }\n else if (bWriteLock) {\n return newScope(function () {\n var p = new DexiePromise(function (resolve, reject) {\n _this._lock();\n var rv = fn(resolve, reject, _this);\n if (rv && rv.then)\n rv.then(resolve, reject);\n });\n p.finally(function () { return _this._unlock(); });\n p._lib = true;\n return p;\n });\n }\n else {\n var p = new DexiePromise(function (resolve, reject) {\n var rv = fn(resolve, reject, _this);\n if (rv && rv.then)\n rv.then(resolve, reject);\n });\n p._lib = true;\n return p;\n }\n };\n Transaction.prototype._root = function () {\n return this.parent ? this.parent._root() : this;\n };\n Transaction.prototype.waitFor = function (promiseLike) {\n var root = this._root();\n var promise = DexiePromise.resolve(promiseLike);\n if (root._waitingFor) {\n root._waitingFor = root._waitingFor.then(function () { return promise; });\n }\n else {\n root._waitingFor = promise;\n root._waitingQueue = [];\n var store = root.idbtrans.objectStore(root.storeNames[0]);\n (function spin() {\n ++root._spinCount;\n while (root._waitingQueue.length)\n (root._waitingQueue.shift())();\n if (root._waitingFor)\n store.get(-Infinity).onsuccess = spin;\n }());\n }\n var currentWaitPromise = root._waitingFor;\n return new DexiePromise(function (resolve, reject) {\n promise.then(function (res) { return root._waitingQueue.push(wrap(resolve.bind(null, res))); }, function (err) { return root._waitingQueue.push(wrap(reject.bind(null, err))); }).finally(function () {\n if (root._waitingFor === currentWaitPromise) {\n root._waitingFor = null;\n }\n });\n });\n };\n Transaction.prototype.abort = function () {\n if (this.active) {\n this.active = false;\n if (this.idbtrans)\n this.idbtrans.abort();\n this._reject(new exceptions.Abort());\n }\n };\n Transaction.prototype.table = function (tableName) {\n var memoizedTables = (this._memoizedTables || (this._memoizedTables = {}));\n if (hasOwn(memoizedTables, tableName))\n return memoizedTables[tableName];\n var tableSchema = this.schema[tableName];\n if (!tableSchema) {\n throw new exceptions.NotFound(\"Table \" + tableName + \" not part of transaction\");\n }\n var transactionBoundTable = new this.db.Table(tableName, tableSchema, this);\n transactionBoundTable.core = this.db.core.table(tableName);\n memoizedTables[tableName] = transactionBoundTable;\n return transactionBoundTable;\n };\n return Transaction;\n }());\n\n function createTransactionConstructor(db) {\n return makeClassConstructor(Transaction.prototype, function Transaction(mode, storeNames, dbschema, chromeTransactionDurability, parent) {\n var _this = this;\n this.db = db;\n this.mode = mode;\n this.storeNames = storeNames;\n this.schema = dbschema;\n this.chromeTransactionDurability = chromeTransactionDurability;\n this.idbtrans = null;\n this.on = Events(this, \"complete\", \"error\", \"abort\");\n this.parent = parent || null;\n this.active = true;\n this._reculock = 0;\n this._blockedFuncs = [];\n this._resolve = null;\n this._reject = null;\n this._waitingFor = null;\n this._waitingQueue = null;\n this._spinCount = 0;\n this._completion = new DexiePromise(function (resolve, reject) {\n _this._resolve = resolve;\n _this._reject = reject;\n });\n this._completion.then(function () {\n _this.active = false;\n _this.on.complete.fire();\n }, function (e) {\n var wasActive = _this.active;\n _this.active = false;\n _this.on.error.fire(e);\n _this.parent ?\n _this.parent._reject(e) :\n wasActive && _this.idbtrans && _this.idbtrans.abort();\n return rejection(e);\n });\n });\n }\n\n function createIndexSpec(name, keyPath, unique, multi, auto, compound, isPrimKey) {\n return {\n name: name,\n keyPath: keyPath,\n unique: unique,\n multi: multi,\n auto: auto,\n compound: compound,\n src: (unique && !isPrimKey ? '&' : '') + (multi ? '*' : '') + (auto ? \"++\" : \"\") + nameFromKeyPath(keyPath)\n };\n }\n function nameFromKeyPath(keyPath) {\n return typeof keyPath === 'string' ?\n keyPath :\n keyPath ? ('[' + [].join.call(keyPath, '+') + ']') : \"\";\n }\n\n function createTableSchema(name, primKey, indexes) {\n return {\n name: name,\n primKey: primKey,\n indexes: indexes,\n mappedClass: null,\n idxByName: arrayToObject(indexes, function (index) { return [index.name, index]; })\n };\n }\n\n function safariMultiStoreFix(storeNames) {\n return storeNames.length === 1 ? storeNames[0] : storeNames;\n }\n var getMaxKey = function (IdbKeyRange) {\n try {\n IdbKeyRange.only([[]]);\n getMaxKey = function () { return [[]]; };\n return [[]];\n }\n catch (e) {\n getMaxKey = function () { return maxString; };\n return maxString;\n }\n };\n\n function getKeyExtractor(keyPath) {\n if (keyPath == null) {\n return function () { return undefined; };\n }\n else if (typeof keyPath === 'string') {\n return getSinglePathKeyExtractor(keyPath);\n }\n else {\n return function (obj) { return getByKeyPath(obj, keyPath); };\n }\n }\n function getSinglePathKeyExtractor(keyPath) {\n var split = keyPath.split('.');\n if (split.length === 1) {\n return function (obj) { return obj[keyPath]; };\n }\n else {\n return function (obj) { return getByKeyPath(obj, keyPath); };\n }\n }\n\n function arrayify(arrayLike) {\n return [].slice.call(arrayLike);\n }\n var _id_counter = 0;\n function getKeyPathAlias(keyPath) {\n return keyPath == null ?\n \":id\" :\n typeof keyPath === 'string' ?\n keyPath :\n \"[\".concat(keyPath.join('+'), \"]\");\n }\n function createDBCore(db, IdbKeyRange, tmpTrans) {\n function extractSchema(db, trans) {\n var tables = arrayify(db.objectStoreNames);\n return {\n schema: {\n name: db.name,\n tables: tables.map(function (table) { return trans.objectStore(table); }).map(function (store) {\n var keyPath = store.keyPath, autoIncrement = store.autoIncrement;\n var compound = isArray(keyPath);\n var outbound = keyPath == null;\n var indexByKeyPath = {};\n var result = {\n name: store.name,\n primaryKey: {\n name: null,\n isPrimaryKey: true,\n outbound: outbound,\n compound: compound,\n keyPath: keyPath,\n autoIncrement: autoIncrement,\n unique: true,\n extractKey: getKeyExtractor(keyPath)\n },\n indexes: arrayify(store.indexNames).map(function (indexName) { return store.index(indexName); })\n .map(function (index) {\n var name = index.name, unique = index.unique, multiEntry = index.multiEntry, keyPath = index.keyPath;\n var compound = isArray(keyPath);\n var result = {\n name: name,\n compound: compound,\n keyPath: keyPath,\n unique: unique,\n multiEntry: multiEntry,\n extractKey: getKeyExtractor(keyPath)\n };\n indexByKeyPath[getKeyPathAlias(keyPath)] = result;\n return result;\n }),\n getIndexByKeyPath: function (keyPath) { return indexByKeyPath[getKeyPathAlias(keyPath)]; }\n };\n indexByKeyPath[\":id\"] = result.primaryKey;\n if (keyPath != null) {\n indexByKeyPath[getKeyPathAlias(keyPath)] = result.primaryKey;\n }\n return result;\n })\n },\n hasGetAll: tables.length > 0 && ('getAll' in trans.objectStore(tables[0])) &&\n !(typeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) &&\n !/(Chrome\\/|Edge\\/)/.test(navigator.userAgent) &&\n [].concat(navigator.userAgent.match(/Safari\\/(\\d*)/))[1] < 604)\n };\n }\n function makeIDBKeyRange(range) {\n if (range.type === 3 )\n return null;\n if (range.type === 4 )\n throw new Error(\"Cannot convert never type to IDBKeyRange\");\n var lower = range.lower, upper = range.upper, lowerOpen = range.lowerOpen, upperOpen = range.upperOpen;\n var idbRange = lower === undefined ?\n upper === undefined ?\n null :\n IdbKeyRange.upperBound(upper, !!upperOpen) :\n upper === undefined ?\n IdbKeyRange.lowerBound(lower, !!lowerOpen) :\n IdbKeyRange.bound(lower, upper, !!lowerOpen, !!upperOpen);\n return idbRange;\n }\n function createDbCoreTable(tableSchema) {\n var tableName = tableSchema.name;\n function mutate(_a) {\n var trans = _a.trans, type = _a.type, keys = _a.keys, values = _a.values, range = _a.range;\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var store = trans.objectStore(tableName);\n var outbound = store.keyPath == null;\n var isAddOrPut = type === \"put\" || type === \"add\";\n if (!isAddOrPut && type !== 'delete' && type !== 'deleteRange')\n throw new Error(\"Invalid operation type: \" + type);\n var length = (keys || values || { length: 1 }).length;\n if (keys && values && keys.length !== values.length) {\n throw new Error(\"Given keys array must have same length as given values array.\");\n }\n if (length === 0)\n return resolve({ numFailures: 0, failures: {}, results: [], lastResult: undefined });\n var req;\n var reqs = [];\n var failures = [];\n var numFailures = 0;\n var errorHandler = function (event) {\n ++numFailures;\n preventDefault(event);\n };\n if (type === 'deleteRange') {\n if (range.type === 4 )\n return resolve({ numFailures: numFailures, failures: failures, results: [], lastResult: undefined });\n if (range.type === 3 )\n reqs.push(req = store.clear());\n else\n reqs.push(req = store.delete(makeIDBKeyRange(range)));\n }\n else {\n var _a = isAddOrPut ?\n outbound ?\n [values, keys] :\n [values, null] :\n [keys, null], args1 = _a[0], args2 = _a[1];\n if (isAddOrPut) {\n for (var i = 0; i < length; ++i) {\n reqs.push(req = (args2 && args2[i] !== undefined ?\n store[type](args1[i], args2[i]) :\n store[type](args1[i])));\n req.onerror = errorHandler;\n }\n }\n else {\n for (var i = 0; i < length; ++i) {\n reqs.push(req = store[type](args1[i]));\n req.onerror = errorHandler;\n }\n }\n }\n var done = function (event) {\n var lastResult = event.target.result;\n reqs.forEach(function (req, i) { return req.error != null && (failures[i] = req.error); });\n resolve({\n numFailures: numFailures,\n failures: failures,\n results: type === \"delete\" ? keys : reqs.map(function (req) { return req.result; }),\n lastResult: lastResult\n });\n };\n req.onerror = function (event) {\n errorHandler(event);\n done(event);\n };\n req.onsuccess = done;\n });\n }\n function openCursor(_a) {\n var trans = _a.trans, values = _a.values, query = _a.query, reverse = _a.reverse, unique = _a.unique;\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var index = query.index, range = query.range;\n var store = trans.objectStore(tableName);\n var source = index.isPrimaryKey ?\n store :\n store.index(index.name);\n var direction = reverse ?\n unique ?\n \"prevunique\" :\n \"prev\" :\n unique ?\n \"nextunique\" :\n \"next\";\n var req = values || !('openKeyCursor' in source) ?\n source.openCursor(makeIDBKeyRange(range), direction) :\n source.openKeyCursor(makeIDBKeyRange(range), direction);\n req.onerror = eventRejectHandler(reject);\n req.onsuccess = wrap(function (ev) {\n var cursor = req.result;\n if (!cursor) {\n resolve(null);\n return;\n }\n cursor.___id = ++_id_counter;\n cursor.done = false;\n var _cursorContinue = cursor.continue.bind(cursor);\n var _cursorContinuePrimaryKey = cursor.continuePrimaryKey;\n if (_cursorContinuePrimaryKey)\n _cursorContinuePrimaryKey = _cursorContinuePrimaryKey.bind(cursor);\n var _cursorAdvance = cursor.advance.bind(cursor);\n var doThrowCursorIsNotStarted = function () { throw new Error(\"Cursor not started\"); };\n var doThrowCursorIsStopped = function () { throw new Error(\"Cursor not stopped\"); };\n cursor.trans = trans;\n cursor.stop = cursor.continue = cursor.continuePrimaryKey = cursor.advance = doThrowCursorIsNotStarted;\n cursor.fail = wrap(reject);\n cursor.next = function () {\n var _this = this;\n var gotOne = 1;\n return this.start(function () { return gotOne-- ? _this.continue() : _this.stop(); }).then(function () { return _this; });\n };\n cursor.start = function (callback) {\n var iterationPromise = new Promise(function (resolveIteration, rejectIteration) {\n resolveIteration = wrap(resolveIteration);\n req.onerror = eventRejectHandler(rejectIteration);\n cursor.fail = rejectIteration;\n cursor.stop = function (value) {\n cursor.stop = cursor.continue = cursor.continuePrimaryKey = cursor.advance = doThrowCursorIsStopped;\n resolveIteration(value);\n };\n });\n var guardedCallback = function () {\n if (req.result) {\n try {\n callback();\n }\n catch (err) {\n cursor.fail(err);\n }\n }\n else {\n cursor.done = true;\n cursor.start = function () { throw new Error(\"Cursor behind last entry\"); };\n cursor.stop();\n }\n };\n req.onsuccess = wrap(function (ev) {\n req.onsuccess = guardedCallback;\n guardedCallback();\n });\n cursor.continue = _cursorContinue;\n cursor.continuePrimaryKey = _cursorContinuePrimaryKey;\n cursor.advance = _cursorAdvance;\n guardedCallback();\n return iterationPromise;\n };\n resolve(cursor);\n }, reject);\n });\n }\n function query(hasGetAll) {\n return function (request) {\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var trans = request.trans, values = request.values, limit = request.limit, query = request.query;\n var nonInfinitLimit = limit === Infinity ? undefined : limit;\n var index = query.index, range = query.range;\n var store = trans.objectStore(tableName);\n var source = index.isPrimaryKey ? store : store.index(index.name);\n var idbKeyRange = makeIDBKeyRange(range);\n if (limit === 0)\n return resolve({ result: [] });\n if (hasGetAll) {\n var req = values ?\n source.getAll(idbKeyRange, nonInfinitLimit) :\n source.getAllKeys(idbKeyRange, nonInfinitLimit);\n req.onsuccess = function (event) { return resolve({ result: event.target.result }); };\n req.onerror = eventRejectHandler(reject);\n }\n else {\n var count_1 = 0;\n var req_1 = values || !('openKeyCursor' in source) ?\n source.openCursor(idbKeyRange) :\n source.openKeyCursor(idbKeyRange);\n var result_1 = [];\n req_1.onsuccess = function (event) {\n var cursor = req_1.result;\n if (!cursor)\n return resolve({ result: result_1 });\n result_1.push(values ? cursor.value : cursor.primaryKey);\n if (++count_1 === limit)\n return resolve({ result: result_1 });\n cursor.continue();\n };\n req_1.onerror = eventRejectHandler(reject);\n }\n });\n };\n }\n return {\n name: tableName,\n schema: tableSchema,\n mutate: mutate,\n getMany: function (_a) {\n var trans = _a.trans, keys = _a.keys;\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var store = trans.objectStore(tableName);\n var length = keys.length;\n var result = new Array(length);\n var keyCount = 0;\n var callbackCount = 0;\n var req;\n var successHandler = function (event) {\n var req = event.target;\n if ((result[req._pos] = req.result) != null)\n ;\n if (++callbackCount === keyCount)\n resolve(result);\n };\n var errorHandler = eventRejectHandler(reject);\n for (var i = 0; i < length; ++i) {\n var key = keys[i];\n if (key != null) {\n req = store.get(keys[i]);\n req._pos = i;\n req.onsuccess = successHandler;\n req.onerror = errorHandler;\n ++keyCount;\n }\n }\n if (keyCount === 0)\n resolve(result);\n });\n },\n get: function (_a) {\n var trans = _a.trans, key = _a.key;\n return new Promise(function (resolve, reject) {\n resolve = wrap(resolve);\n var store = trans.objectStore(tableName);\n var req = store.get(key);\n req.onsuccess = function (event) { return resolve(event.target.result); };\n req.onerror = eventRejectHandler(reject);\n });\n },\n query: query(hasGetAll),\n openCursor: openCursor,\n count: function (_a) {\n var query = _a.query, trans = _a.trans;\n var index = query.index, range = query.range;\n return new Promise(function (resolve, reject) {\n var store = trans.objectStore(tableName);\n var source = index.isPrimaryKey ? store : store.index(index.name);\n var idbKeyRange = makeIDBKeyRange(range);\n var req = idbKeyRange ? source.count(idbKeyRange) : source.count();\n req.onsuccess = wrap(function (ev) { return resolve(ev.target.result); });\n req.onerror = eventRejectHandler(reject);\n });\n }\n };\n }\n var _a = extractSchema(db, tmpTrans), schema = _a.schema, hasGetAll = _a.hasGetAll;\n var tables = schema.tables.map(function (tableSchema) { return createDbCoreTable(tableSchema); });\n var tableMap = {};\n tables.forEach(function (table) { return tableMap[table.name] = table; });\n return {\n stack: \"dbcore\",\n transaction: db.transaction.bind(db),\n table: function (name) {\n var result = tableMap[name];\n if (!result)\n throw new Error(\"Table '\".concat(name, \"' not found\"));\n return tableMap[name];\n },\n MIN_KEY: -Infinity,\n MAX_KEY: getMaxKey(IdbKeyRange),\n schema: schema\n };\n }\n\n function createMiddlewareStack(stackImpl, middlewares) {\n return middlewares.reduce(function (down, _a) {\n var create = _a.create;\n return (__assign(__assign({}, down), create(down)));\n }, stackImpl);\n }\n function createMiddlewareStacks(middlewares, idbdb, _a, tmpTrans) {\n var IDBKeyRange = _a.IDBKeyRange; _a.indexedDB;\n var dbcore = createMiddlewareStack(createDBCore(idbdb, IDBKeyRange, tmpTrans), middlewares.dbcore);\n return {\n dbcore: dbcore\n };\n }\n function generateMiddlewareStacks(db, tmpTrans) {\n var idbdb = tmpTrans.db;\n var stacks = createMiddlewareStacks(db._middlewares, idbdb, db._deps, tmpTrans);\n db.core = stacks.dbcore;\n db.tables.forEach(function (table) {\n var tableName = table.name;\n if (db.core.schema.tables.some(function (tbl) { return tbl.name === tableName; })) {\n table.core = db.core.table(tableName);\n if (db[tableName] instanceof db.Table) {\n db[tableName].core = table.core;\n }\n }\n });\n }\n\n function setApiOnPlace(db, objs, tableNames, dbschema) {\n tableNames.forEach(function (tableName) {\n var schema = dbschema[tableName];\n objs.forEach(function (obj) {\n var propDesc = getPropertyDescriptor(obj, tableName);\n if (!propDesc || (\"value\" in propDesc && propDesc.value === undefined)) {\n if (obj === db.Transaction.prototype || obj instanceof db.Transaction) {\n setProp(obj, tableName, {\n get: function () { return this.table(tableName); },\n set: function (value) {\n defineProperty(this, tableName, { value: value, writable: true, configurable: true, enumerable: true });\n }\n });\n }\n else {\n obj[tableName] = new db.Table(tableName, schema);\n }\n }\n });\n });\n }\n function removeTablesApi(db, objs) {\n objs.forEach(function (obj) {\n for (var key in obj) {\n if (obj[key] instanceof db.Table)\n delete obj[key];\n }\n });\n }\n function lowerVersionFirst(a, b) {\n return a._cfg.version - b._cfg.version;\n }\n function runUpgraders(db, oldVersion, idbUpgradeTrans, reject) {\n var globalSchema = db._dbSchema;\n if (idbUpgradeTrans.objectStoreNames.contains('$meta') && !globalSchema.$meta) {\n globalSchema.$meta = createTableSchema(\"$meta\", parseIndexSyntax(\"\")[0], []);\n db._storeNames.push('$meta');\n }\n var trans = db._createTransaction('readwrite', db._storeNames, globalSchema);\n trans.create(idbUpgradeTrans);\n trans._completion.catch(reject);\n var rejectTransaction = trans._reject.bind(trans);\n var transless = PSD.transless || PSD;\n newScope(function () {\n PSD.trans = trans;\n PSD.transless = transless;\n if (oldVersion === 0) {\n keys(globalSchema).forEach(function (tableName) {\n createTable(idbUpgradeTrans, tableName, globalSchema[tableName].primKey, globalSchema[tableName].indexes);\n });\n generateMiddlewareStacks(db, idbUpgradeTrans);\n DexiePromise.follow(function () { return db.on.populate.fire(trans); }).catch(rejectTransaction);\n }\n else {\n generateMiddlewareStacks(db, idbUpgradeTrans);\n return getExistingVersion(db, trans, oldVersion)\n .then(function (oldVersion) { return updateTablesAndIndexes(db, oldVersion, trans, idbUpgradeTrans); })\n .catch(rejectTransaction);\n }\n });\n }\n function patchCurrentVersion(db, idbUpgradeTrans) {\n createMissingTables(db._dbSchema, idbUpgradeTrans);\n if (idbUpgradeTrans.db.version % 10 === 0 && !idbUpgradeTrans.objectStoreNames.contains('$meta')) {\n idbUpgradeTrans.db.createObjectStore('$meta').add(Math.ceil((idbUpgradeTrans.db.version / 10) - 1), 'version');\n }\n var globalSchema = buildGlobalSchema(db, db.idbdb, idbUpgradeTrans);\n adjustToExistingIndexNames(db, db._dbSchema, idbUpgradeTrans);\n var diff = getSchemaDiff(globalSchema, db._dbSchema);\n var _loop_1 = function (tableChange) {\n if (tableChange.change.length || tableChange.recreate) {\n console.warn(\"Unable to patch indexes of table \".concat(tableChange.name, \" because it has changes on the type of index or primary key.\"));\n return { value: void 0 };\n }\n var store = idbUpgradeTrans.objectStore(tableChange.name);\n tableChange.add.forEach(function (idx) {\n if (debug)\n console.debug(\"Dexie upgrade patch: Creating missing index \".concat(tableChange.name, \".\").concat(idx.src));\n addIndex(store, idx);\n });\n };\n for (var _i = 0, _a = diff.change; _i < _a.length; _i++) {\n var tableChange = _a[_i];\n var state_1 = _loop_1(tableChange);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n }\n function getExistingVersion(db, trans, oldVersion) {\n if (trans.storeNames.includes('$meta')) {\n return trans.table('$meta').get('version').then(function (metaVersion) {\n return metaVersion != null ? metaVersion : oldVersion;\n });\n }\n else {\n return DexiePromise.resolve(oldVersion);\n }\n }\n function updateTablesAndIndexes(db, oldVersion, trans, idbUpgradeTrans) {\n var queue = [];\n var versions = db._versions;\n var globalSchema = db._dbSchema = buildGlobalSchema(db, db.idbdb, idbUpgradeTrans);\n var versToRun = versions.filter(function (v) { return v._cfg.version >= oldVersion; });\n if (versToRun.length === 0) {\n return DexiePromise.resolve();\n }\n versToRun.forEach(function (version) {\n queue.push(function () {\n var oldSchema = globalSchema;\n var newSchema = version._cfg.dbschema;\n adjustToExistingIndexNames(db, oldSchema, idbUpgradeTrans);\n adjustToExistingIndexNames(db, newSchema, idbUpgradeTrans);\n globalSchema = db._dbSchema = newSchema;\n var diff = getSchemaDiff(oldSchema, newSchema);\n diff.add.forEach(function (tuple) {\n createTable(idbUpgradeTrans, tuple[0], tuple[1].primKey, tuple[1].indexes);\n });\n diff.change.forEach(function (change) {\n if (change.recreate) {\n throw new exceptions.Upgrade(\"Not yet support for changing primary key\");\n }\n else {\n var store_1 = idbUpgradeTrans.objectStore(change.name);\n change.add.forEach(function (idx) { return addIndex(store_1, idx); });\n change.change.forEach(function (idx) {\n store_1.deleteIndex(idx.name);\n addIndex(store_1, idx);\n });\n change.del.forEach(function (idxName) { return store_1.deleteIndex(idxName); });\n }\n });\n var contentUpgrade = version._cfg.contentUpgrade;\n if (contentUpgrade && version._cfg.version > oldVersion) {\n generateMiddlewareStacks(db, idbUpgradeTrans);\n trans._memoizedTables = {};\n var upgradeSchema_1 = shallowClone(newSchema);\n diff.del.forEach(function (table) {\n upgradeSchema_1[table] = oldSchema[table];\n });\n removeTablesApi(db, [db.Transaction.prototype]);\n setApiOnPlace(db, [db.Transaction.prototype], keys(upgradeSchema_1), upgradeSchema_1);\n trans.schema = upgradeSchema_1;\n var contentUpgradeIsAsync_1 = isAsyncFunction(contentUpgrade);\n if (contentUpgradeIsAsync_1) {\n incrementExpectedAwaits();\n }\n var returnValue_1;\n var promiseFollowed = DexiePromise.follow(function () {\n returnValue_1 = contentUpgrade(trans);\n if (returnValue_1) {\n if (contentUpgradeIsAsync_1) {\n var decrementor = decrementExpectedAwaits.bind(null, null);\n returnValue_1.then(decrementor, decrementor);\n }\n }\n });\n return (returnValue_1 && typeof returnValue_1.then === 'function' ?\n DexiePromise.resolve(returnValue_1) : promiseFollowed.then(function () { return returnValue_1; }));\n }\n });\n queue.push(function (idbtrans) {\n var newSchema = version._cfg.dbschema;\n deleteRemovedTables(newSchema, idbtrans);\n removeTablesApi(db, [db.Transaction.prototype]);\n setApiOnPlace(db, [db.Transaction.prototype], db._storeNames, db._dbSchema);\n trans.schema = db._dbSchema;\n });\n queue.push(function (idbtrans) {\n if (db.idbdb.objectStoreNames.contains('$meta')) {\n if (Math.ceil(db.idbdb.version / 10) === version._cfg.version) {\n db.idbdb.deleteObjectStore('$meta');\n delete db._dbSchema.$meta;\n db._storeNames = db._storeNames.filter(function (name) { return name !== '$meta'; });\n }\n else {\n idbtrans.objectStore('$meta').put(version._cfg.version, 'version');\n }\n }\n });\n });\n function runQueue() {\n return queue.length ? DexiePromise.resolve(queue.shift()(trans.idbtrans)).then(runQueue) :\n DexiePromise.resolve();\n }\n return runQueue().then(function () {\n createMissingTables(globalSchema, idbUpgradeTrans);\n });\n }\n function getSchemaDiff(oldSchema, newSchema) {\n var diff = {\n del: [],\n add: [],\n change: []\n };\n var table;\n for (table in oldSchema) {\n if (!newSchema[table])\n diff.del.push(table);\n }\n for (table in newSchema) {\n var oldDef = oldSchema[table], newDef = newSchema[table];\n if (!oldDef) {\n diff.add.push([table, newDef]);\n }\n else {\n var change = {\n name: table,\n def: newDef,\n recreate: false,\n del: [],\n add: [],\n change: []\n };\n if ((\n '' + (oldDef.primKey.keyPath || '')) !== ('' + (newDef.primKey.keyPath || '')) ||\n (oldDef.primKey.auto !== newDef.primKey.auto)) {\n change.recreate = true;\n diff.change.push(change);\n }\n else {\n var oldIndexes = oldDef.idxByName;\n var newIndexes = newDef.idxByName;\n var idxName = void 0;\n for (idxName in oldIndexes) {\n if (!newIndexes[idxName])\n change.del.push(idxName);\n }\n for (idxName in newIndexes) {\n var oldIdx = oldIndexes[idxName], newIdx = newIndexes[idxName];\n if (!oldIdx)\n change.add.push(newIdx);\n else if (oldIdx.src !== newIdx.src)\n change.change.push(newIdx);\n }\n if (change.del.length > 0 || change.add.length > 0 || change.change.length > 0) {\n diff.change.push(change);\n }\n }\n }\n }\n return diff;\n }\n function createTable(idbtrans, tableName, primKey, indexes) {\n var store = idbtrans.db.createObjectStore(tableName, primKey.keyPath ?\n { keyPath: primKey.keyPath, autoIncrement: primKey.auto } :\n { autoIncrement: primKey.auto });\n indexes.forEach(function (idx) { return addIndex(store, idx); });\n return store;\n }\n function createMissingTables(newSchema, idbtrans) {\n keys(newSchema).forEach(function (tableName) {\n if (!idbtrans.db.objectStoreNames.contains(tableName)) {\n if (debug)\n console.debug('Dexie: Creating missing table', tableName);\n createTable(idbtrans, tableName, newSchema[tableName].primKey, newSchema[tableName].indexes);\n }\n });\n }\n function deleteRemovedTables(newSchema, idbtrans) {\n [].slice.call(idbtrans.db.objectStoreNames).forEach(function (storeName) {\n return newSchema[storeName] == null && idbtrans.db.deleteObjectStore(storeName);\n });\n }\n function addIndex(store, idx) {\n store.createIndex(idx.name, idx.keyPath, { unique: idx.unique, multiEntry: idx.multi });\n }\n function buildGlobalSchema(db, idbdb, tmpTrans) {\n var globalSchema = {};\n var dbStoreNames = slice(idbdb.objectStoreNames, 0);\n dbStoreNames.forEach(function (storeName) {\n var store = tmpTrans.objectStore(storeName);\n var keyPath = store.keyPath;\n var primKey = createIndexSpec(nameFromKeyPath(keyPath), keyPath || \"\", true, false, !!store.autoIncrement, keyPath && typeof keyPath !== \"string\", true);\n var indexes = [];\n for (var j = 0; j < store.indexNames.length; ++j) {\n var idbindex = store.index(store.indexNames[j]);\n keyPath = idbindex.keyPath;\n var index = createIndexSpec(idbindex.name, keyPath, !!idbindex.unique, !!idbindex.multiEntry, false, keyPath && typeof keyPath !== \"string\", false);\n indexes.push(index);\n }\n globalSchema[storeName] = createTableSchema(storeName, primKey, indexes);\n });\n return globalSchema;\n }\n function readGlobalSchema(db, idbdb, tmpTrans) {\n db.verno = idbdb.version / 10;\n var globalSchema = db._dbSchema = buildGlobalSchema(db, idbdb, tmpTrans);\n db._storeNames = slice(idbdb.objectStoreNames, 0);\n setApiOnPlace(db, [db._allTables], keys(globalSchema), globalSchema);\n }\n function verifyInstalledSchema(db, tmpTrans) {\n var installedSchema = buildGlobalSchema(db, db.idbdb, tmpTrans);\n var diff = getSchemaDiff(installedSchema, db._dbSchema);\n return !(diff.add.length || diff.change.some(function (ch) { return ch.add.length || ch.change.length; }));\n }\n function adjustToExistingIndexNames(db, schema, idbtrans) {\n var storeNames = idbtrans.db.objectStoreNames;\n for (var i = 0; i < storeNames.length; ++i) {\n var storeName = storeNames[i];\n var store = idbtrans.objectStore(storeName);\n db._hasGetAll = 'getAll' in store;\n for (var j = 0; j < store.indexNames.length; ++j) {\n var indexName = store.indexNames[j];\n var keyPath = store.index(indexName).keyPath;\n var dexieName = typeof keyPath === 'string' ? keyPath : \"[\" + slice(keyPath).join('+') + \"]\";\n if (schema[storeName]) {\n var indexSpec = schema[storeName].idxByName[dexieName];\n if (indexSpec) {\n indexSpec.name = indexName;\n delete schema[storeName].idxByName[dexieName];\n schema[storeName].idxByName[indexName] = indexSpec;\n }\n }\n }\n }\n if (typeof navigator !== 'undefined' && /Safari/.test(navigator.userAgent) &&\n !/(Chrome\\/|Edge\\/)/.test(navigator.userAgent) &&\n _global.WorkerGlobalScope && _global instanceof _global.WorkerGlobalScope &&\n [].concat(navigator.userAgent.match(/Safari\\/(\\d*)/))[1] < 604) {\n db._hasGetAll = false;\n }\n }\n function parseIndexSyntax(primKeyAndIndexes) {\n return primKeyAndIndexes.split(',').map(function (index, indexNum) {\n index = index.trim();\n var name = index.replace(/([&*]|\\+\\+)/g, \"\");\n var keyPath = /^\\[/.test(name) ? name.match(/^\\[(.*)\\]$/)[1].split('+') : name;\n return createIndexSpec(name, keyPath || null, /\\&/.test(index), /\\*/.test(index), /\\+\\+/.test(index), isArray(keyPath), indexNum === 0);\n });\n }\n\n var Version = (function () {\n function Version() {\n }\n Version.prototype._parseStoresSpec = function (stores, outSchema) {\n keys(stores).forEach(function (tableName) {\n if (stores[tableName] !== null) {\n var indexes = parseIndexSyntax(stores[tableName]);\n var primKey = indexes.shift();\n primKey.unique = true;\n if (primKey.multi)\n throw new exceptions.Schema(\"Primary key cannot be multi-valued\");\n indexes.forEach(function (idx) {\n if (idx.auto)\n throw new exceptions.Schema(\"Only primary key can be marked as autoIncrement (++)\");\n if (!idx.keyPath)\n throw new exceptions.Schema(\"Index must have a name and cannot be an empty string\");\n });\n outSchema[tableName] = createTableSchema(tableName, primKey, indexes);\n }\n });\n };\n Version.prototype.stores = function (stores) {\n var db = this.db;\n this._cfg.storesSource = this._cfg.storesSource ?\n extend(this._cfg.storesSource, stores) :\n stores;\n var versions = db._versions;\n var storesSpec = {};\n var dbschema = {};\n versions.forEach(function (version) {\n extend(storesSpec, version._cfg.storesSource);\n dbschema = (version._cfg.dbschema = {});\n version._parseStoresSpec(storesSpec, dbschema);\n });\n db._dbSchema = dbschema;\n removeTablesApi(db, [db._allTables, db, db.Transaction.prototype]);\n setApiOnPlace(db, [db._allTables, db, db.Transaction.prototype, this._cfg.tables], keys(dbschema), dbschema);\n db._storeNames = keys(dbschema);\n return this;\n };\n Version.prototype.upgrade = function (upgradeFunction) {\n this._cfg.contentUpgrade = promisableChain(this._cfg.contentUpgrade || nop, upgradeFunction);\n return this;\n };\n return Version;\n }());\n\n function createVersionConstructor(db) {\n return makeClassConstructor(Version.prototype, function Version(versionNumber) {\n this.db = db;\n this._cfg = {\n version: versionNumber,\n storesSource: null,\n dbschema: {},\n tables: {},\n contentUpgrade: null\n };\n });\n }\n\n function getDbNamesTable(indexedDB, IDBKeyRange) {\n var dbNamesDB = indexedDB[\"_dbNamesDB\"];\n if (!dbNamesDB) {\n dbNamesDB = indexedDB[\"_dbNamesDB\"] = new Dexie$1(DBNAMES_DB, {\n addons: [],\n indexedDB: indexedDB,\n IDBKeyRange: IDBKeyRange,\n });\n dbNamesDB.version(1).stores({ dbnames: \"name\" });\n }\n return dbNamesDB.table(\"dbnames\");\n }\n function hasDatabasesNative(indexedDB) {\n return indexedDB && typeof indexedDB.databases === \"function\";\n }\n function getDatabaseNames(_a) {\n var indexedDB = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;\n return hasDatabasesNative(indexedDB)\n ? Promise.resolve(indexedDB.databases()).then(function (infos) {\n return infos\n .map(function (info) { return info.name; })\n .filter(function (name) { return name !== DBNAMES_DB; });\n })\n : getDbNamesTable(indexedDB, IDBKeyRange).toCollection().primaryKeys();\n }\n function _onDatabaseCreated(_a, name) {\n var indexedDB = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;\n !hasDatabasesNative(indexedDB) &&\n name !== DBNAMES_DB &&\n getDbNamesTable(indexedDB, IDBKeyRange).put({ name: name }).catch(nop);\n }\n function _onDatabaseDeleted(_a, name) {\n var indexedDB = _a.indexedDB, IDBKeyRange = _a.IDBKeyRange;\n !hasDatabasesNative(indexedDB) &&\n name !== DBNAMES_DB &&\n getDbNamesTable(indexedDB, IDBKeyRange).delete(name).catch(nop);\n }\n\n function vip(fn) {\n return newScope(function () {\n PSD.letThrough = true;\n return fn();\n });\n }\n\n function idbReady() {\n var isSafari = !navigator.userAgentData &&\n /Safari\\//.test(navigator.userAgent) &&\n !/Chrom(e|ium)\\//.test(navigator.userAgent);\n if (!isSafari || !indexedDB.databases)\n return Promise.resolve();\n var intervalId;\n return new Promise(function (resolve) {\n var tryIdb = function () { return indexedDB.databases().finally(resolve); };\n intervalId = setInterval(tryIdb, 100);\n tryIdb();\n }).finally(function () { return clearInterval(intervalId); });\n }\n\n var _a;\n function isEmptyRange(node) {\n return !(\"from\" in node);\n }\n var RangeSet = function (fromOrTree, to) {\n if (this) {\n extend(this, arguments.length ? { d: 1, from: fromOrTree, to: arguments.length > 1 ? to : fromOrTree } : { d: 0 });\n }\n else {\n var rv = new RangeSet();\n if (fromOrTree && (\"d\" in fromOrTree)) {\n extend(rv, fromOrTree);\n }\n return rv;\n }\n };\n props(RangeSet.prototype, (_a = {\n add: function (rangeSet) {\n mergeRanges(this, rangeSet);\n return this;\n },\n addKey: function (key) {\n addRange(this, key, key);\n return this;\n },\n addKeys: function (keys) {\n var _this = this;\n keys.forEach(function (key) { return addRange(_this, key, key); });\n return this;\n },\n hasKey: function (key) {\n var node = getRangeSetIterator(this).next(key).value;\n return node && cmp(node.from, key) <= 0 && cmp(node.to, key) >= 0;\n }\n },\n _a[iteratorSymbol] = function () {\n return getRangeSetIterator(this);\n },\n _a));\n function addRange(target, from, to) {\n var diff = cmp(from, to);\n if (isNaN(diff))\n return;\n if (diff > 0)\n throw RangeError();\n if (isEmptyRange(target))\n return extend(target, { from: from, to: to, d: 1 });\n var left = target.l;\n var right = target.r;\n if (cmp(to, target.from) < 0) {\n left\n ? addRange(left, from, to)\n : (target.l = { from: from, to: to, d: 1, l: null, r: null });\n return rebalance(target);\n }\n if (cmp(from, target.to) > 0) {\n right\n ? addRange(right, from, to)\n : (target.r = { from: from, to: to, d: 1, l: null, r: null });\n return rebalance(target);\n }\n if (cmp(from, target.from) < 0) {\n target.from = from;\n target.l = null;\n target.d = right ? right.d + 1 : 1;\n }\n if (cmp(to, target.to) > 0) {\n target.to = to;\n target.r = null;\n target.d = target.l ? target.l.d + 1 : 1;\n }\n var rightWasCutOff = !target.r;\n if (left && !target.l) {\n mergeRanges(target, left);\n }\n if (right && rightWasCutOff) {\n mergeRanges(target, right);\n }\n }\n function mergeRanges(target, newSet) {\n function _addRangeSet(target, _a) {\n var from = _a.from, to = _a.to, l = _a.l, r = _a.r;\n addRange(target, from, to);\n if (l)\n _addRangeSet(target, l);\n if (r)\n _addRangeSet(target, r);\n }\n if (!isEmptyRange(newSet))\n _addRangeSet(target, newSet);\n }\n function rangesOverlap(rangeSet1, rangeSet2) {\n var i1 = getRangeSetIterator(rangeSet2);\n var nextResult1 = i1.next();\n if (nextResult1.done)\n return false;\n var a = nextResult1.value;\n var i2 = getRangeSetIterator(rangeSet1);\n var nextResult2 = i2.next(a.from);\n var b = nextResult2.value;\n while (!nextResult1.done && !nextResult2.done) {\n if (cmp(b.from, a.to) <= 0 && cmp(b.to, a.from) >= 0)\n return true;\n cmp(a.from, b.from) < 0\n ? (a = (nextResult1 = i1.next(b.from)).value)\n : (b = (nextResult2 = i2.next(a.from)).value);\n }\n return false;\n }\n function getRangeSetIterator(node) {\n var state = isEmptyRange(node) ? null : { s: 0, n: node };\n return {\n next: function (key) {\n var keyProvided = arguments.length > 0;\n while (state) {\n switch (state.s) {\n case 0:\n state.s = 1;\n if (keyProvided) {\n while (state.n.l && cmp(key, state.n.from) < 0)\n state = { up: state, n: state.n.l, s: 1 };\n }\n else {\n while (state.n.l)\n state = { up: state, n: state.n.l, s: 1 };\n }\n case 1:\n state.s = 2;\n if (!keyProvided || cmp(key, state.n.to) <= 0)\n return { value: state.n, done: false };\n case 2:\n if (state.n.r) {\n state.s = 3;\n state = { up: state, n: state.n.r, s: 0 };\n continue;\n }\n case 3:\n state = state.up;\n }\n }\n return { done: true };\n },\n };\n }\n function rebalance(target) {\n var _a, _b;\n var diff = (((_a = target.r) === null || _a === void 0 ? void 0 : _a.d) || 0) - (((_b = target.l) === null || _b === void 0 ? void 0 : _b.d) || 0);\n var r = diff > 1 ? \"r\" : diff < -1 ? \"l\" : \"\";\n if (r) {\n var l = r === \"r\" ? \"l\" : \"r\";\n var rootClone = __assign({}, target);\n var oldRootRight = target[r];\n target.from = oldRootRight.from;\n target.to = oldRootRight.to;\n target[r] = oldRootRight[r];\n rootClone[r] = oldRootRight[l];\n target[l] = rootClone;\n rootClone.d = computeDepth(rootClone);\n }\n target.d = computeDepth(target);\n }\n function computeDepth(_a) {\n var r = _a.r, l = _a.l;\n return (r ? (l ? Math.max(r.d, l.d) : r.d) : l ? l.d : 0) + 1;\n }\n\n function extendObservabilitySet(target, newSet) {\n keys(newSet).forEach(function (part) {\n if (target[part])\n mergeRanges(target[part], newSet[part]);\n else\n target[part] = cloneSimpleObjectTree(newSet[part]);\n });\n return target;\n }\n\n function obsSetsOverlap(os1, os2) {\n return os1.all || os2.all || Object.keys(os1).some(function (key) { return os2[key] && rangesOverlap(os2[key], os1[key]); });\n }\n\n var cache = {};\n\n var unsignaledParts = {};\n var isTaskEnqueued = false;\n function signalSubscribersLazily(part, optimistic) {\n extendObservabilitySet(unsignaledParts, part);\n if (!isTaskEnqueued) {\n isTaskEnqueued = true;\n setTimeout(function () {\n isTaskEnqueued = false;\n var parts = unsignaledParts;\n unsignaledParts = {};\n signalSubscribersNow(parts, false);\n }, 0);\n }\n }\n function signalSubscribersNow(updatedParts, deleteAffectedCacheEntries) {\n if (deleteAffectedCacheEntries === void 0) { deleteAffectedCacheEntries = false; }\n var queriesToSignal = new Set();\n if (updatedParts.all) {\n for (var _i = 0, _a = Object.values(cache); _i < _a.length; _i++) {\n var tblCache = _a[_i];\n collectTableSubscribers(tblCache, updatedParts, queriesToSignal, deleteAffectedCacheEntries);\n }\n }\n else {\n for (var key in updatedParts) {\n var parts = /^idb\\:\\/\\/(.*)\\/(.*)\\//.exec(key);\n if (parts) {\n var dbName = parts[1], tableName = parts[2];\n var tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(tableName)];\n if (tblCache)\n collectTableSubscribers(tblCache, updatedParts, queriesToSignal, deleteAffectedCacheEntries);\n }\n }\n }\n queriesToSignal.forEach(function (requery) { return requery(); });\n }\n function collectTableSubscribers(tblCache, updatedParts, outQueriesToSignal, deleteAffectedCacheEntries) {\n var updatedEntryLists = [];\n for (var _i = 0, _a = Object.entries(tblCache.queries.query); _i < _a.length; _i++) {\n var _b = _a[_i], indexName = _b[0], entries = _b[1];\n var filteredEntries = [];\n for (var _c = 0, entries_1 = entries; _c < entries_1.length; _c++) {\n var entry = entries_1[_c];\n if (obsSetsOverlap(updatedParts, entry.obsSet)) {\n entry.subscribers.forEach(function (requery) { return outQueriesToSignal.add(requery); });\n }\n else if (deleteAffectedCacheEntries) {\n filteredEntries.push(entry);\n }\n }\n if (deleteAffectedCacheEntries)\n updatedEntryLists.push([indexName, filteredEntries]);\n }\n if (deleteAffectedCacheEntries) {\n for (var _d = 0, updatedEntryLists_1 = updatedEntryLists; _d < updatedEntryLists_1.length; _d++) {\n var _e = updatedEntryLists_1[_d], indexName = _e[0], filteredEntries = _e[1];\n tblCache.queries.query[indexName] = filteredEntries;\n }\n }\n }\n\n function dexieOpen(db) {\n var state = db._state;\n var indexedDB = db._deps.indexedDB;\n if (state.isBeingOpened || db.idbdb)\n return state.dbReadyPromise.then(function () { return state.dbOpenError ?\n rejection(state.dbOpenError) :\n db; });\n state.isBeingOpened = true;\n state.dbOpenError = null;\n state.openComplete = false;\n var openCanceller = state.openCanceller;\n var nativeVerToOpen = Math.round(db.verno * 10);\n var schemaPatchMode = false;\n function throwIfCancelled() {\n if (state.openCanceller !== openCanceller)\n throw new exceptions.DatabaseClosed('db.open() was cancelled');\n }\n var resolveDbReady = state.dbReadyResolve,\n upgradeTransaction = null, wasCreated = false;\n var tryOpenDB = function () { return new DexiePromise(function (resolve, reject) {\n throwIfCancelled();\n if (!indexedDB)\n throw new exceptions.MissingAPI();\n var dbName = db.name;\n var req = state.autoSchema || !nativeVerToOpen ?\n indexedDB.open(dbName) :\n indexedDB.open(dbName, nativeVerToOpen);\n if (!req)\n throw new exceptions.MissingAPI();\n req.onerror = eventRejectHandler(reject);\n req.onblocked = wrap(db._fireOnBlocked);\n req.onupgradeneeded = wrap(function (e) {\n upgradeTransaction = req.transaction;\n if (state.autoSchema && !db._options.allowEmptyDB) {\n req.onerror = preventDefault;\n upgradeTransaction.abort();\n req.result.close();\n var delreq = indexedDB.deleteDatabase(dbName);\n delreq.onsuccess = delreq.onerror = wrap(function () {\n reject(new exceptions.NoSuchDatabase(\"Database \".concat(dbName, \" doesnt exist\")));\n });\n }\n else {\n upgradeTransaction.onerror = eventRejectHandler(reject);\n var oldVer = e.oldVersion > Math.pow(2, 62) ? 0 : e.oldVersion;\n wasCreated = oldVer < 1;\n db.idbdb = req.result;\n if (schemaPatchMode) {\n patchCurrentVersion(db, upgradeTransaction);\n }\n runUpgraders(db, oldVer / 10, upgradeTransaction, reject);\n }\n }, reject);\n req.onsuccess = wrap(function () {\n upgradeTransaction = null;\n var idbdb = db.idbdb = req.result;\n var objectStoreNames = slice(idbdb.objectStoreNames);\n if (objectStoreNames.length > 0)\n try {\n var tmpTrans = idbdb.transaction(safariMultiStoreFix(objectStoreNames), 'readonly');\n if (state.autoSchema)\n readGlobalSchema(db, idbdb, tmpTrans);\n else {\n adjustToExistingIndexNames(db, db._dbSchema, tmpTrans);\n if (!verifyInstalledSchema(db, tmpTrans) && !schemaPatchMode) {\n console.warn(\"Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this.\");\n idbdb.close();\n nativeVerToOpen = idbdb.version + 1;\n schemaPatchMode = true;\n return resolve(tryOpenDB());\n }\n }\n generateMiddlewareStacks(db, tmpTrans);\n }\n catch (e) {\n }\n connections.push(db);\n idbdb.onversionchange = wrap(function (ev) {\n state.vcFired = true;\n db.on(\"versionchange\").fire(ev);\n });\n idbdb.onclose = wrap(function (ev) {\n db.on(\"close\").fire(ev);\n });\n if (wasCreated)\n _onDatabaseCreated(db._deps, dbName);\n resolve();\n }, reject);\n }).catch(function (err) {\n switch (err === null || err === void 0 ? void 0 : err.name) {\n case \"UnknownError\":\n if (state.PR1398_maxLoop > 0) {\n state.PR1398_maxLoop--;\n console.warn('Dexie: Workaround for Chrome UnknownError on open()');\n return tryOpenDB();\n }\n break;\n case \"VersionError\":\n if (nativeVerToOpen > 0) {\n nativeVerToOpen = 0;\n return tryOpenDB();\n }\n break;\n }\n return DexiePromise.reject(err);\n }); };\n return DexiePromise.race([\n openCanceller,\n (typeof navigator === 'undefined' ? DexiePromise.resolve() : idbReady()).then(tryOpenDB)\n ]).then(function () {\n throwIfCancelled();\n state.onReadyBeingFired = [];\n return DexiePromise.resolve(vip(function () { return db.on.ready.fire(db.vip); })).then(function fireRemainders() {\n if (state.onReadyBeingFired.length > 0) {\n var remainders_1 = state.onReadyBeingFired.reduce(promisableChain, nop);\n state.onReadyBeingFired = [];\n return DexiePromise.resolve(vip(function () { return remainders_1(db.vip); })).then(fireRemainders);\n }\n });\n }).finally(function () {\n if (state.openCanceller === openCanceller) {\n state.onReadyBeingFired = null;\n state.isBeingOpened = false;\n }\n }).catch(function (err) {\n state.dbOpenError = err;\n try {\n upgradeTransaction && upgradeTransaction.abort();\n }\n catch (_a) { }\n if (openCanceller === state.openCanceller) {\n db._close();\n }\n return rejection(err);\n }).finally(function () {\n state.openComplete = true;\n resolveDbReady();\n }).then(function () {\n if (wasCreated) {\n var everything_1 = {};\n db.tables.forEach(function (table) {\n table.schema.indexes.forEach(function (idx) {\n if (idx.name)\n everything_1[\"idb://\".concat(db.name, \"/\").concat(table.name, \"/\").concat(idx.name)] = new RangeSet(-Infinity, [[[]]]);\n });\n everything_1[\"idb://\".concat(db.name, \"/\").concat(table.name, \"/\")] = everything_1[\"idb://\".concat(db.name, \"/\").concat(table.name, \"/:dels\")] = new RangeSet(-Infinity, [[[]]]);\n });\n globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME).fire(everything_1);\n signalSubscribersNow(everything_1, true);\n }\n return db;\n });\n }\n\n function awaitIterator(iterator) {\n var callNext = function (result) { return iterator.next(result); }, doThrow = function (error) { return iterator.throw(error); }, onSuccess = step(callNext), onError = step(doThrow);\n function step(getNext) {\n return function (val) {\n var next = getNext(val), value = next.value;\n return next.done ? value :\n (!value || typeof value.then !== 'function' ?\n isArray(value) ? Promise.all(value).then(onSuccess, onError) : onSuccess(value) :\n value.then(onSuccess, onError));\n };\n }\n return step(callNext)();\n }\n\n function extractTransactionArgs(mode, _tableArgs_, scopeFunc) {\n var i = arguments.length;\n if (i < 2)\n throw new exceptions.InvalidArgument(\"Too few arguments\");\n var args = new Array(i - 1);\n while (--i)\n args[i - 1] = arguments[i];\n scopeFunc = args.pop();\n var tables = flatten(args);\n return [mode, tables, scopeFunc];\n }\n function enterTransactionScope(db, mode, storeNames, parentTransaction, scopeFunc) {\n return DexiePromise.resolve().then(function () {\n var transless = PSD.transless || PSD;\n var trans = db._createTransaction(mode, storeNames, db._dbSchema, parentTransaction);\n trans.explicit = true;\n var zoneProps = {\n trans: trans,\n transless: transless\n };\n if (parentTransaction) {\n trans.idbtrans = parentTransaction.idbtrans;\n }\n else {\n try {\n trans.create();\n trans.idbtrans._explicit = true;\n db._state.PR1398_maxLoop = 3;\n }\n catch (ex) {\n if (ex.name === errnames.InvalidState && db.isOpen() && --db._state.PR1398_maxLoop > 0) {\n console.warn('Dexie: Need to reopen db');\n db.close({ disableAutoOpen: false });\n return db.open().then(function () { return enterTransactionScope(db, mode, storeNames, null, scopeFunc); });\n }\n return rejection(ex);\n }\n }\n var scopeFuncIsAsync = isAsyncFunction(scopeFunc);\n if (scopeFuncIsAsync) {\n incrementExpectedAwaits();\n }\n var returnValue;\n var promiseFollowed = DexiePromise.follow(function () {\n returnValue = scopeFunc.call(trans, trans);\n if (returnValue) {\n if (scopeFuncIsAsync) {\n var decrementor = decrementExpectedAwaits.bind(null, null);\n returnValue.then(decrementor, decrementor);\n }\n else if (typeof returnValue.next === 'function' && typeof returnValue.throw === 'function') {\n returnValue = awaitIterator(returnValue);\n }\n }\n }, zoneProps);\n return (returnValue && typeof returnValue.then === 'function' ?\n DexiePromise.resolve(returnValue).then(function (x) { return trans.active ?\n x\n : rejection(new exceptions.PrematureCommit(\"Transaction committed too early. See http://bit.ly/2kdckMn\")); })\n : promiseFollowed.then(function () { return returnValue; })).then(function (x) {\n if (parentTransaction)\n trans._resolve();\n return trans._completion.then(function () { return x; });\n }).catch(function (e) {\n trans._reject(e);\n return rejection(e);\n });\n });\n }\n\n function pad(a, value, count) {\n var result = isArray(a) ? a.slice() : [a];\n for (var i = 0; i < count; ++i)\n result.push(value);\n return result;\n }\n function createVirtualIndexMiddleware(down) {\n return __assign(__assign({}, down), { table: function (tableName) {\n var table = down.table(tableName);\n var schema = table.schema;\n var indexLookup = {};\n var allVirtualIndexes = [];\n function addVirtualIndexes(keyPath, keyTail, lowLevelIndex) {\n var keyPathAlias = getKeyPathAlias(keyPath);\n var indexList = (indexLookup[keyPathAlias] = indexLookup[keyPathAlias] || []);\n var keyLength = keyPath == null ? 0 : typeof keyPath === 'string' ? 1 : keyPath.length;\n var isVirtual = keyTail > 0;\n var virtualIndex = __assign(__assign({}, lowLevelIndex), { name: isVirtual\n ? \"\".concat(keyPathAlias, \"(virtual-from:\").concat(lowLevelIndex.name, \")\")\n : lowLevelIndex.name, lowLevelIndex: lowLevelIndex, isVirtual: isVirtual, keyTail: keyTail, keyLength: keyLength, extractKey: getKeyExtractor(keyPath), unique: !isVirtual && lowLevelIndex.unique });\n indexList.push(virtualIndex);\n if (!virtualIndex.isPrimaryKey) {\n allVirtualIndexes.push(virtualIndex);\n }\n if (keyLength > 1) {\n var virtualKeyPath = keyLength === 2 ?\n keyPath[0] :\n keyPath.slice(0, keyLength - 1);\n addVirtualIndexes(virtualKeyPath, keyTail + 1, lowLevelIndex);\n }\n indexList.sort(function (a, b) { return a.keyTail - b.keyTail; });\n return virtualIndex;\n }\n var primaryKey = addVirtualIndexes(schema.primaryKey.keyPath, 0, schema.primaryKey);\n indexLookup[\":id\"] = [primaryKey];\n for (var _i = 0, _a = schema.indexes; _i < _a.length; _i++) {\n var index = _a[_i];\n addVirtualIndexes(index.keyPath, 0, index);\n }\n function findBestIndex(keyPath) {\n var result = indexLookup[getKeyPathAlias(keyPath)];\n return result && result[0];\n }\n function translateRange(range, keyTail) {\n return {\n type: range.type === 1 ?\n 2 :\n range.type,\n lower: pad(range.lower, range.lowerOpen ? down.MAX_KEY : down.MIN_KEY, keyTail),\n lowerOpen: true,\n upper: pad(range.upper, range.upperOpen ? down.MIN_KEY : down.MAX_KEY, keyTail),\n upperOpen: true\n };\n }\n function translateRequest(req) {\n var index = req.query.index;\n return index.isVirtual ? __assign(__assign({}, req), { query: {\n index: index.lowLevelIndex,\n range: translateRange(req.query.range, index.keyTail)\n } }) : req;\n }\n var result = __assign(__assign({}, table), { schema: __assign(__assign({}, schema), { primaryKey: primaryKey, indexes: allVirtualIndexes, getIndexByKeyPath: findBestIndex }), count: function (req) {\n return table.count(translateRequest(req));\n }, query: function (req) {\n return table.query(translateRequest(req));\n }, openCursor: function (req) {\n var _a = req.query.index, keyTail = _a.keyTail, isVirtual = _a.isVirtual, keyLength = _a.keyLength;\n if (!isVirtual)\n return table.openCursor(req);\n function createVirtualCursor(cursor) {\n function _continue(key) {\n key != null ?\n cursor.continue(pad(key, req.reverse ? down.MAX_KEY : down.MIN_KEY, keyTail)) :\n req.unique ?\n cursor.continue(cursor.key.slice(0, keyLength)\n .concat(req.reverse\n ? down.MIN_KEY\n : down.MAX_KEY, keyTail)) :\n cursor.continue();\n }\n var virtualCursor = Object.create(cursor, {\n continue: { value: _continue },\n continuePrimaryKey: {\n value: function (key, primaryKey) {\n cursor.continuePrimaryKey(pad(key, down.MAX_KEY, keyTail), primaryKey);\n }\n },\n primaryKey: {\n get: function () {\n return cursor.primaryKey;\n }\n },\n key: {\n get: function () {\n var key = cursor.key;\n return keyLength === 1 ?\n key[0] :\n key.slice(0, keyLength);\n }\n },\n value: {\n get: function () {\n return cursor.value;\n }\n }\n });\n return virtualCursor;\n }\n return table.openCursor(translateRequest(req))\n .then(function (cursor) { return cursor && createVirtualCursor(cursor); });\n } });\n return result;\n } });\n }\n var virtualIndexMiddleware = {\n stack: \"dbcore\",\n name: \"VirtualIndexMiddleware\",\n level: 1,\n create: createVirtualIndexMiddleware\n };\n\n function getObjectDiff(a, b, rv, prfx) {\n rv = rv || {};\n prfx = prfx || '';\n keys(a).forEach(function (prop) {\n if (!hasOwn(b, prop)) {\n rv[prfx + prop] = undefined;\n }\n else {\n var ap = a[prop], bp = b[prop];\n if (typeof ap === 'object' && typeof bp === 'object' && ap && bp) {\n var apTypeName = toStringTag(ap);\n var bpTypeName = toStringTag(bp);\n if (apTypeName !== bpTypeName) {\n rv[prfx + prop] = b[prop];\n }\n else if (apTypeName === 'Object') {\n getObjectDiff(ap, bp, rv, prfx + prop + '.');\n }\n else if (ap !== bp) {\n rv[prfx + prop] = b[prop];\n }\n }\n else if (ap !== bp)\n rv[prfx + prop] = b[prop];\n }\n });\n keys(b).forEach(function (prop) {\n if (!hasOwn(a, prop)) {\n rv[prfx + prop] = b[prop];\n }\n });\n return rv;\n }\n\n function getEffectiveKeys(primaryKey, req) {\n if (req.type === 'delete')\n return req.keys;\n return req.keys || req.values.map(primaryKey.extractKey);\n }\n\n var hooksMiddleware = {\n stack: \"dbcore\",\n name: \"HooksMiddleware\",\n level: 2,\n create: function (downCore) { return (__assign(__assign({}, downCore), { table: function (tableName) {\n var downTable = downCore.table(tableName);\n var primaryKey = downTable.schema.primaryKey;\n var tableMiddleware = __assign(__assign({}, downTable), { mutate: function (req) {\n var dxTrans = PSD.trans;\n var _a = dxTrans.table(tableName).hook, deleting = _a.deleting, creating = _a.creating, updating = _a.updating;\n switch (req.type) {\n case 'add':\n if (creating.fire === nop)\n break;\n return dxTrans._promise('readwrite', function () { return addPutOrDelete(req); }, true);\n case 'put':\n if (creating.fire === nop && updating.fire === nop)\n break;\n return dxTrans._promise('readwrite', function () { return addPutOrDelete(req); }, true);\n case 'delete':\n if (deleting.fire === nop)\n break;\n return dxTrans._promise('readwrite', function () { return addPutOrDelete(req); }, true);\n case 'deleteRange':\n if (deleting.fire === nop)\n break;\n return dxTrans._promise('readwrite', function () { return deleteRange(req); }, true);\n }\n return downTable.mutate(req);\n function addPutOrDelete(req) {\n var dxTrans = PSD.trans;\n var keys = req.keys || getEffectiveKeys(primaryKey, req);\n if (!keys)\n throw new Error(\"Keys missing\");\n req = req.type === 'add' || req.type === 'put' ? __assign(__assign({}, req), { keys: keys }) : __assign({}, req);\n if (req.type !== 'delete')\n req.values = __spreadArray([], req.values, true);\n if (req.keys)\n req.keys = __spreadArray([], req.keys, true);\n return getExistingValues(downTable, req, keys).then(function (existingValues) {\n var contexts = keys.map(function (key, i) {\n var existingValue = existingValues[i];\n var ctx = { onerror: null, onsuccess: null };\n if (req.type === 'delete') {\n deleting.fire.call(ctx, key, existingValue, dxTrans);\n }\n else if (req.type === 'add' || existingValue === undefined) {\n var generatedPrimaryKey = creating.fire.call(ctx, key, req.values[i], dxTrans);\n if (key == null && generatedPrimaryKey != null) {\n key = generatedPrimaryKey;\n req.keys[i] = key;\n if (!primaryKey.outbound) {\n setByKeyPath(req.values[i], primaryKey.keyPath, key);\n }\n }\n }\n else {\n var objectDiff = getObjectDiff(existingValue, req.values[i]);\n var additionalChanges_1 = updating.fire.call(ctx, objectDiff, key, existingValue, dxTrans);\n if (additionalChanges_1) {\n var requestedValue_1 = req.values[i];\n Object.keys(additionalChanges_1).forEach(function (keyPath) {\n if (hasOwn(requestedValue_1, keyPath)) {\n requestedValue_1[keyPath] = additionalChanges_1[keyPath];\n }\n else {\n setByKeyPath(requestedValue_1, keyPath, additionalChanges_1[keyPath]);\n }\n });\n }\n }\n return ctx;\n });\n return downTable.mutate(req).then(function (_a) {\n var failures = _a.failures, results = _a.results, numFailures = _a.numFailures, lastResult = _a.lastResult;\n for (var i = 0; i < keys.length; ++i) {\n var primKey = results ? results[i] : keys[i];\n var ctx = contexts[i];\n if (primKey == null) {\n ctx.onerror && ctx.onerror(failures[i]);\n }\n else {\n ctx.onsuccess && ctx.onsuccess(req.type === 'put' && existingValues[i] ?\n req.values[i] :\n primKey\n );\n }\n }\n return { failures: failures, results: results, numFailures: numFailures, lastResult: lastResult };\n }).catch(function (error) {\n contexts.forEach(function (ctx) { return ctx.onerror && ctx.onerror(error); });\n return Promise.reject(error);\n });\n });\n }\n function deleteRange(req) {\n return deleteNextChunk(req.trans, req.range, 10000);\n }\n function deleteNextChunk(trans, range, limit) {\n return downTable.query({ trans: trans, values: false, query: { index: primaryKey, range: range }, limit: limit })\n .then(function (_a) {\n var result = _a.result;\n return addPutOrDelete({ type: 'delete', keys: result, trans: trans }).then(function (res) {\n if (res.numFailures > 0)\n return Promise.reject(res.failures[0]);\n if (result.length < limit) {\n return { failures: [], numFailures: 0, lastResult: undefined };\n }\n else {\n return deleteNextChunk(trans, __assign(__assign({}, range), { lower: result[result.length - 1], lowerOpen: true }), limit);\n }\n });\n });\n }\n } });\n return tableMiddleware;\n } })); }\n };\n function getExistingValues(table, req, effectiveKeys) {\n return req.type === \"add\"\n ? Promise.resolve([])\n : table.getMany({ trans: req.trans, keys: effectiveKeys, cache: \"immutable\" });\n }\n\n function getFromTransactionCache(keys, cache, clone) {\n try {\n if (!cache)\n return null;\n if (cache.keys.length < keys.length)\n return null;\n var result = [];\n for (var i = 0, j = 0; i < cache.keys.length && j < keys.length; ++i) {\n if (cmp(cache.keys[i], keys[j]) !== 0)\n continue;\n result.push(clone ? deepClone(cache.values[i]) : cache.values[i]);\n ++j;\n }\n return result.length === keys.length ? result : null;\n }\n catch (_a) {\n return null;\n }\n }\n var cacheExistingValuesMiddleware = {\n stack: \"dbcore\",\n level: -1,\n create: function (core) {\n return {\n table: function (tableName) {\n var table = core.table(tableName);\n return __assign(__assign({}, table), { getMany: function (req) {\n if (!req.cache) {\n return table.getMany(req);\n }\n var cachedResult = getFromTransactionCache(req.keys, req.trans[\"_cache\"], req.cache === \"clone\");\n if (cachedResult) {\n return DexiePromise.resolve(cachedResult);\n }\n return table.getMany(req).then(function (res) {\n req.trans[\"_cache\"] = {\n keys: req.keys,\n values: req.cache === \"clone\" ? deepClone(res) : res,\n };\n return res;\n });\n }, mutate: function (req) {\n if (req.type !== \"add\")\n req.trans[\"_cache\"] = null;\n return table.mutate(req);\n } });\n },\n };\n },\n };\n\n function isCachableContext(ctx, table) {\n return (ctx.trans.mode === 'readonly' &&\n !!ctx.subscr &&\n !ctx.trans.explicit &&\n ctx.trans.db._options.cache !== 'disabled' &&\n !table.schema.primaryKey.outbound);\n }\n\n function isCachableRequest(type, req) {\n switch (type) {\n case 'query':\n return req.values && !req.unique;\n case 'get':\n return false;\n case 'getMany':\n return false;\n case 'count':\n return false;\n case 'openCursor':\n return false;\n }\n }\n\n var observabilityMiddleware = {\n stack: \"dbcore\",\n level: 0,\n name: \"Observability\",\n create: function (core) {\n var dbName = core.schema.name;\n var FULL_RANGE = new RangeSet(core.MIN_KEY, core.MAX_KEY);\n return __assign(__assign({}, core), { transaction: function (stores, mode, options) {\n if (PSD.subscr && mode !== 'readonly') {\n throw new exceptions.ReadOnly(\"Readwrite transaction in liveQuery context. Querier source: \".concat(PSD.querier));\n }\n return core.transaction(stores, mode, options);\n }, table: function (tableName) {\n var table = core.table(tableName);\n var schema = table.schema;\n var primaryKey = schema.primaryKey, indexes = schema.indexes;\n var extractKey = primaryKey.extractKey, outbound = primaryKey.outbound;\n var indexesWithAutoIncPK = primaryKey.autoIncrement && indexes.filter(function (index) { return index.compound && index.keyPath.includes(primaryKey.keyPath); });\n var tableClone = __assign(__assign({}, table), { mutate: function (req) {\n var trans = req.trans;\n var mutatedParts = req.mutatedParts || (req.mutatedParts = {});\n var getRangeSet = function (indexName) {\n var part = \"idb://\".concat(dbName, \"/\").concat(tableName, \"/\").concat(indexName);\n return (mutatedParts[part] ||\n (mutatedParts[part] = new RangeSet()));\n };\n var pkRangeSet = getRangeSet(\"\");\n var delsRangeSet = getRangeSet(\":dels\");\n var type = req.type;\n var _a = req.type === \"deleteRange\"\n ? [req.range]\n : req.type === \"delete\"\n ? [req.keys]\n : req.values.length < 50\n ? [getEffectiveKeys(primaryKey, req).filter(function (id) { return id; }), req.values]\n : [], keys = _a[0], newObjs = _a[1];\n var oldCache = req.trans[\"_cache\"];\n if (isArray(keys)) {\n pkRangeSet.addKeys(keys);\n var oldObjs = type === 'delete' || keys.length === newObjs.length ? getFromTransactionCache(keys, oldCache) : null;\n if (!oldObjs) {\n delsRangeSet.addKeys(keys);\n }\n if (oldObjs || newObjs) {\n trackAffectedIndexes(getRangeSet, schema, oldObjs, newObjs);\n }\n }\n else if (keys) {\n var range = { from: keys.lower, to: keys.upper };\n delsRangeSet.add(range);\n pkRangeSet.add(range);\n }\n else {\n pkRangeSet.add(FULL_RANGE);\n delsRangeSet.add(FULL_RANGE);\n schema.indexes.forEach(function (idx) { return getRangeSet(idx.name).add(FULL_RANGE); });\n }\n return table.mutate(req).then(function (res) {\n if (keys && (req.type === 'add' || req.type === 'put')) {\n pkRangeSet.addKeys(res.results);\n if (indexesWithAutoIncPK) {\n indexesWithAutoIncPK.forEach(function (idx) {\n var idxVals = req.values.map(function (v) { return idx.extractKey(v); });\n var pkPos = idx.keyPath.findIndex(function (prop) { return prop === primaryKey.keyPath; });\n res.results.forEach(function (pk) { return idxVals[pkPos] = pk; });\n getRangeSet(idx.name).addKeys(idxVals);\n });\n }\n }\n trans.mutatedParts = extendObservabilitySet(trans.mutatedParts || {}, mutatedParts);\n return res;\n });\n } });\n var getRange = function (_a) {\n var _b, _c;\n var _d = _a.query, index = _d.index, range = _d.range;\n return [\n index,\n new RangeSet((_b = range.lower) !== null && _b !== void 0 ? _b : core.MIN_KEY, (_c = range.upper) !== null && _c !== void 0 ? _c : core.MAX_KEY),\n ];\n };\n var readSubscribers = {\n get: function (req) { return [primaryKey, new RangeSet(req.key)]; },\n getMany: function (req) { return [primaryKey, new RangeSet().addKeys(req.keys)]; },\n count: getRange,\n query: getRange,\n openCursor: getRange,\n };\n keys(readSubscribers).forEach(function (method) {\n tableClone[method] = function (req) {\n var subscr = PSD.subscr;\n var isLiveQuery = !!subscr;\n var cachable = isCachableContext(PSD, table) && isCachableRequest(method, req);\n var obsSet = cachable\n ? req.obsSet = {}\n : subscr;\n if (isLiveQuery) {\n var getRangeSet = function (indexName) {\n var part = \"idb://\".concat(dbName, \"/\").concat(tableName, \"/\").concat(indexName);\n return (obsSet[part] ||\n (obsSet[part] = new RangeSet()));\n };\n var pkRangeSet_1 = getRangeSet(\"\");\n var delsRangeSet_1 = getRangeSet(\":dels\");\n var _a = readSubscribers[method](req), queriedIndex = _a[0], queriedRanges = _a[1];\n if (method === 'query' && queriedIndex.isPrimaryKey && !req.values) {\n delsRangeSet_1.add(queriedRanges);\n }\n else {\n getRangeSet(queriedIndex.name || \"\").add(queriedRanges);\n }\n if (!queriedIndex.isPrimaryKey) {\n if (method === \"count\") {\n delsRangeSet_1.add(FULL_RANGE);\n }\n else {\n var keysPromise_1 = method === \"query\" &&\n outbound &&\n req.values &&\n table.query(__assign(__assign({}, req), { values: false }));\n return table[method].apply(this, arguments).then(function (res) {\n if (method === \"query\") {\n if (outbound && req.values) {\n return keysPromise_1.then(function (_a) {\n var resultingKeys = _a.result;\n pkRangeSet_1.addKeys(resultingKeys);\n return res;\n });\n }\n var pKeys = req.values\n ? res.result.map(extractKey)\n : res.result;\n if (req.values) {\n pkRangeSet_1.addKeys(pKeys);\n }\n else {\n delsRangeSet_1.addKeys(pKeys);\n }\n }\n else if (method === \"openCursor\") {\n var cursor_1 = res;\n var wantValues_1 = req.values;\n return (cursor_1 &&\n Object.create(cursor_1, {\n key: {\n get: function () {\n delsRangeSet_1.addKey(cursor_1.primaryKey);\n return cursor_1.key;\n },\n },\n primaryKey: {\n get: function () {\n var pkey = cursor_1.primaryKey;\n delsRangeSet_1.addKey(pkey);\n return pkey;\n },\n },\n value: {\n get: function () {\n wantValues_1 && pkRangeSet_1.addKey(cursor_1.primaryKey);\n return cursor_1.value;\n },\n },\n }));\n }\n return res;\n });\n }\n }\n }\n return table[method].apply(this, arguments);\n };\n });\n return tableClone;\n } });\n },\n };\n function trackAffectedIndexes(getRangeSet, schema, oldObjs, newObjs) {\n function addAffectedIndex(ix) {\n var rangeSet = getRangeSet(ix.name || \"\");\n function extractKey(obj) {\n return obj != null ? ix.extractKey(obj) : null;\n }\n var addKeyOrKeys = function (key) { return ix.multiEntry && isArray(key)\n ? key.forEach(function (key) { return rangeSet.addKey(key); })\n : rangeSet.addKey(key); };\n (oldObjs || newObjs).forEach(function (_, i) {\n var oldKey = oldObjs && extractKey(oldObjs[i]);\n var newKey = newObjs && extractKey(newObjs[i]);\n if (cmp(oldKey, newKey) !== 0) {\n if (oldKey != null)\n addKeyOrKeys(oldKey);\n if (newKey != null)\n addKeyOrKeys(newKey);\n }\n });\n }\n schema.indexes.forEach(addAffectedIndex);\n }\n\n function adjustOptimisticFromFailures(tblCache, req, res) {\n if (res.numFailures === 0)\n return req;\n if (req.type === 'deleteRange') {\n return null;\n }\n var numBulkOps = req.keys\n ? req.keys.length\n : 'values' in req && req.values\n ? req.values.length\n : 1;\n if (res.numFailures === numBulkOps) {\n return null;\n }\n var clone = __assign({}, req);\n if (isArray(clone.keys)) {\n clone.keys = clone.keys.filter(function (_, i) { return !(i in res.failures); });\n }\n if ('values' in clone && isArray(clone.values)) {\n clone.values = clone.values.filter(function (_, i) { return !(i in res.failures); });\n }\n return clone;\n }\n\n function isAboveLower(key, range) {\n return range.lower === undefined\n ? true\n : range.lowerOpen\n ? cmp(key, range.lower) > 0\n : cmp(key, range.lower) >= 0;\n }\n function isBelowUpper(key, range) {\n return range.upper === undefined\n ? true\n : range.upperOpen\n ? cmp(key, range.upper) < 0\n : cmp(key, range.upper) <= 0;\n }\n function isWithinRange(key, range) {\n return isAboveLower(key, range) && isBelowUpper(key, range);\n }\n\n function applyOptimisticOps(result, req, ops, table, cacheEntry, immutable) {\n if (!ops || ops.length === 0)\n return result;\n var index = req.query.index;\n var multiEntry = index.multiEntry;\n var queryRange = req.query.range;\n var primaryKey = table.schema.primaryKey;\n var extractPrimKey = primaryKey.extractKey;\n var extractIndex = index.extractKey;\n var extractLowLevelIndex = (index.lowLevelIndex || index).extractKey;\n var finalResult = ops.reduce(function (result, op) {\n var modifedResult = result;\n var includedValues = [];\n if (op.type === 'add' || op.type === 'put') {\n var includedPKs = new RangeSet();\n for (var i = op.values.length - 1; i >= 0; --i) {\n var value = op.values[i];\n var pk = extractPrimKey(value);\n if (includedPKs.hasKey(pk))\n continue;\n var key = extractIndex(value);\n if (multiEntry && isArray(key)\n ? key.some(function (k) { return isWithinRange(k, queryRange); })\n : isWithinRange(key, queryRange)) {\n includedPKs.addKey(pk);\n includedValues.push(value);\n }\n }\n }\n switch (op.type) {\n case 'add':\n modifedResult = result.concat(req.values\n ? includedValues\n : includedValues.map(function (v) { return extractPrimKey(v); }));\n break;\n case 'put':\n var keySet_1 = new RangeSet().addKeys(op.values.map(function (v) { return extractPrimKey(v); }));\n modifedResult = result\n .filter(\n function (item) { return !keySet_1.hasKey(req.values ? extractPrimKey(item) : item); })\n .concat(\n req.values\n ? includedValues\n : includedValues.map(function (v) { return extractPrimKey(v); }));\n break;\n case 'delete':\n var keysToDelete_1 = new RangeSet().addKeys(op.keys);\n modifedResult = result.filter(function (item) { return !keysToDelete_1.hasKey(req.values ? extractPrimKey(item) : item); });\n break;\n case 'deleteRange':\n var range_1 = op.range;\n modifedResult = result.filter(function (item) { return !isWithinRange(extractPrimKey(item), range_1); });\n break;\n }\n return modifedResult;\n }, result);\n if (finalResult === result)\n return result;\n finalResult.sort(function (a, b) {\n return cmp(extractLowLevelIndex(a), extractLowLevelIndex(b)) ||\n cmp(extractPrimKey(a), extractPrimKey(b));\n });\n if (req.limit && req.limit < Infinity) {\n if (finalResult.length > req.limit) {\n finalResult.length = req.limit;\n }\n else if (result.length === req.limit && finalResult.length < req.limit) {\n cacheEntry.dirty = true;\n }\n }\n return immutable ? Object.freeze(finalResult) : finalResult;\n }\n\n function areRangesEqual(r1, r2) {\n return (cmp(r1.lower, r2.lower) === 0 &&\n cmp(r1.upper, r2.upper) === 0 &&\n !!r1.lowerOpen === !!r2.lowerOpen &&\n !!r1.upperOpen === !!r2.upperOpen);\n }\n\n function compareLowers(lower1, lower2, lowerOpen1, lowerOpen2) {\n if (lower1 === undefined)\n return lower2 !== undefined ? -1 : 0;\n if (lower2 === undefined)\n return 1;\n var c = cmp(lower1, lower2);\n if (c === 0) {\n if (lowerOpen1 && lowerOpen2)\n return 0;\n if (lowerOpen1)\n return 1;\n if (lowerOpen2)\n return -1;\n }\n return c;\n }\n function compareUppers(upper1, upper2, upperOpen1, upperOpen2) {\n if (upper1 === undefined)\n return upper2 !== undefined ? 1 : 0;\n if (upper2 === undefined)\n return -1;\n var c = cmp(upper1, upper2);\n if (c === 0) {\n if (upperOpen1 && upperOpen2)\n return 0;\n if (upperOpen1)\n return -1;\n if (upperOpen2)\n return 1;\n }\n return c;\n }\n function isSuperRange(r1, r2) {\n return (compareLowers(r1.lower, r2.lower, r1.lowerOpen, r2.lowerOpen) <= 0 &&\n compareUppers(r1.upper, r2.upper, r1.upperOpen, r2.upperOpen) >= 0);\n }\n\n function findCompatibleQuery(dbName, tableName, type, req) {\n var tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(tableName)];\n if (!tblCache)\n return [];\n var queries = tblCache.queries[type];\n if (!queries)\n return [null, false, tblCache, null];\n var indexName = req.query ? req.query.index.name : null;\n var entries = queries[indexName || ''];\n if (!entries)\n return [null, false, tblCache, null];\n switch (type) {\n case 'query':\n var equalEntry = entries.find(function (entry) {\n return entry.req.limit === req.limit &&\n entry.req.values === req.values &&\n areRangesEqual(entry.req.query.range, req.query.range);\n });\n if (equalEntry)\n return [\n equalEntry,\n true,\n tblCache,\n entries,\n ];\n var superEntry = entries.find(function (entry) {\n var limit = 'limit' in entry.req ? entry.req.limit : Infinity;\n return (limit >= req.limit &&\n (req.values ? entry.req.values : true) &&\n isSuperRange(entry.req.query.range, req.query.range));\n });\n return [superEntry, false, tblCache, entries];\n case 'count':\n var countQuery = entries.find(function (entry) {\n return areRangesEqual(entry.req.query.range, req.query.range);\n });\n return [countQuery, !!countQuery, tblCache, entries];\n }\n }\n\n function subscribeToCacheEntry(cacheEntry, container, requery, signal) {\n cacheEntry.subscribers.add(requery);\n signal.addEventListener(\"abort\", function () {\n cacheEntry.subscribers.delete(requery);\n if (cacheEntry.subscribers.size === 0) {\n enqueForDeletion(cacheEntry, container);\n }\n });\n }\n function enqueForDeletion(cacheEntry, container) {\n setTimeout(function () {\n if (cacheEntry.subscribers.size === 0) {\n delArrayItem(container, cacheEntry);\n }\n }, 3000);\n }\n\n var cacheMiddleware = {\n stack: 'dbcore',\n level: 0,\n name: 'Cache',\n create: function (core) {\n var dbName = core.schema.name;\n var coreMW = __assign(__assign({}, core), { transaction: function (stores, mode, options) {\n var idbtrans = core.transaction(stores, mode, options);\n if (mode === 'readwrite') {\n var ac_1 = new AbortController();\n var signal = ac_1.signal;\n var endTransaction = function (wasCommitted) { return function () {\n ac_1.abort();\n if (mode === 'readwrite') {\n var affectedSubscribers_1 = new Set();\n for (var _i = 0, stores_1 = stores; _i < stores_1.length; _i++) {\n var storeName = stores_1[_i];\n var tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(storeName)];\n if (tblCache) {\n var table = core.table(storeName);\n var ops = tblCache.optimisticOps.filter(function (op) { return op.trans === idbtrans; });\n if (idbtrans._explicit && wasCommitted && idbtrans.mutatedParts) {\n for (var _a = 0, _b = Object.values(tblCache.queries.query); _a < _b.length; _a++) {\n var entries = _b[_a];\n for (var _c = 0, _d = entries.slice(); _c < _d.length; _c++) {\n var entry = _d[_c];\n if (obsSetsOverlap(entry.obsSet, idbtrans.mutatedParts)) {\n delArrayItem(entries, entry);\n entry.subscribers.forEach(function (requery) { return affectedSubscribers_1.add(requery); });\n }\n }\n }\n }\n else if (ops.length > 0) {\n tblCache.optimisticOps = tblCache.optimisticOps.filter(function (op) { return op.trans !== idbtrans; });\n for (var _e = 0, _f = Object.values(tblCache.queries.query); _e < _f.length; _e++) {\n var entries = _f[_e];\n for (var _g = 0, _h = entries.slice(); _g < _h.length; _g++) {\n var entry = _h[_g];\n if (entry.res != null &&\n idbtrans.mutatedParts\n ) {\n if (wasCommitted && !entry.dirty) {\n var freezeResults = Object.isFrozen(entry.res);\n var modRes = applyOptimisticOps(entry.res, entry.req, ops, table, entry, freezeResults);\n if (entry.dirty) {\n delArrayItem(entries, entry);\n entry.subscribers.forEach(function (requery) { return affectedSubscribers_1.add(requery); });\n }\n else if (modRes !== entry.res) {\n entry.res = modRes;\n entry.promise = DexiePromise.resolve({ result: modRes });\n }\n }\n else {\n if (entry.dirty) {\n delArrayItem(entries, entry);\n }\n entry.subscribers.forEach(function (requery) { return affectedSubscribers_1.add(requery); });\n }\n }\n }\n }\n }\n }\n }\n affectedSubscribers_1.forEach(function (requery) { return requery(); });\n }\n }; };\n idbtrans.addEventListener('abort', endTransaction(false), {\n signal: signal,\n });\n idbtrans.addEventListener('error', endTransaction(false), {\n signal: signal,\n });\n idbtrans.addEventListener('complete', endTransaction(true), {\n signal: signal,\n });\n }\n return idbtrans;\n }, table: function (tableName) {\n var downTable = core.table(tableName);\n var primKey = downTable.schema.primaryKey;\n var tableMW = __assign(__assign({}, downTable), { mutate: function (req) {\n var trans = PSD.trans;\n if (primKey.outbound ||\n trans.db._options.cache === 'disabled' ||\n trans.explicit\n ) {\n return downTable.mutate(req);\n }\n var tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(tableName)];\n if (!tblCache)\n return downTable.mutate(req);\n var promise = downTable.mutate(req);\n if ((req.type === 'add' || req.type === 'put') && (req.values.length >= 50 || getEffectiveKeys(primKey, req).some(function (key) { return key == null; }))) {\n promise.then(function (res) {\n var reqWithResolvedKeys = __assign(__assign({}, req), { values: req.values.map(function (value, i) {\n var _a;\n var valueWithKey = ((_a = primKey.keyPath) === null || _a === void 0 ? void 0 : _a.includes('.'))\n ? deepClone(value)\n : __assign({}, value);\n setByKeyPath(valueWithKey, primKey.keyPath, res.results[i]);\n return valueWithKey;\n }) });\n var adjustedReq = adjustOptimisticFromFailures(tblCache, reqWithResolvedKeys, res);\n tblCache.optimisticOps.push(adjustedReq);\n queueMicrotask(function () { return req.mutatedParts && signalSubscribersLazily(req.mutatedParts); });\n });\n }\n else {\n tblCache.optimisticOps.push(req);\n req.mutatedParts && signalSubscribersLazily(req.mutatedParts);\n promise.then(function (res) {\n if (res.numFailures > 0) {\n delArrayItem(tblCache.optimisticOps, req);\n var adjustedReq = adjustOptimisticFromFailures(tblCache, req, res);\n if (adjustedReq) {\n tblCache.optimisticOps.push(adjustedReq);\n }\n req.mutatedParts && signalSubscribersLazily(req.mutatedParts);\n }\n });\n promise.catch(function () {\n delArrayItem(tblCache.optimisticOps, req);\n req.mutatedParts && signalSubscribersLazily(req.mutatedParts);\n });\n }\n return promise;\n }, query: function (req) {\n var _a;\n if (!isCachableContext(PSD, downTable) || !isCachableRequest(\"query\", req))\n return downTable.query(req);\n var freezeResults = ((_a = PSD.trans) === null || _a === void 0 ? void 0 : _a.db._options.cache) === 'immutable';\n var _b = PSD, requery = _b.requery, signal = _b.signal;\n var _c = findCompatibleQuery(dbName, tableName, 'query', req), cacheEntry = _c[0], exactMatch = _c[1], tblCache = _c[2], container = _c[3];\n if (cacheEntry && exactMatch) {\n cacheEntry.obsSet = req.obsSet;\n }\n else {\n var promise = downTable.query(req).then(function (res) {\n var result = res.result;\n if (cacheEntry)\n cacheEntry.res = result;\n if (freezeResults) {\n for (var i = 0, l = result.length; i < l; ++i) {\n Object.freeze(result[i]);\n }\n Object.freeze(result);\n }\n else {\n res.result = deepClone(result);\n }\n return res;\n }).catch(function (error) {\n if (container && cacheEntry)\n delArrayItem(container, cacheEntry);\n return Promise.reject(error);\n });\n cacheEntry = {\n obsSet: req.obsSet,\n promise: promise,\n subscribers: new Set(),\n type: 'query',\n req: req,\n dirty: false,\n };\n if (container) {\n container.push(cacheEntry);\n }\n else {\n container = [cacheEntry];\n if (!tblCache) {\n tblCache = cache[\"idb://\".concat(dbName, \"/\").concat(tableName)] = {\n queries: {\n query: {},\n count: {},\n },\n objs: new Map(),\n optimisticOps: [],\n unsignaledParts: {}\n };\n }\n tblCache.queries.query[req.query.index.name || ''] = container;\n }\n }\n subscribeToCacheEntry(cacheEntry, container, requery, signal);\n return cacheEntry.promise.then(function (res) {\n return {\n result: applyOptimisticOps(res.result, req, tblCache === null || tblCache === void 0 ? void 0 : tblCache.optimisticOps, downTable, cacheEntry, freezeResults),\n };\n });\n } });\n return tableMW;\n } });\n return coreMW;\n },\n };\n\n function vipify(target, vipDb) {\n return new Proxy(target, {\n get: function (target, prop, receiver) {\n if (prop === 'db')\n return vipDb;\n return Reflect.get(target, prop, receiver);\n }\n });\n }\n\n var Dexie$1 = (function () {\n function Dexie(name, options) {\n var _this = this;\n this._middlewares = {};\n this.verno = 0;\n var deps = Dexie.dependencies;\n this._options = options = __assign({\n addons: Dexie.addons, autoOpen: true,\n indexedDB: deps.indexedDB, IDBKeyRange: deps.IDBKeyRange, cache: 'cloned' }, options);\n this._deps = {\n indexedDB: options.indexedDB,\n IDBKeyRange: options.IDBKeyRange\n };\n var addons = options.addons;\n this._dbSchema = {};\n this._versions = [];\n this._storeNames = [];\n this._allTables = {};\n this.idbdb = null;\n this._novip = this;\n var state = {\n dbOpenError: null,\n isBeingOpened: false,\n onReadyBeingFired: null,\n openComplete: false,\n dbReadyResolve: nop,\n dbReadyPromise: null,\n cancelOpen: nop,\n openCanceller: null,\n autoSchema: true,\n PR1398_maxLoop: 3,\n autoOpen: options.autoOpen,\n };\n state.dbReadyPromise = new DexiePromise(function (resolve) {\n state.dbReadyResolve = resolve;\n });\n state.openCanceller = new DexiePromise(function (_, reject) {\n state.cancelOpen = reject;\n });\n this._state = state;\n this.name = name;\n this.on = Events(this, \"populate\", \"blocked\", \"versionchange\", \"close\", { ready: [promisableChain, nop] });\n this.on.ready.subscribe = override(this.on.ready.subscribe, function (subscribe) {\n return function (subscriber, bSticky) {\n Dexie.vip(function () {\n var state = _this._state;\n if (state.openComplete) {\n if (!state.dbOpenError)\n DexiePromise.resolve().then(subscriber);\n if (bSticky)\n subscribe(subscriber);\n }\n else if (state.onReadyBeingFired) {\n state.onReadyBeingFired.push(subscriber);\n if (bSticky)\n subscribe(subscriber);\n }\n else {\n subscribe(subscriber);\n var db_1 = _this;\n if (!bSticky)\n subscribe(function unsubscribe() {\n db_1.on.ready.unsubscribe(subscriber);\n db_1.on.ready.unsubscribe(unsubscribe);\n });\n }\n });\n };\n });\n this.Collection = createCollectionConstructor(this);\n this.Table = createTableConstructor(this);\n this.Transaction = createTransactionConstructor(this);\n this.Version = createVersionConstructor(this);\n this.WhereClause = createWhereClauseConstructor(this);\n this.on(\"versionchange\", function (ev) {\n if (ev.newVersion > 0)\n console.warn(\"Another connection wants to upgrade database '\".concat(_this.name, \"'. Closing db now to resume the upgrade.\"));\n else\n console.warn(\"Another connection wants to delete database '\".concat(_this.name, \"'. Closing db now to resume the delete request.\"));\n _this.close({ disableAutoOpen: false });\n });\n this.on(\"blocked\", function (ev) {\n if (!ev.newVersion || ev.newVersion < ev.oldVersion)\n console.warn(\"Dexie.delete('\".concat(_this.name, \"') was blocked\"));\n else\n console.warn(\"Upgrade '\".concat(_this.name, \"' blocked by other connection holding version \").concat(ev.oldVersion / 10));\n });\n this._maxKey = getMaxKey(options.IDBKeyRange);\n this._createTransaction = function (mode, storeNames, dbschema, parentTransaction) { return new _this.Transaction(mode, storeNames, dbschema, _this._options.chromeTransactionDurability, parentTransaction); };\n this._fireOnBlocked = function (ev) {\n _this.on(\"blocked\").fire(ev);\n connections\n .filter(function (c) { return c.name === _this.name && c !== _this && !c._state.vcFired; })\n .map(function (c) { return c.on(\"versionchange\").fire(ev); });\n };\n this.use(cacheExistingValuesMiddleware);\n this.use(cacheMiddleware);\n this.use(observabilityMiddleware);\n this.use(virtualIndexMiddleware);\n this.use(hooksMiddleware);\n var vipDB = new Proxy(this, {\n get: function (_, prop, receiver) {\n if (prop === '_vip')\n return true;\n if (prop === 'table')\n return function (tableName) { return vipify(_this.table(tableName), vipDB); };\n var rv = Reflect.get(_, prop, receiver);\n if (rv instanceof Table)\n return vipify(rv, vipDB);\n if (prop === 'tables')\n return rv.map(function (t) { return vipify(t, vipDB); });\n if (prop === '_createTransaction')\n return function () {\n var tx = rv.apply(this, arguments);\n return vipify(tx, vipDB);\n };\n return rv;\n }\n });\n this.vip = vipDB;\n addons.forEach(function (addon) { return addon(_this); });\n }\n Dexie.prototype.version = function (versionNumber) {\n if (isNaN(versionNumber) || versionNumber < 0.1)\n throw new exceptions.Type(\"Given version is not a positive number\");\n versionNumber = Math.round(versionNumber * 10) / 10;\n if (this.idbdb || this._state.isBeingOpened)\n throw new exceptions.Schema(\"Cannot add version when database is open\");\n this.verno = Math.max(this.verno, versionNumber);\n var versions = this._versions;\n var versionInstance = versions.filter(function (v) { return v._cfg.version === versionNumber; })[0];\n if (versionInstance)\n return versionInstance;\n versionInstance = new this.Version(versionNumber);\n versions.push(versionInstance);\n versions.sort(lowerVersionFirst);\n versionInstance.stores({});\n this._state.autoSchema = false;\n return versionInstance;\n };\n Dexie.prototype._whenReady = function (fn) {\n var _this = this;\n return (this.idbdb && (this._state.openComplete || PSD.letThrough || this._vip)) ? fn() : new DexiePromise(function (resolve, reject) {\n if (_this._state.openComplete) {\n return reject(new exceptions.DatabaseClosed(_this._state.dbOpenError));\n }\n if (!_this._state.isBeingOpened) {\n if (!_this._state.autoOpen) {\n reject(new exceptions.DatabaseClosed());\n return;\n }\n _this.open().catch(nop);\n }\n _this._state.dbReadyPromise.then(resolve, reject);\n }).then(fn);\n };\n Dexie.prototype.use = function (_a) {\n var stack = _a.stack, create = _a.create, level = _a.level, name = _a.name;\n if (name)\n this.unuse({ stack: stack, name: name });\n var middlewares = this._middlewares[stack] || (this._middlewares[stack] = []);\n middlewares.push({ stack: stack, create: create, level: level == null ? 10 : level, name: name });\n middlewares.sort(function (a, b) { return a.level - b.level; });\n return this;\n };\n Dexie.prototype.unuse = function (_a) {\n var stack = _a.stack, name = _a.name, create = _a.create;\n if (stack && this._middlewares[stack]) {\n this._middlewares[stack] = this._middlewares[stack].filter(function (mw) {\n return create ? mw.create !== create :\n name ? mw.name !== name :\n false;\n });\n }\n return this;\n };\n Dexie.prototype.open = function () {\n var _this = this;\n return usePSD(globalPSD,\n function () { return dexieOpen(_this); });\n };\n Dexie.prototype._close = function () {\n var state = this._state;\n var idx = connections.indexOf(this);\n if (idx >= 0)\n connections.splice(idx, 1);\n if (this.idbdb) {\n try {\n this.idbdb.close();\n }\n catch (e) { }\n this.idbdb = null;\n }\n if (!state.isBeingOpened) {\n state.dbReadyPromise = new DexiePromise(function (resolve) {\n state.dbReadyResolve = resolve;\n });\n state.openCanceller = new DexiePromise(function (_, reject) {\n state.cancelOpen = reject;\n });\n }\n };\n Dexie.prototype.close = function (_a) {\n var _b = _a === void 0 ? { disableAutoOpen: true } : _a, disableAutoOpen = _b.disableAutoOpen;\n var state = this._state;\n if (disableAutoOpen) {\n if (state.isBeingOpened) {\n state.cancelOpen(new exceptions.DatabaseClosed());\n }\n this._close();\n state.autoOpen = false;\n state.dbOpenError = new exceptions.DatabaseClosed();\n }\n else {\n this._close();\n state.autoOpen = this._options.autoOpen ||\n state.isBeingOpened;\n state.openComplete = false;\n state.dbOpenError = null;\n }\n };\n Dexie.prototype.delete = function (closeOptions) {\n var _this = this;\n if (closeOptions === void 0) { closeOptions = { disableAutoOpen: true }; }\n var hasInvalidArguments = arguments.length > 0 && typeof arguments[0] !== 'object';\n var state = this._state;\n return new DexiePromise(function (resolve, reject) {\n var doDelete = function () {\n _this.close(closeOptions);\n var req = _this._deps.indexedDB.deleteDatabase(_this.name);\n req.onsuccess = wrap(function () {\n _onDatabaseDeleted(_this._deps, _this.name);\n resolve();\n });\n req.onerror = eventRejectHandler(reject);\n req.onblocked = _this._fireOnBlocked;\n };\n if (hasInvalidArguments)\n throw new exceptions.InvalidArgument(\"Invalid closeOptions argument to db.delete()\");\n if (state.isBeingOpened) {\n state.dbReadyPromise.then(doDelete);\n }\n else {\n doDelete();\n }\n });\n };\n Dexie.prototype.backendDB = function () {\n return this.idbdb;\n };\n Dexie.prototype.isOpen = function () {\n return this.idbdb !== null;\n };\n Dexie.prototype.hasBeenClosed = function () {\n var dbOpenError = this._state.dbOpenError;\n return dbOpenError && (dbOpenError.name === 'DatabaseClosed');\n };\n Dexie.prototype.hasFailed = function () {\n return this._state.dbOpenError !== null;\n };\n Dexie.prototype.dynamicallyOpened = function () {\n return this._state.autoSchema;\n };\n Object.defineProperty(Dexie.prototype, \"tables\", {\n get: function () {\n var _this = this;\n return keys(this._allTables).map(function (name) { return _this._allTables[name]; });\n },\n enumerable: false,\n configurable: true\n });\n Dexie.prototype.transaction = function () {\n var args = extractTransactionArgs.apply(this, arguments);\n return this._transaction.apply(this, args);\n };\n Dexie.prototype._transaction = function (mode, tables, scopeFunc) {\n var _this = this;\n var parentTransaction = PSD.trans;\n if (!parentTransaction || parentTransaction.db !== this || mode.indexOf('!') !== -1)\n parentTransaction = null;\n var onlyIfCompatible = mode.indexOf('?') !== -1;\n mode = mode.replace('!', '').replace('?', '');\n var idbMode, storeNames;\n try {\n storeNames = tables.map(function (table) {\n var storeName = table instanceof _this.Table ? table.name : table;\n if (typeof storeName !== 'string')\n throw new TypeError(\"Invalid table argument to Dexie.transaction(). Only Table or String are allowed\");\n return storeName;\n });\n if (mode == \"r\" || mode === READONLY)\n idbMode = READONLY;\n else if (mode == \"rw\" || mode == READWRITE)\n idbMode = READWRITE;\n else\n throw new exceptions.InvalidArgument(\"Invalid transaction mode: \" + mode);\n if (parentTransaction) {\n if (parentTransaction.mode === READONLY && idbMode === READWRITE) {\n if (onlyIfCompatible) {\n parentTransaction = null;\n }\n else\n throw new exceptions.SubTransaction(\"Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY\");\n }\n if (parentTransaction) {\n storeNames.forEach(function (storeName) {\n if (parentTransaction && parentTransaction.storeNames.indexOf(storeName) === -1) {\n if (onlyIfCompatible) {\n parentTransaction = null;\n }\n else\n throw new exceptions.SubTransaction(\"Table \" + storeName +\n \" not included in parent transaction.\");\n }\n });\n }\n if (onlyIfCompatible && parentTransaction && !parentTransaction.active) {\n parentTransaction = null;\n }\n }\n }\n catch (e) {\n return parentTransaction ?\n parentTransaction._promise(null, function (_, reject) { reject(e); }) :\n rejection(e);\n }\n var enterTransaction = enterTransactionScope.bind(null, this, idbMode, storeNames, parentTransaction, scopeFunc);\n return (parentTransaction ?\n parentTransaction._promise(idbMode, enterTransaction, \"lock\") :\n PSD.trans ?\n usePSD(PSD.transless, function () { return _this._whenReady(enterTransaction); }) :\n this._whenReady(enterTransaction));\n };\n Dexie.prototype.table = function (tableName) {\n if (!hasOwn(this._allTables, tableName)) {\n throw new exceptions.InvalidTable(\"Table \".concat(tableName, \" does not exist\"));\n }\n return this._allTables[tableName];\n };\n return Dexie;\n }());\n\n var symbolObservable = typeof Symbol !== \"undefined\" && \"observable\" in Symbol\n ? Symbol.observable\n : \"@@observable\";\n var Observable = (function () {\n function Observable(subscribe) {\n this._subscribe = subscribe;\n }\n Observable.prototype.subscribe = function (x, error, complete) {\n return this._subscribe(!x || typeof x === \"function\" ? { next: x, error: error, complete: complete } : x);\n };\n Observable.prototype[symbolObservable] = function () {\n return this;\n };\n return Observable;\n }());\n\n var domDeps;\n try {\n domDeps = {\n indexedDB: _global.indexedDB || _global.mozIndexedDB || _global.webkitIndexedDB || _global.msIndexedDB,\n IDBKeyRange: _global.IDBKeyRange || _global.webkitIDBKeyRange\n };\n }\n catch (e) {\n domDeps = { indexedDB: null, IDBKeyRange: null };\n }\n\n function liveQuery(querier) {\n var hasValue = false;\n var currentValue;\n var observable = new Observable(function (observer) {\n var scopeFuncIsAsync = isAsyncFunction(querier);\n function execute(ctx) {\n var wasRootExec = beginMicroTickScope();\n try {\n if (scopeFuncIsAsync) {\n incrementExpectedAwaits();\n }\n var rv = newScope(querier, ctx);\n if (scopeFuncIsAsync) {\n rv = rv.finally(decrementExpectedAwaits);\n }\n return rv;\n }\n finally {\n wasRootExec && endMicroTickScope();\n }\n }\n var closed = false;\n var abortController;\n var accumMuts = {};\n var currentObs = {};\n var subscription = {\n get closed() {\n return closed;\n },\n unsubscribe: function () {\n if (closed)\n return;\n closed = true;\n if (abortController)\n abortController.abort();\n if (startedListening)\n globalEvents.storagemutated.unsubscribe(mutationListener);\n },\n };\n observer.start && observer.start(subscription);\n var startedListening = false;\n var doQuery = function () { return execInGlobalContext(_doQuery); };\n function shouldNotify() {\n return obsSetsOverlap(currentObs, accumMuts);\n }\n var mutationListener = function (parts) {\n extendObservabilitySet(accumMuts, parts);\n if (shouldNotify()) {\n doQuery();\n }\n };\n var _doQuery = function () {\n if (closed ||\n !domDeps.indexedDB)\n {\n return;\n }\n accumMuts = {};\n var subscr = {};\n if (abortController)\n abortController.abort();\n abortController = new AbortController();\n var ctx = {\n subscr: subscr,\n signal: abortController.signal,\n requery: doQuery,\n querier: querier,\n trans: null\n };\n var ret = execute(ctx);\n Promise.resolve(ret).then(function (result) {\n hasValue = true;\n currentValue = result;\n if (closed || ctx.signal.aborted) {\n return;\n }\n accumMuts = {};\n currentObs = subscr;\n if (!objectIsEmpty(currentObs) && !startedListening) {\n globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, mutationListener);\n startedListening = true;\n }\n execInGlobalContext(function () { return !closed && observer.next && observer.next(result); });\n }, function (err) {\n hasValue = false;\n if (!['DatabaseClosedError', 'AbortError'].includes(err === null || err === void 0 ? void 0 : err.name)) {\n if (!closed)\n execInGlobalContext(function () {\n if (closed)\n return;\n observer.error && observer.error(err);\n });\n }\n });\n };\n setTimeout(doQuery, 0);\n return subscription;\n });\n observable.hasValue = function () { return hasValue; };\n observable.getValue = function () { return currentValue; };\n return observable;\n }\n\n var Dexie = Dexie$1;\n props(Dexie, __assign(__assign({}, fullNameExceptions), {\n delete: function (databaseName) {\n var db = new Dexie(databaseName, { addons: [] });\n return db.delete();\n },\n exists: function (name) {\n return new Dexie(name, { addons: [] }).open().then(function (db) {\n db.close();\n return true;\n }).catch('NoSuchDatabaseError', function () { return false; });\n },\n getDatabaseNames: function (cb) {\n try {\n return getDatabaseNames(Dexie.dependencies).then(cb);\n }\n catch (_a) {\n return rejection(new exceptions.MissingAPI());\n }\n },\n defineClass: function () {\n function Class(content) {\n extend(this, content);\n }\n return Class;\n }, ignoreTransaction: function (scopeFunc) {\n return PSD.trans ?\n usePSD(PSD.transless, scopeFunc) :\n scopeFunc();\n }, vip: vip, async: function (generatorFn) {\n return function () {\n try {\n var rv = awaitIterator(generatorFn.apply(this, arguments));\n if (!rv || typeof rv.then !== 'function')\n return DexiePromise.resolve(rv);\n return rv;\n }\n catch (e) {\n return rejection(e);\n }\n };\n }, spawn: function (generatorFn, args, thiz) {\n try {\n var rv = awaitIterator(generatorFn.apply(thiz, args || []));\n if (!rv || typeof rv.then !== 'function')\n return DexiePromise.resolve(rv);\n return rv;\n }\n catch (e) {\n return rejection(e);\n }\n },\n currentTransaction: {\n get: function () { return PSD.trans || null; }\n }, waitFor: function (promiseOrFunction, optionalTimeout) {\n var promise = DexiePromise.resolve(typeof promiseOrFunction === 'function' ?\n Dexie.ignoreTransaction(promiseOrFunction) :\n promiseOrFunction)\n .timeout(optionalTimeout || 60000);\n return PSD.trans ?\n PSD.trans.waitFor(promise) :\n promise;\n },\n Promise: DexiePromise,\n debug: {\n get: function () { return debug; },\n set: function (value) {\n setDebug(value);\n }\n },\n derive: derive, extend: extend, props: props, override: override,\n Events: Events, on: globalEvents, liveQuery: liveQuery, extendObservabilitySet: extendObservabilitySet,\n getByKeyPath: getByKeyPath, setByKeyPath: setByKeyPath, delByKeyPath: delByKeyPath, shallowClone: shallowClone, deepClone: deepClone, getObjectDiff: getObjectDiff, cmp: cmp, asap: asap$1,\n minKey: minKey,\n addons: [],\n connections: connections,\n errnames: errnames,\n dependencies: domDeps, cache: cache,\n semVer: DEXIE_VERSION, version: DEXIE_VERSION.split('.')\n .map(function (n) { return parseInt(n); })\n .reduce(function (p, c, i) { return p + (c / Math.pow(10, i * 2)); }) }));\n Dexie.maxKey = getMaxKey(Dexie.dependencies.IDBKeyRange);\n\n if (typeof dispatchEvent !== 'undefined' && typeof addEventListener !== 'undefined') {\n globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function (updatedParts) {\n if (!propagatingLocally) {\n var event_1;\n event_1 = new CustomEvent(STORAGE_MUTATED_DOM_EVENT_NAME, {\n detail: updatedParts\n });\n propagatingLocally = true;\n dispatchEvent(event_1);\n propagatingLocally = false;\n }\n });\n addEventListener(STORAGE_MUTATED_DOM_EVENT_NAME, function (_a) {\n var detail = _a.detail;\n if (!propagatingLocally) {\n propagateLocally(detail);\n }\n });\n }\n function propagateLocally(updateParts) {\n var wasMe = propagatingLocally;\n try {\n propagatingLocally = true;\n globalEvents.storagemutated.fire(updateParts);\n signalSubscribersNow(updateParts, true);\n }\n finally {\n propagatingLocally = wasMe;\n }\n }\n var propagatingLocally = false;\n\n var bc;\n var createBC = function () { };\n if (typeof BroadcastChannel !== 'undefined') {\n createBC = function () {\n bc = new BroadcastChannel(STORAGE_MUTATED_DOM_EVENT_NAME);\n bc.onmessage = function (ev) { return ev.data && propagateLocally(ev.data); };\n };\n createBC();\n if (typeof bc.unref === 'function') {\n bc.unref();\n }\n globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function (changedParts) {\n if (!propagatingLocally) {\n bc.postMessage(changedParts);\n }\n });\n }\n\n if (typeof addEventListener !== 'undefined') {\n addEventListener('pagehide', function (event) {\n if (!Dexie$1.disableBfCache && event.persisted) {\n if (debug)\n console.debug('Dexie: handling persisted pagehide');\n bc === null || bc === void 0 ? void 0 : bc.close();\n for (var _i = 0, connections_1 = connections; _i < connections_1.length; _i++) {\n var db = connections_1[_i];\n db.close({ disableAutoOpen: false });\n }\n }\n });\n addEventListener('pageshow', function (event) {\n if (!Dexie$1.disableBfCache && event.persisted) {\n if (debug)\n console.debug('Dexie: handling persisted pageshow');\n createBC();\n propagateLocally({ all: new RangeSet(-Infinity, [[]]) });\n }\n });\n }\n\n function add(value) {\n return new PropModification({ add: value });\n }\n\n function remove(value) {\n return new PropModification({ remove: value });\n }\n\n function replacePrefix(a, b) {\n return new PropModification({ replacePrefix: [a, b] });\n }\n\n DexiePromise.rejectionMapper = mapError;\n setDebug(debug);\n\n var namedExports = /*#__PURE__*/Object.freeze({\n __proto__: null,\n Dexie: Dexie$1,\n liveQuery: liveQuery,\n Entity: Entity,\n cmp: cmp,\n PropModSymbol: PropModSymbol,\n PropModification: PropModification,\n replacePrefix: replacePrefix,\n add: add,\n remove: remove,\n 'default': Dexie$1,\n RangeSet: RangeSet,\n mergeRanges: mergeRanges,\n rangesOverlap: rangesOverlap\n });\n\n __assign(Dexie$1, namedExports, { default: Dexie$1 });\n\n return Dexie$1;\n\n}));\n//# sourceMappingURL=dexie.js.map\n","// Making the module version consumable via require - to prohibit\n// multiple occurrancies of the same module in the same app\n// (dual package hazard, https://nodejs.org/api/packages.html#dual-package-hazard)\nimport _Dexie from \"./dist/dexie.js\";\nconst DexieSymbol = Symbol.for(\"Dexie\");\nconst Dexie = globalThis[DexieSymbol] || (globalThis[DexieSymbol] = _Dexie);\nif (_Dexie.semVer !== Dexie.semVer) {\n throw new Error(`Two different versions of Dexie loaded in the same app: ${_Dexie.semVer} and ${Dexie.semVer}`);\n}\nconst { liveQuery, mergeRanges, rangesOverlap, RangeSet, cmp, Entity,\n PropModSymbol, PropModification, replacePrefix, add, remove } = Dexie;\nexport { liveQuery, mergeRanges, rangesOverlap, RangeSet, cmp, Dexie, Entity,\n PropModSymbol, PropModification, replacePrefix, add, remove };\nexport default Dexie;\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]\n let next\n while ((next = coerceRtlRegex.exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n coerceRtlRegex.lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n const major = match[2]\n const minor = match[3] || '0'\n const patch = match[4] || '0'\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''\n\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)\n}\nmodule.exports = coerce\n","class LRUCache {\n constructor () {\n this.max = 1000\n this.map = new Map()\n }\n\n get (key) {\n const value = this.map.get(key)\n if (value === undefined) {\n return undefined\n } else {\n // Remove the key from the map and add it to the end\n this.map.delete(key)\n this.map.set(key, value)\n return value\n }\n }\n\n delete (key) {\n return this.map.delete(key)\n }\n\n set (key, value) {\n const deleted = this.delete(key)\n\n if (!deleted && value !== undefined) {\n // If cache is full, delete the least recently used item\n if (this.map.size >= this.max) {\n const firstKey = this.map.keys().next().value\n this.delete(firstKey)\n }\n\n this.map.set(key, value)\n }\n\n return this\n }\n}\n\nmodule.exports = LRUCache\n","const SPACE_CHARACTERS = /\\s+/g\n\n// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.formatted = undefined\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range.trim().replace(SPACE_CHARACTERS, ' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.formatted = undefined\n }\n\n get range () {\n if (this.formatted === undefined) {\n this.formatted = ''\n for (let i = 0; i < this.set.length; i++) {\n if (i > 0) {\n this.formatted += '||'\n }\n const comps = this.set[i]\n for (let k = 0; k < comps.length; k++) {\n if (k > 0) {\n this.formatted += ' '\n }\n this.formatted += comps[k].toString().trim()\n }\n }\n }\n return this.formatted\n }\n\n format () {\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('../internal/lrucache')\nconst cache = new LRU()\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\n// TODO build?\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n","import Dexie from \"dexie\";\n// Helper for undefined values, like map for Option<T> in Rust.\n// A better name for this is welcome.\nexport const mapOption = (value, func) => {\n return value != undefined ? func(value) : undefined;\n};\n// Anything can be thrown as an error in raw JS (also the TS compiler can't type-check exceptions),\n// so we allow it here.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const logWebStoreError = (error, errorContext) => {\n if (error instanceof Dexie.DexieError) {\n if (errorContext) {\n console.error(`${errorContext}: Indexdb error (${error.name}): ${error.message}`);\n }\n else {\n console.error(`Indexdb error: (${error.name}): ${error.message}`);\n }\n mapOption(error.stack, (stack) => {\n console.error(`Stacktrace: \\n ${stack}`);\n });\n mapOption(error.inner, (innerException) => logWebStoreError(innerException));\n }\n else if (error instanceof Error) {\n console.error(`Unexpected error while accessing indexdb: ${error.toString()}`);\n mapOption(error.stack, (stack) => {\n console.error(`Stacktrace: ${stack}`);\n });\n }\n else {\n console.error(`Got an exception with a non-error value, as JSON: \\n ${JSON.stringify(error)}. As String \\n ${String(error)} `);\n console.trace();\n }\n throw error;\n};\nexport const uint8ArrayToBase64 = (bytes) => {\n const binary = bytes.reduce((acc, byte) => acc + String.fromCharCode(byte), \"\");\n return btoa(binary);\n};\n","import Dexie from \"dexie\";\nimport * as semver from \"semver\";\nimport { logWebStoreError } from \"./utils.js\";\nexport const CLIENT_VERSION_SETTING_KEY = \"clientVersion\";\nconst textEncoder = new TextEncoder();\nconst textDecoder = new TextDecoder();\n// Since we can't have a pointer to a JS Object from rust, we'll\n// use this instead to keep track of open DBs. A client can have\n// a DB for mainnet, devnet, testnet or a custom one, so this should be ok.\nconst databaseRegistry = new Map();\n/**\n * Get a database instance from the registry by its ID.\n * Throws if the database hasn't been opened yet.\n */\nexport function getDatabase(dbId) {\n const db = databaseRegistry.get(dbId);\n if (!db) {\n throw new Error(`Database not found for id: ${dbId}. Call openDatabase first.`);\n }\n return db;\n}\n/**\n * Opens a database for the given network and registers it in the registry.\n * Returns the database ID (network name) which can be used to retrieve the database later.\n */\nexport async function openDatabase(network, clientVersion) {\n const db = new MidenDatabase(network);\n await db.open(clientVersion);\n databaseRegistry.set(network, db);\n return network;\n}\nvar Table;\n(function (Table) {\n Table[\"AccountCode\"] = \"accountCode\";\n Table[\"LatestAccountStorage\"] = \"latestAccountStorage\";\n Table[\"HistoricalAccountStorage\"] = \"historicalAccountStorage\";\n Table[\"LatestAccountAssets\"] = \"latestAccountAssets\";\n Table[\"HistoricalAccountAssets\"] = \"historicalAccountAssets\";\n Table[\"LatestStorageMapEntries\"] = \"latestStorageMapEntries\";\n Table[\"HistoricalStorageMapEntries\"] = \"historicalStorageMapEntries\";\n Table[\"AccountAuth\"] = \"accountAuth\";\n Table[\"AccountKeyMapping\"] = \"accountKeyMapping\";\n Table[\"LatestAccountHeaders\"] = \"latestAccountHeaders\";\n Table[\"HistoricalAccountHeaders\"] = \"historicalAccountHeaders\";\n Table[\"Addresses\"] = \"addresses\";\n Table[\"Transactions\"] = \"transactions\";\n Table[\"TransactionScripts\"] = \"transactionScripts\";\n Table[\"InputNotes\"] = \"inputNotes\";\n Table[\"OutputNotes\"] = \"outputNotes\";\n Table[\"NotesScripts\"] = \"notesScripts\";\n Table[\"StateSync\"] = \"stateSync\";\n Table[\"BlockHeaders\"] = \"blockHeaders\";\n Table[\"PartialBlockchainNodes\"] = \"partialBlockchainNodes\";\n Table[\"Tags\"] = \"tags\";\n Table[\"ForeignAccountCode\"] = \"foreignAccountCode\";\n Table[\"Settings\"] = \"settings\";\n})(Table || (Table = {}));\nfunction indexes(...items) {\n return items.join(\",\");\n}\n/** V1 baseline schema. Extracted as a constant because once migrations are enabled, this must\n * never be modified — all schema changes should go through new version blocks instead. */\nconst V1_STORES = {\n [Table.AccountCode]: indexes(\"root\"),\n [Table.LatestAccountStorage]: indexes(\"[accountId+slotName]\", \"accountId\"),\n [Table.HistoricalAccountStorage]: indexes(\"[accountId+nonce+slotName]\", \"accountId\", \"[accountId+nonce]\"),\n [Table.LatestStorageMapEntries]: indexes(\"[accountId+slotName+key]\", \"accountId\", \"[accountId+slotName]\"),\n [Table.HistoricalStorageMapEntries]: indexes(\"[accountId+nonce+slotName+key]\", \"accountId\", \"[accountId+nonce]\"),\n [Table.LatestAccountAssets]: indexes(\"[accountId+vaultKey]\", \"accountId\", \"faucetIdPrefix\"),\n [Table.HistoricalAccountAssets]: indexes(\"[accountId+nonce+vaultKey]\", \"accountId\", \"[accountId+nonce]\"),\n [Table.AccountAuth]: indexes(\"pubKeyCommitmentHex\"),\n [Table.AccountKeyMapping]: indexes(\"[accountIdHex+pubKeyCommitmentHex]\", \"accountIdHex\", \"pubKeyCommitmentHex\"),\n [Table.LatestAccountHeaders]: indexes(\"&id\", \"accountCommitment\"),\n [Table.HistoricalAccountHeaders]: indexes(\"&accountCommitment\", \"id\", \"[id+nonce]\"),\n [Table.Addresses]: indexes(\"address\", \"id\"),\n [Table.Transactions]: indexes(\"id\", \"statusVariant\"),\n [Table.TransactionScripts]: indexes(\"scriptRoot\"),\n [Table.InputNotes]: indexes(\"noteId\", \"nullifier\", \"stateDiscriminant\"),\n [Table.OutputNotes]: indexes(\"noteId\", \"recipientDigest\", \"stateDiscriminant\", \"nullifier\"),\n [Table.NotesScripts]: indexes(\"scriptRoot\"),\n [Table.StateSync]: indexes(\"id\"),\n [Table.BlockHeaders]: indexes(\"blockNum\", \"hasClientNotes\"),\n [Table.PartialBlockchainNodes]: indexes(\"id\"),\n [Table.Tags]: indexes(\"id++\", \"tag\", \"sourceNoteId\", \"sourceAccountId\"),\n [Table.ForeignAccountCode]: indexes(\"accountId\"),\n [Table.Settings]: indexes(\"key\"),\n};\nexport class MidenDatabase {\n dexie;\n accountCodes;\n latestAccountStorages;\n historicalAccountStorages;\n latestStorageMapEntries;\n historicalStorageMapEntries;\n latestAccountAssets;\n historicalAccountAssets;\n accountAuths;\n accountKeyMappings;\n latestAccountHeaders;\n historicalAccountHeaders;\n addresses;\n transactions;\n transactionScripts;\n inputNotes;\n outputNotes;\n notesScripts;\n stateSync;\n blockHeaders;\n partialBlockchainNodes;\n tags;\n foreignAccountCode;\n settings;\n constructor(network) {\n this.dexie = new Dexie(network);\n // --- Schema versioning ---\n //\n // NOTE: The migration system is not currently in use. The Miden network\n // resets on every upgrade, so the database is nuked whenever the client\n // version changes (see ensureClientVersion). Once the network stabilizes\n // and data can be preserved across upgrades, the version-change nuke will\n // be removed and migrations will take over.\n //\n // v1 is the baseline schema. To add a migration:\n // 1. Add a .version(N+1).stores({...}).upgrade(tx => {...}) block below.\n // Only list tables whose indexes changed; Dexie carries forward the rest.\n // 2. Update TypeScript interfaces and the Table enum if needed.\n // 3. Add a migration test in schema.test.ts.\n // 4. Run `yarn build` and `yarn test`.\n //\n // The version number is a simple incrementing integer, not the client semver.\n // Use a comment to note which client version introduced the change.\n //\n // Example — adding a `createdAt` field with an index to accounts:\n //\n // // v2: Add createdAt to accounts (client v0.7.0)\n // this.dexie.version(2).stores({\n // accounts: indexes(\"&accountCommitment\", \"id\", ..., \"createdAt\"),\n // }).upgrade(tx => {\n // return tx.table(\"accounts\").toCollection().modify(account => {\n // account.createdAt = 0;\n // });\n // });\n //\n // Tips:\n // - Index-only changes: omit .upgrade(). Dexie creates indexes automatically.\n // - New table: just include it in .stores(). It starts empty.\n // - Remove a table: set it to null, e.g. `oldTable: null`.\n // - Never modify a previous version block. Always add a new one.\n //\n // Note: The `populate` hook (below the version blocks) only fires on\n // first database creation, NOT during upgrades.\n //\n // To enable migrations (stop nuking the DB on version change):\n // 1. Remove the nuke logic in ensureClientVersion (close/delete/open).\n // Just persist the new version instead.\n // 2. Freeze V1_STORES — never modify it again.\n // 3. Add version(2+) blocks below for all schema changes going forward.\n this.dexie.version(1).stores(V1_STORES);\n this.accountCodes = this.dexie.table(Table.AccountCode);\n this.latestAccountStorages = this.dexie.table(Table.LatestAccountStorage);\n this.historicalAccountStorages = this.dexie.table(Table.HistoricalAccountStorage);\n this.latestStorageMapEntries = this.dexie.table(Table.LatestStorageMapEntries);\n this.historicalStorageMapEntries = this.dexie.table(Table.HistoricalStorageMapEntries);\n this.latestAccountAssets = this.dexie.table(Table.LatestAccountAssets);\n this.historicalAccountAssets = this.dexie.table(Table.HistoricalAccountAssets);\n this.accountAuths = this.dexie.table(Table.AccountAuth);\n this.accountKeyMappings = this.dexie.table(Table.AccountKeyMapping);\n this.latestAccountHeaders = this.dexie.table(Table.LatestAccountHeaders);\n this.historicalAccountHeaders = this.dexie.table(Table.HistoricalAccountHeaders);\n this.addresses = this.dexie.table(Table.Addresses);\n this.transactions = this.dexie.table(Table.Transactions);\n this.transactionScripts = this.dexie.table(Table.TransactionScripts);\n this.inputNotes = this.dexie.table(Table.InputNotes);\n this.outputNotes = this.dexie.table(Table.OutputNotes);\n this.notesScripts = this.dexie.table(Table.NotesScripts);\n this.stateSync = this.dexie.table(Table.StateSync);\n this.blockHeaders = this.dexie.table(Table.BlockHeaders);\n this.partialBlockchainNodes = this.dexie.table(Table.PartialBlockchainNodes);\n this.tags = this.dexie.table(Table.Tags);\n this.foreignAccountCode = this.dexie.table(Table.ForeignAccountCode);\n this.settings = this.dexie.table(Table.Settings);\n this.dexie.on(\"populate\", () => {\n this.stateSync\n .put({ id: 1, blockNum: 0 })\n .catch((err) => logWebStoreError(err, \"Failed to populate DB\"));\n });\n }\n async open(clientVersion) {\n console.log(`Opening database ${this.dexie.name} for client version ${clientVersion}...`);\n try {\n await this.dexie.open();\n await this.ensureClientVersion(clientVersion);\n console.log(\"Database opened successfully\");\n return true;\n }\n catch (err) {\n logWebStoreError(err, \"Failed to open database\");\n return false;\n }\n }\n async ensureClientVersion(clientVersion) {\n if (!clientVersion) {\n console.warn(\"openDatabase called without a client version; skipping version enforcement.\");\n return;\n }\n const storedVersion = await this.getStoredClientVersion();\n if (!storedVersion) {\n await this.persistClientVersion(clientVersion);\n return;\n }\n if (storedVersion === clientVersion) {\n return;\n }\n const validCurrent = semver.valid(clientVersion);\n const validStored = semver.valid(storedVersion);\n if (validCurrent && validStored) {\n const parsedCurrent = semver.parse(validCurrent);\n const parsedStored = semver.parse(validStored);\n const sameMajorMinor = parsedCurrent?.major === parsedStored?.major &&\n parsedCurrent?.minor === parsedStored?.minor;\n if (sameMajorMinor || !semver.gt(clientVersion, storedVersion)) {\n await this.persistClientVersion(clientVersion);\n return;\n }\n }\n else {\n console.warn(`Failed to parse semver (${storedVersion} vs ${clientVersion}), forcing store reset.`);\n }\n console.warn(`IndexedDB client version mismatch (stored=${storedVersion}, expected=${clientVersion}). Resetting store.`);\n this.dexie.close();\n await this.dexie.delete();\n await this.dexie.open();\n await this.persistClientVersion(clientVersion);\n }\n async getStoredClientVersion() {\n const record = await this.settings.get(CLIENT_VERSION_SETTING_KEY);\n if (!record) {\n return null;\n }\n return textDecoder.decode(record.value);\n }\n async persistClientVersion(clientVersion) {\n await this.settings.put({\n key: CLIENT_VERSION_SETTING_KEY,\n value: textEncoder.encode(clientVersion),\n });\n }\n}\n","import { getDatabase, } from \"./schema.js\";\nimport { logWebStoreError, uint8ArrayToBase64 } from \"./utils.js\";\nfunction seedToBase64(seed) {\n return seed ? uint8ArrayToBase64(seed) : undefined;\n}\nexport async function getAccountIds(dbId) {\n try {\n const db = getDatabase(dbId);\n const records = await db.latestAccountHeaders.toArray();\n return records.map((entry) => entry.id);\n }\n catch (error) {\n logWebStoreError(error, \"Error while fetching account IDs\");\n }\n return [];\n}\nexport async function getAllAccountHeaders(dbId) {\n try {\n const db = getDatabase(dbId);\n const records = await db.latestAccountHeaders.toArray();\n const resultObject = records.map((record) => ({\n id: record.id,\n nonce: record.nonce,\n vaultRoot: record.vaultRoot,\n storageRoot: record.storageRoot || \"\",\n codeRoot: record.codeRoot || \"\",\n accountSeed: seedToBase64(record.accountSeed),\n locked: record.locked,\n committed: record.committed,\n accountCommitment: record.accountCommitment || \"\",\n }));\n return resultObject;\n }\n catch (error) {\n logWebStoreError(error, \"Error while fetching account headers\");\n }\n}\nexport async function getAccountHeader(dbId, accountId) {\n try {\n const db = getDatabase(dbId);\n const record = await db.latestAccountHeaders\n .where(\"id\")\n .equals(accountId)\n .first();\n if (!record) {\n console.log(\"No account header record found for given ID.\");\n return null;\n }\n return {\n id: record.id,\n nonce: record.nonce,\n vaultRoot: record.vaultRoot,\n storageRoot: record.storageRoot,\n codeRoot: record.codeRoot,\n accountSeed: seedToBase64(record.accountSeed),\n locked: record.locked,\n };\n }\n catch (error) {\n logWebStoreError(error, `Error while fetching account header for id: ${accountId}`);\n }\n}\nexport async function getAccountHeaderByCommitment(dbId, accountCommitment) {\n try {\n const db = getDatabase(dbId);\n const record = await db.historicalAccountHeaders\n .where(\"accountCommitment\")\n .equals(accountCommitment)\n .first();\n if (!record) {\n return undefined;\n }\n return {\n id: record.id,\n nonce: record.nonce,\n vaultRoot: record.vaultRoot,\n storageRoot: record.storageRoot,\n codeRoot: record.codeRoot,\n accountSeed: seedToBase64(record.accountSeed),\n locked: record.locked,\n };\n }\n catch (error) {\n logWebStoreError(error, `Error fetching account header for commitment ${accountCommitment}`);\n }\n}\nexport async function getAccountCode(dbId, codeRoot) {\n try {\n const db = getDatabase(dbId);\n const allMatchingRecords = await db.accountCodes\n .where(\"root\")\n .equals(codeRoot)\n .toArray();\n const codeRecord = allMatchingRecords[0];\n if (codeRecord === undefined) {\n console.log(\"No records found for given code root.\");\n return null;\n }\n const codeBase64 = uint8ArrayToBase64(codeRecord.code);\n return {\n root: codeRecord.root,\n code: codeBase64,\n };\n }\n catch (error) {\n logWebStoreError(error, `Error fetching account code for root ${codeRoot}`);\n }\n}\nexport async function getAccountStorage(dbId, accountId) {\n try {\n const db = getDatabase(dbId);\n const allMatchingRecords = await db.latestAccountStorages\n .where(\"accountId\")\n .equals(accountId)\n .toArray();\n const slots = allMatchingRecords.map((record) => {\n return {\n slotName: record.slotName,\n slotValue: record.slotValue,\n slotType: record.slotType,\n };\n });\n return slots;\n }\n catch (error) {\n logWebStoreError(error, `Error fetching account storage for account ${accountId}`);\n }\n}\nexport async function getAccountStorageMaps(dbId, accountId) {\n try {\n const db = getDatabase(dbId);\n const allMatchingRecords = await db.latestStorageMapEntries\n .where(\"accountId\")\n .equals(accountId)\n .toArray();\n return allMatchingRecords;\n }\n catch (error) {\n logWebStoreError(error, `Error fetching account storage maps for account ${accountId}`);\n }\n}\nexport async function getAccountVaultAssets(dbId, accountId) {\n try {\n const db = getDatabase(dbId);\n const allMatchingRecords = await db.latestAccountAssets\n .where(\"accountId\")\n .equals(accountId)\n .toArray();\n const assets = allMatchingRecords.map((record) => {\n return {\n asset: record.asset,\n };\n });\n return assets;\n }\n catch (error) {\n logWebStoreError(error, `Error fetching account vault for account ${accountId}`);\n }\n}\nexport async function getAccountAuthByPubKeyCommitment(dbId, pubKeyCommitmentHex) {\n const db = getDatabase(dbId);\n const accountSecretKey = await db.accountAuths\n .where(\"pubKeyCommitmentHex\")\n .equals(pubKeyCommitmentHex)\n .first();\n if (!accountSecretKey) {\n throw new Error(\"Account auth not found in cache.\");\n }\n const data = {\n secretKey: accountSecretKey.secretKeyHex,\n };\n return data;\n}\nexport async function getAccountAddresses(dbId, accountId) {\n try {\n const db = getDatabase(dbId);\n const allMatchingRecords = await db.addresses\n .where(\"id\")\n .equals(accountId)\n .toArray();\n if (allMatchingRecords.length === 0) {\n console.log(\"No address records found for given account ID.\");\n return [];\n }\n return allMatchingRecords;\n }\n catch (error) {\n logWebStoreError(error, `Error while fetching account addresses for id: ${accountId}`);\n }\n}\nexport async function upsertAccountCode(dbId, codeRoot, code) {\n try {\n const db = getDatabase(dbId);\n const data = {\n root: codeRoot,\n code,\n };\n await db.accountCodes.put(data);\n }\n catch (error) {\n logWebStoreError(error, `Error inserting code with root: ${codeRoot}`);\n }\n}\nexport async function upsertAccountStorage(dbId, accountId, nonce, storageSlots) {\n try {\n const db = getDatabase(dbId);\n await db.latestAccountStorages\n .where(\"accountId\")\n .equals(accountId)\n .delete();\n if (storageSlots.length === 0)\n return;\n const latestEntries = storageSlots.map((slot) => ({\n accountId,\n slotName: slot.slotName,\n slotValue: slot.slotValue,\n slotType: slot.slotType,\n }));\n const historicalEntries = latestEntries.map((entry) => ({\n ...entry,\n nonce,\n }));\n await db.latestAccountStorages.bulkPut(latestEntries);\n await db.historicalAccountStorages.bulkPut(historicalEntries);\n }\n catch (error) {\n logWebStoreError(error, `Error inserting storage slots`);\n }\n}\nexport async function upsertStorageMapEntries(dbId, accountId, nonce, entries) {\n try {\n const db = getDatabase(dbId);\n // Read old latest entries before clearing, to detect removals\n const oldEntries = await db.latestStorageMapEntries\n .where(\"accountId\")\n .equals(accountId)\n .toArray();\n await db.latestStorageMapEntries\n .where(\"accountId\")\n .equals(accountId)\n .delete();\n // Build a set of new keys for fast lookup\n const newKeySet = new Set(entries.map((e) => `${e.slotName}\\0${e.key}`));\n // Write tombstones to historical for entries that existed but are now absent\n for (const old of oldEntries) {\n if (!newKeySet.has(`${old.slotName}\\0${old.key}`)) {\n await db.historicalStorageMapEntries.put({\n accountId,\n nonce,\n slotName: old.slotName,\n key: old.key,\n value: null,\n });\n }\n }\n if (entries.length === 0)\n return;\n const latestEntries = entries.map((entry) => ({\n accountId,\n slotName: entry.slotName,\n key: entry.key,\n value: entry.value,\n }));\n const historicalEntries = latestEntries.map((entry) => ({\n ...entry,\n nonce,\n }));\n await db.latestStorageMapEntries.bulkPut(latestEntries);\n await db.historicalStorageMapEntries.bulkPut(historicalEntries);\n }\n catch (error) {\n logWebStoreError(error, `Error inserting storage map entries`);\n }\n}\nexport async function upsertVaultAssets(dbId, accountId, nonce, assets) {\n try {\n const db = getDatabase(dbId);\n // Read old latest entries before clearing, to detect removals\n const oldAssets = await db.latestAccountAssets\n .where(\"accountId\")\n .equals(accountId)\n .toArray();\n await db.latestAccountAssets.where(\"accountId\").equals(accountId).delete();\n // Build a set of new vault keys for fast lookup\n const newKeySet = new Set(assets.map((a) => a.vaultKey));\n // Write tombstones to historical for assets that existed but are now absent\n for (const old of oldAssets) {\n if (!newKeySet.has(old.vaultKey)) {\n await db.historicalAccountAssets.put({\n accountId,\n nonce,\n vaultKey: old.vaultKey,\n faucetIdPrefix: old.faucetIdPrefix,\n asset: null,\n });\n }\n }\n if (assets.length === 0)\n return;\n const latestEntries = assets.map((asset) => ({\n accountId,\n vaultKey: asset.vaultKey,\n faucetIdPrefix: asset.faucetIdPrefix,\n asset: asset.asset,\n }));\n const historicalEntries = latestEntries.map((entry) => ({\n ...entry,\n nonce,\n }));\n await db.latestAccountAssets.bulkPut(latestEntries);\n await db.historicalAccountAssets.bulkPut(historicalEntries);\n }\n catch (error) {\n logWebStoreError(error, `Error inserting assets`);\n }\n}\nexport async function applyTransactionDelta(dbId, accountId, nonce, updatedSlots, changedMapEntries, changedAssets, codeRoot, storageRoot, vaultRoot, committed, commitment, accountSeed) {\n try {\n const db = getDatabase(dbId);\n await db.dexie.transaction(\"rw\", [\n db.latestAccountStorages,\n db.historicalAccountStorages,\n db.latestStorageMapEntries,\n db.historicalStorageMapEntries,\n db.latestAccountAssets,\n db.historicalAccountAssets,\n db.latestAccountHeaders,\n db.historicalAccountHeaders,\n ], async () => {\n // Apply storage delta\n for (const slot of updatedSlots) {\n await db.latestAccountStorages.put({\n accountId,\n slotName: slot.slotName,\n slotValue: slot.slotValue,\n slotType: slot.slotType,\n });\n await db.historicalAccountStorages.put({\n accountId,\n nonce,\n slotName: slot.slotName,\n slotValue: slot.slotValue,\n slotType: slot.slotType,\n });\n }\n // Process map entries: value=\"\" means removal\n for (const entry of changedMapEntries) {\n if (entry.value === \"\") {\n // Removal: delete from latest, write tombstone to historical\n await db.latestStorageMapEntries\n .where(\"[accountId+slotName+key]\")\n .equals([accountId, entry.slotName, entry.key])\n .delete();\n await db.historicalStorageMapEntries.put({\n accountId,\n nonce,\n slotName: entry.slotName,\n key: entry.key,\n value: null,\n });\n }\n else {\n // Update: put to both latest and historical\n await db.latestStorageMapEntries.put({\n accountId,\n slotName: entry.slotName,\n key: entry.key,\n value: entry.value,\n });\n await db.historicalStorageMapEntries.put({\n accountId,\n nonce,\n slotName: entry.slotName,\n key: entry.key,\n value: entry.value,\n });\n }\n }\n // Apply vault delta\n for (const entry of changedAssets) {\n if (entry.asset === \"\") {\n // Removal: delete from latest, write tombstone to historical\n await db.latestAccountAssets\n .where(\"[accountId+vaultKey]\")\n .equals([accountId, entry.vaultKey])\n .delete();\n await db.historicalAccountAssets.put({\n accountId,\n nonce,\n vaultKey: entry.vaultKey,\n faucetIdPrefix: entry.faucetIdPrefix,\n asset: null,\n });\n }\n else {\n // Update: put to both latest and historical\n await db.latestAccountAssets.put({\n accountId,\n vaultKey: entry.vaultKey,\n faucetIdPrefix: entry.faucetIdPrefix,\n asset: entry.asset,\n });\n await db.historicalAccountAssets.put({\n accountId,\n nonce,\n vaultKey: entry.vaultKey,\n faucetIdPrefix: entry.faucetIdPrefix,\n asset: entry.asset,\n });\n }\n }\n // Upsert account record\n const data = {\n id: accountId,\n codeRoot,\n storageRoot,\n vaultRoot,\n nonce,\n committed,\n accountSeed,\n accountCommitment: commitment,\n locked: false,\n };\n await db.historicalAccountHeaders.put(data);\n await db.latestAccountHeaders.put(data);\n });\n }\n catch (error) {\n logWebStoreError(error, `Error applying transaction delta`);\n }\n}\nexport async function applyFullAccountState(dbId, accountState) {\n try {\n const db = getDatabase(dbId);\n const { accountId, nonce, storageSlots, storageMapEntries, assets, codeRoot, storageRoot, vaultRoot, committed, accountCommitment, accountSeed, } = accountState;\n await db.dexie.transaction(\"rw\", [\n db.latestAccountStorages,\n db.historicalAccountStorages,\n db.latestStorageMapEntries,\n db.historicalStorageMapEntries,\n db.latestAccountAssets,\n db.historicalAccountAssets,\n db.latestAccountHeaders,\n db.historicalAccountHeaders,\n ], async () => {\n // Upsert account storage (calls existing helpers — Dexie nesting\n // joins them to this outer transaction)\n await upsertAccountStorage(dbId, accountId, nonce, storageSlots);\n await upsertStorageMapEntries(dbId, accountId, nonce, storageMapEntries);\n await upsertVaultAssets(dbId, accountId, nonce, assets);\n // Upsert account record\n const data = {\n id: accountId,\n codeRoot,\n storageRoot,\n vaultRoot,\n nonce,\n committed,\n accountSeed,\n accountCommitment,\n locked: false,\n };\n await db.historicalAccountHeaders.put(data);\n await db.latestAccountHeaders.put(data);\n });\n }\n catch (error) {\n logWebStoreError(error, `Error applying full account state`);\n }\n}\nexport async function upsertAccountRecord(dbId, accountId, codeRoot, storageRoot, vaultRoot, nonce, committed, commitment, accountSeed) {\n try {\n const db = getDatabase(dbId);\n const data = {\n id: accountId,\n codeRoot,\n storageRoot,\n vaultRoot,\n nonce,\n committed,\n accountSeed,\n accountCommitment: commitment,\n locked: false,\n };\n await db.historicalAccountHeaders.put(data);\n await db.latestAccountHeaders.put(data);\n }\n catch (error) {\n logWebStoreError(error, `Error inserting account: ${accountId}`);\n }\n}\nexport async function insertAccountAuth(dbId, pubKeyCommitmentHex, secretKey) {\n try {\n const db = getDatabase(dbId);\n const data = {\n pubKeyCommitmentHex,\n secretKeyHex: secretKey,\n };\n await db.accountAuths.add(data);\n }\n catch (error) {\n logWebStoreError(error, `Error inserting account auth for pubKey: ${pubKeyCommitmentHex}`);\n }\n}\nexport async function insertAccountAddress(dbId, accountId, address) {\n try {\n const db = getDatabase(dbId);\n const data = {\n id: accountId,\n address,\n };\n await db.addresses.put(data);\n }\n catch (error) {\n logWebStoreError(error, `Error inserting address with value: ${String(address)} for the account ID ${accountId}`);\n }\n}\nexport async function removeAccountAddress(dbId, address) {\n try {\n const db = getDatabase(dbId);\n await db.addresses.where(\"address\").equals(address).delete();\n }\n catch (error) {\n logWebStoreError(error, `Error removing address with value: ${String(address)}`);\n }\n}\nexport async function upsertForeignAccountCode(dbId, accountId, code, codeRoot) {\n try {\n const db = getDatabase(dbId);\n await upsertAccountCode(dbId, codeRoot, code);\n const data = {\n accountId,\n codeRoot,\n };\n await db.foreignAccountCode.put(data);\n }\n catch (error) {\n logWebStoreError(error, `Error upserting foreign account code for account: ${accountId}`);\n }\n}\nexport async function getForeignAccountCode(dbId, accountIds) {\n try {\n const db = getDatabase(dbId);\n const foreignAccounts = await db.foreignAccountCode\n .where(\"accountId\")\n .anyOf(accountIds)\n .toArray();\n if (foreignAccounts.length === 0) {\n console.log(\"No records found for the given account IDs.\");\n return null;\n }\n const codeRoots = foreignAccounts.map((account) => account.codeRoot);\n const accountCode = await db.accountCodes\n .where(\"root\")\n .anyOf(codeRoots)\n .toArray();\n const processedCode = foreignAccounts\n .map((foreignAccount) => {\n const matchingCode = accountCode.find((code) => code.root === foreignAccount.codeRoot);\n if (matchingCode === undefined) {\n return undefined;\n }\n const codeBase64 = uint8ArrayToBase64(matchingCode.code);\n return {\n accountId: foreignAccount.accountId,\n code: codeBase64,\n };\n })\n .filter((matchingCode) => matchingCode !== undefined);\n return processedCode;\n }\n catch (error) {\n logWebStoreError(error, \"Error fetching foreign account code\");\n }\n}\nexport async function lockAccount(dbId, accountId) {\n try {\n const db = getDatabase(dbId);\n await db.latestAccountHeaders\n .where(\"id\")\n .equals(accountId)\n .modify({ locked: true });\n // Also lock historical rows so that undo/rebuild preserves the lock.\n await db.historicalAccountHeaders\n .where(\"id\")\n .equals(accountId)\n .modify({ locked: true });\n }\n catch (error) {\n logWebStoreError(error, `Error locking account: ${accountId}`);\n }\n}\n/**\n * Rebuilds latest storage slots from historical data.\n * Groups by slotName, takes the entry with MAX(nonce) per slot.\n * Slots cannot be removed, so no tombstone filtering needed.\n */\nasync function rebuildLatestStorageSlots(db, accountId) {\n await db.latestAccountStorages.where(\"accountId\").equals(accountId).delete();\n const allHist = await db.historicalAccountStorages\n .where(\"accountId\")\n .equals(accountId)\n .toArray();\n // Group by slotName, take MAX(nonce) per slot\n const bySlot = new Map();\n for (const entry of allHist) {\n const existing = bySlot.get(entry.slotName);\n if (!existing || BigInt(entry.nonce) > BigInt(existing.nonce)) {\n bySlot.set(entry.slotName, entry);\n }\n }\n if (bySlot.size > 0) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const entries = [...bySlot.values()].map(({ nonce, ...rest }) => rest);\n await db.latestAccountStorages.bulkPut(entries);\n }\n}\n/**\n * Rebuilds latest storage map entries from historical data.\n * Groups by (slotName, key), takes the entry with MAX(nonce) per key.\n * Filters out tombstones (value === null).\n */\nasync function rebuildLatestStorageMapEntries(db, accountId) {\n await db.latestStorageMapEntries\n .where(\"accountId\")\n .equals(accountId)\n .delete();\n const allHist = await db.historicalStorageMapEntries\n .where(\"accountId\")\n .equals(accountId)\n .toArray();\n // Group by (slotName, key), take MAX(nonce) per key\n const byKey = new Map();\n for (const entry of allHist) {\n const compositeKey = `${entry.slotName}\\0${entry.key}`;\n const existing = byKey.get(compositeKey);\n if (!existing || BigInt(entry.nonce) > BigInt(existing.nonce)) {\n byKey.set(compositeKey, entry);\n }\n }\n // Filter out tombstones and strip nonce\n const entries = [...byKey.values()]\n .filter((e) => e.value !== null)\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .map(({ nonce, value, ...rest }) => ({\n ...rest,\n value: value,\n }));\n if (entries.length > 0) {\n await db.latestStorageMapEntries.bulkPut(entries);\n }\n}\n/**\n * Rebuilds latest vault assets from historical data.\n * Groups by vaultKey, takes the entry with MAX(nonce) per key.\n * Filters out tombstones (asset === null).\n */\nasync function rebuildLatestVaultAssets(db, accountId) {\n await db.latestAccountAssets.where(\"accountId\").equals(accountId).delete();\n const allHist = await db.historicalAccountAssets\n .where(\"accountId\")\n .equals(accountId)\n .toArray();\n // Group by vaultKey, take MAX(nonce) per key\n const byKey = new Map();\n for (const entry of allHist) {\n const existing = byKey.get(entry.vaultKey);\n if (!existing || BigInt(entry.nonce) > BigInt(existing.nonce)) {\n byKey.set(entry.vaultKey, entry);\n }\n }\n // Filter out tombstones and strip nonce\n const entries = [...byKey.values()]\n .filter((e) => e.asset !== null)\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .map(({ nonce, asset, ...rest }) => ({\n ...rest,\n asset: asset,\n }));\n if (entries.length > 0) {\n await db.latestAccountAssets.bulkPut(entries);\n }\n}\nexport async function undoAccountStates(dbId, accountCommitments) {\n try {\n const db = getDatabase(dbId);\n await db.dexie.transaction(\"rw\", [\n db.latestAccountStorages,\n db.historicalAccountStorages,\n db.latestStorageMapEntries,\n db.historicalStorageMapEntries,\n db.latestAccountAssets,\n db.historicalAccountAssets,\n db.latestAccountHeaders,\n db.historicalAccountHeaders,\n ], async () => {\n // Find affected records to get their account IDs and nonces before deleting\n const affectedRecords = await db.historicalAccountHeaders\n .where(\"accountCommitment\")\n .anyOf(accountCommitments)\n .toArray();\n // Collect affected (accountId, nonce) pairs\n const accountNonces = new Map();\n for (const record of affectedRecords) {\n if (!accountNonces.has(record.id)) {\n accountNonces.set(record.id, new Set());\n }\n accountNonces.get(record.id).add(record.nonce);\n }\n // Delete matching records from historical account headers\n await db.historicalAccountHeaders\n .where(\"accountCommitment\")\n .anyOf(accountCommitments)\n .delete();\n // Delete historical storage/map/assets for affected (accountId, nonce) pairs\n for (const [accountId, nonces] of accountNonces) {\n for (const nonce of nonces) {\n await db.historicalAccountStorages\n .where(\"[accountId+nonce]\")\n .equals([accountId, nonce])\n .delete();\n await db.historicalStorageMapEntries\n .where(\"[accountId+nonce]\")\n .equals([accountId, nonce])\n .delete();\n await db.historicalAccountAssets\n .where(\"[accountId+nonce]\")\n .equals([accountId, nonce])\n .delete();\n }\n }\n // Rebuild latest for each affected account\n for (const accountId of accountNonces.keys()) {\n const remaining = await db.historicalAccountHeaders\n .where(\"id\")\n .equals(accountId)\n .toArray();\n if (remaining.length === 0) {\n // Account completely undone — clear all latest tables\n await db.latestAccountHeaders\n .where(\"id\")\n .equals(accountId)\n .delete();\n await db.latestAccountStorages\n .where(\"accountId\")\n .equals(accountId)\n .delete();\n await db.latestStorageMapEntries\n .where(\"accountId\")\n .equals(accountId)\n .delete();\n await db.latestAccountAssets\n .where(\"accountId\")\n .equals(accountId)\n .delete();\n }\n else {\n // Find the record with the highest nonce\n let maxRecord = remaining[0];\n for (const record of remaining) {\n if (BigInt(record.nonce) > BigInt(maxRecord.nonce)) {\n maxRecord = record;\n }\n }\n // Rebuild latest from historical using MAX(nonce) per key\n await db.latestAccountHeaders.put(maxRecord);\n await rebuildLatestStorageSlots(db, accountId);\n await rebuildLatestStorageMapEntries(db, accountId);\n await rebuildLatestVaultAssets(db, accountId);\n }\n }\n });\n }\n catch (error) {\n logWebStoreError(error, `Error undoing account states: ${accountCommitments.join(\",\")}`);\n }\n}\nexport async function removeAccountAuth(dbId, pubKeyCommitmentHex) {\n try {\n const db = getDatabase(dbId);\n await db.accountAuths\n .where(\"pubKeyCommitmentHex\")\n .equals(pubKeyCommitmentHex)\n .delete();\n }\n catch (error) {\n logWebStoreError(error, `Error removing account auth for pubKey: ${pubKeyCommitmentHex}`);\n }\n}\nexport async function insertAccountKeyMapping(dbId, accountIdHex, pubKeyCommitmentHex) {\n try {\n const db = getDatabase(dbId);\n const data = {\n accountIdHex,\n pubKeyCommitmentHex,\n };\n await db.accountKeyMappings.put(data);\n }\n catch (error) {\n logWebStoreError(error, `Error inserting account key mapping for account ${accountIdHex} and key ${pubKeyCommitmentHex}`);\n }\n}\nexport async function removeAccountKeyMapping(dbId, accountIdHex, pubKeyCommitmentHex) {\n try {\n const db = getDatabase(dbId);\n const deletedCount = await db.accountKeyMappings\n .where(\"[accountIdHex+pubKeyCommitmentHex]\")\n .equals([accountIdHex, pubKeyCommitmentHex])\n .delete();\n return deletedCount > 0;\n }\n catch (error) {\n logWebStoreError(error, `Error removing account key mapping for account ${accountIdHex} and key ${pubKeyCommitmentHex}`);\n return false;\n }\n}\nexport async function getKeyCommitmentsByAccountId(dbId, accountIdHex) {\n try {\n const db = getDatabase(dbId);\n const mappings = await db.accountKeyMappings\n .where(\"accountIdHex\")\n .equals(accountIdHex)\n .toArray();\n return mappings.map((mapping) => mapping.pubKeyCommitmentHex);\n }\n catch (error) {\n logWebStoreError(error, `Error getting key commitments for account: ${accountIdHex}`);\n return [];\n }\n}\nexport async function getAccountIdByKeyCommitment(dbId, pubKeyCommitmentHex) {\n try {\n const db = getDatabase(dbId);\n const mapping = await db.accountKeyMappings\n .where(\"pubKeyCommitmentHex\")\n .equals(pubKeyCommitmentHex)\n .first();\n return mapping?.accountIdHex ?? null;\n }\n catch (error) {\n logWebStoreError(error, `Error fetching account by public key commitment: ${pubKeyCommitmentHex}`);\n return null;\n }\n}\nexport async function removeAllMappingsForKey(dbId, pubKeyCommitmentHex) {\n try {\n const db = getDatabase(dbId);\n await db.accountKeyMappings\n .where(\"pubKeyCommitmentHex\")\n .equals(pubKeyCommitmentHex)\n .delete();\n }\n catch (error) {\n logWebStoreError(error, `Error removing all mappings for key: ${pubKeyCommitmentHex}`);\n }\n}\n","import { getDatabase } from \"./schema.js\";\nimport { logWebStoreError, uint8ArrayToBase64 } from \"./utils.js\";\nexport async function insertBlockHeader(dbId, blockNum, header, partialBlockchainPeaks, hasClientNotes) {\n try {\n const db = getDatabase(dbId);\n const data = {\n blockNum: blockNum,\n header,\n partialBlockchainPeaks,\n hasClientNotes: hasClientNotes.toString(),\n };\n await db.blockHeaders.put(data);\n }\n catch (err) {\n logWebStoreError(err);\n }\n}\nexport async function insertPartialBlockchainNodes(dbId, ids, nodes) {\n try {\n const db = getDatabase(dbId);\n if (ids.length !== nodes.length) {\n throw new Error(\"ids and nodes arrays must be of the same length\");\n }\n if (ids.length === 0) {\n return;\n }\n const data = nodes.map((node, index) => ({\n id: Number(ids[index]),\n node: node,\n }));\n await db.partialBlockchainNodes.bulkPut(data);\n }\n catch (err) {\n logWebStoreError(err, \"Failed to insert partial blockchain nodes\");\n }\n}\nexport async function getBlockHeaders(dbId, blockNumbers) {\n try {\n const db = getDatabase(dbId);\n const results = await db.blockHeaders.bulkGet(blockNumbers);\n const processedResults = await Promise.all(results.map((result) => {\n if (result === undefined) {\n return null;\n }\n else {\n const headerBase64 = uint8ArrayToBase64(result.header);\n const partialBlockchainPeaksBase64 = uint8ArrayToBase64(result.partialBlockchainPeaks);\n return {\n blockNum: result.blockNum,\n header: headerBase64,\n partialBlockchainPeaks: partialBlockchainPeaksBase64,\n hasClientNotes: result.hasClientNotes === \"true\",\n };\n }\n }));\n return processedResults;\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get block headers\");\n }\n}\nexport async function getTrackedBlockHeaders(dbId) {\n try {\n const db = getDatabase(dbId);\n const allMatchingRecords = await db.blockHeaders\n .where(\"hasClientNotes\")\n .equals(\"true\")\n .toArray();\n const processedRecords = await Promise.all(allMatchingRecords.map((record) => {\n const headerBase64 = uint8ArrayToBase64(record.header);\n const partialBlockchainPeaksBase64 = uint8ArrayToBase64(record.partialBlockchainPeaks);\n return {\n blockNum: record.blockNum,\n header: headerBase64,\n partialBlockchainPeaks: partialBlockchainPeaksBase64,\n hasClientNotes: record.hasClientNotes === \"true\",\n };\n }));\n return processedRecords;\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get tracked block headers\");\n }\n}\nexport async function getPartialBlockchainPeaksByBlockNum(dbId, blockNum) {\n try {\n const db = getDatabase(dbId);\n const blockHeader = await db.blockHeaders.get(blockNum);\n if (blockHeader == undefined) {\n return {\n peaks: undefined,\n };\n }\n const partialBlockchainPeaksBase64 = uint8ArrayToBase64(blockHeader.partialBlockchainPeaks);\n return {\n peaks: partialBlockchainPeaksBase64,\n };\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get partial blockchain peaks\");\n }\n}\nexport async function getPartialBlockchainNodesAll(dbId) {\n try {\n const db = getDatabase(dbId);\n const partialBlockchainNodesAll = await db.partialBlockchainNodes.toArray();\n return partialBlockchainNodesAll;\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get partial blockchain nodes\");\n }\n}\nexport async function getPartialBlockchainNodes(dbId, ids) {\n try {\n const db = getDatabase(dbId);\n const numericIds = ids.map((id) => Number(id));\n const results = await db.partialBlockchainNodes.bulkGet(numericIds);\n // bulkGet returns undefined for missing keys — filter them out so the\n // Rust deserializer does not choke on undefined values.\n return results.filter((r) => r !== undefined);\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get partial blockchain nodes\");\n }\n}\nexport async function getPartialBlockchainNodesUpToInOrderIndex(dbId, maxInOrderIndex) {\n try {\n const db = getDatabase(dbId);\n const maxNumericId = Number(maxInOrderIndex);\n const results = await db.partialBlockchainNodes\n .where(\"id\")\n .belowOrEqual(maxNumericId)\n .toArray();\n return results;\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get partial blockchain nodes up to index\");\n }\n}\nexport async function pruneIrrelevantBlocks(dbId) {\n try {\n const db = getDatabase(dbId);\n const syncHeight = await db.stateSync.get(1);\n if (syncHeight == undefined) {\n throw Error(\"SyncHeight is undefined -- is the state sync table empty?\");\n }\n const allMatchingRecords = await db.blockHeaders\n .where(\"hasClientNotes\")\n .equals(\"false\")\n .and((record) => record.blockNum !== 0 && record.blockNum !== syncHeight.blockNum)\n .toArray();\n await db.blockHeaders.bulkDelete(allMatchingRecords.map((r) => r.blockNum));\n }\n catch (err) {\n logWebStoreError(err, \"Failed to prune irrelevant blocks\");\n }\n}\n","// Disabling `any` checks since this file mostly deals with exporting DB types.\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { getDatabase } from \"./schema.js\";\nimport { uint8ArrayToBase64 } from \"./utils.js\";\nasync function recursivelyTransformForExport(obj) {\n switch (obj.type) {\n case \"Uint8Array\":\n return Array.from(obj.value);\n case \"Blob\":\n return {\n __type: \"Blob\",\n data: uint8ArrayToBase64(new Uint8Array(await obj.value.arrayBuffer())),\n };\n case \"Array\":\n return await Promise.all(obj.value.map((v) => recursivelyTransformForExport({ type: getInputType(v), value: v })));\n case \"Record\":\n return Object.fromEntries(await Promise.all(Object.entries(obj.value).map(async ([key, value]) => [\n key,\n await recursivelyTransformForExport({\n type: getInputType(value),\n value,\n }),\n ])));\n case \"Primitive\":\n return obj.value;\n }\n}\nfunction getInputType(value) {\n if (value instanceof Uint8Array)\n return \"Uint8Array\";\n if (value instanceof Blob)\n return \"Blob\";\n if (Array.isArray(value))\n return \"Array\";\n if (value && typeof value === \"object\")\n return \"Record\";\n return \"Primitive\";\n}\nexport async function transformForExport(obj) {\n return recursivelyTransformForExport({ type: getInputType(obj), value: obj });\n}\nexport async function exportStore(dbId) {\n const db = getDatabase(dbId);\n const dbJson = {};\n for (const table of db.dexie.tables) {\n const records = await table.toArray();\n dbJson[table.name] = await Promise.all(records.map(transformForExport));\n }\n return JSON.stringify(dbJson);\n}\n","// Disabling `any` checks since this file mostly deals\n// with importing DB types and we're testing this which\n// should be enough + the TS compiler.\n/* eslint-disable */\nimport { getDatabase } from \"./schema.js\";\nimport { logWebStoreError } from \"./utils.js\";\nasync function recursivelyTransformForImport(obj) {\n switch (obj.type) {\n case \"Blob\":\n return new Blob([base64ToUint8Array(obj.value.data)]);\n case \"Array\":\n return await Promise.all(obj.value.map((v) => recursivelyTransformForImport({ type: getImportType(v), value: v })));\n case \"Object\":\n return Object.fromEntries(await Promise.all(Object.entries(obj.value).map(async ([key, value]) => [\n key,\n await recursivelyTransformForImport({\n type: getImportType(value),\n value,\n }),\n ])));\n case \"Primitive\":\n return obj.value;\n }\n}\nfunction getImportType(value) {\n if (value && typeof value === \"object\" && value.__type === \"Blob\") {\n return \"Blob\";\n }\n if (Array.isArray(value))\n return \"Array\";\n if (value && typeof value === \"object\")\n return \"Object\";\n return \"Primitive\";\n}\nexport async function transformForImport(obj) {\n return recursivelyTransformForImport({\n type: getImportType(obj),\n value: obj,\n });\n}\nexport async function forceImportStore(dbId, jsonStr) {\n try {\n const db = getDatabase(dbId);\n let dbJson = JSON.parse(jsonStr);\n if (typeof dbJson === \"string\") {\n dbJson = JSON.parse(dbJson);\n }\n const jsonTableNames = Object.keys(dbJson);\n const dbTableNames = db.dexie.tables.map((t) => t.name);\n if (jsonTableNames.length === 0) {\n throw new Error(\"No tables found in the provided JSON.\");\n }\n await db.dexie.transaction(\"rw\", dbTableNames, async () => {\n await Promise.all(db.dexie.tables.map((t) => t.clear()));\n for (const tableName of jsonTableNames) {\n const table = db.dexie.table(tableName);\n if (!dbTableNames.includes(tableName)) {\n console.warn(`Table \"${tableName}\" does not exist in the database schema. Skipping.`);\n continue;\n }\n const records = dbJson[tableName];\n const transformedRecords = await Promise.all(records.map(transformForImport));\n await table.bulkPut(transformedRecords);\n }\n });\n console.log(\"Store imported successfully.\");\n }\n catch (err) {\n logWebStoreError(err);\n }\n}\nfunction base64ToUint8Array(base64) {\n const binaryString = atob(base64);\n const len = binaryString.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n}\n","import { getDatabase } from \"./schema.js\";\nimport { logWebStoreError, uint8ArrayToBase64 } from \"./utils.js\";\nexport async function getOutputNotes(dbId, states) {\n try {\n const db = getDatabase(dbId);\n let notes = states.length == 0\n ? await db.outputNotes.toArray()\n : await db.outputNotes\n .where(\"stateDiscriminant\")\n .anyOf(states)\n .toArray();\n return await processOutputNotes(notes);\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get output notes\");\n }\n}\nexport async function getInputNotes(dbId, states) {\n try {\n const db = getDatabase(dbId);\n let notes;\n if (states.length === 0) {\n notes = await db.inputNotes.toArray();\n }\n else {\n notes = await db.inputNotes\n .where(\"stateDiscriminant\")\n .anyOf(states)\n .toArray();\n }\n return await processInputNotes(dbId, notes);\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get input notes\");\n }\n}\nexport async function getInputNotesFromIds(dbId, noteIds) {\n try {\n const db = getDatabase(dbId);\n let notes = await db.inputNotes.where(\"noteId\").anyOf(noteIds).toArray();\n return await processInputNotes(dbId, notes);\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get input notes from IDs\");\n }\n}\nexport async function getInputNotesFromNullifiers(dbId, nullifiers) {\n try {\n const db = getDatabase(dbId);\n let notes = await db.inputNotes\n .where(\"nullifier\")\n .anyOf(nullifiers)\n .toArray();\n return await processInputNotes(dbId, notes);\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get input notes from nullifiers\");\n }\n}\nexport async function getOutputNotesFromNullifiers(dbId, nullifiers) {\n try {\n const db = getDatabase(dbId);\n let notes = await db.outputNotes\n .where(\"nullifier\")\n .anyOf(nullifiers)\n .toArray();\n return await processOutputNotes(notes);\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get output notes from nullifiers\");\n }\n}\nexport async function getOutputNotesFromIds(dbId, noteIds) {\n try {\n const db = getDatabase(dbId);\n let notes = await db.outputNotes.where(\"noteId\").anyOf(noteIds).toArray();\n return await processOutputNotes(notes);\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get output notes from IDs\");\n }\n}\nexport async function getUnspentInputNoteNullifiers(dbId) {\n try {\n const db = getDatabase(dbId);\n const notes = await db.inputNotes\n .where(\"stateDiscriminant\")\n .anyOf([2, 4, 5])\n .toArray();\n return notes.map((note) => note.nullifier);\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get unspent input note nullifiers\");\n }\n}\nexport async function getNoteScript(dbId, scriptRoot) {\n try {\n const db = getDatabase(dbId);\n const noteScript = await db.notesScripts\n .where(\"scriptRoot\")\n .equals(scriptRoot)\n .first();\n return noteScript;\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get note script from root\");\n }\n}\nexport async function upsertInputNote(dbId, noteId, assets, serialNumber, inputs, scriptRoot, serializedNoteScript, nullifier, serializedCreatedAt, stateDiscriminant, state) {\n const db = getDatabase(dbId);\n return db.dexie.transaction(\"rw\", db.inputNotes, db.notesScripts, async (tx) => {\n try {\n const data = {\n noteId,\n assets,\n serialNumber,\n inputs,\n scriptRoot,\n nullifier,\n state,\n stateDiscriminant,\n serializedCreatedAt,\n };\n await tx.inputNotes.put(data);\n const noteScriptData = {\n scriptRoot,\n serializedNoteScript,\n };\n await tx.notesScripts.put(noteScriptData);\n }\n catch (error) {\n logWebStoreError(error, `Error inserting note: ${noteId}`);\n }\n });\n}\nexport async function upsertOutputNote(dbId, noteId, assets, recipientDigest, metadata, nullifier, expectedHeight, stateDiscriminant, state) {\n const db = getDatabase(dbId);\n return db.dexie.transaction(\"rw\", db.outputNotes, db.notesScripts, async (tx) => {\n try {\n const data = {\n noteId,\n assets,\n recipientDigest,\n metadata,\n nullifier: nullifier ? nullifier : undefined,\n expectedHeight,\n stateDiscriminant,\n state,\n };\n await tx.outputNotes.put(data);\n }\n catch (error) {\n logWebStoreError(error, `Error inserting note: ${noteId}`);\n }\n });\n}\nasync function processInputNotes(dbId, notes) {\n const db = getDatabase(dbId);\n return await Promise.all(notes.map(async (note) => {\n const assetsBase64 = uint8ArrayToBase64(note.assets);\n const serialNumberBase64 = uint8ArrayToBase64(note.serialNumber);\n const inputsBase64 = uint8ArrayToBase64(note.inputs);\n let serializedNoteScriptBase64 = undefined;\n if (note.scriptRoot) {\n let record = await db.notesScripts.get(note.scriptRoot);\n if (record) {\n serializedNoteScriptBase64 = uint8ArrayToBase64(record.serializedNoteScript);\n }\n }\n const stateBase64 = uint8ArrayToBase64(note.state);\n return {\n assets: assetsBase64,\n serialNumber: serialNumberBase64,\n inputs: inputsBase64,\n createdAt: note.serializedCreatedAt,\n serializedNoteScript: serializedNoteScriptBase64,\n state: stateBase64,\n };\n }));\n}\nasync function processOutputNotes(notes) {\n return await Promise.all(notes.map((note) => {\n const assetsBase64 = uint8ArrayToBase64(note.assets);\n const metadataBase64 = uint8ArrayToBase64(note.metadata);\n const stateBase64 = uint8ArrayToBase64(note.state);\n return {\n assets: assetsBase64,\n recipientDigest: note.recipientDigest,\n metadata: metadataBase64,\n expectedHeight: note.expectedHeight,\n state: stateBase64,\n };\n }));\n}\nexport async function upsertNoteScript(dbId, scriptRoot, serializedNoteScript) {\n const db = getDatabase(dbId);\n return db.dexie.transaction(\"rw\", db.outputNotes, db.notesScripts, async (tx) => {\n try {\n const noteScriptData = {\n scriptRoot,\n serializedNoteScript,\n };\n await tx.notesScripts.put(noteScriptData);\n }\n catch (error) {\n logWebStoreError(error, `Error inserting note script: ${scriptRoot}`);\n }\n });\n}\n","import { getDatabase, CLIENT_VERSION_SETTING_KEY } from \"./schema.js\";\nimport { logWebStoreError, uint8ArrayToBase64 } from \"./utils.js\";\nconst INTERNAL_SETTING_KEYS = new Set([CLIENT_VERSION_SETTING_KEY]);\nexport async function getSetting(dbId, key) {\n try {\n const db = getDatabase(dbId);\n const allMatchingRecords = await db.settings\n .where(\"key\")\n .equals(key)\n .toArray();\n if (allMatchingRecords.length === 0) {\n console.log(\"No setting record found for given key.\");\n return null;\n }\n const matchingRecord = allMatchingRecords[0];\n const valueBase64 = uint8ArrayToBase64(matchingRecord.value);\n return {\n key: matchingRecord.key,\n value: valueBase64,\n };\n }\n catch (error) {\n logWebStoreError(error, `Error while fetching setting key: ${key}`);\n }\n}\nexport async function insertSetting(dbId, key, value) {\n try {\n const db = getDatabase(dbId);\n const setting = {\n key,\n value,\n };\n await db.settings.put(setting);\n }\n catch (error) {\n logWebStoreError(error, `Error inserting setting with key: ${key} and value(base64): ${uint8ArrayToBase64(value)}`);\n }\n}\nexport async function removeSetting(dbId, key) {\n try {\n const db = getDatabase(dbId);\n await db.settings.where(\"key\").equals(key).delete();\n }\n catch (error) {\n logWebStoreError(error, `Error deleting setting with key: ${key}`);\n }\n}\nexport async function listSettingKeys(dbId) {\n try {\n const db = getDatabase(dbId);\n const keys = await db.settings\n .toArray()\n .then((settings) => settings.map((setting) => setting.key));\n return keys.filter((key) => !INTERNAL_SETTING_KEYS.has(key));\n }\n catch (error) {\n logWebStoreError(error, `Error listing setting keys`);\n }\n}\n","import { getDatabase } from \"./schema.js\";\nimport { logWebStoreError, mapOption, uint8ArrayToBase64 } from \"./utils.js\";\nconst IDS_FILTER_PREFIX = \"Ids:\";\nconst EXPIRED_BEFORE_FILTER_PREFIX = \"ExpiredPending:\";\nconst STATUS_PENDING_VARIANT = 0;\nconst STATUS_COMMITTED_VARIANT = 1;\nconst STATUS_DISCARDED_VARIANT = 2;\nexport async function getTransactions(dbId, filter) {\n let transactionRecords = [];\n try {\n const db = getDatabase(dbId);\n if (filter === \"Uncommitted\") {\n transactionRecords = await db.transactions\n .filter((tx) => tx.statusVariant === STATUS_PENDING_VARIANT)\n .toArray();\n }\n else if (filter.startsWith(IDS_FILTER_PREFIX)) {\n const idsString = filter.substring(IDS_FILTER_PREFIX.length);\n const ids = idsString.split(\",\");\n if (ids.length > 0) {\n transactionRecords = await db.transactions\n .where(\"id\")\n .anyOf(ids)\n .toArray();\n }\n else {\n transactionRecords = [];\n }\n }\n else if (filter.startsWith(EXPIRED_BEFORE_FILTER_PREFIX)) {\n const blockNumString = filter.substring(EXPIRED_BEFORE_FILTER_PREFIX.length);\n const blockNum = parseInt(blockNumString);\n transactionRecords = await db.transactions\n .filter((tx) => tx.blockNum < blockNum &&\n tx.statusVariant !== STATUS_COMMITTED_VARIANT &&\n tx.statusVariant !== STATUS_DISCARDED_VARIANT)\n .toArray();\n }\n else {\n transactionRecords = await db.transactions.toArray();\n }\n if (transactionRecords.length === 0) {\n return [];\n }\n const scriptRoots = transactionRecords\n .map((transactionRecord) => {\n return transactionRecord.scriptRoot;\n })\n .filter((scriptRoot) => scriptRoot != undefined);\n const scripts = await db.transactionScripts\n .where(\"scriptRoot\")\n .anyOf(scriptRoots)\n .toArray();\n const scriptMap = new Map();\n scripts.forEach((script) => {\n if (script.txScript) {\n scriptMap.set(script.scriptRoot, script.txScript);\n }\n });\n const processedTransactions = await Promise.all(transactionRecords.map((transactionRecord) => {\n let txScriptBase64 = undefined;\n if (transactionRecord.scriptRoot) {\n const txScript = scriptMap.get(transactionRecord.scriptRoot);\n if (txScript) {\n txScriptBase64 = uint8ArrayToBase64(txScript);\n }\n }\n const detailsBase64 = uint8ArrayToBase64(transactionRecord.details);\n const statusBase64 = uint8ArrayToBase64(transactionRecord.status);\n const data = {\n id: transactionRecord.id,\n details: detailsBase64,\n scriptRoot: transactionRecord.scriptRoot,\n txScript: txScriptBase64,\n blockNum: transactionRecord.blockNum,\n statusVariant: transactionRecord.statusVariant,\n status: statusBase64,\n };\n return data;\n }));\n return processedTransactions;\n }\n catch (err) {\n logWebStoreError(err, \"Failed to get transactions\");\n }\n}\nexport async function insertTransactionScript(dbId, scriptRoot, txScript) {\n try {\n const db = getDatabase(dbId);\n const scriptRootArray = new Uint8Array(scriptRoot);\n const scriptRootBase64 = uint8ArrayToBase64(scriptRootArray);\n const data = {\n scriptRoot: scriptRootBase64,\n txScript: mapOption(txScript, (txScript) => new Uint8Array(txScript)),\n };\n await db.transactionScripts.put(data);\n }\n catch (error) {\n logWebStoreError(error, \"Failed to insert transaction script\");\n }\n}\nexport async function upsertTransactionRecord(dbId, transactionId, details, blockNum, statusVariant, status, scriptRoot) {\n try {\n const db = getDatabase(dbId);\n const data = {\n id: transactionId,\n details,\n scriptRoot: mapOption(scriptRoot, (root) => uint8ArrayToBase64(root)),\n blockNum,\n statusVariant,\n status,\n };\n await db.transactions.put(data);\n }\n catch (err) {\n logWebStoreError(err, \"Failed to insert proven transaction data\");\n }\n}\n","import { getDatabase, } from \"./schema.js\";\nimport { upsertTransactionRecord, insertTransactionScript, } from \"./transactions.js\";\nimport { upsertInputNote, upsertOutputNote } from \"./notes.js\";\nimport { upsertAccountStorage, upsertAccountRecord, upsertVaultAssets, upsertStorageMapEntries, } from \"./accounts.js\";\nimport { logWebStoreError, uint8ArrayToBase64 } from \"./utils.js\";\nexport async function getNoteTags(dbId) {\n try {\n const db = getDatabase(dbId);\n let records = await db.tags.toArray();\n let processedRecords = records.map((record) => {\n record.sourceNoteId =\n record.sourceNoteId == \"\" ? undefined : record.sourceNoteId;\n record.sourceAccountId =\n record.sourceAccountId == \"\" ? undefined : record.sourceAccountId;\n return record;\n });\n return processedRecords;\n }\n catch (error) {\n logWebStoreError(error, \"Error fetch tag record\");\n }\n}\nexport async function getSyncHeight(dbId) {\n try {\n const db = getDatabase(dbId);\n const record = await db.stateSync.get(1);\n if (record) {\n let data = {\n blockNum: record.blockNum,\n };\n return data;\n }\n else {\n return null;\n }\n }\n catch (error) {\n logWebStoreError(error, \"Error fetching sync height\");\n }\n}\nexport async function addNoteTag(dbId, tag, sourceNoteId, sourceAccountId) {\n try {\n const db = getDatabase(dbId);\n let tagArray = new Uint8Array(tag);\n let tagBase64 = uint8ArrayToBase64(tagArray);\n await db.tags.add({\n tag: tagBase64,\n sourceNoteId: sourceNoteId ? sourceNoteId : \"\",\n sourceAccountId: sourceAccountId ? sourceAccountId : \"\",\n });\n }\n catch (error) {\n logWebStoreError(error, \"Failed to add note tag\");\n }\n}\nexport async function removeNoteTag(dbId, tag, sourceNoteId, sourceAccountId) {\n try {\n const db = getDatabase(dbId);\n let tagArray = new Uint8Array(tag);\n let tagBase64 = uint8ArrayToBase64(tagArray);\n return await db.tags\n .where({\n tag: tagBase64,\n sourceNoteId: sourceNoteId ? sourceNoteId : \"\",\n sourceAccountId: sourceAccountId ? sourceAccountId : \"\",\n })\n .delete();\n }\n catch (error) {\n logWebStoreError(error, \"Failed to remove note tag\");\n }\n}\nexport async function applyStateSync(dbId, stateUpdate) {\n const db = getDatabase(dbId);\n const { blockNum, flattenedNewBlockHeaders, flattenedPartialBlockChainPeaks, newBlockNums, blockHasRelevantNotes, serializedNodeIds, serializedNodes, committedNoteIds, serializedInputNotes, serializedOutputNotes, accountUpdates, transactionUpdates, } = stateUpdate;\n const newBlockHeaders = reconstructFlattenedVec(flattenedNewBlockHeaders);\n const partialBlockchainPeaks = reconstructFlattenedVec(flattenedPartialBlockChainPeaks);\n const tablesToAccess = [\n db.stateSync,\n db.inputNotes,\n db.outputNotes,\n db.notesScripts,\n db.transactions,\n db.transactionScripts,\n db.blockHeaders,\n db.partialBlockchainNodes,\n db.tags,\n db.latestAccountHeaders,\n db.historicalAccountHeaders,\n db.latestAccountStorages,\n db.historicalAccountStorages,\n db.latestStorageMapEntries,\n db.historicalStorageMapEntries,\n db.latestAccountAssets,\n db.historicalAccountAssets,\n ];\n return await db.dexie.transaction(\"rw\", tablesToAccess, async (tx) => {\n await Promise.all([\n Promise.all(serializedInputNotes.map((note) => {\n return upsertInputNote(dbId, note.noteId, note.noteAssets, note.serialNumber, note.inputs, note.noteScriptRoot, note.noteScript, note.nullifier, note.createdAt, note.stateDiscriminant, note.state);\n })),\n Promise.all(serializedOutputNotes.map((note) => {\n return upsertOutputNote(dbId, note.noteId, note.noteAssets, note.recipientDigest, note.metadata, note.nullifier, note.expectedHeight, note.stateDiscriminant, note.state);\n })),\n Promise.all(transactionUpdates.map((transactionRecord) => {\n let promises = [\n upsertTransactionRecord(dbId, transactionRecord.id, transactionRecord.details, transactionRecord.blockNum, transactionRecord.statusVariant, transactionRecord.status, transactionRecord.scriptRoot),\n ];\n if (transactionRecord.scriptRoot && transactionRecord.txScript) {\n promises.push(insertTransactionScript(dbId, transactionRecord.scriptRoot, transactionRecord.txScript));\n }\n return Promise.all(promises);\n })),\n Promise.all(accountUpdates.flatMap((accountUpdate) => {\n return [\n upsertAccountStorage(dbId, accountUpdate.accountId, accountUpdate.nonce, accountUpdate.storageSlots),\n upsertStorageMapEntries(dbId, accountUpdate.accountId, accountUpdate.nonce, accountUpdate.storageMapEntries),\n upsertVaultAssets(dbId, accountUpdate.accountId, accountUpdate.nonce, accountUpdate.assets),\n upsertAccountRecord(dbId, accountUpdate.accountId, accountUpdate.codeRoot, accountUpdate.storageRoot, accountUpdate.vaultRoot, accountUpdate.nonce, accountUpdate.committed, accountUpdate.accountCommitment, accountUpdate.accountSeed),\n ];\n })),\n updateSyncHeight(tx, blockNum),\n updatePartialBlockchainNodes(tx, serializedNodeIds, serializedNodes),\n updateCommittedNoteTags(tx, committedNoteIds),\n Promise.all(newBlockHeaders.map((newBlockHeader, i) => {\n return updateBlockHeader(tx, newBlockNums[i], newBlockHeader, partialBlockchainPeaks[i], blockHasRelevantNotes[i] == 1);\n })),\n ]);\n });\n}\nasync function updateSyncHeight(tx, blockNum) {\n try {\n // Only update if moving forward to prevent race conditions\n const current = await tx.stateSync.get(1);\n if (!current || current.blockNum < blockNum) {\n await tx.stateSync.update(1, {\n blockNum: blockNum,\n });\n }\n }\n catch (error) {\n logWebStoreError(error, \"Failed to update sync height\");\n }\n}\nasync function updateBlockHeader(tx, blockNum, blockHeader, partialBlockchainPeaks, hasClientNotes) {\n try {\n const data = {\n blockNum: blockNum,\n header: blockHeader,\n partialBlockchainPeaks,\n hasClientNotes: hasClientNotes.toString(),\n };\n const existingBlockHeader = await tx.blockHeaders.get(blockNum);\n if (!existingBlockHeader) {\n await tx.blockHeaders.add(data);\n }\n }\n catch (err) {\n logWebStoreError(err, \"Failed to insert block header\");\n }\n}\nasync function updatePartialBlockchainNodes(tx, nodeIndexes, nodes) {\n try {\n if (nodeIndexes.length !== nodes.length) {\n throw new Error(\"nodeIndexes and nodes arrays must be of the same length\");\n }\n if (nodeIndexes.length === 0) {\n return;\n }\n const data = nodes.map((node, index) => ({\n id: Number(nodeIndexes[index]),\n node: node,\n }));\n // Use bulkPut to add/overwrite the entries\n await tx.partialBlockchainNodes.bulkPut(data);\n }\n catch (err) {\n logWebStoreError(err, \"Failed to update partial blockchain nodes\");\n }\n}\nasync function updateCommittedNoteTags(tx, inputNoteIds) {\n try {\n for (let i = 0; i < inputNoteIds.length; i++) {\n const noteId = inputNoteIds[i];\n await tx.tags\n .where(\"sourceNoteId\")\n .equals(noteId)\n .delete();\n }\n }\n catch (error) {\n logWebStoreError(error, \"Failed to update committed note tags\");\n }\n}\nfunction reconstructFlattenedVec(flattenedVec) {\n const data = flattenedVec.data();\n const lengths = flattenedVec.lengths();\n let index = 0;\n const result = [];\n lengths.forEach((length) => {\n result.push(data.slice(index, index + length));\n index += length;\n });\n return result;\n}\nexport async function discardTransactions(dbId, transactions) {\n try {\n const db = getDatabase(dbId);\n await db.transactions.where(\"id\").anyOf(transactions).delete();\n }\n catch (err) {\n logWebStoreError(err, \"Failed to discard transactions\");\n }\n}\n","/* @ts-self-types=\"./index.d.ts\" */\nimport { applyFullAccountState, applyTransactionDelta, getAccountAddresses, getAccountAuthByPubKeyCommitment, getAccountCode, getAccountHeaderByCommitment, getAccountHeader, getAccountIdByKeyCommitment, getAccountIds, getAccountStorageMaps, getAccountStorage, getAccountVaultAssets, getAllAccountHeaders, getForeignAccountCode, getKeyCommitmentsByAccountId, insertAccountAddress, insertAccountAuth, insertAccountKeyMapping, lockAccount, removeAccountAddress, undoAccountStates, upsertAccountCode, upsertAccountRecord, upsertAccountStorage, upsertForeignAccountCode, upsertStorageMapEntries, upsertVaultAssets } from './snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/accounts.js';\nimport { getBlockHeaders, getPartialBlockchainNodesAll, getPartialBlockchainNodesUpToInOrderIndex, getPartialBlockchainNodes, getPartialBlockchainPeaksByBlockNum, getTrackedBlockHeaders, insertBlockHeader, insertPartialBlockchainNodes, pruneIrrelevantBlocks } from './snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/chainData.js';\nimport { exportStore } from './snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/export.js';\nimport { forceImportStore } from './snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/import.js';\nimport { getInputNotesFromIds, getInputNotesFromNullifiers, getInputNotes, getNoteScript, getOutputNotesFromIds, getOutputNotesFromNullifiers, getOutputNotes, getUnspentInputNoteNullifiers, upsertInputNote, upsertNoteScript, upsertOutputNote } from './snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/notes.js';\nimport { openDatabase } from './snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/schema.js';\nimport { getSetting, insertSetting, listSettingKeys, removeSetting } from './snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/settings.js';\nimport { addNoteTag, applyStateSync, getNoteTags, getSyncHeight, removeNoteTag } from './snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/sync.js';\nimport { getTransactions, insertTransactionScript, upsertTransactionRecord } from './snippets/miden-idxdb-store-f4ba832acf9cad39/src/js/transactions.js';\n\n/**\n * An account which can store assets and define rules for manipulating them.\n *\n * An account consists of the following components:\n * - Account ID, which uniquely identifies the account and also defines basic properties of the\n * account.\n * - Account vault, which stores assets owned by the account.\n * - Account storage, which is a key-value map (both keys and values are words) used to store\n * arbitrary user-defined data.\n * - Account code, which is a set of Miden VM programs defining the public interface of the\n * account.\n * - Account nonce, a value which is incremented whenever account state is updated.\n *\n * Out of the above components account ID is always immutable (once defined it can never be\n * changed). Other components may be mutated throughout the lifetime of the account. However,\n * account state can be changed only by invoking one of account interface methods.\n *\n * The recommended way to build an account is through an `AccountBuilder`, which can be\n * instantiated directly from a 32-byte seed.\n */\nexport class Account {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(Account.prototype);\n obj.__wbg_ptr = ptr;\n AccountFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof Account)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_account_free(ptr, 0);\n }\n /**\n * Returns the code commitment for this account.\n * @returns {AccountCode}\n */\n code() {\n const ret = wasm.account_code(this.__wbg_ptr);\n return AccountCode.__wrap(ret);\n }\n /**\n * Restores an account from its serialized bytes.\n * @param {Uint8Array} bytes\n * @returns {Account}\n */\n static deserialize(bytes) {\n const ret = wasm.account_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Account.__wrap(ret[0]);\n }\n /**\n * Returns the public key commitments derived from the account's authentication scheme.\n * @returns {Word[]}\n */\n getPublicKeyCommitments() {\n const ret = wasm.account_getPublicKeyCommitments(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns the account identifier.\n * @returns {AccountId}\n */\n id() {\n const ret = wasm.account_id(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Returns true if the account is a faucet.\n * @returns {boolean}\n */\n isFaucet() {\n const ret = wasm.account_isFaucet(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if this is a network-owned account.\n * @returns {boolean}\n */\n isNetwork() {\n const ret = wasm.account_isNetwork(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the account has not yet been committed to the chain.\n * @returns {boolean}\n */\n isNew() {\n const ret = wasm.account_isNew(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the account storage is private.\n * @returns {boolean}\n */\n isPrivate() {\n const ret = wasm.account_isPrivate(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the account exposes public storage.\n * @returns {boolean}\n */\n isPublic() {\n const ret = wasm.account_isPublic(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the account is a regular account (immutable or updatable code).\n * @returns {boolean}\n */\n isRegularAccount() {\n const ret = wasm.account_isRegularAccount(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the account can update its code.\n * @returns {boolean}\n */\n isUpdatable() {\n const ret = wasm.account_isUpdatable(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns the account nonce, which is incremented on every state update.\n * @returns {Felt}\n */\n nonce() {\n const ret = wasm.account_nonce(this.__wbg_ptr);\n return Felt.__wrap(ret);\n }\n /**\n * Serializes the account into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.account_serialize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the account storage commitment.\n * @returns {AccountStorage}\n */\n storage() {\n const ret = wasm.account_storage(this.__wbg_ptr);\n return AccountStorage.__wrap(ret);\n }\n /**\n * Returns the commitment to the account header, storage, and code.\n * @returns {Word}\n */\n to_commitment() {\n const ret = wasm.account_to_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the vault commitment for this account.\n * @returns {AssetVault}\n */\n vault() {\n const ret = wasm.account_vault(this.__wbg_ptr);\n return AssetVault.__wrap(ret);\n }\n}\nif (Symbol.dispose) Account.prototype[Symbol.dispose] = Account.prototype.free;\n\nexport class AccountArray {\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountArrayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountarray_free(ptr, 0);\n }\n /**\n * Get element at index, will always return a clone to avoid aliasing issues.\n * @param {number} index\n * @returns {Account}\n */\n get(index) {\n const ret = wasm.accountarray_get(this.__wbg_ptr, index);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Account.__wrap(ret[0]);\n }\n /**\n * @returns {number}\n */\n length() {\n const ret = wasm.accountarray_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {Account[] | null} [elements]\n */\n constructor(elements) {\n var ptr0 = isLikeNone(elements) ? 0 : passArrayJsValueToWasm0(elements, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountarray_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n AccountArrayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {Account} element\n */\n push(element) {\n _assertClass(element, Account);\n wasm.accountarray_push(this.__wbg_ptr, element.__wbg_ptr);\n }\n /**\n * @param {number} index\n * @param {Account} elem\n */\n replaceAt(index, elem) {\n _assertClass(elem, Account);\n var ptr0 = elem.__destroy_into_raw();\n const ret = wasm.accountarray_replaceAt(this.__wbg_ptr, index, ptr0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) AccountArray.prototype[Symbol.dispose] = AccountArray.prototype.free;\n\nexport class AccountBuilder {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountBuilder.prototype);\n obj.__wbg_ptr = ptr;\n AccountBuilderFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountBuilderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountbuilder_free(ptr, 0);\n }\n /**\n * Sets the account type (regular, faucet, etc.).\n * @param {AccountType} account_type\n * @returns {AccountBuilder}\n */\n accountType(account_type) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.accountbuilder_accountType(ptr, account_type);\n return AccountBuilder.__wrap(ret);\n }\n /**\n * Builds the account and returns it together with the derived seed.\n * @returns {AccountBuilderResult}\n */\n build() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.accountbuilder_build(ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountBuilderResult.__wrap(ret[0]);\n }\n /**\n * Creates a new account builder from a 32-byte initial seed.\n * @param {Uint8Array} init_seed\n */\n constructor(init_seed) {\n const ptr0 = passArray8ToWasm0(init_seed, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountbuilder_new(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n this.__wbg_ptr = ret[0] >>> 0;\n AccountBuilderFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Sets the storage mode (public/private) for the account.\n * @param {AccountStorageMode} storage_mode\n * @returns {AccountBuilder}\n */\n storageMode(storage_mode) {\n const ptr = this.__destroy_into_raw();\n _assertClass(storage_mode, AccountStorageMode);\n const ret = wasm.accountbuilder_storageMode(ptr, storage_mode.__wbg_ptr);\n return AccountBuilder.__wrap(ret);\n }\n /**\n * Adds an authentication component to the account.\n * @param {AccountComponent} account_component\n * @returns {AccountBuilder}\n */\n withAuthComponent(account_component) {\n const ptr = this.__destroy_into_raw();\n _assertClass(account_component, AccountComponent);\n const ret = wasm.accountbuilder_withAuthComponent(ptr, account_component.__wbg_ptr);\n return AccountBuilder.__wrap(ret);\n }\n /**\n * @returns {AccountBuilder}\n */\n withBasicWalletComponent() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.accountbuilder_withBasicWalletComponent(ptr);\n return AccountBuilder.__wrap(ret);\n }\n /**\n * Adds a component to the account.\n * @param {AccountComponent} account_component\n * @returns {AccountBuilder}\n */\n withComponent(account_component) {\n const ptr = this.__destroy_into_raw();\n _assertClass(account_component, AccountComponent);\n const ret = wasm.accountbuilder_withComponent(ptr, account_component.__wbg_ptr);\n return AccountBuilder.__wrap(ret);\n }\n /**\n * Adds a no-auth component to the account (for public accounts).\n * @returns {AccountBuilder}\n */\n withNoAuthComponent() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.accountbuilder_withNoAuthComponent(ptr);\n return AccountBuilder.__wrap(ret);\n }\n}\nif (Symbol.dispose) AccountBuilder.prototype[Symbol.dispose] = AccountBuilder.prototype.free;\n\nexport class AccountBuilderResult {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountBuilderResult.prototype);\n obj.__wbg_ptr = ptr;\n AccountBuilderResultFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountBuilderResultFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountbuilderresult_free(ptr, 0);\n }\n /**\n * Returns the built account.\n * @returns {Account}\n */\n get account() {\n const ret = wasm.accountbuilderresult_account(this.__wbg_ptr);\n return Account.__wrap(ret);\n }\n /**\n * Returns the seed used to derive the account ID.\n * @returns {Word}\n */\n get seed() {\n const ret = wasm.accountbuilderresult_seed(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n}\nif (Symbol.dispose) AccountBuilderResult.prototype[Symbol.dispose] = AccountBuilderResult.prototype.free;\n\n/**\n * A public interface of an account.\n *\n * Account's public interface consists of a set of callable procedures, each committed to by its\n * root hash and paired with storage bounds (offset and size).\n *\n * The full interface commitment hashes every procedure root together with its storage bounds so\n * that the account code uniquely captures the set of available calls.\n */\nexport class AccountCode {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountCode.prototype);\n obj.__wbg_ptr = ptr;\n AccountCodeFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountCodeFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountcode_free(ptr, 0);\n }\n /**\n * Returns the code commitment for the account.\n * @returns {Word}\n */\n commitment() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns true if the account code exports a procedure with the given MAST root.\n * @param {Word} mast_root\n * @returns {boolean}\n */\n hasProcedure(mast_root) {\n _assertClass(mast_root, Word);\n var ptr0 = mast_root.__destroy_into_raw();\n const ret = wasm.accountcode_hasProcedure(this.__wbg_ptr, ptr0);\n return ret !== 0;\n }\n}\nif (Symbol.dispose) AccountCode.prototype[Symbol.dispose] = AccountCode.prototype.free;\n\nexport class AccountComponent {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountComponent.prototype);\n obj.__wbg_ptr = ptr;\n AccountComponentFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountComponentFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountcomponent_free(ptr, 0);\n }\n /**\n * Compiles account code with the given storage slots using the provided assembler.\n * @param {AccountComponentCode} account_code\n * @param {StorageSlot[]} storage_slots\n * @returns {AccountComponent}\n */\n static compile(account_code, storage_slots) {\n _assertClass(account_code, AccountComponentCode);\n var ptr0 = account_code.__destroy_into_raw();\n const ptr1 = passArrayJsValueToWasm0(storage_slots, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.accountcomponent_compile(ptr0, ptr1, len1);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountComponent.__wrap(ret[0]);\n }\n /**\n * @param {Word} commitment\n * @param {AuthScheme} auth_scheme\n * @returns {AccountComponent}\n */\n static createAuthComponentFromCommitment(commitment, auth_scheme) {\n _assertClass(commitment, Word);\n const ret = wasm.accountcomponent_createAuthComponentFromCommitment(commitment.__wbg_ptr, auth_scheme);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountComponent.__wrap(ret[0]);\n }\n /**\n * Builds an auth component from a secret key, inferring the auth scheme from the key type.\n * @param {AuthSecretKey} secret_key\n * @returns {AccountComponent}\n */\n static createAuthComponentFromSecretKey(secret_key) {\n _assertClass(secret_key, AuthSecretKey);\n const ret = wasm.accountcomponent_createAuthComponentFromSecretKey(secret_key.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountComponent.__wrap(ret[0]);\n }\n /**\n * Creates an account component from a compiled library and storage slots.\n * @param {Library} library\n * @param {StorageSlot[]} storage_slots\n * @returns {AccountComponent}\n */\n static fromLibrary(library, storage_slots) {\n _assertClass(library, Library);\n const ptr0 = passArrayJsValueToWasm0(storage_slots, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountcomponent_fromLibrary(library.__wbg_ptr, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountComponent.__wrap(ret[0]);\n }\n /**\n * Creates an account component from a compiled package and storage slots.\n * @param {Package} _package\n * @param {StorageSlotArray} storage_slots\n * @returns {AccountComponent}\n */\n static fromPackage(_package, storage_slots) {\n _assertClass(_package, Package);\n _assertClass(storage_slots, StorageSlotArray);\n const ret = wasm.accountcomponent_fromPackage(_package.__wbg_ptr, storage_slots.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountComponent.__wrap(ret[0]);\n }\n /**\n * Returns the hex-encoded MAST root for a procedure by name.\n * @param {string} procedure_name\n * @returns {string}\n */\n getProcedureHash(procedure_name) {\n let deferred3_0;\n let deferred3_1;\n try {\n const ptr0 = passStringToWasm0(procedure_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountcomponent_getProcedureHash(this.__wbg_ptr, ptr0, len0);\n var ptr2 = ret[0];\n var len2 = ret[1];\n if (ret[3]) {\n ptr2 = 0; len2 = 0;\n throw takeFromExternrefTable0(ret[2]);\n }\n deferred3_0 = ptr2;\n deferred3_1 = len2;\n return getStringFromWasm0(ptr2, len2);\n } finally {\n wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);\n }\n }\n /**\n * Returns all procedures exported by this component.\n * @returns {GetProceduresResultItem[]}\n */\n getProcedures() {\n const ret = wasm.accountcomponent_getProcedures(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Marks the component as supporting all account types.\n * @returns {AccountComponent}\n */\n withSupportsAllTypes() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.accountcomponent_withSupportsAllTypes(ptr);\n return AccountComponent.__wrap(ret);\n }\n}\nif (Symbol.dispose) AccountComponent.prototype[Symbol.dispose] = AccountComponent.prototype.free;\n\n/**\n * A Library that has been assembled for use as component code.\n */\nexport class AccountComponentCode {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountComponentCode.prototype);\n obj.__wbg_ptr = ptr;\n AccountComponentCodeFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountComponentCodeFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountcomponentcode_free(ptr, 0);\n }\n /**\n * Returns the underlying Library\n * @returns {Library}\n */\n asLibrary() {\n const ret = wasm.accountcomponentcode_asLibrary(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Library.__wrap(ret[0]);\n }\n}\nif (Symbol.dispose) AccountComponentCode.prototype[Symbol.dispose] = AccountComponentCode.prototype.free;\n\n/**\n * `AccountDelta` stores the differences between two account states.\n *\n * The differences are represented as follows:\n * - `storage`: an `AccountStorageDelta` that contains the changes to the account storage.\n * - `vault`: an `AccountVaultDelta` object that contains the changes to the account vault.\n * - `nonce`: if the nonce of the account has changed, the new nonce is stored here.\n */\nexport class AccountDelta {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountDelta.prototype);\n obj.__wbg_ptr = ptr;\n AccountDeltaFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountDeltaFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountdelta_free(ptr, 0);\n }\n /**\n * Deserializes an account delta from bytes.\n * @param {Uint8Array} bytes\n * @returns {AccountDelta}\n */\n static deserialize(bytes) {\n const ret = wasm.accountdelta_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountDelta.__wrap(ret[0]);\n }\n /**\n * Returns the affected account ID.\n * @returns {AccountId}\n */\n id() {\n const ret = wasm.accountdelta_id(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Returns true if there are no changes.\n * @returns {boolean}\n */\n isEmpty() {\n const ret = wasm.accountdelta_isEmpty(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns the nonce change.\n * @returns {Felt}\n */\n nonceDelta() {\n const ret = wasm.accountdelta_nonceDelta(this.__wbg_ptr);\n return Felt.__wrap(ret);\n }\n /**\n * Serializes the account delta into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.accountdelta_serialize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the storage delta.\n * @returns {AccountStorageDelta}\n */\n storage() {\n const ret = wasm.accountdelta_storage(this.__wbg_ptr);\n return AccountStorageDelta.__wrap(ret);\n }\n /**\n * Returns the vault delta.\n * @returns {AccountVaultDelta}\n */\n vault() {\n const ret = wasm.accountdelta_vault(this.__wbg_ptr);\n return AccountVaultDelta.__wrap(ret);\n }\n}\nif (Symbol.dispose) AccountDelta.prototype[Symbol.dispose] = AccountDelta.prototype.free;\n\nexport class AccountFile {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountFile.prototype);\n obj.__wbg_ptr = ptr;\n AccountFileFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountFileFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountfile_free(ptr, 0);\n }\n /**\n * Returns the account data.\n * @returns {Account}\n */\n account() {\n const ret = wasm.accountfile_account(this.__wbg_ptr);\n return Account.__wrap(ret);\n }\n /**\n * Returns the account ID.\n * @returns {AccountId}\n */\n accountId() {\n const ret = wasm.account_id(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Returns the number of auth secret keys included.\n * @returns {number}\n */\n authSecretKeyCount() {\n const ret = wasm.accountfile_authSecretKeyCount(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Deserializes a byte array into an `AccountFile`\n * @param {Uint8Array} bytes\n * @returns {AccountFile}\n */\n static deserialize(bytes) {\n const ret = wasm.accountfile_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountFile.__wrap(ret[0]);\n }\n /**\n * Serializes the `AccountFile` into a byte array\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.accountfile_serialize(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) AccountFile.prototype[Symbol.dispose] = AccountFile.prototype.free;\n\n/**\n * A header of an account which contains information that succinctly describes the state of the\n * components of the account.\n *\n * The account header is composed of:\n * - `id`: the account ID (`AccountId`).\n * - `nonce`: the nonce of the account.\n * - `vault_root`: a commitment to the account's vault (`AssetVault`).\n * - `storage_commitment`: a commitment to the account's storage (`AccountStorage`).\n * - `code_commitment`: a commitment to the account's code (`AccountCode`).\n */\nexport class AccountHeader {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountHeader.prototype);\n obj.__wbg_ptr = ptr;\n AccountHeaderFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountHeaderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountheader_free(ptr, 0);\n }\n /**\n * Returns the code commitment.\n * @returns {Word}\n */\n codeCommitment() {\n const ret = wasm.accountheader_codeCommitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the account ID.\n * @returns {AccountId}\n */\n id() {\n const ret = wasm.accountheader_id(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Returns the current nonce.\n * @returns {Felt}\n */\n nonce() {\n const ret = wasm.accountheader_nonce(this.__wbg_ptr);\n return Felt.__wrap(ret);\n }\n /**\n * Returns the storage commitment.\n * @returns {Word}\n */\n storageCommitment() {\n const ret = wasm.accountheader_storageCommitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the full account commitment.\n * @returns {Word}\n */\n to_commitment() {\n const ret = wasm.accountheader_to_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the vault commitment.\n * @returns {Word}\n */\n vaultCommitment() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n}\nif (Symbol.dispose) AccountHeader.prototype[Symbol.dispose] = AccountHeader.prototype.free;\n\n/**\n * Uniquely identifies a specific account.\n *\n * A Miden account ID is a 120-bit value derived from the commitments to account code and storage,\n * and a random user-provided seed.\n */\nexport class AccountId {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountId.prototype);\n obj.__wbg_ptr = ptr;\n AccountIdFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof AccountId)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountIdFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountid_free(ptr, 0);\n }\n /**\n * Given a bech32 encoded string, return the matching Account ID for it.\n * @param {string} bech_32_encoded_id\n * @returns {AccountId}\n */\n static fromBech32(bech_32_encoded_id) {\n const ptr0 = passStringToWasm0(bech_32_encoded_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountid_fromBech32(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountId.__wrap(ret[0]);\n }\n /**\n * Builds an account ID from its hex string representation.\n *\n * Returns an error if the provided string is not a valid hex-encoded account ID.\n * @param {string} hex\n * @returns {AccountId}\n */\n static fromHex(hex) {\n const ptr0 = passStringToWasm0(hex, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountid_fromHex(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountId.__wrap(ret[0]);\n }\n /**\n * Returns true if the ID refers to a faucet.\n * @returns {boolean}\n */\n isFaucet() {\n const ret = wasm.accountid_isFaucet(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the ID is reserved for network accounts.\n * @returns {boolean}\n */\n isNetwork() {\n const ret = wasm.accountid_isNetwork(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the account uses private storage.\n * @returns {boolean}\n */\n isPrivate() {\n const ret = wasm.accountid_isPrivate(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the account uses public storage.\n * @returns {boolean}\n */\n isPublic() {\n const ret = wasm.accountid_isPublic(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the ID refers to a regular account.\n * @returns {boolean}\n */\n isRegularAccount() {\n const ret = wasm.accountid_isRegularAccount(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns the prefix field element storing metadata about version, type, and storage mode.\n * @returns {Felt}\n */\n prefix() {\n const ret = wasm.accountid_prefix(this.__wbg_ptr);\n return Felt.__wrap(ret);\n }\n /**\n * Returns the suffix field element derived from the account seed.\n * @returns {Felt}\n */\n suffix() {\n const ret = wasm.accountid_suffix(this.__wbg_ptr);\n return Felt.__wrap(ret);\n }\n /**\n * Will turn the Account ID into its bech32 string representation.\n * @param {NetworkId} network_id\n * @param {AccountInterface} account_interface\n * @returns {string}\n */\n toBech32(network_id, account_interface) {\n let deferred3_0;\n let deferred3_1;\n try {\n _assertClass(network_id, NetworkId);\n var ptr0 = network_id.__destroy_into_raw();\n const ret = wasm.accountid_toBech32(this.__wbg_ptr, ptr0, account_interface);\n var ptr2 = ret[0];\n var len2 = ret[1];\n if (ret[3]) {\n ptr2 = 0; len2 = 0;\n throw takeFromExternrefTable0(ret[2]);\n }\n deferred3_0 = ptr2;\n deferred3_1 = len2;\n return getStringFromWasm0(ptr2, len2);\n } finally {\n wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);\n }\n }\n /**\n * Returns the canonical hex representation of the account ID.\n * @returns {string}\n */\n toString() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.accountid_toString(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n}\nif (Symbol.dispose) AccountId.prototype[Symbol.dispose] = AccountId.prototype.free;\n\nexport class AccountIdArray {\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountIdArrayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountidarray_free(ptr, 0);\n }\n /**\n * Get element at index, will always return a clone to avoid aliasing issues.\n * @param {number} index\n * @returns {AccountId}\n */\n get(index) {\n const ret = wasm.accountidarray_get(this.__wbg_ptr, index);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountId.__wrap(ret[0]);\n }\n /**\n * @returns {number}\n */\n length() {\n const ret = wasm.accountidarray_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {AccountId[] | null} [elements]\n */\n constructor(elements) {\n var ptr0 = isLikeNone(elements) ? 0 : passArrayJsValueToWasm0(elements, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountidarray_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n AccountIdArrayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {AccountId} element\n */\n push(element) {\n _assertClass(element, AccountId);\n wasm.accountidarray_push(this.__wbg_ptr, element.__wbg_ptr);\n }\n /**\n * @param {number} index\n * @param {AccountId} elem\n */\n replaceAt(index, elem) {\n _assertClass(elem, AccountId);\n var ptr0 = elem.__destroy_into_raw();\n const ret = wasm.accountidarray_replaceAt(this.__wbg_ptr, index, ptr0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) AccountIdArray.prototype[Symbol.dispose] = AccountIdArray.prototype.free;\n\n/**\n * @enum {0}\n */\nexport const AccountInterface = Object.freeze({\n /**\n * Basic wallet address interface.\n */\n BasicWallet: 0, \"0\": \"BasicWallet\",\n});\n\n/**\n * Proof of existence of an account's state at a specific block number, as returned by the node.\n *\n * For public accounts, this includes the account header, storage slot values and account code.\n * For private accounts, only the account commitment and merkle proof are available.\n */\nexport class AccountProof {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountProof.prototype);\n obj.__wbg_ptr = ptr;\n AccountProofFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountProofFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountproof_free(ptr, 0);\n }\n /**\n * Returns the account code, if available (public accounts only).\n * @returns {AccountCode | undefined}\n */\n accountCode() {\n const ret = wasm.accountproof_accountCode(this.__wbg_ptr);\n return ret === 0 ? undefined : AccountCode.__wrap(ret);\n }\n /**\n * Returns the account commitment (hash of the full state).\n * @returns {Word}\n */\n accountCommitment() {\n const ret = wasm.accountproof_accountCommitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the account header, if available (public accounts only).\n * @returns {AccountHeader | undefined}\n */\n accountHeader() {\n const ret = wasm.accountproof_accountHeader(this.__wbg_ptr);\n return ret === 0 ? undefined : AccountHeader.__wrap(ret);\n }\n /**\n * Returns the account ID.\n * @returns {AccountId}\n */\n accountId() {\n const ret = wasm.accountproof_accountId(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Returns the block number at which this proof was retrieved.\n * @returns {number}\n */\n blockNum() {\n const ret = wasm.accountproof_blockNum(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns the value of a storage slot by name, if available.\n *\n * For `Value` slots, this returns the stored word.\n * For `Map` slots, this returns the map root commitment.\n *\n * Returns `undefined` if the account is private or the slot name is not found.\n * @param {string} slot_name\n * @returns {Word | undefined}\n */\n getStorageSlotValue(slot_name) {\n const ptr0 = passStringToWasm0(slot_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountproof_getStorageSlotValue(this.__wbg_ptr, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ret[0] === 0 ? undefined : Word.__wrap(ret[0]);\n }\n /**\n * Returns the number of storage slots, if available (public accounts only).\n * @returns {number | undefined}\n */\n numStorageSlots() {\n const ret = wasm.accountproof_numStorageSlots(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n}\nif (Symbol.dispose) AccountProof.prototype[Symbol.dispose] = AccountProof.prototype.free;\n\n/**\n * Provides lazy access to account data.\n *\n * `AccountReader` executes queries lazily - each method call fetches fresh data\n * from storage, ensuring you always see the current state.\n */\nexport class AccountReader {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountReader.prototype);\n obj.__wbg_ptr = ptr;\n AccountReaderFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountReaderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountreader_free(ptr, 0);\n }\n /**\n * Returns the account ID.\n * @returns {AccountId}\n */\n accountId() {\n const ret = wasm.accountreader_accountId(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Retrieves the addresses associated with this account.\n * @returns {Promise<Address[]>}\n */\n addresses() {\n const ret = wasm.accountreader_addresses(this.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the code commitment (hash of the account code).\n * @returns {Promise<Word>}\n */\n codeCommitment() {\n const ret = wasm.accountreader_codeCommitment(this.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the account commitment (hash of the full state).\n * @returns {Promise<Word>}\n */\n commitment() {\n const ret = wasm.accountreader_commitment(this.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the balance of a fungible asset in the account's vault.\n *\n * Returns 0 if the asset is not present in the vault.\n * @param {AccountId} faucet_id\n * @returns {Promise<bigint>}\n */\n getBalance(faucet_id) {\n _assertClass(faucet_id, AccountId);\n const ret = wasm.accountreader_getBalance(this.__wbg_ptr, faucet_id.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves a storage slot value by name.\n *\n * For `Value` slots, returns the stored word.\n * For `Map` slots, returns the map root.\n * @param {string} slot_name\n * @returns {Promise<Word>}\n */\n getStorageItem(slot_name) {\n const ptr0 = passStringToWasm0(slot_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountreader_getStorageItem(this.__wbg_ptr, ptr0, len0);\n return ret;\n }\n /**\n * Retrieves a value from a storage map slot by name and key.\n * @param {string} slot_name\n * @param {Word} key\n * @returns {Promise<Word>}\n */\n getStorageMapItem(slot_name, key) {\n const ptr0 = passStringToWasm0(slot_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n _assertClass(key, Word);\n const ret = wasm.accountreader_getStorageMapItem(this.__wbg_ptr, ptr0, len0, key.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the account header.\n * @returns {Promise<AccountHeader>}\n */\n header() {\n const ret = wasm.accountreader_header(this.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the current account nonce.\n * @returns {Promise<Felt>}\n */\n nonce() {\n const ret = wasm.accountreader_nonce(this.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the account status.\n * @returns {Promise<AccountStatus>}\n */\n status() {\n const ret = wasm.accountreader_status(this.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the storage commitment (root of the storage tree).\n * @returns {Promise<Word>}\n */\n storageCommitment() {\n const ret = wasm.accountreader_storageCommitment(this.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the vault root (root of the asset vault tree).\n * @returns {Promise<Word>}\n */\n vaultRoot() {\n const ret = wasm.accountreader_vaultRoot(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) AccountReader.prototype[Symbol.dispose] = AccountReader.prototype.free;\n\n/**\n * Represents the status of an account tracked by the client.\n *\n * The status of an account may change by local or external factors.\n */\nexport class AccountStatus {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountStatus.prototype);\n obj.__wbg_ptr = ptr;\n AccountStatusFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountStatusFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountstatus_free(ptr, 0);\n }\n /**\n * Returns `true` if the account is locked.\n *\n * A locked account has a local state that doesn't match the node's state,\n * rendering it unusable for transactions.\n * @returns {boolean}\n */\n isLocked() {\n const ret = wasm.accountstatus_isLocked(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns `true` if the account is new and hasn't been used yet.\n * @returns {boolean}\n */\n isNew() {\n const ret = wasm.accountstatus_isNew(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns the account seed if available.\n *\n * The seed is available for:\n * - New accounts (stored in the New status)\n * - Locked private accounts with nonce=0 (preserved for reconstruction)\n * @returns {Word | undefined}\n */\n seed() {\n const ret = wasm.accountstatus_seed(this.__wbg_ptr);\n return ret === 0 ? undefined : Word.__wrap(ret);\n }\n /**\n * Returns the status as a string representation.\n * @returns {string}\n */\n toString() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.accountstatus_toString(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n}\nif (Symbol.dispose) AccountStatus.prototype[Symbol.dispose] = AccountStatus.prototype.free;\n\n/**\n * Account storage is composed of a variable number of index-addressable storage slots up to 255\n * slots in total.\n *\n * Each slot has a type which defines its size and structure. Currently, the following types are\n * supported:\n * - `StorageSlot::Value`: contains a single Word of data (i.e., 32 bytes).\n * - `StorageSlot::Map`: contains a `StorageMap` which is a key-value map where both keys and\n * values are Words. The value of a storage slot containing a map is the commitment to the\n * underlying map.\n */\nexport class AccountStorage {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountStorage.prototype);\n obj.__wbg_ptr = ptr;\n AccountStorageFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountStorageFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountstorage_free(ptr, 0);\n }\n /**\n * Returns the commitment to the full account storage.\n * @returns {Word}\n */\n commitment() {\n const ret = wasm.accountstorage_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the value stored at the given slot name, if any.\n * @param {string} slot_name\n * @returns {Word | undefined}\n */\n getItem(slot_name) {\n const ptr0 = passStringToWasm0(slot_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountstorage_getItem(this.__wbg_ptr, ptr0, len0);\n return ret === 0 ? undefined : Word.__wrap(ret);\n }\n /**\n * Get all key-value pairs from the map slot identified by `slot_name`.\n * Returns `undefined` if the slot isn't a map or doesn't exist.\n * Returns `[]` if the map exists but is empty.\n * @param {string} slot_name\n * @returns {JsStorageMapEntry[] | undefined}\n */\n getMapEntries(slot_name) {\n const ptr0 = passStringToWasm0(slot_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountstorage_getMapEntries(this.__wbg_ptr, ptr0, len0);\n let v2;\n if (ret[0] !== 0) {\n v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v2;\n }\n /**\n * Returns the value for a key in the map stored at the given slot, if any.\n * @param {string} slot_name\n * @param {Word} key\n * @returns {Word | undefined}\n */\n getMapItem(slot_name, key) {\n const ptr0 = passStringToWasm0(slot_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n _assertClass(key, Word);\n const ret = wasm.accountstorage_getMapItem(this.__wbg_ptr, ptr0, len0, key.__wbg_ptr);\n return ret === 0 ? undefined : Word.__wrap(ret);\n }\n /**\n * Returns the names of all storage slots on this account.\n * @returns {string[]}\n */\n getSlotNames() {\n const ret = wasm.accountstorage_getSlotNames(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n}\nif (Symbol.dispose) AccountStorage.prototype[Symbol.dispose] = AccountStorage.prototype.free;\n\n/**\n * `AccountStorageDelta` stores the differences between two states of account storage.\n *\n * The delta consists of two maps:\n * - A map containing the updates to value storage slots. The keys in this map are indexes of the\n * updated storage slots and the values are the new values for these slots.\n * - A map containing updates to storage maps. The keys in this map are indexes of the updated\n * storage slots and the values are corresponding storage map delta objects.\n */\nexport class AccountStorageDelta {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountStorageDelta.prototype);\n obj.__wbg_ptr = ptr;\n AccountStorageDeltaFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountStorageDeltaFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountstoragedelta_free(ptr, 0);\n }\n /**\n * Deserializes a storage delta from bytes.\n * @param {Uint8Array} bytes\n * @returns {AccountStorageDelta}\n */\n static deserialize(bytes) {\n const ret = wasm.accountstoragedelta_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountStorageDelta.__wrap(ret[0]);\n }\n /**\n * Returns true if no storage slots are changed.\n * @returns {boolean}\n */\n isEmpty() {\n const ret = wasm.accountstoragedelta_isEmpty(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Serializes the storage delta into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.accountstoragedelta_serialize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the new values for modified storage slots.\n * @returns {Word[]}\n */\n values() {\n const ret = wasm.accountstoragedelta_values(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n}\nif (Symbol.dispose) AccountStorageDelta.prototype[Symbol.dispose] = AccountStorageDelta.prototype.free;\n\n/**\n * Storage visibility mode for an account.\n */\nexport class AccountStorageMode {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountStorageMode.prototype);\n obj.__wbg_ptr = ptr;\n AccountStorageModeFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountStorageModeFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountstoragemode_free(ptr, 0);\n }\n /**\n * Returns the storage mode as a string.\n * @returns {string}\n */\n asStr() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.accountstoragemode_asStr(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * Creates a network storage mode.\n * @returns {AccountStorageMode}\n */\n static network() {\n const ret = wasm.accountstoragemode_network();\n return AccountStorageMode.__wrap(ret);\n }\n /**\n * Creates a private storage mode.\n * @returns {AccountStorageMode}\n */\n static private() {\n const ret = wasm.accountstoragemode_private();\n return AccountStorageMode.__wrap(ret);\n }\n /**\n * Creates a public storage mode.\n * @returns {AccountStorageMode}\n */\n static public() {\n const ret = wasm.accountstoragemode_public();\n return AccountStorageMode.__wrap(ret);\n }\n /**\n * Parses a storage mode from its string representation.\n * @param {string} s\n * @returns {AccountStorageMode}\n */\n static tryFromStr(s) {\n const ptr0 = passStringToWasm0(s, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountstoragemode_tryFromStr(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountStorageMode.__wrap(ret[0]);\n }\n}\nif (Symbol.dispose) AccountStorageMode.prototype[Symbol.dispose] = AccountStorageMode.prototype.free;\n\nexport class AccountStorageRequirements {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountStorageRequirements.prototype);\n obj.__wbg_ptr = ptr;\n AccountStorageRequirementsFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountStorageRequirementsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountstoragerequirements_free(ptr, 0);\n }\n /**\n * Builds storage requirements from a list of slot/key pairs.\n * @param {SlotAndKeys[]} slots_and_keys\n * @returns {AccountStorageRequirements}\n */\n static fromSlotAndKeysArray(slots_and_keys) {\n const ptr0 = passArrayJsValueToWasm0(slots_and_keys, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.accountstoragerequirements_fromSlotAndKeysArray(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountStorageRequirements.__wrap(ret[0]);\n }\n /**\n * Creates empty storage requirements.\n */\n constructor() {\n const ret = wasm.accountstoragerequirements_new();\n this.__wbg_ptr = ret >>> 0;\n AccountStorageRequirementsFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) AccountStorageRequirements.prototype[Symbol.dispose] = AccountStorageRequirements.prototype.free;\n\n/**\n * @enum {0 | 1 | 2 | 3}\n */\nexport const AccountType = Object.freeze({\n FungibleFaucet: 0, \"0\": \"FungibleFaucet\",\n NonFungibleFaucet: 1, \"1\": \"NonFungibleFaucet\",\n RegularAccountImmutableCode: 2, \"2\": \"RegularAccountImmutableCode\",\n RegularAccountUpdatableCode: 3, \"3\": \"RegularAccountUpdatableCode\",\n});\n\n/**\n * `AccountVaultDelta` stores the difference between the initial and final account vault states.\n *\n * The difference is represented as follows:\n * - `fungible`: a binary tree map of fungible asset balance changes in the account vault.\n * - `non_fungible`: a binary tree map of non-fungible assets that were added to or removed from\n * the account vault.\n */\nexport class AccountVaultDelta {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AccountVaultDelta.prototype);\n obj.__wbg_ptr = ptr;\n AccountVaultDeltaFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AccountVaultDeltaFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_accountvaultdelta_free(ptr, 0);\n }\n /**\n * Returns the fungible assets that increased.\n * @returns {FungibleAsset[]}\n */\n addedFungibleAssets() {\n const ret = wasm.accountvaultdelta_addedFungibleAssets(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Deserializes a vault delta from bytes.\n * @param {Uint8Array} bytes\n * @returns {AccountVaultDelta}\n */\n static deserialize(bytes) {\n const ret = wasm.accountvaultdelta_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountVaultDelta.__wrap(ret[0]);\n }\n /**\n * Returns the fungible portion of the delta.\n * @returns {FungibleAssetDelta}\n */\n fungible() {\n const ret = wasm.accountvaultdelta_fungible(this.__wbg_ptr);\n return FungibleAssetDelta.__wrap(ret);\n }\n /**\n * Returns true if no assets are changed.\n * @returns {boolean}\n */\n isEmpty() {\n const ret = wasm.accountvaultdelta_isEmpty(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns the fungible assets that decreased.\n * @returns {FungibleAsset[]}\n */\n removedFungibleAssets() {\n const ret = wasm.accountvaultdelta_removedFungibleAssets(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Serializes the vault delta into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.accountvaultdelta_serialize(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) AccountVaultDelta.prototype[Symbol.dispose] = AccountVaultDelta.prototype.free;\n\n/**\n * Representation of a Miden address (account ID plus routing parameters).\n */\nexport class Address {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(Address.prototype);\n obj.__wbg_ptr = ptr;\n AddressFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AddressFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_address_free(ptr, 0);\n }\n /**\n * Returns the account ID embedded in the address.\n * @returns {AccountId}\n */\n accountId() {\n const ret = wasm.address_accountId(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountId.__wrap(ret[0]);\n }\n /**\n * Deserializes a byte array into an `Address`.\n * @param {Uint8Array} bytes\n * @returns {Address}\n */\n static deserialize(bytes) {\n const ret = wasm.address_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Address.__wrap(ret[0]);\n }\n /**\n * Builds an address from an account ID and optional interface.\n * @param {AccountId} account_id\n * @param {string | null} [_interface]\n * @returns {Address}\n */\n static fromAccountId(account_id, _interface) {\n _assertClass(account_id, AccountId);\n var ptr0 = isLikeNone(_interface) ? 0 : passStringToWasm0(_interface, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.address_fromAccountId(account_id.__wbg_ptr, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Address.__wrap(ret[0]);\n }\n /**\n * Builds an address from a bech32-encoded string.\n * @param {string} bech32\n * @returns {Address}\n */\n static fromBech32(bech32) {\n const ptr0 = passStringToWasm0(bech32, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.address_fromBech32(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Address.__wrap(ret[0]);\n }\n /**\n * Returns the address interface.\n * @returns {AddressInterface}\n */\n interface() {\n const ret = wasm.address_interface(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return __wbindgen_enum_AddressInterface[ret[0]];\n }\n /**\n * Encodes the address using the provided network prefix.\n * @param {NetworkId} network_id\n * @returns {string}\n */\n toBech32(network_id) {\n let deferred3_0;\n let deferred3_1;\n try {\n _assertClass(network_id, NetworkId);\n var ptr0 = network_id.__destroy_into_raw();\n const ret = wasm.address_toBech32(this.__wbg_ptr, ptr0);\n var ptr2 = ret[0];\n var len2 = ret[1];\n if (ret[3]) {\n ptr2 = 0; len2 = 0;\n throw takeFromExternrefTable0(ret[2]);\n }\n deferred3_0 = ptr2;\n deferred3_1 = len2;\n return getStringFromWasm0(ptr2, len2);\n } finally {\n wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);\n }\n }\n /**\n * Converts the address into a note tag.\n * @returns {NoteTag}\n */\n toNoteTag() {\n const ret = wasm.address_toNoteTag(this.__wbg_ptr);\n return NoteTag.__wrap(ret);\n }\n}\nif (Symbol.dispose) Address.prototype[Symbol.dispose] = Address.prototype.free;\n\n/**\n * Advice inputs provided to a transaction or note script.\n */\nexport class AdviceInputs {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AdviceInputs.prototype);\n obj.__wbg_ptr = ptr;\n AdviceInputsFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AdviceInputsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_adviceinputs_free(ptr, 0);\n }\n /**\n * Returns mapped values for a given key if present.\n * @param {Word} key\n * @returns {Felt[] | undefined}\n */\n mappedValues(key) {\n _assertClass(key, Word);\n const ret = wasm.adviceinputs_mappedValues(this.__wbg_ptr, key.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Returns the stack inputs as a vector of felts.\n * @returns {Felt[]}\n */\n stack() {\n const ret = wasm.adviceinputs_stack(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n}\nif (Symbol.dispose) AdviceInputs.prototype[Symbol.dispose] = AdviceInputs.prototype.free;\n\n/**\n * Map of advice values keyed by words for script execution.\n */\nexport class AdviceMap {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AdviceMapFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_advicemap_free(ptr, 0);\n }\n /**\n * Inserts a value for the given key, returning any previous value.\n * @param {Word} key\n * @param {FeltArray} value\n * @returns {Felt[] | undefined}\n */\n insert(key, value) {\n _assertClass(key, Word);\n _assertClass(value, FeltArray);\n const ret = wasm.advicemap_insert(this.__wbg_ptr, key.__wbg_ptr, value.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n }\n return v1;\n }\n /**\n * Creates an empty advice map.\n */\n constructor() {\n const ret = wasm.accountstoragerequirements_new();\n this.__wbg_ptr = ret >>> 0;\n AdviceMapFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) AdviceMap.prototype[Symbol.dispose] = AdviceMap.prototype.free;\n\n/**\n * A container for an unlimited number of assets.\n *\n * An asset vault can contain an unlimited number of assets. The assets are stored in a Sparse\n * Merkle tree as follows:\n * - For fungible assets, the index of a node is defined by the issuing faucet ID, and the value of\n * the node is the asset itself. Thus, for any fungible asset there will be only one node in the\n * tree.\n * - For non-fungible assets, the index is defined by the asset itself, and the asset is also the\n * value of the node.\n *\n * An asset vault can be reduced to a single hash which is the root of the Sparse Merkle Tree.\n */\nexport class AssetVault {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AssetVault.prototype);\n obj.__wbg_ptr = ptr;\n AssetVaultFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AssetVaultFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_assetvault_free(ptr, 0);\n }\n /**\n * Returns the fungible assets contained in this vault.\n * @returns {FungibleAsset[]}\n */\n fungibleAssets() {\n const ret = wasm.assetvault_fungibleAssets(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns the balance for the given fungible faucet, or zero if absent.\n * @param {AccountId} faucet_id\n * @returns {bigint}\n */\n getBalance(faucet_id) {\n _assertClass(faucet_id, AccountId);\n const ret = wasm.assetvault_getBalance(this.__wbg_ptr, faucet_id.__wbg_ptr);\n return BigInt.asUintN(64, ret);\n }\n /**\n * Returns the root commitment of the asset vault tree.\n * @returns {Word}\n */\n root() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n}\nif (Symbol.dispose) AssetVault.prototype[Symbol.dispose] = AssetVault.prototype.free;\n\n/**\n * Multisig auth configuration for `RpoFalcon512` signatures.\n */\nexport class AuthFalcon512RpoMultisigConfig {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AuthFalcon512RpoMultisigConfig.prototype);\n obj.__wbg_ptr = ptr;\n AuthFalcon512RpoMultisigConfigFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AuthFalcon512RpoMultisigConfigFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_authfalcon512rpomultisigconfig_free(ptr, 0);\n }\n /**\n * Approver public key commitments as Words.\n * @returns {Word[]}\n */\n get approvers() {\n const ret = wasm.authfalcon512rpomultisigconfig_approvers(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {number}\n */\n get defaultThreshold() {\n const ret = wasm.authfalcon512rpomultisigconfig_defaultThreshold(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Per-procedure thresholds.\n * @returns {ProcedureThreshold[]}\n */\n getProcThresholds() {\n const ret = wasm.authfalcon512rpomultisigconfig_getProcThresholds(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Build a configuration with a list of approver public key commitments and a default\n * threshold.\n *\n * `default_threshold` must be >= 1 and <= `approvers.length`.\n * @param {Word[]} approvers\n * @param {number} default_threshold\n */\n constructor(approvers, default_threshold) {\n const ptr0 = passArrayJsValueToWasm0(approvers, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.authfalcon512rpomultisigconfig_new(ptr0, len0, default_threshold);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n this.__wbg_ptr = ret[0] >>> 0;\n AuthFalcon512RpoMultisigConfigFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Attach per-procedure thresholds. Each threshold must be >= 1 and <= `approvers.length`.\n * @param {ProcedureThreshold[]} proc_thresholds\n * @returns {AuthFalcon512RpoMultisigConfig}\n */\n withProcThresholds(proc_thresholds) {\n const ptr = this.__destroy_into_raw();\n const ptr0 = passArrayJsValueToWasm0(proc_thresholds, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.authfalcon512rpomultisigconfig_withProcThresholds(ptr, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AuthFalcon512RpoMultisigConfig.__wrap(ret[0]);\n }\n}\nif (Symbol.dispose) AuthFalcon512RpoMultisigConfig.prototype[Symbol.dispose] = AuthFalcon512RpoMultisigConfig.prototype.free;\n\n/**\n * Authentication schemes supported by the web client.\n * @enum {1 | 2}\n */\nexport const AuthScheme = Object.freeze({\n AuthEcdsaK256Keccak: 1, \"1\": \"AuthEcdsaK256Keccak\",\n AuthRpoFalcon512: 2, \"2\": \"AuthRpoFalcon512\",\n});\n\nexport class AuthSecretKey {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(AuthSecretKey.prototype);\n obj.__wbg_ptr = ptr;\n AuthSecretKeyFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n AuthSecretKeyFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_authsecretkey_free(ptr, 0);\n }\n /**\n * @param {Uint8Array} bytes\n * @returns {AuthSecretKey}\n */\n static deserialize(bytes) {\n const ret = wasm.authsecretkey_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AuthSecretKey.__wrap(ret[0]);\n }\n /**\n * @param {Uint8Array | null} [seed]\n * @returns {AuthSecretKey}\n */\n static ecdsaWithRNG(seed) {\n var ptr0 = isLikeNone(seed) ? 0 : passArray8ToWasm0(seed, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.authsecretkey_ecdsaWithRNG(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AuthSecretKey.__wrap(ret[0]);\n }\n /**\n * Returns the ECDSA k256 Keccak secret key bytes encoded as felts.\n * @returns {Felt[]}\n */\n getEcdsaK256KeccakSecretKeyAsFelts() {\n const ret = wasm.authsecretkey_getEcdsaK256KeccakSecretKeyAsFelts(this.__wbg_ptr);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {Word}\n */\n getPublicKeyAsWord() {\n const ret = wasm.authsecretkey_getPublicKeyAsWord(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * @returns {Felt[]}\n */\n getRpoFalcon512SecretKeyAsFelts() {\n const ret = wasm.authsecretkey_getRpoFalcon512SecretKeyAsFelts(this.__wbg_ptr);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {PublicKey}\n */\n publicKey() {\n const ret = wasm.authsecretkey_publicKey(this.__wbg_ptr);\n return PublicKey.__wrap(ret);\n }\n /**\n * @param {Uint8Array | null} [seed]\n * @returns {AuthSecretKey}\n */\n static rpoFalconWithRNG(seed) {\n var ptr0 = isLikeNone(seed) ? 0 : passArray8ToWasm0(seed, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.authsecretkey_rpoFalconWithRNG(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AuthSecretKey.__wrap(ret[0]);\n }\n /**\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.authsecretkey_serialize(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {Word} message\n * @returns {Signature}\n */\n sign(message) {\n _assertClass(message, Word);\n const ret = wasm.authsecretkey_sign(this.__wbg_ptr, message.__wbg_ptr);\n return Signature.__wrap(ret);\n }\n /**\n * @param {SigningInputs} signing_inputs\n * @returns {Signature}\n */\n signData(signing_inputs) {\n _assertClass(signing_inputs, SigningInputs);\n const ret = wasm.authsecretkey_signData(this.__wbg_ptr, signing_inputs.__wbg_ptr);\n return Signature.__wrap(ret);\n }\n}\nif (Symbol.dispose) AuthSecretKey.prototype[Symbol.dispose] = AuthSecretKey.prototype.free;\n\n/**\n * Provides metadata for a basic fungible faucet account component.\n */\nexport class BasicFungibleFaucetComponent {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(BasicFungibleFaucetComponent.prototype);\n obj.__wbg_ptr = ptr;\n BasicFungibleFaucetComponentFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n BasicFungibleFaucetComponentFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_basicfungiblefaucetcomponent_free(ptr, 0);\n }\n /**\n * Returns the number of decimal places for the token.\n * @returns {number}\n */\n decimals() {\n const ret = wasm.basicfungiblefaucetcomponent_decimals(this.__wbg_ptr);\n return ret;\n }\n /**\n * Extracts faucet metadata from an account.\n * @param {Account} account\n * @returns {BasicFungibleFaucetComponent}\n */\n static fromAccount(account) {\n _assertClass(account, Account);\n var ptr0 = account.__destroy_into_raw();\n const ret = wasm.basicfungiblefaucetcomponent_fromAccount(ptr0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return BasicFungibleFaucetComponent.__wrap(ret[0]);\n }\n /**\n * Returns the maximum token supply.\n * @returns {Felt}\n */\n maxSupply() {\n const ret = wasm.accountid_suffix(this.__wbg_ptr);\n return Felt.__wrap(ret);\n }\n /**\n * Returns the faucet's token symbol.\n * @returns {TokenSymbol}\n */\n symbol() {\n const ret = wasm.basicfungiblefaucetcomponent_symbol(this.__wbg_ptr);\n return TokenSymbol.__wrap(ret);\n }\n}\nif (Symbol.dispose) BasicFungibleFaucetComponent.prototype[Symbol.dispose] = BasicFungibleFaucetComponent.prototype.free;\n\n/**\n * Public header for a block, containing commitments to the chain state and the proof attesting to\n * the block's validity.\n *\n * Key fields include the previous block commitment, block number, chain/nullifier/note roots,\n * transaction commitments (including the kernel), proof commitment, and a timestamp. Two derived\n * values are exposed:\n * - `sub_commitment`: sequential hash of all fields except the `note_root`.\n * - `commitment`: a 2-to-1 hash of the `sub_commitment` and the `note_root`.\n */\nexport class BlockHeader {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(BlockHeader.prototype);\n obj.__wbg_ptr = ptr;\n BlockHeaderFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n BlockHeaderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_blockheader_free(ptr, 0);\n }\n /**\n * Returns the account root commitment.\n * @returns {Word}\n */\n accountRoot() {\n const ret = wasm.accountheader_codeCommitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the block height.\n * @returns {number}\n */\n blockNum() {\n const ret = wasm.blockheader_blockNum(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns the chain commitment.\n * @returns {Word}\n */\n chainCommitment() {\n const ret = wasm.accountheader_storageCommitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the commitment to the block contents.\n * @returns {Word}\n */\n commitment() {\n const ret = wasm.blockheader_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the note commitment root.\n * @returns {Word}\n */\n noteRoot() {\n const ret = wasm.blockheader_noteRoot(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the nullifier root commitment.\n * @returns {Word}\n */\n nullifierRoot() {\n const ret = wasm.blockheader_nullifierRoot(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the commitment of the previous block.\n * @returns {Word}\n */\n prevBlockCommitment() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the proof commitment.\n * @returns {Word}\n */\n proofCommitment() {\n const ret = wasm.blockheader_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the commitment to block metadata.\n * @returns {Word}\n */\n subCommitment() {\n const ret = wasm.blockheader_subCommitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the block timestamp.\n * @returns {number}\n */\n timestamp() {\n const ret = wasm.blockheader_timestamp(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns the transaction commitment.\n * @returns {Word}\n */\n txCommitment() {\n const ret = wasm.blockheader_txCommitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the transaction kernel commitment.\n * @returns {Word}\n */\n txKernelCommitment() {\n const ret = wasm.accountbuilderresult_seed(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the header version.\n * @returns {number}\n */\n version() {\n const ret = wasm.blockheader_version(this.__wbg_ptr);\n return ret >>> 0;\n }\n}\nif (Symbol.dispose) BlockHeader.prototype[Symbol.dispose] = BlockHeader.prototype.free;\n\n/**\n * Utility for linking libraries and compiling transaction/note scripts.\n */\nexport class CodeBuilder {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(CodeBuilder.prototype);\n obj.__wbg_ptr = ptr;\n CodeBuilderFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CodeBuilderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_codebuilder_free(ptr, 0);\n }\n /**\n * Given a Library Path, and a source code, turn it into a Library.\n * E.g. A path library can be `miden::my_contract`. When turned into a library,\n * this can be used from another script with an import statement, following the\n * previous example: `use miden::my_contract'.\n * @param {string} library_path\n * @param {string} source_code\n * @returns {Library}\n */\n buildLibrary(library_path, source_code) {\n const ptr0 = passStringToWasm0(library_path, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(source_code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.codebuilder_buildLibrary(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Library.__wrap(ret[0]);\n }\n /**\n * Given an `AccountComponentCode`, compiles it\n * with the available modules under this builder. Returns the compiled account component code.\n * @param {string} account_code\n * @returns {AccountComponentCode}\n */\n compileAccountComponentCode(account_code) {\n const ptr0 = passStringToWasm0(account_code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.codebuilder_compileAccountComponentCode(this.__wbg_ptr, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountComponentCode.__wrap(ret[0]);\n }\n /**\n * Given a Note Script's source code, compiles it with the available\n * modules under this builder. Returns the compiled script.\n * @param {string} program\n * @returns {NoteScript}\n */\n compileNoteScript(program) {\n const ptr0 = passStringToWasm0(program, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.codebuilder_compileNoteScript(this.__wbg_ptr, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteScript.__wrap(ret[0]);\n }\n /**\n * Given a Transaction Script's source code, compiles it with the available\n * modules under this builder. Returns the compiled script.\n * @param {string} tx_script\n * @returns {TransactionScript}\n */\n compileTxScript(tx_script) {\n const ptr0 = passStringToWasm0(tx_script, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.codebuilder_compileTxScript(this.__wbg_ptr, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionScript.__wrap(ret[0]);\n }\n /**\n * This is useful to dynamically link the {@link Library} of a foreign account\n * that is invoked using foreign procedure invocation (FPI). Its code is available\n * on-chain and so it does not have to be copied into the script code.\n *\n * For all other use cases not involving FPI, link the library statically.\n * Receives as argument the library to be linked.\n * @param {Library} library\n */\n linkDynamicLibrary(library) {\n _assertClass(library, Library);\n const ret = wasm.codebuilder_linkDynamicLibrary(this.__wbg_ptr, library.__wbg_ptr);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Given a module path (something like `my_lib::module`) and source code, this will\n * statically link it for use with scripts to be built with this builder.\n * @param {string} module_path\n * @param {string} module_code\n */\n linkModule(module_path, module_code) {\n const ptr0 = passStringToWasm0(module_path, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(module_code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.codebuilder_linkModule(this.__wbg_ptr, ptr0, len0, ptr1, len1);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Statically links the given library.\n *\n * Static linking means the library code is copied into the script code.\n * Use this for most libraries that are not available on-chain.\n *\n * Receives as argument the library to link.\n * @param {Library} library\n */\n linkStaticLibrary(library) {\n _assertClass(library, Library);\n const ret = wasm.codebuilder_linkStaticLibrary(this.__wbg_ptr, library.__wbg_ptr);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) CodeBuilder.prototype[Symbol.dispose] = CodeBuilder.prototype.free;\n\n/**\n * Represents a note committed on chain, as returned by `syncNotes`.\n */\nexport class CommittedNote {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(CommittedNote.prototype);\n obj.__wbg_ptr = ptr;\n CommittedNoteFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n CommittedNoteFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_committednote_free(ptr, 0);\n }\n /**\n * Returns the inclusion path for the note.\n * @returns {SparseMerklePath}\n */\n inclusionPath() {\n const ret = wasm.committednote_inclusionPath(this.__wbg_ptr);\n return SparseMerklePath.__wrap(ret);\n }\n /**\n * Returns the note metadata.\n * @returns {NoteMetadata}\n */\n metadata() {\n const ret = wasm.committednote_metadata(this.__wbg_ptr);\n return NoteMetadata.__wrap(ret);\n }\n /**\n * Returns the note ID.\n * @returns {NoteId}\n */\n noteId() {\n const ret = wasm.committednote_noteId(this.__wbg_ptr);\n return NoteId.__wrap(ret);\n }\n /**\n * Returns the note index in the block's note tree.\n * @returns {number}\n */\n noteIndex() {\n const ret = wasm.committednote_noteIndex(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) CommittedNote.prototype[Symbol.dispose] = CommittedNote.prototype.free;\n\n/**\n * Input note record annotated with consumption conditions.\n */\nexport class ConsumableNoteRecord {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(ConsumableNoteRecord.prototype);\n obj.__wbg_ptr = ptr;\n ConsumableNoteRecordFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ConsumableNoteRecordFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_consumablenoterecord_free(ptr, 0);\n }\n /**\n * Returns the underlying input note record.\n * @returns {InputNoteRecord}\n */\n inputNoteRecord() {\n const ret = wasm.consumablenoterecord_inputNoteRecord(this.__wbg_ptr);\n return InputNoteRecord.__wrap(ret);\n }\n /**\n * Creates a new consumable note record from an input note record and consumability metadata.\n * @param {InputNoteRecord} input_note_record\n * @param {NoteConsumability[]} note_consumability\n */\n constructor(input_note_record, note_consumability) {\n _assertClass(input_note_record, InputNoteRecord);\n var ptr0 = input_note_record.__destroy_into_raw();\n const ptr1 = passArrayJsValueToWasm0(note_consumability, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.consumablenoterecord_new(ptr0, ptr1, len1);\n this.__wbg_ptr = ret >>> 0;\n ConsumableNoteRecordFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the consumability entries.\n * @returns {NoteConsumability[]}\n */\n noteConsumability() {\n const ret = wasm.consumablenoterecord_noteConsumability(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n}\nif (Symbol.dispose) ConsumableNoteRecord.prototype[Symbol.dispose] = ConsumableNoteRecord.prototype.free;\n\n/**\n * The `Endpoint` struct represents a network endpoint, consisting of a protocol, a host, and a\n * port.\n *\n * This struct is used to define the address of a Miden node that the client will connect to.\n */\nexport class Endpoint {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(Endpoint.prototype);\n obj.__wbg_ptr = ptr;\n EndpointFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n EndpointFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_endpoint_free(ptr, 0);\n }\n /**\n * Returns the endpoint for the Miden devnet.\n * @returns {Endpoint}\n */\n static devnet() {\n const ret = wasm.endpoint_devnet();\n return Endpoint.__wrap(ret);\n }\n /**\n * Returns the host of the endpoint.\n * @returns {string}\n */\n get host() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.endpoint_host(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * Returns the endpoint for a local Miden node.\n *\n * Uses <http://localhost:57291>\n * @returns {Endpoint}\n */\n static localhost() {\n const ret = wasm.endpoint_localhost();\n return Endpoint.__wrap(ret);\n }\n /**\n * Creates an endpoint from a URL string.\n *\n * @param url - The URL string (e.g., <https://localhost:57291>)\n * @throws throws an error if the URL is invalid\n * @param {string} url\n */\n constructor(url) {\n const ptr0 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.endpoint_new(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n this.__wbg_ptr = ret[0] >>> 0;\n EndpointFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the port of the endpoint.\n * @returns {number | undefined}\n */\n get port() {\n const ret = wasm.endpoint_port(this.__wbg_ptr);\n return ret === 0xFFFFFF ? undefined : ret;\n }\n /**\n * Returns the protocol of the endpoint.\n * @returns {string}\n */\n get protocol() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.endpoint_protocol(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * Returns the endpoint for the Miden testnet.\n * @returns {Endpoint}\n */\n static testnet() {\n const ret = wasm.endpoint_testnet();\n return Endpoint.__wrap(ret);\n }\n /**\n * Returns the string representation of the endpoint.\n * @returns {string}\n */\n toString() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.endpoint_toString(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n}\nif (Symbol.dispose) Endpoint.prototype[Symbol.dispose] = Endpoint.prototype.free;\n\n/**\n * Describes the result of executing a transaction program for the Miden protocol.\n *\n * Executed transaction serves two primary purposes:\n * - It contains a complete description of the effects of the transaction. Specifically, it\n * contains all output notes created as the result of the transaction and describes all the\n * changes made to the involved account (i.e., the account delta).\n * - It contains all the information required to re-execute and prove the transaction in a\n * stateless manner. This includes all public transaction inputs, but also all nondeterministic\n * inputs that the host provided to Miden VM while executing the transaction (i.e., advice\n * witness).\n */\nexport class ExecutedTransaction {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(ExecutedTransaction.prototype);\n obj.__wbg_ptr = ptr;\n ExecutedTransactionFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ExecutedTransactionFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_executedtransaction_free(ptr, 0);\n }\n /**\n * Returns the account delta resulting from execution.\n * @returns {AccountDelta}\n */\n accountDelta() {\n const ret = wasm.executedtransaction_accountDelta(this.__wbg_ptr);\n return AccountDelta.__wrap(ret);\n }\n /**\n * Returns the account the transaction was executed against.\n * @returns {AccountId}\n */\n accountId() {\n const ret = wasm.executedtransaction_accountId(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Returns the block header that included the transaction.\n * @returns {BlockHeader}\n */\n blockHeader() {\n const ret = wasm.executedtransaction_blockHeader(this.__wbg_ptr);\n return BlockHeader.__wrap(ret);\n }\n /**\n * Returns the final account header after execution.\n * @returns {AccountHeader}\n */\n finalAccountHeader() {\n const ret = wasm.executedtransaction_finalAccountHeader(this.__wbg_ptr);\n return AccountHeader.__wrap(ret);\n }\n /**\n * Returns the transaction ID.\n * @returns {TransactionId}\n */\n id() {\n const ret = wasm.executedtransaction_id(this.__wbg_ptr);\n return TransactionId.__wrap(ret);\n }\n /**\n * Returns the initial account header before execution.\n * @returns {AccountHeader}\n */\n initialAccountHeader() {\n const ret = wasm.executedtransaction_initialAccountHeader(this.__wbg_ptr);\n return AccountHeader.__wrap(ret);\n }\n /**\n * Returns the input notes consumed by the transaction.\n * @returns {InputNotes}\n */\n inputNotes() {\n const ret = wasm.executedtransaction_inputNotes(this.__wbg_ptr);\n return InputNotes.__wrap(ret);\n }\n /**\n * Returns the output notes produced by the transaction.\n * @returns {OutputNotes}\n */\n outputNotes() {\n const ret = wasm.executedtransaction_outputNotes(this.__wbg_ptr);\n return OutputNotes.__wrap(ret);\n }\n /**\n * Returns the arguments passed to the transaction script.\n * @returns {TransactionArgs}\n */\n txArgs() {\n const ret = wasm.executedtransaction_txArgs(this.__wbg_ptr);\n return TransactionArgs.__wrap(ret);\n }\n}\nif (Symbol.dispose) ExecutedTransaction.prototype[Symbol.dispose] = ExecutedTransaction.prototype.free;\n\n/**\n * Field element wrapper exposed to JavaScript.\n */\nexport class Felt {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(Felt.prototype);\n obj.__wbg_ptr = ptr;\n FeltFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof Felt)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FeltFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_felt_free(ptr, 0);\n }\n /**\n * Returns the integer representation of the field element.\n * @returns {bigint}\n */\n asInt() {\n const ret = wasm.felt_asInt(this.__wbg_ptr);\n return BigInt.asUintN(64, ret);\n }\n /**\n * Creates a new field element from a u64 value.\n * @param {bigint} value\n */\n constructor(value) {\n const ret = wasm.felt_new(value);\n this.__wbg_ptr = ret >>> 0;\n FeltFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the string representation of the field element.\n * @returns {string}\n */\n toString() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.felt_toString(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n}\nif (Symbol.dispose) Felt.prototype[Symbol.dispose] = Felt.prototype.free;\n\nexport class FeltArray {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(FeltArray.prototype);\n obj.__wbg_ptr = ptr;\n FeltArrayFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FeltArrayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_feltarray_free(ptr, 0);\n }\n /**\n * Get element at index, will always return a clone to avoid aliasing issues.\n * @param {number} index\n * @returns {Felt}\n */\n get(index) {\n const ret = wasm.feltarray_get(this.__wbg_ptr, index);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Felt.__wrap(ret[0]);\n }\n /**\n * @returns {number}\n */\n length() {\n const ret = wasm.feltarray_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {Felt[] | null} [elements]\n */\n constructor(elements) {\n var ptr0 = isLikeNone(elements) ? 0 : passArrayJsValueToWasm0(elements, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.feltarray_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n FeltArrayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {Felt} element\n */\n push(element) {\n _assertClass(element, Felt);\n wasm.feltarray_push(this.__wbg_ptr, element.__wbg_ptr);\n }\n /**\n * @param {number} index\n * @param {Felt} elem\n */\n replaceAt(index, elem) {\n _assertClass(elem, Felt);\n var ptr0 = elem.__destroy_into_raw();\n const ret = wasm.feltarray_replaceAt(this.__wbg_ptr, index, ptr0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) FeltArray.prototype[Symbol.dispose] = FeltArray.prototype.free;\n\n/**\n * Account details returned by the node.\n */\nexport class FetchedAccount {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(FetchedAccount.prototype);\n obj.__wbg_ptr = ptr;\n FetchedAccountFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FetchedAccountFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_fetchedaccount_free(ptr, 0);\n }\n /**\n * Returns the full account data when the account is public.\n * @returns {Account | undefined}\n */\n account() {\n const ret = wasm.fetchedaccount_account(this.__wbg_ptr);\n return ret === 0 ? undefined : Account.__wrap(ret);\n }\n /**\n * Returns the account ID.\n * @returns {AccountId}\n */\n accountId() {\n const ret = wasm.fetchedaccount_accountId(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Returns the account commitment reported by the node.\n * @returns {Word}\n */\n commitment() {\n const ret = wasm.fetchedaccount_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns true when the account is a network account.\n * @returns {boolean}\n */\n isNetwork() {\n const ret = wasm.fetchedaccount_isNetwork(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true when the account is private.\n * @returns {boolean}\n */\n isPrivate() {\n const ret = wasm.fetchedaccount_isPrivate(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true when the account is public.\n * @returns {boolean}\n */\n isPublic() {\n const ret = wasm.fetchedaccount_isPublic(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns the last block height where the account was updated.\n * @returns {number}\n */\n lastBlockNum() {\n const ret = wasm.fetchedaccount_lastBlockNum(this.__wbg_ptr);\n return ret >>> 0;\n }\n}\nif (Symbol.dispose) FetchedAccount.prototype[Symbol.dispose] = FetchedAccount.prototype.free;\n\n/**\n * Wrapper for a note fetched over RPC.\n *\n * It contains the note header and inclusion proof. The note details are only present for\n * public notes.\n */\nexport class FetchedNote {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(FetchedNote.prototype);\n obj.__wbg_ptr = ptr;\n FetchedNoteFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FetchedNoteFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_fetchednote_free(ptr, 0);\n }\n /**\n * Returns an [`InputNote`] when the fetched note is public.\n *\n * Returns `undefined` when the note body is missing (e.g. private notes); in that case build\n * an `InputNote` manually using the inclusion proof and note data obtained elsewhere.\n * @returns {InputNote | undefined}\n */\n asInputNote() {\n const ret = wasm.fetchednote_asInputNote(this.__wbg_ptr);\n return ret === 0 ? undefined : InputNote.__wrap(ret);\n }\n /**\n * The note's header, containing the ID and metadata.\n * @returns {NoteHeader}\n */\n get header() {\n const ret = wasm.fetchednote_header(this.__wbg_ptr);\n return NoteHeader.__wrap(ret);\n }\n /**\n * The note's inclusion proof.\n *\n * Contains the data required to prove inclusion of the note in the canonical chain.\n * @returns {NoteInclusionProof}\n */\n get inclusionProof() {\n const ret = wasm.fetchednote_inclusionProof(this.__wbg_ptr);\n return NoteInclusionProof.__wrap(ret);\n }\n /**\n * The note's metadata, including sender, tag, and other properties.\n * Available for both private and public notes.\n * @returns {NoteMetadata}\n */\n get metadata() {\n const ret = wasm.fetchednote_metadata(this.__wbg_ptr);\n return NoteMetadata.__wrap(ret);\n }\n /**\n * Create a `FetchedNote` with an optional [`Note`].\n * @param {NoteId} note_id\n * @param {NoteMetadata} metadata\n * @param {NoteInclusionProof} inclusion_proof\n * @param {Note | null} [note]\n */\n constructor(note_id, metadata, inclusion_proof, note) {\n _assertClass(note_id, NoteId);\n var ptr0 = note_id.__destroy_into_raw();\n _assertClass(metadata, NoteMetadata);\n var ptr1 = metadata.__destroy_into_raw();\n _assertClass(inclusion_proof, NoteInclusionProof);\n var ptr2 = inclusion_proof.__destroy_into_raw();\n let ptr3 = 0;\n if (!isLikeNone(note)) {\n _assertClass(note, Note);\n ptr3 = note.__destroy_into_raw();\n }\n const ret = wasm.fetchednote_new(ptr0, ptr1, ptr2, ptr3);\n this.__wbg_ptr = ret >>> 0;\n FetchedNoteFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * The full [`Note`] data.\n *\n * For public notes, it contains the complete note data.\n * For private notes, it will be undefined.\n * @returns {Note | undefined}\n */\n get note() {\n const ret = wasm.fetchednote_note(this.__wbg_ptr);\n return ret === 0 ? undefined : Note.__wrap(ret);\n }\n /**\n * The unique identifier of the note.\n * @returns {NoteId}\n */\n get noteId() {\n const ret = wasm.fetchednote_noteId(this.__wbg_ptr);\n return NoteId.__wrap(ret);\n }\n /**\n * Returns whether the note is private, encrypted, or public.\n * @returns {NoteType}\n */\n get noteType() {\n const ret = wasm.fetchednote_noteType(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) FetchedNote.prototype[Symbol.dispose] = FetchedNote.prototype.free;\n\nexport class FlattenedU8Vec {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(FlattenedU8Vec.prototype);\n obj.__wbg_ptr = ptr;\n FlattenedU8VecFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FlattenedU8VecFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_flattenedu8vec_free(ptr, 0);\n }\n /**\n * @returns {Uint8Array}\n */\n data() {\n const ret = wasm.flattenedu8vec_data(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {Uint32Array}\n */\n lengths() {\n const ret = wasm.flattenedu8vec_lengths(this.__wbg_ptr);\n var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * @returns {number}\n */\n num_inner_vecs() {\n const ret = wasm.flattenedu8vec_num_inner_vecs(this.__wbg_ptr);\n return ret >>> 0;\n }\n}\nif (Symbol.dispose) FlattenedU8Vec.prototype[Symbol.dispose] = FlattenedU8Vec.prototype.free;\n\n/**\n * Description of a foreign account referenced by a transaction.\n */\nexport class ForeignAccount {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(ForeignAccount.prototype);\n obj.__wbg_ptr = ptr;\n ForeignAccountFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof ForeignAccount)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ForeignAccountFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_foreignaccount_free(ptr, 0);\n }\n /**\n * Returns the ID of the foreign account.\n * @returns {AccountId}\n */\n account_id() {\n const ret = wasm.foreignaccount_account_id(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Creates a foreign account entry for a public account with given storage requirements.\n * @param {AccountId} account_id\n * @param {AccountStorageRequirements} storage_requirements\n * @returns {ForeignAccount}\n */\n static public(account_id, storage_requirements) {\n _assertClass(account_id, AccountId);\n _assertClass(storage_requirements, AccountStorageRequirements);\n var ptr0 = storage_requirements.__destroy_into_raw();\n const ret = wasm.foreignaccount_public(account_id.__wbg_ptr, ptr0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ForeignAccount.__wrap(ret[0]);\n }\n /**\n * Returns the required storage slots/keys for this foreign account.\n * @returns {AccountStorageRequirements}\n */\n storage_slot_requirements() {\n const ret = wasm.foreignaccount_storage_slot_requirements(this.__wbg_ptr);\n return AccountStorageRequirements.__wrap(ret);\n }\n}\nif (Symbol.dispose) ForeignAccount.prototype[Symbol.dispose] = ForeignAccount.prototype.free;\n\nexport class ForeignAccountArray {\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ForeignAccountArrayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_foreignaccountarray_free(ptr, 0);\n }\n /**\n * Get element at index, will always return a clone to avoid aliasing issues.\n * @param {number} index\n * @returns {ForeignAccount}\n */\n get(index) {\n const ret = wasm.foreignaccountarray_get(this.__wbg_ptr, index);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ForeignAccount.__wrap(ret[0]);\n }\n /**\n * @returns {number}\n */\n length() {\n const ret = wasm.foreignaccountarray_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {ForeignAccount[] | null} [elements]\n */\n constructor(elements) {\n var ptr0 = isLikeNone(elements) ? 0 : passArrayJsValueToWasm0(elements, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.foreignaccountarray_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n ForeignAccountArrayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {ForeignAccount} element\n */\n push(element) {\n _assertClass(element, ForeignAccount);\n wasm.foreignaccountarray_push(this.__wbg_ptr, element.__wbg_ptr);\n }\n /**\n * @param {number} index\n * @param {ForeignAccount} elem\n */\n replaceAt(index, elem) {\n _assertClass(elem, ForeignAccount);\n var ptr0 = elem.__destroy_into_raw();\n const ret = wasm.foreignaccountarray_replaceAt(this.__wbg_ptr, index, ptr0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) ForeignAccountArray.prototype[Symbol.dispose] = ForeignAccountArray.prototype.free;\n\n/**\n * A fungible asset.\n *\n * A fungible asset consists of a faucet ID of the faucet which issued the asset as well as the\n * asset amount. Asset amount is guaranteed to be 2^63 - 1 or smaller.\n */\nexport class FungibleAsset {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(FungibleAsset.prototype);\n obj.__wbg_ptr = ptr;\n FungibleAssetFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof FungibleAsset)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FungibleAssetFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_fungibleasset_free(ptr, 0);\n }\n /**\n * Returns the amount of fungible units.\n * @returns {bigint}\n */\n amount() {\n const ret = wasm.fungibleasset_amount(this.__wbg_ptr);\n return BigInt.asUintN(64, ret);\n }\n /**\n * Returns the faucet account that minted this asset.\n * @returns {AccountId}\n */\n faucetId() {\n const ret = wasm.accountdelta_id(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Encodes this asset into the word layout used in the vault.\n * @returns {Word}\n */\n intoWord() {\n const ret = wasm.fungibleasset_intoWord(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Creates a fungible asset for the given faucet and amount.\n * @param {AccountId} faucet_id\n * @param {bigint} amount\n */\n constructor(faucet_id, amount) {\n _assertClass(faucet_id, AccountId);\n const ret = wasm.fungibleasset_new(faucet_id.__wbg_ptr, amount);\n this.__wbg_ptr = ret >>> 0;\n FungibleAssetFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) FungibleAsset.prototype[Symbol.dispose] = FungibleAsset.prototype.free;\n\n/**\n * Aggregated fungible deltas keyed by faucet ID.\n */\nexport class FungibleAssetDelta {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(FungibleAssetDelta.prototype);\n obj.__wbg_ptr = ptr;\n FungibleAssetDeltaFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FungibleAssetDeltaFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_fungibleassetdelta_free(ptr, 0);\n }\n /**\n * Returns the delta amount for a given faucet, if present.\n * @param {AccountId} faucet_id\n * @returns {bigint | undefined}\n */\n amount(faucet_id) {\n _assertClass(faucet_id, AccountId);\n const ret = wasm.fungibleassetdelta_amount(this.__wbg_ptr, faucet_id.__wbg_ptr);\n return ret[0] === 0 ? undefined : ret[1];\n }\n /**\n * Returns all fungible asset deltas as a list.\n * @returns {FungibleAssetDeltaItem[]}\n */\n assets() {\n const ret = wasm.fungibleassetdelta_assets(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Deserializes a fungible delta from bytes.\n * @param {Uint8Array} bytes\n * @returns {FungibleAssetDelta}\n */\n static deserialize(bytes) {\n const ret = wasm.fungibleassetdelta_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return FungibleAssetDelta.__wrap(ret[0]);\n }\n /**\n * Returns true if no fungible assets are affected.\n * @returns {boolean}\n */\n isEmpty() {\n const ret = wasm.accountstoragedelta_isEmpty(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns the number of distinct fungible assets in the delta.\n * @returns {number}\n */\n numAssets() {\n const ret = wasm.fungibleassetdelta_numAssets(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Serializes the fungible delta into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.fungibleassetdelta_serialize(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) FungibleAssetDelta.prototype[Symbol.dispose] = FungibleAssetDelta.prototype.free;\n\n/**\n * A single fungible asset change in the vault delta.\n */\nexport class FungibleAssetDeltaItem {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(FungibleAssetDeltaItem.prototype);\n obj.__wbg_ptr = ptr;\n FungibleAssetDeltaItemFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n FungibleAssetDeltaItemFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_fungibleassetdeltaitem_free(ptr, 0);\n }\n /**\n * Returns the signed amount change (positive adds assets, negative removes).\n * @returns {bigint}\n */\n get amount() {\n const ret = wasm.fungibleasset_amount(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the faucet ID this delta refers to.\n * @returns {AccountId}\n */\n get faucetId() {\n const ret = wasm.accountdelta_id(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n}\nif (Symbol.dispose) FungibleAssetDeltaItem.prototype[Symbol.dispose] = FungibleAssetDeltaItem.prototype.free;\n\n/**\n * Procedure digest paired with whether it is an auth procedure.\n */\nexport class GetProceduresResultItem {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(GetProceduresResultItem.prototype);\n obj.__wbg_ptr = ptr;\n GetProceduresResultItemFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n GetProceduresResultItemFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_getproceduresresultitem_free(ptr, 0);\n }\n /**\n * Returns the MAST root digest for the procedure.\n * @returns {Word}\n */\n get digest() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns true if the procedure is used for authentication.\n * @returns {boolean}\n */\n get isAuth() {\n const ret = wasm.getproceduresresultitem_isAuth(this.__wbg_ptr);\n return ret !== 0;\n }\n}\nif (Symbol.dispose) GetProceduresResultItem.prototype[Symbol.dispose] = GetProceduresResultItem.prototype.free;\n\n/**\n * Note supplied as an input to a transaction, optionally with authentication data.\n */\nexport class InputNote {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(InputNote.prototype);\n obj.__wbg_ptr = ptr;\n InputNoteFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n InputNoteFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_inputnote_free(ptr, 0);\n }\n /**\n * Creates an authenticated input note from a note and its inclusion proof.\n *\n * An authenticated note has a proof of inclusion in the block's note tree,\n * which is required for consuming the note in a transaction.\n * @param {Note} note\n * @param {NoteInclusionProof} inclusion_proof\n * @returns {InputNote}\n */\n static authenticated(note, inclusion_proof) {\n _assertClass(note, Note);\n _assertClass(inclusion_proof, NoteInclusionProof);\n const ret = wasm.inputnote_authenticated(note.__wbg_ptr, inclusion_proof.__wbg_ptr);\n return InputNote.__wrap(ret);\n }\n /**\n * Returns the commitment to the note ID and metadata.\n * @returns {Word}\n */\n commitment() {\n const ret = wasm.inputnote_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the identifier of the input note.\n * @returns {NoteId}\n */\n id() {\n const ret = wasm.inputnote_id(this.__wbg_ptr);\n return NoteId.__wrap(ret);\n }\n /**\n * Returns the note's location within the commitment tree when available.\n * @returns {NoteLocation | undefined}\n */\n location() {\n const ret = wasm.inputnote_location(this.__wbg_ptr);\n return ret === 0 ? undefined : NoteLocation.__wrap(ret);\n }\n /**\n * Returns the underlying note contents.\n * @returns {Note}\n */\n note() {\n const ret = wasm.inputnote_note(this.__wbg_ptr);\n return Note.__wrap(ret);\n }\n /**\n * Returns the inclusion proof if the note is authenticated.\n * @returns {NoteInclusionProof | undefined}\n */\n proof() {\n const ret = wasm.inputnote_proof(this.__wbg_ptr);\n return ret === 0 ? undefined : NoteInclusionProof.__wrap(ret);\n }\n /**\n * Creates an unauthenticated input note from note details.\n *\n * An unauthenticated note can be consumed in a transaction as long as the note exists in the\n * network as of the transaction batch in which the consume transaction is included.\n * @param {Note} note\n * @returns {InputNote}\n */\n static unauthenticated(note) {\n _assertClass(note, Note);\n const ret = wasm.inputnote_unauthenticated(note.__wbg_ptr);\n return InputNote.__wrap(ret);\n }\n}\nif (Symbol.dispose) InputNote.prototype[Symbol.dispose] = InputNote.prototype.free;\n\n/**\n * Represents a Note of which the Store can keep track and retrieve.\n *\n * An `InputNoteRecord` contains all the information of a `NoteDetails`, in addition to specific\n * information about the note state.\n *\n * Once a proof is received, the `InputNoteRecord` can be transformed into an `InputNote` and used\n * as input for transactions. It is also possible to convert `Note` and `InputNote` into\n * `InputNoteRecord` (we fill the `metadata` and `inclusion_proof` fields if possible).\n *\n * Notes can also be consumed as unauthenticated notes, where their existence is verified by the\n * network.\n */\nexport class InputNoteRecord {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(InputNoteRecord.prototype);\n obj.__wbg_ptr = ptr;\n InputNoteRecordFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n InputNoteRecordFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_inputnoterecord_free(ptr, 0);\n }\n /**\n * Returns the note commitment (id + metadata), if available.\n * @returns {Word | undefined}\n */\n commitment() {\n const ret = wasm.inputnoterecord_commitment(this.__wbg_ptr);\n return ret === 0 ? undefined : Word.__wrap(ret);\n }\n /**\n * Returns the transaction ID that consumed this note, if any.\n * @returns {string | undefined}\n */\n consumerTransactionId() {\n const ret = wasm.inputnoterecord_consumerTransactionId(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * Returns the note details, if present.\n * @returns {NoteDetails}\n */\n details() {\n const ret = wasm.inputnoterecord_details(this.__wbg_ptr);\n return NoteDetails.__wrap(ret);\n }\n /**\n * Returns the note ID.\n * @returns {NoteId}\n */\n id() {\n const ret = wasm.inputnoterecord_id(this.__wbg_ptr);\n return NoteId.__wrap(ret);\n }\n /**\n * Returns the inclusion proof when the note is authenticated.\n * @returns {NoteInclusionProof | undefined}\n */\n inclusionProof() {\n const ret = wasm.inputnoterecord_inclusionProof(this.__wbg_ptr);\n return ret === 0 ? undefined : NoteInclusionProof.__wrap(ret);\n }\n /**\n * Returns true if the record contains authentication data (proof).\n * @returns {boolean}\n */\n isAuthenticated() {\n const ret = wasm.inputnoterecord_isAuthenticated(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the note has already been consumed.\n * @returns {boolean}\n */\n isConsumed() {\n const ret = wasm.inputnoterecord_isConsumed(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the note is currently being processed.\n * @returns {boolean}\n */\n isProcessing() {\n const ret = wasm.inputnoterecord_isProcessing(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns the note metadata if available.\n * @returns {NoteMetadata | undefined}\n */\n metadata() {\n const ret = wasm.inputnoterecord_metadata(this.__wbg_ptr);\n return ret === 0 ? undefined : NoteMetadata.__wrap(ret);\n }\n /**\n * Returns the nullifier for this note.\n * @returns {string}\n */\n nullifier() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.inputnoterecord_nullifier(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * Returns the current processing state for this note.\n * @returns {InputNoteState}\n */\n state() {\n const ret = wasm.inputnoterecord_state(this.__wbg_ptr);\n return ret;\n }\n /**\n * Converts the record into an `InputNote` (including proof when available).\n * @returns {InputNote}\n */\n toInputNote() {\n const ret = wasm.inputnoterecord_toInputNote(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return InputNote.__wrap(ret[0]);\n }\n /**\n * Converts the record into a `Note` (including proof when available).\n * @returns {Note}\n */\n toNote() {\n const ret = wasm.inputnoterecord_toNote(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Note.__wrap(ret[0]);\n }\n}\nif (Symbol.dispose) InputNoteRecord.prototype[Symbol.dispose] = InputNoteRecord.prototype.free;\n\n/**\n * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8}\n */\nexport const InputNoteState = Object.freeze({\n Expected: 0, \"0\": \"Expected\",\n Unverified: 1, \"1\": \"Unverified\",\n Committed: 2, \"2\": \"Committed\",\n Invalid: 3, \"3\": \"Invalid\",\n ProcessingAuthenticated: 4, \"4\": \"ProcessingAuthenticated\",\n ProcessingUnauthenticated: 5, \"5\": \"ProcessingUnauthenticated\",\n ConsumedAuthenticatedLocal: 6, \"6\": \"ConsumedAuthenticatedLocal\",\n ConsumedUnauthenticatedLocal: 7, \"7\": \"ConsumedUnauthenticatedLocal\",\n ConsumedExternal: 8, \"8\": \"ConsumedExternal\",\n});\n\n/**\n * Input notes for a transaction, empty if the transaction does not consume notes.\n */\nexport class InputNotes {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(InputNotes.prototype);\n obj.__wbg_ptr = ptr;\n InputNotesFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n InputNotesFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_inputnotes_free(ptr, 0);\n }\n /**\n * Returns the commitment to all input notes.\n * @returns {Word}\n */\n commitment() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the input note at the specified index.\n * @param {number} index\n * @returns {InputNote}\n */\n getNote(index) {\n const ret = wasm.inputnotes_getNote(this.__wbg_ptr, index);\n return InputNote.__wrap(ret);\n }\n /**\n * Returns true if there are no input notes.\n * @returns {boolean}\n */\n isEmpty() {\n const ret = wasm.inputnotes_isEmpty(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns all input notes as a vector.\n * @returns {InputNote[]}\n */\n notes() {\n const ret = wasm.inputnotes_notes(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns the number of input notes.\n * @returns {number}\n */\n numNotes() {\n const ret = wasm.inputnotes_numNotes(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) InputNotes.prototype[Symbol.dispose] = InputNotes.prototype.free;\n\nexport class IntoUnderlyingByteSource {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n IntoUnderlyingByteSourceFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_intounderlyingbytesource_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get autoAllocateChunkSize() {\n const ret = wasm.intounderlyingbytesource_autoAllocateChunkSize(this.__wbg_ptr);\n return ret >>> 0;\n }\n cancel() {\n const ptr = this.__destroy_into_raw();\n wasm.intounderlyingbytesource_cancel(ptr);\n }\n /**\n * @param {ReadableByteStreamController} controller\n * @returns {Promise<any>}\n */\n pull(controller) {\n const ret = wasm.intounderlyingbytesource_pull(this.__wbg_ptr, controller);\n return ret;\n }\n /**\n * @param {ReadableByteStreamController} controller\n */\n start(controller) {\n wasm.intounderlyingbytesource_start(this.__wbg_ptr, controller);\n }\n /**\n * @returns {ReadableStreamType}\n */\n get type() {\n const ret = wasm.intounderlyingbytesource_type(this.__wbg_ptr);\n return __wbindgen_enum_ReadableStreamType[ret];\n }\n}\nif (Symbol.dispose) IntoUnderlyingByteSource.prototype[Symbol.dispose] = IntoUnderlyingByteSource.prototype.free;\n\nexport class IntoUnderlyingSink {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n IntoUnderlyingSinkFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_intounderlyingsink_free(ptr, 0);\n }\n /**\n * @param {any} reason\n * @returns {Promise<any>}\n */\n abort(reason) {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.intounderlyingsink_abort(ptr, reason);\n return ret;\n }\n /**\n * @returns {Promise<any>}\n */\n close() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.intounderlyingsink_close(ptr);\n return ret;\n }\n /**\n * @param {any} chunk\n * @returns {Promise<any>}\n */\n write(chunk) {\n const ret = wasm.intounderlyingsink_write(this.__wbg_ptr, chunk);\n return ret;\n }\n}\nif (Symbol.dispose) IntoUnderlyingSink.prototype[Symbol.dispose] = IntoUnderlyingSink.prototype.free;\n\nexport class IntoUnderlyingSource {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n IntoUnderlyingSourceFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_intounderlyingsource_free(ptr, 0);\n }\n cancel() {\n const ptr = this.__destroy_into_raw();\n wasm.intounderlyingsource_cancel(ptr);\n }\n /**\n * @param {ReadableStreamDefaultController} controller\n * @returns {Promise<any>}\n */\n pull(controller) {\n const ret = wasm.intounderlyingsource_pull(this.__wbg_ptr, controller);\n return ret;\n }\n}\nif (Symbol.dispose) IntoUnderlyingSource.prototype[Symbol.dispose] = IntoUnderlyingSource.prototype.free;\n\n/**\n * Represents an update to a single account's state.\n */\nexport class JsAccountUpdate {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(JsAccountUpdate.prototype);\n obj.__wbg_ptr = ptr;\n JsAccountUpdateFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof JsAccountUpdate)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n toJSON() {\n return {\n accountCommitment: this.accountCommitment,\n accountId: this.accountId,\n accountSeed: this.accountSeed,\n assets: this.assets,\n codeRoot: this.codeRoot,\n committed: this.committed,\n nonce: this.nonce,\n storageMapEntries: this.storageMapEntries,\n storageRoot: this.storageRoot,\n storageSlots: this.storageSlots,\n vaultRoot: this.vaultRoot,\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n JsAccountUpdateFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_jsaccountupdate_free(ptr, 0);\n }\n /**\n * The cryptographic commitment representing this account's current state.\n * @returns {string}\n */\n get accountCommitment() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsaccountupdate_accountCommitment(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * ID for this account.\n * @returns {string}\n */\n get accountId() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsaccountupdate_accountId(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * Optional seed data for the account.\n * @returns {Uint8Array | undefined}\n */\n get accountSeed() {\n const ret = wasm.__wbg_get_jsaccountupdate_accountSeed(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * The account's asset vault.\n * @returns {JsVaultAsset[]}\n */\n get assets() {\n const ret = wasm.__wbg_get_jsaccountupdate_assets(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * The merkle root of the account's executable code.\n * @returns {string}\n */\n get codeRoot() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsaccountupdate_codeRoot(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * Whether this account update has been committed.\n * @returns {boolean}\n */\n get committed() {\n const ret = wasm.__wbg_get_jsaccountupdate_committed(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * The account's transaction nonce as a string.\n * @returns {string}\n */\n get nonce() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsaccountupdate_nonce(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * Serialized storage map entries for this account.\n * @returns {JsStorageMapEntry[]}\n */\n get storageMapEntries() {\n const ret = wasm.__wbg_get_jsaccountupdate_storageMapEntries(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * The merkle root of the account's storage trie.\n * @returns {string}\n */\n get storageRoot() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsaccountupdate_storageRoot(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * Serialized storage slot data for this account.\n * @returns {JsStorageSlot[]}\n */\n get storageSlots() {\n const ret = wasm.__wbg_get_jsaccountupdate_storageSlots(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * The merkle root of the account's asset vault.\n * @returns {string}\n */\n get vaultRoot() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsaccountupdate_vaultRoot(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * The cryptographic commitment representing this account's current state.\n * @param {string} arg0\n */\n set accountCommitment(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_accountCommitment(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * ID for this account.\n * @param {string} arg0\n */\n set accountId(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_accountId(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Optional seed data for the account.\n * @param {Uint8Array | null} [arg0]\n */\n set accountSeed(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_accountSeed(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * The account's asset vault.\n * @param {JsVaultAsset[]} arg0\n */\n set assets(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_assets(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * The merkle root of the account's executable code.\n * @param {string} arg0\n */\n set codeRoot(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_codeRoot(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Whether this account update has been committed.\n * @param {boolean} arg0\n */\n set committed(arg0) {\n wasm.__wbg_set_jsaccountupdate_committed(this.__wbg_ptr, arg0);\n }\n /**\n * The account's transaction nonce as a string.\n * @param {string} arg0\n */\n set nonce(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_nonce(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Serialized storage map entries for this account.\n * @param {JsStorageMapEntry[]} arg0\n */\n set storageMapEntries(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_storageMapEntries(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * The merkle root of the account's storage trie.\n * @param {string} arg0\n */\n set storageRoot(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_storageRoot(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Serialized storage slot data for this account.\n * @param {JsStorageSlot[]} arg0\n */\n set storageSlots(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_storageSlots(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * The merkle root of the account's asset vault.\n * @param {string} arg0\n */\n set vaultRoot(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_vaultRoot(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) JsAccountUpdate.prototype[Symbol.dispose] = JsAccountUpdate.prototype.free;\n\n/**\n * An object that contains data for a sync update,\n * which will be received by the applyStateSync JS function.\n * under sync.js\n */\nexport class JsStateSyncUpdate {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(JsStateSyncUpdate.prototype);\n obj.__wbg_ptr = ptr;\n JsStateSyncUpdateFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n JsStateSyncUpdateFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_jsstatesyncupdate_free(ptr, 0);\n }\n /**\n * Account state updates included in this sync.\n * @returns {JsAccountUpdate[]}\n */\n get accountUpdates() {\n const ret = wasm.__wbg_get_jsstatesyncupdate_accountUpdates(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * For each block in this update, stores a boolean (as u8) indicating whether\n * that block contains notes relevant to this client. Index i corresponds to\n * the ith block, with 1 meaning relevant and 0 meaning not relevant.\n * @returns {Uint8Array}\n */\n get blockHasRelevantNotes() {\n const ret = wasm.__wbg_get_jsstatesyncupdate_blockHasRelevantNotes(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * The block number for this update.\n * @returns {number}\n */\n get blockNum() {\n const ret = wasm.__wbg_get_jsstatesyncupdate_blockNum(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * IDs of note tags that should be removed from the client's local state.\n * @returns {string[]}\n */\n get committedNoteIds() {\n const ret = wasm.__wbg_get_jsstatesyncupdate_committedNoteIds(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * The new block headers for this state update, serialized into a flattened byte array.\n * @returns {FlattenedU8Vec}\n */\n get flattenedNewBlockHeaders() {\n const ret = wasm.__wbg_get_jsstatesyncupdate_flattenedNewBlockHeaders(this.__wbg_ptr);\n return FlattenedU8Vec.__wrap(ret);\n }\n /**\n * Flattened byte array containing partial blockchain peaks used for merkle tree\n * verification.\n * @returns {FlattenedU8Vec}\n */\n get flattenedPartialBlockChainPeaks() {\n const ret = wasm.__wbg_get_jsstatesyncupdate_flattenedPartialBlockChainPeaks(this.__wbg_ptr);\n return FlattenedU8Vec.__wrap(ret);\n }\n /**\n * The block numbers corresponding to each header in `flattened_new_block_headers`.\n * This vec should have the same length as the number of headers, with each index\n * representing the block number for the header at that same index.\n * @returns {Uint32Array}\n */\n get newBlockNums() {\n const ret = wasm.__wbg_get_jsstatesyncupdate_newBlockNums(this.__wbg_ptr);\n var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Input notes for this state update in serialized form.\n * @returns {SerializedInputNoteData[]}\n */\n get serializedInputNotes() {\n const ret = wasm.__wbg_get_jsstatesyncupdate_serializedInputNotes(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Serialized IDs for new authentication nodes required to verify block headers.\n * @returns {string[]}\n */\n get serializedNodeIds() {\n const ret = wasm.__wbg_get_jsstatesyncupdate_serializedNodeIds(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * The actual authentication node data corresponding to the IDs above.\n * @returns {string[]}\n */\n get serializedNodes() {\n const ret = wasm.__wbg_get_jsstatesyncupdate_serializedNodes(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Output notes created in this state update in serialized form.\n * @returns {SerializedOutputNoteData[]}\n */\n get serializedOutputNotes() {\n const ret = wasm.__wbg_get_jsstatesyncupdate_serializedOutputNotes(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Transaction data for transactions included in this update.\n * @returns {SerializedTransactionData[]}\n */\n get transactionUpdates() {\n const ret = wasm.__wbg_get_jsstatesyncupdate_transactionUpdates(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Account state updates included in this sync.\n * @param {JsAccountUpdate[]} arg0\n */\n set accountUpdates(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstatesyncupdate_accountUpdates(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * For each block in this update, stores a boolean (as u8) indicating whether\n * that block contains notes relevant to this client. Index i corresponds to\n * the ith block, with 1 meaning relevant and 0 meaning not relevant.\n * @param {Uint8Array} arg0\n */\n set blockHasRelevantNotes(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstatesyncupdate_blockHasRelevantNotes(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * The block number for this update.\n * @param {number} arg0\n */\n set blockNum(arg0) {\n wasm.__wbg_set_jsstatesyncupdate_blockNum(this.__wbg_ptr, arg0);\n }\n /**\n * IDs of note tags that should be removed from the client's local state.\n * @param {string[]} arg0\n */\n set committedNoteIds(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstatesyncupdate_committedNoteIds(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * The new block headers for this state update, serialized into a flattened byte array.\n * @param {FlattenedU8Vec} arg0\n */\n set flattenedNewBlockHeaders(arg0) {\n _assertClass(arg0, FlattenedU8Vec);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_jsstatesyncupdate_flattenedNewBlockHeaders(this.__wbg_ptr, ptr0);\n }\n /**\n * Flattened byte array containing partial blockchain peaks used for merkle tree\n * verification.\n * @param {FlattenedU8Vec} arg0\n */\n set flattenedPartialBlockChainPeaks(arg0) {\n _assertClass(arg0, FlattenedU8Vec);\n var ptr0 = arg0.__destroy_into_raw();\n wasm.__wbg_set_jsstatesyncupdate_flattenedPartialBlockChainPeaks(this.__wbg_ptr, ptr0);\n }\n /**\n * The block numbers corresponding to each header in `flattened_new_block_headers`.\n * This vec should have the same length as the number of headers, with each index\n * representing the block number for the header at that same index.\n * @param {Uint32Array} arg0\n */\n set newBlockNums(arg0) {\n const ptr0 = passArray32ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstatesyncupdate_newBlockNums(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Input notes for this state update in serialized form.\n * @param {SerializedInputNoteData[]} arg0\n */\n set serializedInputNotes(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstatesyncupdate_serializedInputNotes(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Serialized IDs for new authentication nodes required to verify block headers.\n * @param {string[]} arg0\n */\n set serializedNodeIds(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstatesyncupdate_serializedNodeIds(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * The actual authentication node data corresponding to the IDs above.\n * @param {string[]} arg0\n */\n set serializedNodes(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstatesyncupdate_serializedNodes(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Output notes created in this state update in serialized form.\n * @param {SerializedOutputNoteData[]} arg0\n */\n set serializedOutputNotes(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstatesyncupdate_serializedOutputNotes(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Transaction data for transactions included in this update.\n * @param {SerializedTransactionData[]} arg0\n */\n set transactionUpdates(arg0) {\n const ptr0 = passArrayJsValueToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstatesyncupdate_transactionUpdates(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) JsStateSyncUpdate.prototype[Symbol.dispose] = JsStateSyncUpdate.prototype.free;\n\n/**\n * A JavaScript representation of a storage map entry in an account.\n */\nexport class JsStorageMapEntry {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(JsStorageMapEntry.prototype);\n obj.__wbg_ptr = ptr;\n JsStorageMapEntryFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof JsStorageMapEntry)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n toJSON() {\n return {\n key: this.key,\n slotName: this.slotName,\n value: this.value,\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n JsStorageMapEntryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_jsstoragemapentry_free(ptr, 0);\n }\n /**\n * The key of the storage map entry.\n * @returns {string}\n */\n get key() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsstoragemapentry_key(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * The slot name of the map this entry belongs to.\n * @returns {string}\n */\n get slotName() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsstoragemapentry_slotName(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * The value of the storage map entry.\n * @returns {string}\n */\n get value() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsstoragemapentry_value(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * The key of the storage map entry.\n * @param {string} arg0\n */\n set key(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstoragemapentry_key(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * The slot name of the map this entry belongs to.\n * @param {string} arg0\n */\n set slotName(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_storageRoot(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * The value of the storage map entry.\n * @param {string} arg0\n */\n set value(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstoragemapentry_value(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) JsStorageMapEntry.prototype[Symbol.dispose] = JsStorageMapEntry.prototype.free;\n\n/**\n * A JavaScript representation of a storage slot in an account.\n */\nexport class JsStorageSlot {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(JsStorageSlot.prototype);\n obj.__wbg_ptr = ptr;\n JsStorageSlotFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof JsStorageSlot)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n toJSON() {\n return {\n slotName: this.slotName,\n slotType: this.slotType,\n slotValue: this.slotValue,\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n JsStorageSlotFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_jsstorageslot_free(ptr, 0);\n }\n /**\n * The name of the storage slot.\n * @returns {string}\n */\n get slotName() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsstorageslot_slotName(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * The type of the storage slot.\n * @returns {number}\n */\n get slotType() {\n const ret = wasm.__wbg_get_jsstorageslot_slotType(this.__wbg_ptr);\n return ret;\n }\n /**\n * The value stored in the storage slot.\n * @returns {string}\n */\n get slotValue() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsstorageslot_slotValue(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * The name of the storage slot.\n * @param {string} arg0\n */\n set slotName(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_storageRoot(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * The type of the storage slot.\n * @param {number} arg0\n */\n set slotType(arg0) {\n wasm.__wbg_set_jsstorageslot_slotType(this.__wbg_ptr, arg0);\n }\n /**\n * The value stored in the storage slot.\n * @param {string} arg0\n */\n set slotValue(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstoragemapentry_key(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) JsStorageSlot.prototype[Symbol.dispose] = JsStorageSlot.prototype.free;\n\n/**\n * An object that contains a serialized vault asset.\n */\nexport class JsVaultAsset {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(JsVaultAsset.prototype);\n obj.__wbg_ptr = ptr;\n JsVaultAssetFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof JsVaultAsset)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n toJSON() {\n return {\n asset: this.asset,\n faucetIdPrefix: this.faucetIdPrefix,\n vaultKey: this.vaultKey,\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n JsVaultAssetFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_jsvaultasset_free(ptr, 0);\n }\n /**\n * Word representing the asset.\n * @returns {string}\n */\n get asset() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsvaultasset_asset(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * Asset's faucet ID prefix.\n * @returns {string}\n */\n get faucetIdPrefix() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsvaultasset_faucetIdPrefix(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * The vault key associated with the asset.\n * @returns {string}\n */\n get vaultKey() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_jsvaultasset_vaultKey(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * Word representing the asset.\n * @param {string} arg0\n */\n set asset(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstoragemapentry_value(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * Asset's faucet ID prefix.\n * @param {string} arg0\n */\n set faucetIdPrefix(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstoragemapentry_key(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * The vault key associated with the asset.\n * @param {string} arg0\n */\n set vaultKey(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_storageRoot(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) JsVaultAsset.prototype[Symbol.dispose] = JsVaultAsset.prototype.free;\n\nexport class Library {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(Library.prototype);\n obj.__wbg_ptr = ptr;\n LibraryFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n LibraryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_library_free(ptr, 0);\n }\n}\nif (Symbol.dispose) Library.prototype[Symbol.dispose] = Library.prototype.free;\n\n/**\n * Represents a Merkle path.\n */\nexport class MerklePath {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(MerklePath.prototype);\n obj.__wbg_ptr = ptr;\n MerklePathFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n MerklePathFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_merklepath_free(ptr, 0);\n }\n /**\n * Computes the root given a leaf index and value.\n * @param {bigint} index\n * @param {Word} node\n * @returns {Word}\n */\n computeRoot(index, node) {\n _assertClass(node, Word);\n const ret = wasm.merklepath_computeRoot(this.__wbg_ptr, index, node.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the depth of the path.\n * @returns {number}\n */\n depth() {\n const ret = wasm.merklepath_depth(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the nodes that make up the path.\n * @returns {Word[]}\n */\n nodes() {\n const ret = wasm.merklepath_nodes(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Verifies the path against a root.\n * @param {bigint} index\n * @param {Word} node\n * @param {Word} root\n * @returns {boolean}\n */\n verify(index, node, root) {\n _assertClass(node, Word);\n _assertClass(root, Word);\n const ret = wasm.merklepath_verify(this.__wbg_ptr, index, node.__wbg_ptr, root.__wbg_ptr);\n return ret !== 0;\n }\n}\nif (Symbol.dispose) MerklePath.prototype[Symbol.dispose] = MerklePath.prototype.free;\n\n/**\n * The identifier of a Miden network.\n */\nexport class NetworkId {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NetworkId.prototype);\n obj.__wbg_ptr = ptr;\n NetworkIdFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NetworkIdFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_networkid_free(ptr, 0);\n }\n /**\n * Builds a custom network ID from a provided custom prefix.\n *\n * Returns an error if the prefix is invalid.\n * @param {string} custom_prefix\n * @returns {NetworkId}\n */\n static custom(custom_prefix) {\n const ptr0 = passStringToWasm0(custom_prefix, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.networkid_custom(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NetworkId.__wrap(ret[0]);\n }\n /**\n * @returns {NetworkId}\n */\n static devnet() {\n const ret = wasm.networkid_devnet();\n return NetworkId.__wrap(ret);\n }\n /**\n * @returns {NetworkId}\n */\n static mainnet() {\n const ret = wasm.networkid_mainnet();\n return NetworkId.__wrap(ret);\n }\n /**\n * @returns {NetworkId}\n */\n static testnet() {\n const ret = wasm.networkid_testnet();\n return NetworkId.__wrap(ret);\n }\n}\nif (Symbol.dispose) NetworkId.prototype[Symbol.dispose] = NetworkId.prototype.free;\n\n/**\n * The type of a Miden network.\n * @enum {0 | 1 | 2 | 3}\n */\nexport const NetworkType = Object.freeze({\n /**\n * Main network prefix (`mm`).\n */\n Mainnet: 0, \"0\": \"Mainnet\",\n /**\n * Public test network prefix (`mtst`).\n */\n Testnet: 1, \"1\": \"Testnet\",\n /**\n * Developer network prefix (`mdev`).\n */\n Devnet: 2, \"2\": \"Devnet\",\n /**\n * Custom network prefix.\n */\n Custom: 3, \"3\": \"Custom\",\n});\n\n/**\n * A note bundles public metadata with private details: assets, script, inputs, and a serial number\n * grouped into a recipient. The public identifier (`NoteId`) commits to those\n * details, while the nullifier stays hidden until the note is consumed. Assets move by\n * transferring them into the note; the script and inputs define how and when consumption can\n * happen. See `NoteRecipient` for the shape of the recipient data.\n */\nexport class Note {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(Note.prototype);\n obj.__wbg_ptr = ptr;\n NoteFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof Note)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_note_free(ptr, 0);\n }\n /**\n * Returns the assets locked inside the note.\n * @returns {NoteAssets}\n */\n assets() {\n const ret = wasm.note_assets(this.__wbg_ptr);\n return NoteAssets.__wrap(ret);\n }\n /**\n * Returns the commitment to the note ID and metadata.\n * @returns {Word}\n */\n commitment() {\n const ret = wasm.note_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Builds a P2IDE note that can be reclaimed or timelocked based on block heights.\n * @param {AccountId} sender\n * @param {AccountId} target\n * @param {NoteAssets} assets\n * @param {number | null | undefined} reclaim_height\n * @param {number | null | undefined} timelock_height\n * @param {NoteType} note_type\n * @param {NoteAttachment} attachment\n * @returns {Note}\n */\n static createP2IDENote(sender, target, assets, reclaim_height, timelock_height, note_type, attachment) {\n _assertClass(sender, AccountId);\n _assertClass(target, AccountId);\n _assertClass(assets, NoteAssets);\n _assertClass(attachment, NoteAttachment);\n const ret = wasm.note_createP2IDENote(sender.__wbg_ptr, target.__wbg_ptr, assets.__wbg_ptr, isLikeNone(reclaim_height) ? 0x100000001 : (reclaim_height) >>> 0, isLikeNone(timelock_height) ? 0x100000001 : (timelock_height) >>> 0, note_type, attachment.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Note.__wrap(ret[0]);\n }\n /**\n * Builds a standard P2ID note that targets the specified account.\n * @param {AccountId} sender\n * @param {AccountId} target\n * @param {NoteAssets} assets\n * @param {NoteType} note_type\n * @param {NoteAttachment} attachment\n * @returns {Note}\n */\n static createP2IDNote(sender, target, assets, note_type, attachment) {\n _assertClass(sender, AccountId);\n _assertClass(target, AccountId);\n _assertClass(assets, NoteAssets);\n _assertClass(attachment, NoteAttachment);\n const ret = wasm.note_createP2IDNote(sender.__wbg_ptr, target.__wbg_ptr, assets.__wbg_ptr, note_type, attachment.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Note.__wrap(ret[0]);\n }\n /**\n * Deserializes a note from its byte representation.\n * @param {Uint8Array} bytes\n * @returns {Note}\n */\n static deserialize(bytes) {\n const ret = wasm.note_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Note.__wrap(ret[0]);\n }\n /**\n * Returns the unique identifier of the note.\n * @returns {NoteId}\n */\n id() {\n const ret = wasm.accountheader_storageCommitment(this.__wbg_ptr);\n return NoteId.__wrap(ret);\n }\n /**\n * Returns the public metadata associated with the note.\n * @returns {NoteMetadata}\n */\n metadata() {\n const ret = wasm.note_metadata(this.__wbg_ptr);\n return NoteMetadata.__wrap(ret);\n }\n /**\n * Creates a new note from the provided assets, metadata, and recipient.\n * @param {NoteAssets} note_assets\n * @param {NoteMetadata} note_metadata\n * @param {NoteRecipient} note_recipient\n */\n constructor(note_assets, note_metadata, note_recipient) {\n _assertClass(note_assets, NoteAssets);\n _assertClass(note_metadata, NoteMetadata);\n _assertClass(note_recipient, NoteRecipient);\n const ret = wasm.note_new(note_assets.__wbg_ptr, note_metadata.__wbg_ptr, note_recipient.__wbg_ptr);\n this.__wbg_ptr = ret >>> 0;\n NoteFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the note nullifier as a word.\n * @returns {Word}\n */\n nullifier() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the recipient who can consume this note.\n * @returns {NoteRecipient}\n */\n recipient() {\n const ret = wasm.note_recipient(this.__wbg_ptr);\n return NoteRecipient.__wrap(ret);\n }\n /**\n * Returns the script that guards the note.\n * @returns {NoteScript}\n */\n script() {\n const ret = wasm.note_script(this.__wbg_ptr);\n return NoteScript.__wrap(ret);\n }\n /**\n * Serializes the note into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.note_serialize(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) Note.prototype[Symbol.dispose] = Note.prototype.free;\n\nexport class NoteAndArgs {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteAndArgs.prototype);\n obj.__wbg_ptr = ptr;\n NoteAndArgsFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof NoteAndArgs)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteAndArgsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteandargs_free(ptr, 0);\n }\n /**\n * Creates a new note/args pair for transaction building.\n * @param {Note} note\n * @param {Word | null} [args]\n */\n constructor(note, args) {\n _assertClass(note, Note);\n var ptr0 = note.__destroy_into_raw();\n let ptr1 = 0;\n if (!isLikeNone(args)) {\n _assertClass(args, Word);\n ptr1 = args.__destroy_into_raw();\n }\n const ret = wasm.noteandargs_new(ptr0, ptr1);\n this.__wbg_ptr = ret >>> 0;\n NoteAndArgsFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) NoteAndArgs.prototype[Symbol.dispose] = NoteAndArgs.prototype.free;\n\nexport class NoteAndArgsArray {\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteAndArgsArrayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteandargsarray_free(ptr, 0);\n }\n /**\n * Get element at index, will always return a clone to avoid aliasing issues.\n * @param {number} index\n * @returns {NoteAndArgs}\n */\n get(index) {\n const ret = wasm.noteandargsarray_get(this.__wbg_ptr, index);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteAndArgs.__wrap(ret[0]);\n }\n /**\n * @returns {number}\n */\n length() {\n const ret = wasm.noteandargsarray_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {NoteAndArgs[] | null} [elements]\n */\n constructor(elements) {\n var ptr0 = isLikeNone(elements) ? 0 : passArrayJsValueToWasm0(elements, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.noteandargsarray_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n NoteAndArgsArrayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {NoteAndArgs} element\n */\n push(element) {\n _assertClass(element, NoteAndArgs);\n wasm.noteandargsarray_push(this.__wbg_ptr, element.__wbg_ptr);\n }\n /**\n * @param {number} index\n * @param {NoteAndArgs} elem\n */\n replaceAt(index, elem) {\n _assertClass(elem, NoteAndArgs);\n var ptr0 = elem.__destroy_into_raw();\n const ret = wasm.noteandargsarray_replaceAt(this.__wbg_ptr, index, ptr0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) NoteAndArgsArray.prototype[Symbol.dispose] = NoteAndArgsArray.prototype.free;\n\n/**\n * An asset container for a note.\n *\n * A note must contain at least 1 asset and can contain up to 256 assets. No duplicates are\n * allowed, but the order of assets is unspecified.\n *\n * All the assets in a note can be reduced to a single commitment which is computed by sequentially\n * hashing the assets. Note that the same list of assets can result in two different commitments if\n * the asset ordering is different.\n */\nexport class NoteAssets {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteAssets.prototype);\n obj.__wbg_ptr = ptr;\n NoteAssetsFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteAssetsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteassets_free(ptr, 0);\n }\n /**\n * Returns all fungible assets contained in the note.\n * @returns {FungibleAsset[]}\n */\n fungibleAssets() {\n const ret = wasm.noteassets_fungibleAssets(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Creates a new asset list for a note.\n * @param {FungibleAsset[] | null} [assets_array]\n */\n constructor(assets_array) {\n var ptr0 = isLikeNone(assets_array) ? 0 : passArrayJsValueToWasm0(assets_array, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.noteassets_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n NoteAssetsFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Adds a fungible asset to the collection.\n * @param {FungibleAsset} asset\n */\n push(asset) {\n _assertClass(asset, FungibleAsset);\n wasm.noteassets_push(this.__wbg_ptr, asset.__wbg_ptr);\n }\n}\nif (Symbol.dispose) NoteAssets.prototype[Symbol.dispose] = NoteAssets.prototype.free;\n\n/**\n * An attachment to a note.\n *\n * Note attachments provide additional context about how notes should be processed.\n * For example, a network account target attachment indicates that the note should\n * be consumed by a specific network account.\n */\nexport class NoteAttachment {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteAttachment.prototype);\n obj.__wbg_ptr = ptr;\n NoteAttachmentFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteAttachmentFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteattachment_free(ptr, 0);\n }\n /**\n * Returns the content as an array of Felts if the attachment kind is Array, otherwise None.\n * @returns {FeltArray | undefined}\n */\n asArray() {\n const ret = wasm.noteattachment_asArray(this.__wbg_ptr);\n return ret === 0 ? undefined : FeltArray.__wrap(ret);\n }\n /**\n * Returns the content as a Word if the attachment kind is Word, otherwise None.\n * @returns {Word | undefined}\n */\n asWord() {\n const ret = wasm.noteattachment_asWord(this.__wbg_ptr);\n return ret === 0 ? undefined : Word.__wrap(ret);\n }\n /**\n * Returns the attachment kind.\n * @returns {NoteAttachmentKind}\n */\n attachmentKind() {\n const ret = wasm.noteattachment_attachmentKind(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the attachment scheme.\n * @returns {NoteAttachmentScheme}\n */\n attachmentScheme() {\n const ret = wasm.noteattachment_attachmentScheme(this.__wbg_ptr);\n return NoteAttachmentScheme.__wrap(ret);\n }\n /**\n * Creates a default (empty) note attachment.\n */\n constructor() {\n const ret = wasm.noteattachment_new();\n this.__wbg_ptr = ret >>> 0;\n NoteAttachmentFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Creates a new note attachment with Array content from the provided elements.\n * @param {NoteAttachmentScheme} scheme\n * @param {FeltArray} elements\n * @returns {NoteAttachment}\n */\n static newArray(scheme, elements) {\n _assertClass(scheme, NoteAttachmentScheme);\n _assertClass(elements, FeltArray);\n const ret = wasm.noteattachment_newArray(scheme.__wbg_ptr, elements.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteAttachment.__wrap(ret[0]);\n }\n /**\n * Creates a new note attachment for a network account target.\n *\n * This attachment indicates that the note should be consumed by a specific network account.\n * Network accounts are accounts whose storage mode is `Network`, meaning the network (nodes)\n * can execute transactions on behalf of the account.\n *\n * # Arguments\n * * `target_id` - The ID of the network account that should consume the note\n * * `exec_hint` - A hint about when the note can be executed\n *\n * # Errors\n * Returns an error if the target account is not a network account.\n * @param {AccountId} target_id\n * @param {NoteExecutionHint} exec_hint\n * @returns {NoteAttachment}\n */\n static newNetworkAccountTarget(target_id, exec_hint) {\n _assertClass(target_id, AccountId);\n _assertClass(exec_hint, NoteExecutionHint);\n const ret = wasm.noteattachment_newNetworkAccountTarget(target_id.__wbg_ptr, exec_hint.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteAttachment.__wrap(ret[0]);\n }\n /**\n * Creates a new note attachment with Word content from the provided word.\n * @param {NoteAttachmentScheme} scheme\n * @param {Word} word\n * @returns {NoteAttachment}\n */\n static newWord(scheme, word) {\n _assertClass(scheme, NoteAttachmentScheme);\n _assertClass(word, Word);\n const ret = wasm.noteattachment_newWord(scheme.__wbg_ptr, word.__wbg_ptr);\n return NoteAttachment.__wrap(ret);\n }\n}\nif (Symbol.dispose) NoteAttachment.prototype[Symbol.dispose] = NoteAttachment.prototype.free;\n\n/**\n * Defines the payload shape of a note attachment.\n * @enum {0 | 1 | 2}\n */\nexport const NoteAttachmentKind = Object.freeze({\n None: 0, \"0\": \"None\",\n Word: 1, \"1\": \"Word\",\n Array: 2, \"2\": \"Array\",\n});\n\n/**\n * Describes the type of a note attachment.\n *\n * Value `0` is reserved to signal that the scheme is none or absent. Whenever the kind of\n * attachment is not standardized or interoperability is unimportant, this none value can be used.\n */\nexport class NoteAttachmentScheme {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteAttachmentScheme.prototype);\n obj.__wbg_ptr = ptr;\n NoteAttachmentSchemeFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteAttachmentSchemeFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteattachmentscheme_free(ptr, 0);\n }\n /**\n * Returns the note attachment scheme as a u32.\n * @returns {number}\n */\n asU32() {\n const ret = wasm.noteattachmentscheme_asU32(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns true if the attachment scheme is the reserved value that signals an absent scheme.\n * @returns {boolean}\n */\n isNone() {\n const ret = wasm.noteattachmentscheme_isNone(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Creates a new `NoteAttachmentScheme` from a u32.\n * @param {number} scheme\n */\n constructor(scheme) {\n const ret = wasm.noteattachmentscheme_new(scheme);\n this.__wbg_ptr = ret >>> 0;\n NoteAttachmentSchemeFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the `NoteAttachmentScheme` that signals the absence of an attachment scheme.\n * @returns {NoteAttachmentScheme}\n */\n static none() {\n const ret = wasm.noteattachmentscheme_none();\n return NoteAttachmentScheme.__wrap(ret);\n }\n}\nif (Symbol.dispose) NoteAttachmentScheme.prototype[Symbol.dispose] = NoteAttachmentScheme.prototype.free;\n\nexport class NoteConsumability {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteConsumability.prototype);\n obj.__wbg_ptr = ptr;\n NoteConsumabilityFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof NoteConsumability)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteConsumabilityFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteconsumability_free(ptr, 0);\n }\n /**\n * Returns the account that can consume the note.\n * @returns {AccountId}\n */\n accountId() {\n const ret = wasm.accountdelta_id(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Returns the consumption status of the note.\n * @returns {NoteConsumptionStatus}\n */\n consumptionStatus() {\n const ret = wasm.noteconsumability_consumptionStatus(this.__wbg_ptr);\n return NoteConsumptionStatus.__wrap(ret);\n }\n}\nif (Symbol.dispose) NoteConsumability.prototype[Symbol.dispose] = NoteConsumability.prototype.free;\n\n/**\n * Describes if a note could be consumed under a specific conditions: target account state and\n * block height.\n */\nexport class NoteConsumptionStatus {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteConsumptionStatus.prototype);\n obj.__wbg_ptr = ptr;\n NoteConsumptionStatusFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteConsumptionStatusFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteconsumptionstatus_free(ptr, 0);\n }\n /**\n * Constructs a `NoteConsumptionStatus` that is consumable.\n * @returns {NoteConsumptionStatus}\n */\n static consumable() {\n const ret = wasm.noteconsumptionstatus_consumable();\n return NoteConsumptionStatus.__wrap(ret);\n }\n /**\n * Constructs a `NoteConsumptionStatus` that is consumable after a specific block height.\n * @param {number} block_height\n * @returns {NoteConsumptionStatus}\n */\n static consumableAfter(block_height) {\n const ret = wasm.noteconsumptionstatus_consumableAfter(block_height);\n return NoteConsumptionStatus.__wrap(ret);\n }\n /**\n * Returns the block number at which the note can be consumed.\n * Returns None if the note is already consumable or never possible\n * @returns {number | undefined}\n */\n consumableAfterBlock() {\n const ret = wasm.noteconsumptionstatus_consumableAfterBlock(this.__wbg_ptr);\n return ret === 0x100000001 ? undefined : ret;\n }\n /**\n * Constructs a `NoteConsumptionStatus` that is consumable with authorization.\n * @returns {NoteConsumptionStatus}\n */\n static consumableWithAuthorization() {\n const ret = wasm.noteconsumptionstatus_consumableWithAuthorization();\n return NoteConsumptionStatus.__wrap(ret);\n }\n /**\n * Constructs a `NoteConsumptionStatus` that is never consumable.\n * @param {string} err\n * @returns {NoteConsumptionStatus}\n */\n static neverConsumable(err) {\n const ptr0 = passStringToWasm0(err, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.noteconsumptionstatus_neverConsumable(ptr0, len0);\n return NoteConsumptionStatus.__wrap(ret);\n }\n /**\n * Constructs a `NoteConsumptionStatus` that is unconsumable due to conditions.\n * @returns {NoteConsumptionStatus}\n */\n static unconsumableConditions() {\n const ret = wasm.noteconsumptionstatus_unconsumableConditions();\n return NoteConsumptionStatus.__wrap(ret);\n }\n}\nif (Symbol.dispose) NoteConsumptionStatus.prototype[Symbol.dispose] = NoteConsumptionStatus.prototype.free;\n\n/**\n * Details of a note consisting of assets, script, inputs, and a serial number.\n *\n * See the {@link Note} type for more details.\n */\nexport class NoteDetails {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteDetails.prototype);\n obj.__wbg_ptr = ptr;\n NoteDetailsFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteDetailsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_notedetails_free(ptr, 0);\n }\n /**\n * Returns the assets locked by the note.\n * @returns {NoteAssets}\n */\n assets() {\n const ret = wasm.notedetails_assets(this.__wbg_ptr);\n return NoteAssets.__wrap(ret);\n }\n /**\n * Returns the note identifier derived from these details.\n * @returns {NoteId}\n */\n id() {\n const ret = wasm.notedetails_id(this.__wbg_ptr);\n return NoteId.__wrap(ret);\n }\n /**\n * Creates a new set of note details from the given assets and recipient.\n * @param {NoteAssets} note_assets\n * @param {NoteRecipient} note_recipient\n */\n constructor(note_assets, note_recipient) {\n _assertClass(note_assets, NoteAssets);\n _assertClass(note_recipient, NoteRecipient);\n const ret = wasm.notedetails_new(note_assets.__wbg_ptr, note_recipient.__wbg_ptr);\n this.__wbg_ptr = ret >>> 0;\n NoteDetailsFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the note nullifier as a word.\n * @returns {Word}\n */\n nullifier() {\n const ret = wasm.notedetails_nullifier(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the recipient which controls when the note can be consumed.\n * @returns {NoteRecipient}\n */\n recipient() {\n const ret = wasm.notedetails_recipient(this.__wbg_ptr);\n return NoteRecipient.__wrap(ret);\n }\n}\nif (Symbol.dispose) NoteDetails.prototype[Symbol.dispose] = NoteDetails.prototype.free;\n\n/**\n * Pair of note details and tag used when declaring expected notes.\n */\nexport class NoteDetailsAndTag {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteDetailsAndTag.prototype);\n obj.__wbg_ptr = ptr;\n NoteDetailsAndTagFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof NoteDetailsAndTag)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteDetailsAndTagFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_notedetailsandtag_free(ptr, 0);\n }\n /**\n * Creates a new pair from note details and tag.\n * @param {NoteDetails} note_details\n * @param {NoteTag} tag\n */\n constructor(note_details, tag) {\n _assertClass(note_details, NoteDetails);\n var ptr0 = note_details.__destroy_into_raw();\n _assertClass(tag, NoteTag);\n var ptr1 = tag.__destroy_into_raw();\n const ret = wasm.notedetailsandtag_new(ptr0, ptr1);\n this.__wbg_ptr = ret >>> 0;\n NoteDetailsAndTagFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the note details.\n * @returns {NoteDetails}\n */\n get noteDetails() {\n const ret = wasm.notedetailsandtag_noteDetails(this.__wbg_ptr);\n return NoteDetails.__wrap(ret);\n }\n /**\n * Returns the note tag.\n * @returns {NoteTag}\n */\n get tag() {\n const ret = wasm.notedetailsandtag_tag(this.__wbg_ptr);\n return NoteTag.__wrap(ret);\n }\n}\nif (Symbol.dispose) NoteDetailsAndTag.prototype[Symbol.dispose] = NoteDetailsAndTag.prototype.free;\n\nexport class NoteDetailsAndTagArray {\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteDetailsAndTagArrayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_notedetailsandtagarray_free(ptr, 0);\n }\n /**\n * Get element at index, will always return a clone to avoid aliasing issues.\n * @param {number} index\n * @returns {NoteDetailsAndTag}\n */\n get(index) {\n const ret = wasm.notedetailsandtagarray_get(this.__wbg_ptr, index);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteDetailsAndTag.__wrap(ret[0]);\n }\n /**\n * @returns {number}\n */\n length() {\n const ret = wasm.notedetailsandtagarray_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {NoteDetailsAndTag[] | null} [elements]\n */\n constructor(elements) {\n var ptr0 = isLikeNone(elements) ? 0 : passArrayJsValueToWasm0(elements, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.notedetailsandtagarray_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n NoteDetailsAndTagArrayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {NoteDetailsAndTag} element\n */\n push(element) {\n _assertClass(element, NoteDetailsAndTag);\n wasm.notedetailsandtagarray_push(this.__wbg_ptr, element.__wbg_ptr);\n }\n /**\n * @param {number} index\n * @param {NoteDetailsAndTag} elem\n */\n replaceAt(index, elem) {\n _assertClass(elem, NoteDetailsAndTag);\n var ptr0 = elem.__destroy_into_raw();\n const ret = wasm.notedetailsandtagarray_replaceAt(this.__wbg_ptr, index, ptr0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) NoteDetailsAndTagArray.prototype[Symbol.dispose] = NoteDetailsAndTagArray.prototype.free;\n\n/**\n * Hint describing when a note can be consumed.\n */\nexport class NoteExecutionHint {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteExecutionHint.prototype);\n obj.__wbg_ptr = ptr;\n NoteExecutionHintFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteExecutionHintFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteexecutionhint_free(ptr, 0);\n }\n /**\n * Creates a hint that activates after the given block number.\n * @param {number} block_num\n * @returns {NoteExecutionHint}\n */\n static afterBlock(block_num) {\n const ret = wasm.noteexecutionhint_afterBlock(block_num);\n return NoteExecutionHint.__wrap(ret);\n }\n /**\n * Creates a hint indicating the note can always be consumed.\n * @returns {NoteExecutionHint}\n */\n static always() {\n const ret = wasm.noteexecutionhint_always();\n return NoteExecutionHint.__wrap(ret);\n }\n /**\n * Returns whether the note can be consumed at the provided block height.\n * @param {number} block_num\n * @returns {boolean}\n */\n canBeConsumed(block_num) {\n const ret = wasm.noteexecutionhint_canBeConsumed(this.__wbg_ptr, block_num);\n return ret !== 0;\n }\n /**\n * Reconstructs a hint from its encoded tag and payload.\n * @param {number} tag\n * @param {number} payload\n * @returns {NoteExecutionHint}\n */\n static fromParts(tag, payload) {\n const ret = wasm.noteexecutionhint_fromParts(tag, payload);\n return NoteExecutionHint.__wrap(ret);\n }\n /**\n * Creates a hint that does not specify any execution constraint.\n * @returns {NoteExecutionHint}\n */\n static none() {\n const ret = wasm.noteexecutionhint_none();\n return NoteExecutionHint.__wrap(ret);\n }\n /**\n * Creates a hint that allows execution in a specific slot of a round.\n * @param {number} epoch_len\n * @param {number} slot_len\n * @param {number} slot_offset\n * @returns {NoteExecutionHint}\n */\n static onBlockSlot(epoch_len, slot_len, slot_offset) {\n const ret = wasm.noteexecutionhint_onBlockSlot(epoch_len, slot_len, slot_offset);\n return NoteExecutionHint.__wrap(ret);\n }\n}\nif (Symbol.dispose) NoteExecutionHint.prototype[Symbol.dispose] = NoteExecutionHint.prototype.free;\n\n/**\n * @enum {0 | 1 | 2}\n */\nexport const NoteExportFormat = Object.freeze({\n Id: 0, \"0\": \"Id\",\n Full: 1, \"1\": \"Full\",\n Details: 2, \"2\": \"Details\",\n});\n\n/**\n * A serialized representation of a note.\n */\nexport class NoteFile {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteFile.prototype);\n obj.__wbg_ptr = ptr;\n NoteFileFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteFileFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_notefile_free(ptr, 0);\n }\n /**\n * Returns the after-block hint when present.\n * @returns {number | undefined}\n */\n afterBlockNum() {\n const ret = wasm.notefile_afterBlockNum(this.__wbg_ptr);\n return ret === 0x100000001 ? undefined : ret;\n }\n /**\n * Given a valid byte representation of a `NoteFile`,\n * return it as a struct.\n * @param {Uint8Array} bytes\n * @returns {NoteFile}\n */\n static deserialize(bytes) {\n const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.notefile_deserialize(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteFile.__wrap(ret[0]);\n }\n /**\n * Creates a `NoteFile` from an input note, preserving proof when available.\n * @param {InputNote} note\n * @returns {NoteFile}\n */\n static fromInputNote(note) {\n _assertClass(note, InputNote);\n const ret = wasm.notefile_fromInputNote(note.__wbg_ptr);\n return NoteFile.__wrap(ret);\n }\n /**\n * Creates a `NoteFile` from note details.\n * @param {NoteDetails} note_details\n * @returns {NoteFile}\n */\n static fromNoteDetails(note_details) {\n _assertClass(note_details, NoteDetails);\n const ret = wasm.notefile_fromNoteDetails(note_details.__wbg_ptr);\n return NoteFile.__wrap(ret);\n }\n /**\n * Creates a `NoteFile` from a note ID.\n * @param {NoteId} note_details\n * @returns {NoteFile}\n */\n static fromNoteId(note_details) {\n _assertClass(note_details, NoteId);\n const ret = wasm.notefile_fromNoteId(note_details.__wbg_ptr);\n return NoteFile.__wrap(ret);\n }\n /**\n * Creates a `NoteFile` from an output note, choosing details when present.\n * @param {OutputNote} note\n * @returns {NoteFile}\n */\n static fromOutputNote(note) {\n _assertClass(note, OutputNote);\n const ret = wasm.notefile_fromOutputNote(note.__wbg_ptr);\n return NoteFile.__wrap(ret);\n }\n /**\n * Returns the inclusion proof if present.\n * @returns {NoteInclusionProof | undefined}\n */\n inclusionProof() {\n const ret = wasm.notefile_inclusionProof(this.__wbg_ptr);\n return ret === 0 ? undefined : NoteInclusionProof.__wrap(ret);\n }\n /**\n * Returns the full note when the file includes it.\n * @returns {Note | undefined}\n */\n note() {\n const ret = wasm.notefile_note(this.__wbg_ptr);\n return ret === 0 ? undefined : Note.__wrap(ret);\n }\n /**\n * Returns the note details if present.\n * @returns {NoteDetails | undefined}\n */\n noteDetails() {\n const ret = wasm.notefile_noteDetails(this.__wbg_ptr);\n return ret === 0 ? undefined : NoteDetails.__wrap(ret);\n }\n /**\n * Returns the note ID for any `NoteFile` variant.\n * @returns {NoteId}\n */\n noteId() {\n const ret = wasm.notefile_noteId(this.__wbg_ptr);\n return NoteId.__wrap(ret);\n }\n /**\n * Returns the note tag hint when present.\n * @returns {NoteTag | undefined}\n */\n noteTag() {\n const ret = wasm.notefile_noteTag(this.__wbg_ptr);\n return ret === 0 ? undefined : NoteTag.__wrap(ret);\n }\n /**\n * Returns this `NoteFile`'s types.\n * @returns {string}\n */\n noteType() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.notefile_noteType(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * Returns the note nullifier when present.\n * @returns {string | undefined}\n */\n nullifier() {\n const ret = wasm.notefile_nullifier(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * Turn a notefile into its byte representation.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.notefile_serialize(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n}\nif (Symbol.dispose) NoteFile.prototype[Symbol.dispose] = NoteFile.prototype.free;\n\n/**\n * Filter options for querying notes from the store.\n */\nexport class NoteFilter {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteFilterFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_notefilter_free(ptr, 0);\n }\n /**\n * Creates a new filter for the given type and optional note IDs.\n * @param {NoteFilterTypes} note_type\n * @param {NoteId[] | null} [note_ids]\n */\n constructor(note_type, note_ids) {\n var ptr0 = isLikeNone(note_ids) ? 0 : passArrayJsValueToWasm0(note_ids, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.notefilter_new(note_type, ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n NoteFilterFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) NoteFilter.prototype[Symbol.dispose] = NoteFilter.prototype.free;\n\n/**\n * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8}\n */\nexport const NoteFilterTypes = Object.freeze({\n All: 0, \"0\": \"All\",\n Consumed: 1, \"1\": \"Consumed\",\n Committed: 2, \"2\": \"Committed\",\n Expected: 3, \"3\": \"Expected\",\n Processing: 4, \"4\": \"Processing\",\n List: 5, \"5\": \"List\",\n Unique: 6, \"6\": \"Unique\",\n Nullifiers: 7, \"7\": \"Nullifiers\",\n Unverified: 8, \"8\": \"Unverified\",\n});\n\n/**\n * Holds the strictly required, public information of a note.\n *\n * See `NoteId` and `NoteMetadata` for additional details.\n */\nexport class NoteHeader {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteHeader.prototype);\n obj.__wbg_ptr = ptr;\n NoteHeaderFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteHeaderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteheader_free(ptr, 0);\n }\n /**\n * Returns a commitment to the note ID and metadata.\n * @returns {Word}\n */\n commitment() {\n const ret = wasm.noteheader_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the unique identifier for the note.\n * @returns {NoteId}\n */\n id() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return NoteId.__wrap(ret);\n }\n /**\n * Returns the public metadata attached to the note.\n * @returns {NoteMetadata}\n */\n metadata() {\n const ret = wasm.noteheader_metadata(this.__wbg_ptr);\n return NoteMetadata.__wrap(ret);\n }\n}\nif (Symbol.dispose) NoteHeader.prototype[Symbol.dispose] = NoteHeader.prototype.free;\n\n/**\n * Returns a unique identifier of a note, which is simultaneously a commitment to the note.\n *\n * Note ID is computed as:\n *\n * > `hash(recipient, asset_commitment)`\n *\n * where `recipient` is defined as:\n *\n * > `hash(hash(hash(serial_num, ZERO), script_root), input_commitment)`\n *\n * This achieves the following properties:\n * - Every note can be reduced to a single unique ID.\n * - To compute a note ID, we do not need to know the note's `serial_num`. Knowing the hash of the\n * `serial_num` (as well as script root, input commitment, and note assets) is sufficient.\n */\nexport class NoteId {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteId.prototype);\n obj.__wbg_ptr = ptr;\n NoteIdFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof NoteId)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteIdFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteid_free(ptr, 0);\n }\n /**\n * Parses a note ID from its hex encoding.\n * @param {string} hex\n * @returns {NoteId}\n */\n static fromHex(hex) {\n const ptr0 = passStringToWasm0(hex, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.noteid_fromHex(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteId.__wrap(ret[0]);\n }\n /**\n * Builds a note ID from the recipient and asset commitments.\n * @param {Word} recipient_digest\n * @param {Word} asset_commitment_digest\n */\n constructor(recipient_digest, asset_commitment_digest) {\n _assertClass(recipient_digest, Word);\n _assertClass(asset_commitment_digest, Word);\n const ret = wasm.noteid_new(recipient_digest.__wbg_ptr, asset_commitment_digest.__wbg_ptr);\n this.__wbg_ptr = ret >>> 0;\n NoteIdFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the canonical hex representation of the note ID.\n * @returns {string}\n */\n toString() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.noteid_toString(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n}\nif (Symbol.dispose) NoteId.prototype[Symbol.dispose] = NoteId.prototype.free;\n\n/**\n * Note ID paired with optional arguments for inclusion in a transaction request.\n */\nexport class NoteIdAndArgs {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteIdAndArgs.prototype);\n obj.__wbg_ptr = ptr;\n NoteIdAndArgsFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof NoteIdAndArgs)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteIdAndArgsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteidandargs_free(ptr, 0);\n }\n /**\n * Creates a new NoteId/args pair.\n * @param {NoteId} note_id\n * @param {Word | null} [args]\n */\n constructor(note_id, args) {\n _assertClass(note_id, NoteId);\n var ptr0 = note_id.__destroy_into_raw();\n let ptr1 = 0;\n if (!isLikeNone(args)) {\n _assertClass(args, Word);\n ptr1 = args.__destroy_into_raw();\n }\n const ret = wasm.noteidandargs_new(ptr0, ptr1);\n this.__wbg_ptr = ret >>> 0;\n NoteIdAndArgsFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) NoteIdAndArgs.prototype[Symbol.dispose] = NoteIdAndArgs.prototype.free;\n\nexport class NoteIdAndArgsArray {\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteIdAndArgsArrayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteidandargsarray_free(ptr, 0);\n }\n /**\n * Get element at index, will always return a clone to avoid aliasing issues.\n * @param {number} index\n * @returns {NoteIdAndArgs}\n */\n get(index) {\n const ret = wasm.noteidandargsarray_get(this.__wbg_ptr, index);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteIdAndArgs.__wrap(ret[0]);\n }\n /**\n * @returns {number}\n */\n length() {\n const ret = wasm.noteidandargsarray_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {NoteIdAndArgs[] | null} [elements]\n */\n constructor(elements) {\n var ptr0 = isLikeNone(elements) ? 0 : passArrayJsValueToWasm0(elements, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.noteidandargsarray_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n NoteIdAndArgsArrayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {NoteIdAndArgs} element\n */\n push(element) {\n _assertClass(element, NoteIdAndArgs);\n wasm.noteidandargsarray_push(this.__wbg_ptr, element.__wbg_ptr);\n }\n /**\n * @param {number} index\n * @param {NoteIdAndArgs} elem\n */\n replaceAt(index, elem) {\n _assertClass(elem, NoteIdAndArgs);\n var ptr0 = elem.__destroy_into_raw();\n const ret = wasm.noteidandargsarray_replaceAt(this.__wbg_ptr, index, ptr0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) NoteIdAndArgsArray.prototype[Symbol.dispose] = NoteIdAndArgsArray.prototype.free;\n\n/**\n * Contains the data required to prove inclusion of a note in the canonical chain.\n */\nexport class NoteInclusionProof {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteInclusionProof.prototype);\n obj.__wbg_ptr = ptr;\n NoteInclusionProofFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteInclusionProofFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noteinclusionproof_free(ptr, 0);\n }\n /**\n * Returns the location of the note within the tree.\n * @returns {NoteLocation}\n */\n location() {\n const ret = wasm.noteinclusionproof_location(this.__wbg_ptr);\n return NoteLocation.__wrap(ret);\n }\n /**\n * Returns the Merkle authentication path for the note.\n * @returns {MerklePath}\n */\n notePath() {\n const ret = wasm.noteinclusionproof_notePath(this.__wbg_ptr);\n return MerklePath.__wrap(ret);\n }\n}\nif (Symbol.dispose) NoteInclusionProof.prototype[Symbol.dispose] = NoteInclusionProof.prototype.free;\n\n/**\n * Contains information about the location of a note.\n */\nexport class NoteLocation {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteLocation.prototype);\n obj.__wbg_ptr = ptr;\n NoteLocationFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteLocationFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_notelocation_free(ptr, 0);\n }\n /**\n * Returns the block height containing the note.\n * @returns {number}\n */\n blockNum() {\n const ret = wasm.noteattachmentscheme_asU32(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns the index of the note leaf within the block's note tree.\n * @returns {number}\n */\n nodeIndexInBlock() {\n const ret = wasm.notelocation_nodeIndexInBlock(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) NoteLocation.prototype[Symbol.dispose] = NoteLocation.prototype.free;\n\n/**\n * Metadata associated with a note.\n *\n * This metadata includes the sender, note type, tag, and an optional attachment.\n * Attachments provide additional context about how notes should be processed.\n */\nexport class NoteMetadata {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteMetadata.prototype);\n obj.__wbg_ptr = ptr;\n NoteMetadataFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteMetadataFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_notemetadata_free(ptr, 0);\n }\n /**\n * Returns the attachment of the note.\n * @returns {NoteAttachment}\n */\n attachment() {\n const ret = wasm.notemetadata_attachment(this.__wbg_ptr);\n return NoteAttachment.__wrap(ret);\n }\n /**\n * Creates metadata for a note.\n * @param {AccountId} sender\n * @param {NoteType} note_type\n * @param {NoteTag} note_tag\n */\n constructor(sender, note_type, note_tag) {\n _assertClass(sender, AccountId);\n _assertClass(note_tag, NoteTag);\n const ret = wasm.notemetadata_new(sender.__wbg_ptr, note_type, note_tag.__wbg_ptr);\n this.__wbg_ptr = ret >>> 0;\n NoteMetadataFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns whether the note is private, encrypted, or public.\n * @returns {NoteType}\n */\n noteType() {\n const ret = wasm.notemetadata_noteType(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the account that created the note.\n * @returns {AccountId}\n */\n sender() {\n const ret = wasm.accountdelta_id(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Returns the tag associated with the note.\n * @returns {NoteTag}\n */\n tag() {\n const ret = wasm.notemetadata_tag(this.__wbg_ptr);\n return NoteTag.__wrap(ret);\n }\n /**\n * Adds an attachment to this metadata and returns the updated metadata.\n *\n * Attachments provide additional context about how notes should be processed.\n * For example, a `NetworkAccountTarget` attachment indicates that the note\n * should be consumed by a specific network account.\n * @param {NoteAttachment} attachment\n * @returns {NoteMetadata}\n */\n withAttachment(attachment) {\n _assertClass(attachment, NoteAttachment);\n const ret = wasm.notemetadata_withAttachment(this.__wbg_ptr, attachment.__wbg_ptr);\n return NoteMetadata.__wrap(ret);\n }\n /**\n * Sets the tag for this metadata and returns the updated metadata.\n * @param {NoteTag} tag\n * @returns {NoteMetadata}\n */\n withTag(tag) {\n _assertClass(tag, NoteTag);\n const ret = wasm.notemetadata_withTag(this.__wbg_ptr, tag.__wbg_ptr);\n return NoteMetadata.__wrap(ret);\n }\n}\nif (Symbol.dispose) NoteMetadata.prototype[Symbol.dispose] = NoteMetadata.prototype.free;\n\n/**\n * Value that describes under which condition a note can be consumed.\n *\n * The recipient is not an account address, instead it is a value that describes when a note can be\n * consumed. Because not all notes have predetermined consumer addresses, e.g. swap notes can be\n * consumed by anyone, the recipient is defined as the code and its storage, that when successfully\n * executed results in the note's consumption.\n *\n * Recipient is computed as a nested hash of the serial number, the script root, and the storage\n * commitment, ensuring the recipient digest binds all three pieces of data together.\n */\nexport class NoteRecipient {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteRecipient.prototype);\n obj.__wbg_ptr = ptr;\n NoteRecipientFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof NoteRecipient)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteRecipientFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noterecipient_free(ptr, 0);\n }\n /**\n * Returns the digest of the recipient data (used in the note commitment).\n * @returns {Word}\n */\n digest() {\n const ret = wasm.accountheader_storageCommitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Creates a note recipient from its serial number, script, and storage.\n * @param {Word} serial_num\n * @param {NoteScript} note_script\n * @param {NoteStorage} storage\n */\n constructor(serial_num, note_script, storage) {\n _assertClass(serial_num, Word);\n _assertClass(note_script, NoteScript);\n _assertClass(storage, NoteStorage);\n const ret = wasm.noterecipient_new(serial_num.__wbg_ptr, note_script.__wbg_ptr, storage.__wbg_ptr);\n this.__wbg_ptr = ret >>> 0;\n NoteRecipientFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the script that controls consumption.\n * @returns {NoteScript}\n */\n script() {\n const ret = wasm.noterecipient_script(this.__wbg_ptr);\n return NoteScript.__wrap(ret);\n }\n /**\n * Returns the serial number that prevents double spends.\n * @returns {Word}\n */\n serialNum() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the storage provided to the script.\n * @returns {NoteStorage}\n */\n storage() {\n const ret = wasm.noterecipient_storage(this.__wbg_ptr);\n return NoteStorage.__wrap(ret);\n }\n}\nif (Symbol.dispose) NoteRecipient.prototype[Symbol.dispose] = NoteRecipient.prototype.free;\n\nexport class NoteRecipientArray {\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteRecipientArrayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_noterecipientarray_free(ptr, 0);\n }\n /**\n * Get element at index, will always return a clone to avoid aliasing issues.\n * @param {number} index\n * @returns {NoteRecipient}\n */\n get(index) {\n const ret = wasm.noterecipientarray_get(this.__wbg_ptr, index);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteRecipient.__wrap(ret[0]);\n }\n /**\n * @returns {number}\n */\n length() {\n const ret = wasm.noterecipientarray_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {NoteRecipient[] | null} [elements]\n */\n constructor(elements) {\n var ptr0 = isLikeNone(elements) ? 0 : passArrayJsValueToWasm0(elements, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.noterecipientarray_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n NoteRecipientArrayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {NoteRecipient} element\n */\n push(element) {\n _assertClass(element, NoteRecipient);\n wasm.noterecipientarray_push(this.__wbg_ptr, element.__wbg_ptr);\n }\n /**\n * @param {number} index\n * @param {NoteRecipient} elem\n */\n replaceAt(index, elem) {\n _assertClass(elem, NoteRecipient);\n var ptr0 = elem.__destroy_into_raw();\n const ret = wasm.noterecipientarray_replaceAt(this.__wbg_ptr, index, ptr0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) NoteRecipientArray.prototype[Symbol.dispose] = NoteRecipientArray.prototype.free;\n\n/**\n * An executable program of a note.\n *\n * A note's script represents a program which must be executed for a note to be consumed. As such\n * it defines the rules and side effects of consuming a given note.\n */\nexport class NoteScript {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteScript.prototype);\n obj.__wbg_ptr = ptr;\n NoteScriptFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteScriptFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_notescript_free(ptr, 0);\n }\n /**\n * Deserializes a script from bytes.\n * @param {Uint8Array} bytes\n * @returns {NoteScript}\n */\n static deserialize(bytes) {\n const ret = wasm.notescript_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteScript.__wrap(ret[0]);\n }\n /**\n * Creates a `NoteScript` from the given `Package`.\n * Throws if the package is invalid.\n * @param {Package} _package\n * @returns {NoteScript}\n */\n static fromPackage(_package) {\n _assertClass(_package, Package);\n const ret = wasm.notescript_fromPackage(_package.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteScript.__wrap(ret[0]);\n }\n /**\n * Returns the well-known P2ID script.\n * @returns {NoteScript}\n */\n static p2id() {\n const ret = wasm.notescript_p2id();\n return NoteScript.__wrap(ret);\n }\n /**\n * Returns the well-known P2IDE script (P2ID with execution hint).\n * @returns {NoteScript}\n */\n static p2ide() {\n const ret = wasm.notescript_p2ide();\n return NoteScript.__wrap(ret);\n }\n /**\n * Returns the MAST root of this script.\n * @returns {Word}\n */\n root() {\n const ret = wasm.notescript_root(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Serializes the script into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.notescript_serialize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the well-known SWAP script.\n * @returns {NoteScript}\n */\n static swap() {\n const ret = wasm.notescript_swap();\n return NoteScript.__wrap(ret);\n }\n /**\n * Pretty-prints the MAST source for this script.\n * @returns {string}\n */\n toString() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.notescript_toString(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n}\nif (Symbol.dispose) NoteScript.prototype[Symbol.dispose] = NoteScript.prototype.free;\n\n/**\n * A container for note storage items.\n *\n * A note can be associated with up to 1024 storage items. Each item is represented by a single\n * field element. Thus, note storage can contain up to ~8 KB of data.\n *\n * All storage items associated with a note can be reduced to a single commitment which is\n * computed as an RPO256 hash over the storage elements.\n */\nexport class NoteStorage {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteStorage.prototype);\n obj.__wbg_ptr = ptr;\n NoteStorageFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteStorageFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_notestorage_free(ptr, 0);\n }\n /**\n * Returns the raw storage items as an array of field elements.\n * @returns {Felt[]}\n */\n items() {\n const ret = wasm.notestorage_items(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Creates note storage from a list of field elements.\n * @param {FeltArray} felt_array\n */\n constructor(felt_array) {\n _assertClass(felt_array, FeltArray);\n const ret = wasm.notestorage_new(felt_array.__wbg_ptr);\n this.__wbg_ptr = ret >>> 0;\n NoteStorageFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) NoteStorage.prototype[Symbol.dispose] = NoteStorage.prototype.free;\n\n/**\n * Represents the response data from `syncNotes`.\n */\nexport class NoteSyncInfo {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteSyncInfo.prototype);\n obj.__wbg_ptr = ptr;\n NoteSyncInfoFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteSyncInfoFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_notesyncinfo_free(ptr, 0);\n }\n /**\n * Returns the block header associated with the matching notes.\n * @returns {BlockHeader}\n */\n blockHeader() {\n const ret = wasm.notesyncinfo_blockHeader(this.__wbg_ptr);\n return BlockHeader.__wrap(ret);\n }\n /**\n * Returns the latest block number in the chain.\n * @returns {number}\n */\n chainTip() {\n const ret = wasm.notesyncinfo_chainTip(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns the MMR path for the block header.\n * @returns {MerklePath}\n */\n mmrPath() {\n const ret = wasm.notesyncinfo_mmrPath(this.__wbg_ptr);\n return MerklePath.__wrap(ret);\n }\n /**\n * Returns the committed notes returned by the node.\n * @returns {CommittedNote[]}\n */\n notes() {\n const ret = wasm.notesyncinfo_notes(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n}\nif (Symbol.dispose) NoteSyncInfo.prototype[Symbol.dispose] = NoteSyncInfo.prototype.free;\n\n/**\n * Note tags are 32-bits of data that serve as best-effort filters for notes.\n *\n * Tags enable quick lookups for notes related to particular use cases, scripts, or account\n * prefixes.\n */\nexport class NoteTag {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(NoteTag.prototype);\n obj.__wbg_ptr = ptr;\n NoteTagFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof NoteTag)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n NoteTagFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_notetag_free(ptr, 0);\n }\n /**\n * Returns the inner u32 value of this tag.\n * @returns {number}\n */\n asU32() {\n const ret = wasm.noteattachmentscheme_asU32(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Creates a new `NoteTag` from an arbitrary u32.\n * @param {number} tag\n */\n constructor(tag) {\n const ret = wasm.noteattachmentscheme_new(tag);\n this.__wbg_ptr = ret >>> 0;\n NoteTagFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Constructs a note tag that targets the given account ID.\n * @param {AccountId} account_id\n * @returns {NoteTag}\n */\n static withAccountTarget(account_id) {\n _assertClass(account_id, AccountId);\n const ret = wasm.notetag_withAccountTarget(account_id.__wbg_ptr);\n return NoteTag.__wrap(ret);\n }\n /**\n * Constructs a note tag that targets the given account ID with a custom tag length.\n * @param {AccountId} account_id\n * @param {number} tag_len\n * @returns {NoteTag}\n */\n static withCustomAccountTarget(account_id, tag_len) {\n _assertClass(account_id, AccountId);\n const ret = wasm.notetag_withCustomAccountTarget(account_id.__wbg_ptr, tag_len);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteTag.__wrap(ret[0]);\n }\n}\nif (Symbol.dispose) NoteTag.prototype[Symbol.dispose] = NoteTag.prototype.free;\n\n/**\n * Visibility level for note contents when published to the network.\n * @enum {2 | 1}\n */\nexport const NoteType = Object.freeze({\n /**\n * Notes with this type have only their hash published to the network.\n */\n Private: 2, \"2\": \"Private\",\n /**\n * Notes with this type are fully shared with the network.\n */\n Public: 1, \"1\": \"Public\",\n});\n\n/**\n * Representation of a note produced by a transaction (full, partial, or header-only).\n */\nexport class OutputNote {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(OutputNote.prototype);\n obj.__wbg_ptr = ptr;\n OutputNoteFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof OutputNote)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n OutputNoteFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_outputnote_free(ptr, 0);\n }\n /**\n * Returns the assets if they are present.\n * @returns {NoteAssets | undefined}\n */\n assets() {\n const ret = wasm.outputnote_assets(this.__wbg_ptr);\n return ret === 0 ? undefined : NoteAssets.__wrap(ret);\n }\n /**\n * Wraps a full note output.\n * @param {Note} note\n * @returns {OutputNote}\n */\n static full(note) {\n _assertClass(note, Note);\n const ret = wasm.outputnote_full(note.__wbg_ptr);\n return OutputNote.__wrap(ret);\n }\n /**\n * Wraps only the header of a note.\n * @param {NoteHeader} note_header\n * @returns {OutputNote}\n */\n static header(note_header) {\n _assertClass(note_header, NoteHeader);\n const ret = wasm.outputnote_header(note_header.__wbg_ptr);\n return OutputNote.__wrap(ret);\n }\n /**\n * Returns the note ID for this output.\n * @returns {NoteId}\n */\n id() {\n const ret = wasm.outputnote_id(this.__wbg_ptr);\n return NoteId.__wrap(ret);\n }\n /**\n * Converts into a full note if the data is present.\n * @returns {Note | undefined}\n */\n intoFull() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.outputnote_intoFull(ptr);\n return ret === 0 ? undefined : Note.__wrap(ret);\n }\n /**\n * Returns the metadata that accompanies this output.\n * @returns {NoteMetadata}\n */\n metadata() {\n const ret = wasm.outputnote_metadata(this.__wbg_ptr);\n return NoteMetadata.__wrap(ret);\n }\n /**\n * Wraps a partial note containing assets and recipient only.\n * @param {PartialNote} partial_note\n * @returns {OutputNote}\n */\n static partial(partial_note) {\n _assertClass(partial_note, PartialNote);\n const ret = wasm.outputnote_partial(partial_note.__wbg_ptr);\n return OutputNote.__wrap(ret);\n }\n /**\n * Returns the recipient digest if the recipient is known.\n * @returns {Word | undefined}\n */\n recipientDigest() {\n const ret = wasm.outputnote_recipientDigest(this.__wbg_ptr);\n return ret === 0 ? undefined : Word.__wrap(ret);\n }\n /**\n * Returns a more compact representation if possible (e.g. dropping details).\n * @returns {OutputNote}\n */\n shrink() {\n const ret = wasm.outputnote_shrink(this.__wbg_ptr);\n return OutputNote.__wrap(ret);\n }\n}\nif (Symbol.dispose) OutputNote.prototype[Symbol.dispose] = OutputNote.prototype.free;\n\nexport class OutputNoteArray {\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n OutputNoteArrayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_outputnotearray_free(ptr, 0);\n }\n /**\n * Get element at index, will always return a clone to avoid aliasing issues.\n * @param {number} index\n * @returns {OutputNote}\n */\n get(index) {\n const ret = wasm.outputnotearray_get(this.__wbg_ptr, index);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return OutputNote.__wrap(ret[0]);\n }\n /**\n * @returns {number}\n */\n length() {\n const ret = wasm.outputnotearray_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {OutputNote[] | null} [elements]\n */\n constructor(elements) {\n var ptr0 = isLikeNone(elements) ? 0 : passArrayJsValueToWasm0(elements, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.outputnotearray_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n OutputNoteArrayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {OutputNote} element\n */\n push(element) {\n _assertClass(element, OutputNote);\n wasm.outputnotearray_push(this.__wbg_ptr, element.__wbg_ptr);\n }\n /**\n * @param {number} index\n * @param {OutputNote} elem\n */\n replaceAt(index, elem) {\n _assertClass(elem, OutputNote);\n var ptr0 = elem.__destroy_into_raw();\n const ret = wasm.outputnotearray_replaceAt(this.__wbg_ptr, index, ptr0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) OutputNoteArray.prototype[Symbol.dispose] = OutputNoteArray.prototype.free;\n\n/**\n * Represents an output note tracked by the client store.\n */\nexport class OutputNoteRecord {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(OutputNoteRecord.prototype);\n obj.__wbg_ptr = ptr;\n OutputNoteRecordFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n OutputNoteRecordFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_outputnoterecord_free(ptr, 0);\n }\n /**\n * Returns the note assets.\n * @returns {NoteAssets}\n */\n assets() {\n const ret = wasm.outputnoterecord_assets(this.__wbg_ptr);\n return NoteAssets.__wrap(ret);\n }\n /**\n * Returns the expected block height for the note.\n * @returns {number}\n */\n expectedHeight() {\n const ret = wasm.blockheader_version(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns the note ID.\n * @returns {NoteId}\n */\n id() {\n const ret = wasm.outputnoterecord_id(this.__wbg_ptr);\n return NoteId.__wrap(ret);\n }\n /**\n * Returns the inclusion proof when the note is committed.\n * @returns {NoteInclusionProof | undefined}\n */\n inclusionProof() {\n const ret = wasm.outputnoterecord_inclusionProof(this.__wbg_ptr);\n return ret === 0 ? undefined : NoteInclusionProof.__wrap(ret);\n }\n /**\n * Returns true if the note is committed on chain.\n * @returns {boolean}\n */\n isCommitted() {\n const ret = wasm.outputnoterecord_isCommitted(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the note has been consumed on chain.\n * @returns {boolean}\n */\n isConsumed() {\n const ret = wasm.outputnoterecord_isConsumed(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns the note metadata.\n * @returns {NoteMetadata}\n */\n metadata() {\n const ret = wasm.outputnoterecord_metadata(this.__wbg_ptr);\n return NoteMetadata.__wrap(ret);\n }\n /**\n * Returns the nullifier when the recipient is known.\n * @returns {string | undefined}\n */\n nullifier() {\n const ret = wasm.outputnoterecord_nullifier(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * Returns the recipient details if available.\n * @returns {NoteRecipient | undefined}\n */\n recipient() {\n const ret = wasm.outputnoterecord_recipient(this.__wbg_ptr);\n return ret === 0 ? undefined : NoteRecipient.__wrap(ret);\n }\n /**\n * Returns the recipient digest committed for the note.\n * @returns {Word}\n */\n recipientDigest() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the current processing state for this note.\n * @returns {OutputNoteState}\n */\n state() {\n const ret = wasm.outputnoterecord_state(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) OutputNoteRecord.prototype[Symbol.dispose] = OutputNoteRecord.prototype.free;\n\n/**\n * @enum {0 | 1 | 2 | 3 | 4}\n */\nexport const OutputNoteState = Object.freeze({\n ExpectedPartial: 0, \"0\": \"ExpectedPartial\",\n ExpectedFull: 1, \"1\": \"ExpectedFull\",\n CommittedPartial: 2, \"2\": \"CommittedPartial\",\n CommittedFull: 3, \"3\": \"CommittedFull\",\n Consumed: 4, \"4\": \"Consumed\",\n});\n\n/**\n * Contains a list of output notes of a transaction. The list can be empty if the transaction does\n * not produce any notes.\n */\nexport class OutputNotes {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(OutputNotes.prototype);\n obj.__wbg_ptr = ptr;\n OutputNotesFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof OutputNotes)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n OutputNotesFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_outputnotes_free(ptr, 0);\n }\n /**\n * Returns the commitment to all output notes.\n * @returns {Word}\n */\n commitment() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the output note at the specified index.\n * @param {number} index\n * @returns {OutputNote}\n */\n getNote(index) {\n const ret = wasm.outputnotes_getNote(this.__wbg_ptr, index);\n return OutputNote.__wrap(ret);\n }\n /**\n * Returns true if there are no output notes.\n * @returns {boolean}\n */\n isEmpty() {\n const ret = wasm.outputnotes_isEmpty(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns all output notes as a vector.\n * @returns {OutputNote[]}\n */\n notes() {\n const ret = wasm.outputnotes_notes(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns the number of notes emitted.\n * @returns {number}\n */\n numNotes() {\n const ret = wasm.outputnotes_numNotes(this.__wbg_ptr);\n return ret >>> 0;\n }\n}\nif (Symbol.dispose) OutputNotes.prototype[Symbol.dispose] = OutputNotes.prototype.free;\n\nexport class OutputNotesArray {\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n OutputNotesArrayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_outputnotesarray_free(ptr, 0);\n }\n /**\n * Get element at index, will always return a clone to avoid aliasing issues.\n * @param {number} index\n * @returns {OutputNotes}\n */\n get(index) {\n const ret = wasm.outputnotesarray_get(this.__wbg_ptr, index);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return OutputNotes.__wrap(ret[0]);\n }\n /**\n * @returns {number}\n */\n length() {\n const ret = wasm.outputnotesarray_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {OutputNotes[] | null} [elements]\n */\n constructor(elements) {\n var ptr0 = isLikeNone(elements) ? 0 : passArrayJsValueToWasm0(elements, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.outputnotesarray_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n OutputNotesArrayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {OutputNotes} element\n */\n push(element) {\n _assertClass(element, OutputNotes);\n wasm.outputnotesarray_push(this.__wbg_ptr, element.__wbg_ptr);\n }\n /**\n * @param {number} index\n * @param {OutputNotes} elem\n */\n replaceAt(index, elem) {\n _assertClass(elem, OutputNotes);\n var ptr0 = elem.__destroy_into_raw();\n const ret = wasm.outputnotesarray_replaceAt(this.__wbg_ptr, index, ptr0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) OutputNotesArray.prototype[Symbol.dispose] = OutputNotesArray.prototype.free;\n\n/**\n * Compiled VM package containing libraries and metadata.\n */\nexport class Package {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(Package.prototype);\n obj.__wbg_ptr = ptr;\n PackageFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PackageFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_package_free(ptr, 0);\n }\n /**\n * Returns the underlying library of a `Package`.\n * Fails if the package is not a library.\n * @returns {Library}\n */\n asLibrary() {\n const ret = wasm.package_asLibrary(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Library.__wrap(ret[0]);\n }\n /**\n * Returns the underlying program of a `Package`.\n * Fails if the package is not a program.\n * @returns {Program}\n */\n asProgram() {\n const ret = wasm.package_asProgram(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Program.__wrap(ret[0]);\n }\n /**\n * Deserializes a package from bytes.\n * @param {Uint8Array} bytes\n * @returns {Package}\n */\n static deserialize(bytes) {\n const ret = wasm.package_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Package.__wrap(ret[0]);\n }\n /**\n * Serializes the package into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.package_serialize(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) Package.prototype[Symbol.dispose] = Package.prototype.free;\n\n/**\n * Partial information about a note.\n *\n * Partial note consists of `NoteMetadata`, `NoteAssets`, and a recipient digest (see\n * `NoteRecipient`). However, it does not contain detailed recipient info, including\n * note script, note inputs, and note's serial number. This means that a partial note is sufficient\n * to compute note ID and note header, but not sufficient to compute note nullifier, and generally\n * does not have enough info to execute the note.\n */\nexport class PartialNote {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PartialNoteFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_partialnote_free(ptr, 0);\n }\n /**\n * Returns the assets locked in the note.\n * @returns {NoteAssets}\n */\n assets() {\n const ret = wasm.partialnote_assets(this.__wbg_ptr);\n return NoteAssets.__wrap(ret);\n }\n /**\n * Returns the identifier of the partial note.\n * @returns {NoteId}\n */\n id() {\n const ret = wasm.partialnote_id(this.__wbg_ptr);\n return NoteId.__wrap(ret);\n }\n /**\n * Returns the metadata attached to the note.\n * @returns {NoteMetadata}\n */\n metadata() {\n const ret = wasm.partialnote_metadata(this.__wbg_ptr);\n return NoteMetadata.__wrap(ret);\n }\n /**\n * Returns the digest of the recipient information.\n * @returns {Word}\n */\n recipientDigest() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n}\nif (Symbol.dispose) PartialNote.prototype[Symbol.dispose] = PartialNote.prototype.free;\n\nexport class ProcedureThreshold {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(ProcedureThreshold.prototype);\n obj.__wbg_ptr = ptr;\n ProcedureThresholdFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof ProcedureThreshold)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ProcedureThresholdFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_procedurethreshold_free(ptr, 0);\n }\n /**\n * @param {Word} proc_root\n * @param {number} threshold\n */\n constructor(proc_root, threshold) {\n _assertClass(proc_root, Word);\n const ret = wasm.procedurethreshold_new(proc_root.__wbg_ptr, threshold);\n this.__wbg_ptr = ret >>> 0;\n ProcedureThresholdFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @returns {Word}\n */\n get procRoot() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * @returns {number}\n */\n get threshold() {\n const ret = wasm.procedurethreshold_threshold(this.__wbg_ptr);\n return ret >>> 0;\n }\n}\nif (Symbol.dispose) ProcedureThreshold.prototype[Symbol.dispose] = ProcedureThreshold.prototype.free;\n\nexport class Program {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(Program.prototype);\n obj.__wbg_ptr = ptr;\n ProgramFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ProgramFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_program_free(ptr, 0);\n }\n}\nif (Symbol.dispose) Program.prototype[Symbol.dispose] = Program.prototype.free;\n\n/**\n * Result of executing and proving a transaction. Contains all the data required to verify that a\n * transaction was executed correctly.\n */\nexport class ProvenTransaction {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(ProvenTransaction.prototype);\n obj.__wbg_ptr = ptr;\n ProvenTransactionFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n ProvenTransactionFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_proventransaction_free(ptr, 0);\n }\n /**\n * Returns the account ID the transaction was executed against.\n * @returns {AccountId}\n */\n accountId() {\n const ret = wasm.proventransaction_accountId(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Deserializes a proven transaction from bytes.\n * @param {Uint8Array} bytes\n * @returns {ProvenTransaction}\n */\n static deserialize(bytes) {\n const ret = wasm.proventransaction_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return ProvenTransaction.__wrap(ret[0]);\n }\n /**\n * Returns the block number at which the transaction expires.\n * @returns {number}\n */\n expirationBlockNumber() {\n const ret = wasm.proventransaction_expirationBlockNumber(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns the transaction ID.\n * @returns {TransactionId}\n */\n id() {\n const ret = wasm.proventransaction_id(this.__wbg_ptr);\n return TransactionId.__wrap(ret);\n }\n /**\n * Returns the nullifiers of the consumed input notes.\n * @returns {Word[]}\n */\n nullifiers() {\n const ret = wasm.proventransaction_nullifiers(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns notes created by this transaction.\n * @returns {OutputNotes}\n */\n outputNotes() {\n const ret = wasm.proventransaction_outputNotes(this.__wbg_ptr);\n return OutputNotes.__wrap(ret);\n }\n /**\n * Returns the commitment of the reference block.\n * @returns {Word}\n */\n refBlockCommitment() {\n const ret = wasm.proventransaction_refBlockCommitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the reference block number used during execution.\n * @returns {number}\n */\n refBlockNumber() {\n const ret = wasm.proventransaction_refBlockNumber(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Serializes the proven transaction into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.proventransaction_serialize(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) ProvenTransaction.prototype[Symbol.dispose] = ProvenTransaction.prototype.free;\n\nexport class PublicKey {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(PublicKey.prototype);\n obj.__wbg_ptr = ptr;\n PublicKeyFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n PublicKeyFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_publickey_free(ptr, 0);\n }\n /**\n * Deserializes a public key from bytes.\n * @param {Uint8Array} bytes\n * @returns {PublicKey}\n */\n static deserialize(bytes) {\n const ret = wasm.publickey_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return PublicKey.__wrap(ret[0]);\n }\n /**\n * Recovers a public key from a signature (only supported for `RpoFalcon512`).\n * @param {Word} message\n * @param {Signature} signature\n * @returns {PublicKey}\n */\n static recoverFrom(message, signature) {\n _assertClass(message, Word);\n _assertClass(signature, Signature);\n const ret = wasm.publickey_recoverFrom(message.__wbg_ptr, signature.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return PublicKey.__wrap(ret[0]);\n }\n /**\n * Serializes the public key into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.publickey_serialize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the commitment corresponding to this public key.\n * @returns {Word}\n */\n toCommitment() {\n const ret = wasm.publickey_toCommitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Verifies a blind message word against the signature.\n * @param {Word} message\n * @param {Signature} signature\n * @returns {boolean}\n */\n verify(message, signature) {\n _assertClass(message, Word);\n _assertClass(signature, Signature);\n const ret = wasm.publickey_verify(this.__wbg_ptr, message.__wbg_ptr, signature.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Verifies a signature over arbitrary signing inputs.\n * @param {SigningInputs} signing_inputs\n * @param {Signature} signature\n * @returns {boolean}\n */\n verifyData(signing_inputs, signature) {\n _assertClass(signing_inputs, SigningInputs);\n _assertClass(signature, Signature);\n const ret = wasm.publickey_verifyData(this.__wbg_ptr, signing_inputs.__wbg_ptr, signature.__wbg_ptr);\n return ret !== 0;\n }\n}\nif (Symbol.dispose) PublicKey.prototype[Symbol.dispose] = PublicKey.prototype.free;\n\n/**\n * RPC Client for interacting with Miden nodes directly.\n */\nexport class RpcClient {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n RpcClientFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_rpcclient_free(ptr, 0);\n }\n /**\n * Fetches account details for a specific account ID.\n * @param {AccountId} account_id\n * @returns {Promise<FetchedAccount>}\n */\n getAccountDetails(account_id) {\n _assertClass(account_id, AccountId);\n const ret = wasm.rpcclient_getAccountDetails(this.__wbg_ptr, account_id.__wbg_ptr);\n return ret;\n }\n /**\n * Fetches an account proof from the node.\n *\n * This is a lighter-weight alternative to `getAccountDetails` that makes a single RPC call\n * and returns the account proof and, for public accounts, the account header, storage slot\n * values, and account code without reconstructing the full account state.\n *\n * For private accounts, the proof is returned but account details will not be available\n * since they are not stored on-chain.\n *\n * Useful for reading storage slot values (e.g., faucet metadata) without the overhead of\n * fetching the complete account with all vault assets and storage map entries.\n * @param {AccountId} account_id\n * @returns {Promise<AccountProof>}\n */\n getAccountProof(account_id) {\n _assertClass(account_id, AccountId);\n const ret = wasm.rpcclient_getAccountProof(this.__wbg_ptr, account_id.__wbg_ptr);\n return ret;\n }\n /**\n * Fetches a block header by number. When `block_num` is undefined, returns the latest header.\n * @param {number | null} [block_num]\n * @returns {Promise<BlockHeader>}\n */\n getBlockHeaderByNumber(block_num) {\n const ret = wasm.rpcclient_getBlockHeaderByNumber(this.__wbg_ptr, isLikeNone(block_num) ? 0x100000001 : (block_num) >>> 0);\n return ret;\n }\n /**\n * Fetches a note script by its root hash from the connected Miden node.\n *\n * @param script_root - The root hash of the note script to fetch.\n * @returns Promise that resolves to the `NoteScript`.\n * @param {Word} script_root\n * @returns {Promise<NoteScript>}\n */\n getNoteScriptByRoot(script_root) {\n _assertClass(script_root, Word);\n const ret = wasm.rpcclient_getNoteScriptByRoot(this.__wbg_ptr, script_root.__wbg_ptr);\n return ret;\n }\n /**\n * Fetches notes by their IDs from the connected Miden node.\n *\n * @param note_ids - Array of [`NoteId`] objects to fetch\n * @returns Promise that resolves to different data depending on the note type:\n * - Private notes: Returns the `noteHeader`, and the `inclusionProof`. The `note` field will\n * be `null`.\n * - Public notes: Returns the full `note` with `inclusionProof`, alongside its header.\n * @param {NoteId[]} note_ids\n * @returns {Promise<FetchedNote[]>}\n */\n getNotesById(note_ids) {\n const ptr0 = passArrayJsValueToWasm0(note_ids, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.rpcclient_getNotesById(this.__wbg_ptr, ptr0, len0);\n return ret;\n }\n /**\n * Fetches the block height at which a nullifier was committed, if any.\n * @param {Word} nullifier\n * @param {number} block_num\n * @returns {Promise<number | undefined>}\n */\n getNullifierCommitHeight(nullifier, block_num) {\n _assertClass(nullifier, Word);\n const ret = wasm.rpcclient_getNullifierCommitHeight(this.__wbg_ptr, nullifier.__wbg_ptr, block_num);\n return ret;\n }\n /**\n * Creates a new RPC client instance.\n *\n * @param endpoint - Endpoint to connect to.\n * @param {Endpoint} endpoint\n */\n constructor(endpoint) {\n _assertClass(endpoint, Endpoint);\n var ptr0 = endpoint.__destroy_into_raw();\n const ret = wasm.rpcclient_new(ptr0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n this.__wbg_ptr = ret[0] >>> 0;\n RpcClientFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Fetches notes matching the provided tags from the node.\n * @param {number} block_num\n * @param {number | null | undefined} block_to\n * @param {NoteTag[]} note_tags\n * @returns {Promise<NoteSyncInfo>}\n */\n syncNotes(block_num, block_to, note_tags) {\n const ptr0 = passArrayJsValueToWasm0(note_tags, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.rpcclient_syncNotes(this.__wbg_ptr, block_num, isLikeNone(block_to) ? 0x100000001 : (block_to) >>> 0, ptr0, len0);\n return ret;\n }\n}\nif (Symbol.dispose) RpcClient.prototype[Symbol.dispose] = RpcClient.prototype.free;\n\n/**\n * RPO256 hashing helpers exposed to JavaScript.\n */\nexport class Rpo256 {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n Rpo256Finalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_rpo256_free(ptr, 0);\n }\n /**\n * Computes an RPO256 digest from the provided field elements.\n * @param {FeltArray} felt_array\n * @returns {Word}\n */\n static hashElements(felt_array) {\n _assertClass(felt_array, FeltArray);\n const ret = wasm.rpo256_hashElements(felt_array.__wbg_ptr);\n return Word.__wrap(ret);\n }\n}\nif (Symbol.dispose) Rpo256.prototype[Symbol.dispose] = Rpo256.prototype.free;\n\nexport class SerializedInputNoteData {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(SerializedInputNoteData.prototype);\n obj.__wbg_ptr = ptr;\n SerializedInputNoteDataFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof SerializedInputNoteData)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n SerializedInputNoteDataFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_serializedinputnotedata_free(ptr, 0);\n }\n /**\n * @returns {string}\n */\n get createdAt() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_serializedinputnotedata_createdAt(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * @returns {Uint8Array}\n */\n get inputs() {\n const ret = wasm.__wbg_get_serializedinputnotedata_inputs(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {Uint8Array}\n */\n get noteAssets() {\n const ret = wasm.__wbg_get_serializedinputnotedata_noteAssets(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {string}\n */\n get noteId() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_serializedinputnotedata_noteId(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * @returns {string}\n */\n get noteScriptRoot() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_serializedinputnotedata_noteScriptRoot(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * @returns {Uint8Array}\n */\n get noteScript() {\n const ret = wasm.__wbg_get_serializedinputnotedata_noteScript(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {string}\n */\n get nullifier() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_serializedinputnotedata_nullifier(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * @returns {Uint8Array}\n */\n get serialNumber() {\n const ret = wasm.__wbg_get_serializedinputnotedata_serialNumber(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {number}\n */\n get stateDiscriminant() {\n const ret = wasm.__wbg_get_serializedinputnotedata_stateDiscriminant(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint8Array}\n */\n get state() {\n const ret = wasm.__wbg_get_serializedinputnotedata_state(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @param {string} arg0\n */\n set createdAt(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_accountCommitment(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set inputs(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedinputnotedata_inputs(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set noteAssets(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedinputnotedata_noteAssets(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {string} arg0\n */\n set noteId(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_storageRoot(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {string} arg0\n */\n set noteScriptRoot(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedinputnotedata_noteScriptRoot(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set noteScript(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstatesyncupdate_blockHasRelevantNotes(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {string} arg0\n */\n set nullifier(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_codeRoot(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set serialNumber(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedinputnotedata_serialNumber(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number} arg0\n */\n set stateDiscriminant(arg0) {\n wasm.__wbg_set_serializedinputnotedata_stateDiscriminant(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set state(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedinputnotedata_state(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) SerializedInputNoteData.prototype[Symbol.dispose] = SerializedInputNoteData.prototype.free;\n\nexport class SerializedOutputNoteData {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(SerializedOutputNoteData.prototype);\n obj.__wbg_ptr = ptr;\n SerializedOutputNoteDataFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof SerializedOutputNoteData)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n SerializedOutputNoteDataFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_serializedoutputnotedata_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get expectedHeight() {\n const ret = wasm.__wbg_get_serializedoutputnotedata_expectedHeight(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {Uint8Array}\n */\n get metadata() {\n const ret = wasm.__wbg_get_serializedoutputnotedata_metadata(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {Uint8Array}\n */\n get noteAssets() {\n const ret = wasm.__wbg_get_serializedoutputnotedata_noteAssets(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {string}\n */\n get noteId() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_serializedoutputnotedata_noteId(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * @returns {string | undefined}\n */\n get nullifier() {\n const ret = wasm.__wbg_get_serializedoutputnotedata_nullifier(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @returns {string}\n */\n get recipientDigest() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_serializedoutputnotedata_recipientDigest(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * @returns {number}\n */\n get stateDiscriminant() {\n const ret = wasm.__wbg_get_serializedoutputnotedata_stateDiscriminant(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint8Array}\n */\n get state() {\n const ret = wasm.__wbg_get_serializedoutputnotedata_state(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @param {number} arg0\n */\n set expectedHeight(arg0) {\n wasm.__wbg_set_serializedoutputnotedata_expectedHeight(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set metadata(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedinputnotedata_inputs(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set noteAssets(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedinputnotedata_noteAssets(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {string} arg0\n */\n set noteId(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_storageRoot(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {string | null} [arg0]\n */\n set nullifier(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedoutputnotedata_nullifier(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {string} arg0\n */\n set recipientDigest(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsstoragemapentry_value(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number} arg0\n */\n set stateDiscriminant(arg0) {\n wasm.__wbg_set_serializedoutputnotedata_stateDiscriminant(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set state(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedoutputnotedata_state(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) SerializedOutputNoteData.prototype[Symbol.dispose] = SerializedOutputNoteData.prototype.free;\n\nexport class SerializedTransactionData {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(SerializedTransactionData.prototype);\n obj.__wbg_ptr = ptr;\n SerializedTransactionDataFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof SerializedTransactionData)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n SerializedTransactionDataFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_serializedtransactiondata_free(ptr, 0);\n }\n /**\n * @returns {number}\n */\n get blockNum() {\n const ret = wasm.__wbg_get_serializedtransactiondata_blockNum(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @returns {Uint8Array}\n */\n get details() {\n const ret = wasm.__wbg_get_serializedtransactiondata_details(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {string}\n */\n get id() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.__wbg_get_serializedtransactiondata_id(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * @returns {Uint8Array | undefined}\n */\n get scriptRoot() {\n const ret = wasm.__wbg_get_serializedtransactiondata_scriptRoot(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @returns {number}\n */\n get statusVariant() {\n const ret = wasm.__wbg_get_serializedtransactiondata_statusVariant(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Uint8Array}\n */\n get status() {\n const ret = wasm.__wbg_get_serializedtransactiondata_status(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * @returns {Uint8Array | undefined}\n */\n get txScript() {\n const ret = wasm.__wbg_get_serializedtransactiondata_txScript(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * @param {number} arg0\n */\n set blockNum(arg0) {\n wasm.__wbg_set_serializedtransactiondata_blockNum(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set details(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedinputnotedata_noteAssets(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {string} arg0\n */\n set id(arg0) {\n const ptr0 = passStringToWasm0(arg0, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_jsaccountupdate_storageRoot(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Uint8Array | null} [arg0]\n */\n set scriptRoot(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedtransactiondata_scriptRoot(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {number} arg0\n */\n set statusVariant(arg0) {\n wasm.__wbg_set_serializedtransactiondata_statusVariant(this.__wbg_ptr, arg0);\n }\n /**\n * @param {Uint8Array} arg0\n */\n set status(arg0) {\n const ptr0 = passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedinputnotedata_serialNumber(this.__wbg_ptr, ptr0, len0);\n }\n /**\n * @param {Uint8Array | null} [arg0]\n */\n set txScript(arg0) {\n var ptr0 = isLikeNone(arg0) ? 0 : passArray8ToWasm0(arg0, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n wasm.__wbg_set_serializedtransactiondata_txScript(this.__wbg_ptr, ptr0, len0);\n }\n}\nif (Symbol.dispose) SerializedTransactionData.prototype[Symbol.dispose] = SerializedTransactionData.prototype.free;\n\n/**\n * Cryptographic signature produced by supported auth schemes.\n */\nexport class Signature {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(Signature.prototype);\n obj.__wbg_ptr = ptr;\n SignatureFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n SignatureFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_signature_free(ptr, 0);\n }\n /**\n * Deserializes a signature from bytes.\n * @param {Uint8Array} bytes\n * @returns {Signature}\n */\n static deserialize(bytes) {\n const ret = wasm.signature_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Signature.__wrap(ret[0]);\n }\n /**\n * Serializes the signature into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.signature_serialize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Converts the signature to the prepared field elements expected by verifying code.\n * @param {Word} message\n * @returns {Felt[]}\n */\n toPreparedSignature(message) {\n _assertClass(message, Word);\n var ptr0 = message.__destroy_into_raw();\n const ret = wasm.signature_toPreparedSignature(this.__wbg_ptr, ptr0);\n var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v2;\n }\n}\nif (Symbol.dispose) Signature.prototype[Symbol.dispose] = Signature.prototype.free;\n\nexport class SigningInputs {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(SigningInputs.prototype);\n obj.__wbg_ptr = ptr;\n SigningInputsFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n SigningInputsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_signinginputs_free(ptr, 0);\n }\n /**\n * Returns the arbitrary payload as an array of felts.\n * @returns {FeltArray}\n */\n arbitraryPayload() {\n const ret = wasm.signinginputs_arbitraryPayload(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return FeltArray.__wrap(ret[0]);\n }\n /**\n * Returns the blind payload as a word.\n * @returns {Word}\n */\n blindPayload() {\n const ret = wasm.signinginputs_blindPayload(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Word.__wrap(ret[0]);\n }\n /**\n * Deserializes signing inputs from bytes.\n * @param {Uint8Array} bytes\n * @returns {SigningInputs}\n */\n static deserialize(bytes) {\n const ret = wasm.signinginputs_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return SigningInputs.__wrap(ret[0]);\n }\n /**\n * Creates signing inputs from arbitrary field elements.\n * @param {Felt[]} felts\n * @returns {SigningInputs}\n */\n static newArbitrary(felts) {\n const ptr0 = passArrayJsValueToWasm0(felts, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.signinginputs_newArbitrary(ptr0, len0);\n return SigningInputs.__wrap(ret);\n }\n /**\n * Creates blind signing inputs from a single word.\n * @param {Word} word\n * @returns {SigningInputs}\n */\n static newBlind(word) {\n _assertClass(word, Word);\n const ret = wasm.signinginputs_newBlind(word.__wbg_ptr);\n return SigningInputs.__wrap(ret);\n }\n /**\n * Creates signing inputs from a transaction summary.\n * @param {TransactionSummary} summary\n * @returns {SigningInputs}\n */\n static newTransactionSummary(summary) {\n _assertClass(summary, TransactionSummary);\n var ptr0 = summary.__destroy_into_raw();\n const ret = wasm.signinginputs_newTransactionSummary(ptr0);\n return SigningInputs.__wrap(ret);\n }\n /**\n * Serializes the signing inputs into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.signinginputs_serialize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the commitment to these signing inputs.\n * @returns {Word}\n */\n toCommitment() {\n const ret = wasm.signinginputs_toCommitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the inputs as field elements.\n * @returns {FeltArray}\n */\n toElements() {\n const ret = wasm.signinginputs_toElements(this.__wbg_ptr);\n return FeltArray.__wrap(ret);\n }\n /**\n * Returns the transaction summary payload if this variant contains one.\n * @returns {TransactionSummary}\n */\n transactionSummaryPayload() {\n const ret = wasm.signinginputs_transactionSummaryPayload(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionSummary.__wrap(ret[0]);\n }\n /**\n * Returns which variant these signing inputs represent.\n * @returns {SigningInputsType}\n */\n get variantType() {\n const ret = wasm.signinginputs_variantType(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) SigningInputs.prototype[Symbol.dispose] = SigningInputs.prototype.free;\n\n/**\n * @enum {0 | 1 | 2}\n */\nexport const SigningInputsType = Object.freeze({\n /**\n * Signing commitment over a transaction summary.\n */\n TransactionSummary: 0, \"0\": \"TransactionSummary\",\n /**\n * Arbitrary field elements supplied by caller.\n */\n Arbitrary: 1, \"1\": \"Arbitrary\",\n /**\n * Blind commitment derived from a single word.\n */\n Blind: 2, \"2\": \"Blind\",\n});\n\n/**\n * Storage slot index paired with map keys that must be present.\n */\nexport class SlotAndKeys {\n static __unwrap(jsValue) {\n if (!(jsValue instanceof SlotAndKeys)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n SlotAndKeysFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_slotandkeys_free(ptr, 0);\n }\n /**\n * Creates a new slot-and-keys entry.\n * @param {string} storage_slot_name\n * @param {Word[]} storage_map_keys\n */\n constructor(storage_slot_name, storage_map_keys) {\n const ptr0 = passStringToWasm0(storage_slot_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passArrayJsValueToWasm0(storage_map_keys, wasm.__wbindgen_malloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.slotandkeys_new(ptr0, len0, ptr1, len1);\n this.__wbg_ptr = ret >>> 0;\n SlotAndKeysFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the storage map keys required for this slot.\n * @returns {Word[]}\n */\n storage_map_keys() {\n const ret = wasm.slotandkeys_storage_map_keys(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns the slot name.\n * @returns {string}\n */\n storage_slot_name() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.slotandkeys_storage_slot_name(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n}\nif (Symbol.dispose) SlotAndKeys.prototype[Symbol.dispose] = SlotAndKeys.prototype.free;\n\n/**\n * Represents a sparse Merkle path.\n */\nexport class SparseMerklePath {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(SparseMerklePath.prototype);\n obj.__wbg_ptr = ptr;\n SparseMerklePathFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n SparseMerklePathFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_sparsemerklepath_free(ptr, 0);\n }\n /**\n * Returns the empty nodes mask used by this path.\n * @returns {bigint}\n */\n emptyNodesMask() {\n const ret = wasm.sparsemerklepath_emptyNodesMask(this.__wbg_ptr);\n return BigInt.asUintN(64, ret);\n }\n /**\n * Returns the sibling nodes that make up the path.\n * @returns {Word[]}\n */\n nodes() {\n const ret = wasm.sparsemerklepath_nodes(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Verifies the path against a root.\n * @param {bigint} index\n * @param {Word} node\n * @param {Word} root\n * @returns {boolean}\n */\n verify(index, node, root) {\n _assertClass(node, Word);\n _assertClass(root, Word);\n const ret = wasm.sparsemerklepath_verify(this.__wbg_ptr, index, node.__wbg_ptr, root.__wbg_ptr);\n return ret !== 0;\n }\n}\nif (Symbol.dispose) SparseMerklePath.prototype[Symbol.dispose] = SparseMerklePath.prototype.free;\n\n/**\n * An account storage map is a sparse merkle tree of depth 64.\n *\n * It can be used to store a large amount of data in an account than would be otherwise possible\n * using just the account's storage slots. This works by storing the root of the map's underlying\n * SMT in one account storage slot. Each map entry is a leaf in the tree and its inclusion is\n * proven while retrieving it (e.g. via `AccountStorage::get_map_item`).\n *\n * As a side-effect, this also means that _not all_ entries of the map have to be present at\n * transaction execution time in order to access or modify the map. It is sufficient if _just_ the\n * accessed/modified items are present in the advice provider.\n *\n * Because the keys of the map are user-chosen and thus not necessarily uniformly distributed, the\n * tree could be imbalanced and made less efficient. To mitigate that, the keys used in the storage\n * map are hashed before they are inserted into the SMT, which creates a uniform distribution. The\n * original keys are retained in a separate map. This causes redundancy but allows for\n * introspection of the map, e.g. by querying the set of stored (original) keys which is useful in\n * debugging and explorer scenarios.\n */\nexport class StorageMap {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n StorageMapFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_storagemap_free(ptr, 0);\n }\n /**\n * Inserts a key/value pair, returning any previous value.\n * @param {Word} key\n * @param {Word} value\n * @returns {Word}\n */\n insert(key, value) {\n _assertClass(key, Word);\n _assertClass(value, Word);\n const ret = wasm.storagemap_insert(this.__wbg_ptr, key.__wbg_ptr, value.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Creates an empty storage map.\n */\n constructor() {\n const ret = wasm.storagemap_new();\n this.__wbg_ptr = ret >>> 0;\n StorageMapFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n}\nif (Symbol.dispose) StorageMap.prototype[Symbol.dispose] = StorageMap.prototype.free;\n\n/**\n * A single storage slot value or map for an account component.\n */\nexport class StorageSlot {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(StorageSlot.prototype);\n obj.__wbg_ptr = ptr;\n StorageSlotFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof StorageSlot)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n StorageSlotFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_storageslot_free(ptr, 0);\n }\n /**\n * Returns an empty value slot (zeroed).\n * @param {string} name\n * @returns {StorageSlot}\n */\n static emptyValue(name) {\n const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.storageslot_emptyValue(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return StorageSlot.__wrap(ret[0]);\n }\n /**\n * Creates a storage slot holding a single value.\n * @param {string} name\n * @param {Word} value\n * @returns {StorageSlot}\n */\n static fromValue(name, value) {\n const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n _assertClass(value, Word);\n const ret = wasm.storageslot_fromValue(ptr0, len0, value.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return StorageSlot.__wrap(ret[0]);\n }\n /**\n * Creates a storage slot backed by a map.\n * @param {string} name\n * @param {StorageMap} storage_map\n * @returns {StorageSlot}\n */\n static map(name, storage_map) {\n const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n _assertClass(storage_map, StorageMap);\n const ret = wasm.storageslot_map(ptr0, len0, storage_map.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return StorageSlot.__wrap(ret[0]);\n }\n}\nif (Symbol.dispose) StorageSlot.prototype[Symbol.dispose] = StorageSlot.prototype.free;\n\nexport class StorageSlotArray {\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n StorageSlotArrayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_storageslotarray_free(ptr, 0);\n }\n /**\n * Get element at index, will always return a clone to avoid aliasing issues.\n * @param {number} index\n * @returns {StorageSlot}\n */\n get(index) {\n const ret = wasm.storageslotarray_get(this.__wbg_ptr, index);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return StorageSlot.__wrap(ret[0]);\n }\n /**\n * @returns {number}\n */\n length() {\n const ret = wasm.storageslotarray_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {StorageSlot[] | null} [elements]\n */\n constructor(elements) {\n var ptr0 = isLikeNone(elements) ? 0 : passArrayJsValueToWasm0(elements, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.storageslotarray_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n StorageSlotArrayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {StorageSlot} element\n */\n push(element) {\n _assertClass(element, StorageSlot);\n wasm.storageslotarray_push(this.__wbg_ptr, element.__wbg_ptr);\n }\n /**\n * @param {number} index\n * @param {StorageSlot} elem\n */\n replaceAt(index, elem) {\n _assertClass(elem, StorageSlot);\n var ptr0 = elem.__destroy_into_raw();\n const ret = wasm.storageslotarray_replaceAt(this.__wbg_ptr, index, ptr0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) StorageSlotArray.prototype[Symbol.dispose] = StorageSlotArray.prototype.free;\n\n/**\n * Contains stats about the sync operation.\n */\nexport class SyncSummary {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(SyncSummary.prototype);\n obj.__wbg_ptr = ptr;\n SyncSummaryFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n SyncSummaryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_syncsummary_free(ptr, 0);\n }\n /**\n * Returns the block height the summary is based on.\n * @returns {number}\n */\n blockNum() {\n const ret = wasm.syncsummary_blockNum(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns IDs of notes committed in this sync window.\n * @returns {NoteId[]}\n */\n committedNotes() {\n const ret = wasm.syncsummary_committedNotes(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns transactions that were committed.\n * @returns {TransactionId[]}\n */\n committedTransactions() {\n const ret = wasm.syncsummary_committedTransactions(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns IDs of notes that were consumed.\n * @returns {NoteId[]}\n */\n consumedNotes() {\n const ret = wasm.syncsummary_consumedNotes(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Deserializes a sync summary from bytes.\n * @param {Uint8Array} bytes\n * @returns {SyncSummary}\n */\n static deserialize(bytes) {\n const ret = wasm.syncsummary_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return SyncSummary.__wrap(ret[0]);\n }\n /**\n * Serializes the sync summary into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.syncsummary_serialize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns accounts that were updated.\n * @returns {AccountId[]}\n */\n updatedAccounts() {\n const ret = wasm.syncsummary_updatedAccounts(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n}\nif (Symbol.dispose) SyncSummary.prototype[Symbol.dispose] = SyncSummary.prototype.free;\n\nexport class TestUtils {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TestUtilsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_testutils_free(ptr, 0);\n }\n /**\n * @returns {AccountId}\n */\n static createMockAccountId() {\n const ret = wasm.testutils_createMockAccountId();\n return AccountId.__wrap(ret);\n }\n /**\n * @returns {Uint8Array}\n */\n static createMockSerializedLibraryPackage() {\n const ret = wasm.testutils_createMockSerializedLibraryPackage();\n return ret;\n }\n /**\n * @returns {Uint8Array}\n */\n static createMockSerializedProgramPackage() {\n const ret = wasm.testutils_createMockSerializedProgramPackage();\n return ret;\n }\n}\nif (Symbol.dispose) TestUtils.prototype[Symbol.dispose] = TestUtils.prototype.free;\n\n/**\n * Represents a string token symbol (e.g. \"POL\", \"ETH\") as a single {@link Felt | `Felt`} value.\n *\n * Token Symbols can consists of up to 6 capital Latin characters, e.g. \"C\", \"ETH\", \"MIDENC\".\n */\nexport class TokenSymbol {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TokenSymbol.prototype);\n obj.__wbg_ptr = ptr;\n TokenSymbolFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TokenSymbolFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_tokensymbol_free(ptr, 0);\n }\n /**\n * Creates a token symbol from a string.\n * @param {string} symbol\n */\n constructor(symbol) {\n const ptr0 = passStringToWasm0(symbol, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.tokensymbol_new(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n this.__wbg_ptr = ret[0] >>> 0;\n TokenSymbolFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the validated symbol string.\n * @returns {string}\n */\n toString() {\n let deferred2_0;\n let deferred2_1;\n try {\n const ret = wasm.tokensymbol_toString(this.__wbg_ptr);\n var ptr1 = ret[0];\n var len1 = ret[1];\n if (ret[3]) {\n ptr1 = 0; len1 = 0;\n throw takeFromExternrefTable0(ret[2]);\n }\n deferred2_0 = ptr1;\n deferred2_1 = len1;\n return getStringFromWasm0(ptr1, len1);\n } finally {\n wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);\n }\n }\n}\nif (Symbol.dispose) TokenSymbol.prototype[Symbol.dispose] = TokenSymbol.prototype.free;\n\n/**\n * Optional transaction arguments.\n *\n * - Transaction script: a program that is executed in a transaction after all input notes scripts\n * have been executed.\n * - Note arguments: data put onto the stack right before a note script is executed. These are\n * different from note inputs, as the user executing the transaction can specify arbitrary note\n * args.\n * - Advice inputs: Provides data needed by the runtime, like the details of public output notes.\n * - Account inputs: Provides account data that will be accessed in the transaction.\n */\nexport class TransactionArgs {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionArgs.prototype);\n obj.__wbg_ptr = ptr;\n TransactionArgsFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionArgsFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionargs_free(ptr, 0);\n }\n /**\n * Returns advice inputs attached to the transaction.\n * @returns {AdviceInputs}\n */\n adviceInputs() {\n const ret = wasm.transactionargs_adviceInputs(this.__wbg_ptr);\n return AdviceInputs.__wrap(ret);\n }\n /**\n * Returns note-specific arguments for the given note ID.\n * @param {NoteId} note_id\n * @returns {Word | undefined}\n */\n getNoteArgs(note_id) {\n _assertClass(note_id, NoteId);\n const ret = wasm.transactionargs_getNoteArgs(this.__wbg_ptr, note_id.__wbg_ptr);\n return ret === 0 ? undefined : Word.__wrap(ret);\n }\n /**\n * Returns the transaction script if provided.\n * @returns {TransactionScript | undefined}\n */\n txScript() {\n const ret = wasm.transactionargs_txScript(this.__wbg_ptr);\n return ret === 0 ? undefined : TransactionScript.__wrap(ret);\n }\n}\nif (Symbol.dispose) TransactionArgs.prototype[Symbol.dispose] = TransactionArgs.prototype.free;\n\n/**\n * Filter used when querying stored transactions.\n */\nexport class TransactionFilter {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionFilter.prototype);\n obj.__wbg_ptr = ptr;\n TransactionFilterFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionFilterFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionfilter_free(ptr, 0);\n }\n /**\n * Matches all transactions.\n * @returns {TransactionFilter}\n */\n static all() {\n const ret = wasm.transactionfilter_all();\n return TransactionFilter.__wrap(ret);\n }\n /**\n * Matches transactions that expired before the given block number.\n * @param {number} block_num\n * @returns {TransactionFilter}\n */\n static expiredBefore(block_num) {\n const ret = wasm.transactionfilter_expiredBefore(block_num);\n return TransactionFilter.__wrap(ret);\n }\n /**\n * Matches specific transaction IDs.\n * @param {TransactionId[]} ids\n * @returns {TransactionFilter}\n */\n static ids(ids) {\n const ptr0 = passArrayJsValueToWasm0(ids, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.transactionfilter_ids(ptr0, len0);\n return TransactionFilter.__wrap(ret);\n }\n /**\n * Matches transactions that are not yet committed.\n * @returns {TransactionFilter}\n */\n static uncommitted() {\n const ret = wasm.transactionfilter_uncommitted();\n return TransactionFilter.__wrap(ret);\n }\n}\nif (Symbol.dispose) TransactionFilter.prototype[Symbol.dispose] = TransactionFilter.prototype.free;\n\n/**\n * A unique identifier of a transaction.\n *\n * Transaction ID is computed as a hash of the initial and final account commitments together with\n * the commitments of the input and output notes.\n *\n * This achieves the following properties:\n * - Transactions are identical if and only if they have the same ID.\n * - Computing transaction ID can be done solely from public transaction data.\n */\nexport class TransactionId {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionId.prototype);\n obj.__wbg_ptr = ptr;\n TransactionIdFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof TransactionId)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionIdFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionid_free(ptr, 0);\n }\n /**\n * Returns the transaction ID as raw bytes.\n * @returns {Uint8Array}\n */\n asBytes() {\n const ret = wasm.transactionid_asBytes(this.__wbg_ptr);\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * Returns the transaction ID as field elements.\n * @returns {Felt[]}\n */\n asElements() {\n const ret = wasm.transactionid_asElements(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Creates a `TransactionId` from a hex string.\n *\n * Fails if the provided string is not a valid hex representation of a `TransactionId`.\n * @param {string} hex\n * @returns {TransactionId}\n */\n static fromHex(hex) {\n const ptr0 = passStringToWasm0(hex, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.transactionid_fromHex(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionId.__wrap(ret[0]);\n }\n /**\n * Returns the underlying word representation.\n * @returns {Word}\n */\n inner() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the hexadecimal encoding of the transaction ID.\n * @returns {string}\n */\n toHex() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.transactionid_toHex(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n}\nif (Symbol.dispose) TransactionId.prototype[Symbol.dispose] = TransactionId.prototype.free;\n\n/**\n * Wrapper over local or remote transaction proving backends.\n */\nexport class TransactionProver {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionProver.prototype);\n obj.__wbg_ptr = ptr;\n TransactionProverFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionProverFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionprover_free(ptr, 0);\n }\n /**\n * Reconstructs a prover from its serialized descriptor.\n *\n * Parses the format produced by `serialize()`:\n * - `\"local\"` for local prover\n * - `\"remote|{endpoint}\"` for remote prover without timeout\n * - `\"remote|{endpoint}|{timeout_ms}\"` for remote prover with timeout\n * @param {string} payload\n * @returns {TransactionProver}\n */\n static deserialize(payload) {\n const ptr0 = passStringToWasm0(payload, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.transactionprover_deserialize(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionProver.__wrap(ret[0]);\n }\n /**\n * Returns the endpoint if this is a remote prover.\n * @returns {string | undefined}\n */\n endpoint() {\n const ret = wasm.transactionprover_endpoint(this.__wbg_ptr);\n let v1;\n if (ret[0] !== 0) {\n v1 = getStringFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n }\n return v1;\n }\n /**\n * Creates a prover that uses the local proving backend.\n * @returns {TransactionProver}\n */\n static newLocalProver() {\n const ret = wasm.transactionprover_newLocalProver();\n return TransactionProver.__wrap(ret);\n }\n /**\n * Creates a new remote transaction prover.\n *\n * Arguments:\n * - `endpoint`: The URL of the remote prover.\n * - `timeout_ms`: The timeout in milliseconds for the remote prover.\n * @param {string} endpoint\n * @param {bigint | null} [timeout_ms]\n * @returns {TransactionProver}\n */\n static newRemoteProver(endpoint, timeout_ms) {\n const ptr0 = passStringToWasm0(endpoint, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.transactionprover_newRemoteProver(ptr0, len0, !isLikeNone(timeout_ms), isLikeNone(timeout_ms) ? BigInt(0) : timeout_ms);\n return TransactionProver.__wrap(ret);\n }\n /**\n * Serializes the prover configuration into a string descriptor.\n *\n * Format:\n * - `\"local\"` for local prover\n * - `\"remote|{endpoint}\"` for remote prover without timeout\n * - `\"remote|{endpoint}|{timeout_ms}\"` for remote prover with timeout\n *\n * Uses `|` as delimiter since it's not a valid URL character.\n * @returns {string}\n */\n serialize() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.transactionprover_serialize(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n}\nif (Symbol.dispose) TransactionProver.prototype[Symbol.dispose] = TransactionProver.prototype.free;\n\n/**\n * Describes a transaction that has been executed and is being tracked on the Client.\n */\nexport class TransactionRecord {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionRecord.prototype);\n obj.__wbg_ptr = ptr;\n TransactionRecordFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionRecordFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionrecord_free(ptr, 0);\n }\n /**\n * Returns the account this transaction was executed against.\n * @returns {AccountId}\n */\n accountId() {\n const ret = wasm.transactionrecord_accountId(this.__wbg_ptr);\n return AccountId.__wrap(ret);\n }\n /**\n * Returns the block height in which the transaction was included.\n * @returns {number}\n */\n blockNum() {\n const ret = wasm.transactionrecord_blockNum(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns the timestamp when the record was created.\n * @returns {bigint}\n */\n creationTimestamp() {\n const ret = wasm.transactionrecord_creationTimestamp(this.__wbg_ptr);\n return BigInt.asUintN(64, ret);\n }\n /**\n * Returns the expiration block height for the transaction.\n * @returns {number}\n */\n expirationBlockNum() {\n const ret = wasm.transactionrecord_expirationBlockNum(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns the final account state commitment after execution.\n * @returns {Word}\n */\n finalAccountState() {\n const ret = wasm.transactionrecord_finalAccountState(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the transaction ID.\n * @returns {TransactionId}\n */\n id() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return TransactionId.__wrap(ret);\n }\n /**\n * Returns the initial account state commitment before execution.\n * @returns {Word}\n */\n initAccountState() {\n const ret = wasm.transactionrecord_initAccountState(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n /**\n * Returns the nullifiers of the consumed input notes.\n * @returns {Word[]}\n */\n inputNoteNullifiers() {\n const ret = wasm.transactionrecord_inputNoteNullifiers(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns the output notes created by this transaction.\n * @returns {OutputNotes}\n */\n outputNotes() {\n const ret = wasm.transactionrecord_outputNotes(this.__wbg_ptr);\n return OutputNotes.__wrap(ret);\n }\n /**\n * Returns the block height at which the transaction was submitted.\n * @returns {number}\n */\n submissionHeight() {\n const ret = wasm.transactionrecord_submissionHeight(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * Returns the current status of the transaction.\n * @returns {TransactionStatus}\n */\n transactionStatus() {\n const ret = wasm.transactionrecord_transactionStatus(this.__wbg_ptr);\n return TransactionStatus.__wrap(ret);\n }\n}\nif (Symbol.dispose) TransactionRecord.prototype[Symbol.dispose] = TransactionRecord.prototype.free;\n\n/**\n * Specifies a transaction request that can be executed by an account.\n *\n * A request contains information about input notes to be consumed by the transaction (if any),\n * description of the transaction script to be executed (if any), and a set of notes expected to be\n * generated by the transaction or by consuming notes generated by the transaction.\n */\nexport class TransactionRequest {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionRequest.prototype);\n obj.__wbg_ptr = ptr;\n TransactionRequestFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionRequestFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionrequest_free(ptr, 0);\n }\n /**\n * Returns the authentication argument if present.\n * @returns {Word | undefined}\n */\n authArg() {\n const ret = wasm.transactionrequest_authArg(this.__wbg_ptr);\n return ret === 0 ? undefined : Word.__wrap(ret);\n }\n /**\n * Deserializes a transaction request from bytes.\n * @param {Uint8Array} bytes\n * @returns {TransactionRequest}\n */\n static deserialize(bytes) {\n const ret = wasm.transactionrequest_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionRequest.__wrap(ret[0]);\n }\n /**\n * Returns notes expected to be created in subsequent executions.\n * @returns {NoteDetailsAndTag[]}\n */\n expectedFutureNotes() {\n const ret = wasm.transactionrequest_expectedFutureNotes(this.__wbg_ptr);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns output notes created by the sender account.\n * @returns {Note[]}\n */\n expectedOutputOwnNotes() {\n const ret = wasm.transactionrequest_expectedOutputOwnNotes(this.__wbg_ptr);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns the transaction script argument if present.\n * @returns {Word | undefined}\n */\n scriptArg() {\n const ret = wasm.transactionrequest_scriptArg(this.__wbg_ptr);\n return ret === 0 ? undefined : Word.__wrap(ret);\n }\n /**\n * Serializes the transaction request into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.transactionrequest_serialize(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) TransactionRequest.prototype[Symbol.dispose] = TransactionRequest.prototype.free;\n\n/**\n * A builder for a `TransactionRequest`.\n *\n * Use this builder to construct a `TransactionRequest` by adding input notes, specifying\n * scripts, and setting other transaction parameters.\n */\nexport class TransactionRequestBuilder {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionRequestBuilder.prototype);\n obj.__wbg_ptr = ptr;\n TransactionRequestBuilderFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionRequestBuilderFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionrequestbuilder_free(ptr, 0);\n }\n /**\n * Finalizes the builder into a `TransactionRequest`.\n * @returns {TransactionRequest}\n */\n build() {\n const ptr = this.__destroy_into_raw();\n const ret = wasm.transactionrequestbuilder_build(ptr);\n return TransactionRequest.__wrap(ret);\n }\n /**\n * Merges an advice map to be available during script execution.\n * @param {AdviceMap} advice_map\n * @returns {TransactionRequestBuilder}\n */\n extendAdviceMap(advice_map) {\n const ptr = this.__destroy_into_raw();\n _assertClass(advice_map, AdviceMap);\n const ret = wasm.transactionrequestbuilder_extendAdviceMap(ptr, advice_map.__wbg_ptr);\n return TransactionRequestBuilder.__wrap(ret);\n }\n /**\n * Creates a new empty transaction request builder.\n */\n constructor() {\n const ret = wasm.transactionrequestbuilder_new();\n this.__wbg_ptr = ret >>> 0;\n TransactionRequestBuilderFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Adds an authentication argument.\n * @param {Word} auth_arg\n * @returns {TransactionRequestBuilder}\n */\n withAuthArg(auth_arg) {\n const ptr = this.__destroy_into_raw();\n _assertClass(auth_arg, Word);\n const ret = wasm.transactionrequestbuilder_withAuthArg(ptr, auth_arg.__wbg_ptr);\n return TransactionRequestBuilder.__wrap(ret);\n }\n /**\n * Attaches a custom transaction script.\n * @param {TransactionScript} script\n * @returns {TransactionRequestBuilder}\n */\n withCustomScript(script) {\n const ptr = this.__destroy_into_raw();\n _assertClass(script, TransactionScript);\n const ret = wasm.transactionrequestbuilder_withCustomScript(ptr, script.__wbg_ptr);\n return TransactionRequestBuilder.__wrap(ret);\n }\n /**\n * Declares notes expected to be created in follow-up executions.\n * @param {NoteDetailsAndTagArray} note_details_and_tag\n * @returns {TransactionRequestBuilder}\n */\n withExpectedFutureNotes(note_details_and_tag) {\n const ptr = this.__destroy_into_raw();\n _assertClass(note_details_and_tag, NoteDetailsAndTagArray);\n const ret = wasm.transactionrequestbuilder_withExpectedFutureNotes(ptr, note_details_and_tag.__wbg_ptr);\n return TransactionRequestBuilder.__wrap(ret);\n }\n /**\n * Declares expected output recipients (used for verification).\n * @param {NoteRecipientArray} recipients\n * @returns {TransactionRequestBuilder}\n */\n withExpectedOutputRecipients(recipients) {\n const ptr = this.__destroy_into_raw();\n _assertClass(recipients, NoteRecipientArray);\n const ret = wasm.transactionrequestbuilder_withExpectedOutputRecipients(ptr, recipients.__wbg_ptr);\n return TransactionRequestBuilder.__wrap(ret);\n }\n /**\n * Registers foreign accounts referenced by the transaction.\n * @param {ForeignAccountArray} foreign_accounts\n * @returns {TransactionRequestBuilder}\n */\n withForeignAccounts(foreign_accounts) {\n const ptr = this.__destroy_into_raw();\n _assertClass(foreign_accounts, ForeignAccountArray);\n const ret = wasm.transactionrequestbuilder_withForeignAccounts(ptr, foreign_accounts.__wbg_ptr);\n return TransactionRequestBuilder.__wrap(ret);\n }\n /**\n * Adds input notes with optional arguments.\n * @param {NoteAndArgsArray} notes\n * @returns {TransactionRequestBuilder}\n */\n withInputNotes(notes) {\n const ptr = this.__destroy_into_raw();\n _assertClass(notes, NoteAndArgsArray);\n const ret = wasm.transactionrequestbuilder_withInputNotes(ptr, notes.__wbg_ptr);\n return TransactionRequestBuilder.__wrap(ret);\n }\n /**\n * Adds notes created by the sender that should be emitted by the transaction.\n * @param {OutputNoteArray} notes\n * @returns {TransactionRequestBuilder}\n */\n withOwnOutputNotes(notes) {\n const ptr = this.__destroy_into_raw();\n _assertClass(notes, OutputNoteArray);\n const ret = wasm.transactionrequestbuilder_withOwnOutputNotes(ptr, notes.__wbg_ptr);\n return TransactionRequestBuilder.__wrap(ret);\n }\n /**\n * Adds a transaction script argument.\n * @param {Word} script_arg\n * @returns {TransactionRequestBuilder}\n */\n withScriptArg(script_arg) {\n const ptr = this.__destroy_into_raw();\n _assertClass(script_arg, Word);\n const ret = wasm.transactionrequestbuilder_withScriptArg(ptr, script_arg.__wbg_ptr);\n return TransactionRequestBuilder.__wrap(ret);\n }\n}\nif (Symbol.dispose) TransactionRequestBuilder.prototype[Symbol.dispose] = TransactionRequestBuilder.prototype.free;\n\n/**\n * Represents the result of executing a transaction by the client.\n *\n * It contains an `ExecutedTransaction`, and a list of `future_notes`\n * that we expect to receive in the future (you can check at swap notes for an example of this).\n */\nexport class TransactionResult {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionResult.prototype);\n obj.__wbg_ptr = ptr;\n TransactionResultFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionResultFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionresult_free(ptr, 0);\n }\n /**\n * Deserializes a transaction result from bytes.\n * @param {Uint8Array} bytes\n * @returns {TransactionResult}\n */\n static deserialize(bytes) {\n const ret = wasm.transactionresult_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionResult.__wrap(ret[0]);\n }\n /**\n * Returns the executed transaction.\n * @returns {ExecutedTransaction}\n */\n executedTransaction() {\n const ret = wasm.transactionresult_executedTransaction(this.__wbg_ptr);\n return ExecutedTransaction.__wrap(ret);\n }\n /**\n * Returns notes that are expected to be created as a result of follow-up executions.\n * @returns {NoteDetailsAndTag[]}\n */\n futureNotes() {\n const ret = wasm.transactionresult_futureNotes(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns the ID of the transaction.\n * @returns {TransactionId}\n */\n id() {\n const ret = wasm.executedtransaction_id(this.__wbg_ptr);\n return TransactionId.__wrap(ret);\n }\n /**\n * Serializes the transaction result into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.transactionresult_serialize(this.__wbg_ptr);\n return ret;\n }\n}\nif (Symbol.dispose) TransactionResult.prototype[Symbol.dispose] = TransactionResult.prototype.free;\n\n/**\n * A transaction script is a program that is executed in a transaction after all input notes have\n * been executed.\n *\n * The `TransactionScript` object is composed of:\n * - An executable program defined by a MAST forest and an associated entrypoint.\n * - A set of transaction script inputs defined by a map of key-value inputs that are loaded into\n * the advice inputs' map such that the transaction script can access them.\n */\nexport class TransactionScript {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionScript.prototype);\n obj.__wbg_ptr = ptr;\n TransactionScriptFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionScriptFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionscript_free(ptr, 0);\n }\n /**\n * Creates a `NoteScript` from the given `Package`.\n * Throws if the package is invalid.\n * @param {Package} _package\n * @returns {TransactionScript}\n */\n static fromPackage(_package) {\n _assertClass(_package, Package);\n const ret = wasm.transactionscript_fromPackage(_package.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionScript.__wrap(ret[0]);\n }\n /**\n * Returns the MAST root commitment of the transaction script.\n * @returns {Word}\n */\n root() {\n const ret = wasm.transactionscript_root(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n}\nif (Symbol.dispose) TransactionScript.prototype[Symbol.dispose] = TransactionScript.prototype.free;\n\n/**\n * A script argument represented as a word plus additional felts.\n */\nexport class TransactionScriptInputPair {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionScriptInputPair.prototype);\n obj.__wbg_ptr = ptr;\n TransactionScriptInputPairFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof TransactionScriptInputPair)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionScriptInputPairFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionscriptinputpair_free(ptr, 0);\n }\n /**\n * Returns the remaining felts for the input.\n * @returns {FeltArray}\n */\n felts() {\n const ret = wasm.transactionscriptinputpair_felts(this.__wbg_ptr);\n return FeltArray.__wrap(ret);\n }\n /**\n * Creates a new script input pair.\n * @param {Word} word\n * @param {FeltArray} felts\n */\n constructor(word, felts) {\n _assertClass(word, Word);\n var ptr0 = word.__destroy_into_raw();\n _assertClass(felts, FeltArray);\n const ret = wasm.transactionscriptinputpair_new(ptr0, felts.__wbg_ptr);\n this.__wbg_ptr = ret >>> 0;\n TransactionScriptInputPairFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Returns the word part of the input.\n * @returns {Word}\n */\n word() {\n const ret = wasm.accountcode_commitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n}\nif (Symbol.dispose) TransactionScriptInputPair.prototype[Symbol.dispose] = TransactionScriptInputPair.prototype.free;\n\nexport class TransactionScriptInputPairArray {\n toJSON() {\n return {\n };\n }\n toString() {\n return JSON.stringify(this);\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionScriptInputPairArrayFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionscriptinputpairarray_free(ptr, 0);\n }\n /**\n * Get element at index, will always return a clone to avoid aliasing issues.\n * @param {number} index\n * @returns {TransactionScriptInputPair}\n */\n get(index) {\n const ret = wasm.transactionscriptinputpairarray_get(this.__wbg_ptr, index);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionScriptInputPair.__wrap(ret[0]);\n }\n /**\n * @returns {number}\n */\n length() {\n const ret = wasm.outputnotesarray_length(this.__wbg_ptr);\n return ret >>> 0;\n }\n /**\n * @param {TransactionScriptInputPair[] | null} [elements]\n */\n constructor(elements) {\n var ptr0 = isLikeNone(elements) ? 0 : passArrayJsValueToWasm0(elements, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.transactionscriptinputpairarray_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n TransactionScriptInputPairArrayFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {TransactionScriptInputPair} element\n */\n push(element) {\n _assertClass(element, TransactionScriptInputPair);\n wasm.transactionscriptinputpairarray_push(this.__wbg_ptr, element.__wbg_ptr);\n }\n /**\n * @param {number} index\n * @param {TransactionScriptInputPair} elem\n */\n replaceAt(index, elem) {\n _assertClass(elem, TransactionScriptInputPair);\n var ptr0 = elem.__destroy_into_raw();\n const ret = wasm.transactionscriptinputpairarray_replaceAt(this.__wbg_ptr, index, ptr0);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n}\nif (Symbol.dispose) TransactionScriptInputPairArray.prototype[Symbol.dispose] = TransactionScriptInputPairArray.prototype.free;\n\n/**\n * Status of a transaction in the node or store.\n */\nexport class TransactionStatus {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionStatus.prototype);\n obj.__wbg_ptr = ptr;\n TransactionStatusFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionStatusFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionstatus_free(ptr, 0);\n }\n /**\n * Creates a committed status with block number and timestamp.\n * @param {number} block_num\n * @param {bigint} commit_timestamp\n * @returns {TransactionStatus}\n */\n static committed(block_num, commit_timestamp) {\n const ret = wasm.transactionstatus_committed(block_num, commit_timestamp);\n return TransactionStatus.__wrap(ret);\n }\n /**\n * Creates a discarded status from a discard cause string.\n * @param {string} cause\n * @returns {TransactionStatus}\n */\n static discarded(cause) {\n const ptr0 = passStringToWasm0(cause, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.transactionstatus_discarded(ptr0, len0);\n return TransactionStatus.__wrap(ret);\n }\n /**\n * Returns the block number if the transaction was committed.\n * @returns {number | undefined}\n */\n getBlockNum() {\n const ret = wasm.transactionstatus_getBlockNum(this.__wbg_ptr);\n return ret === 0x100000001 ? undefined : ret;\n }\n /**\n * Returns the commit timestamp if the transaction was committed.\n * @returns {bigint | undefined}\n */\n getCommitTimestamp() {\n const ret = wasm.transactionstatus_getCommitTimestamp(this.__wbg_ptr);\n return ret[0] === 0 ? undefined : BigInt.asUintN(64, ret[1]);\n }\n /**\n * Returns true if the transaction has been committed.\n * @returns {boolean}\n */\n isCommitted() {\n const ret = wasm.transactionstatus_isCommitted(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the transaction was discarded.\n * @returns {boolean}\n */\n isDiscarded() {\n const ret = wasm.transactionstatus_isDiscarded(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Returns true if the transaction is still pending.\n * @returns {boolean}\n */\n isPending() {\n const ret = wasm.transactionstatus_isPending(this.__wbg_ptr);\n return ret !== 0;\n }\n /**\n * Creates a pending transaction status.\n * @returns {TransactionStatus}\n */\n static pending() {\n const ret = wasm.transactionstatus_pending();\n return TransactionStatus.__wrap(ret);\n }\n}\nif (Symbol.dispose) TransactionStatus.prototype[Symbol.dispose] = TransactionStatus.prototype.free;\n\n/**\n * Represents the changes that need to be applied to the client store as a result of a transaction\n * execution.\n */\nexport class TransactionStoreUpdate {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionStoreUpdate.prototype);\n obj.__wbg_ptr = ptr;\n TransactionStoreUpdateFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionStoreUpdateFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionstoreupdate_free(ptr, 0);\n }\n /**\n * Returns the account delta applied by the transaction.\n * @returns {AccountDelta}\n */\n accountDelta() {\n const ret = wasm.transactionstoreupdate_accountDelta(this.__wbg_ptr);\n return AccountDelta.__wrap(ret);\n }\n /**\n * Returns the notes created by the transaction.\n * @returns {OutputNotes}\n */\n createdNotes() {\n const ret = wasm.transactionstoreupdate_createdNotes(this.__wbg_ptr);\n return OutputNotes.__wrap(ret);\n }\n /**\n * Deserializes an update from bytes.\n * @param {Uint8Array} bytes\n * @returns {TransactionStoreUpdate}\n */\n static deserialize(bytes) {\n const ret = wasm.transactionstoreupdate_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionStoreUpdate.__wrap(ret[0]);\n }\n /**\n * Returns the executed transaction associated with this update.\n * @returns {ExecutedTransaction}\n */\n executedTransaction() {\n const ret = wasm.transactionstoreupdate_executedTransaction(this.__wbg_ptr);\n return ExecutedTransaction.__wrap(ret);\n }\n /**\n * Returns notes expected to be created in follow-up executions.\n * @returns {NoteDetailsAndTag[]}\n */\n futureNotes() {\n const ret = wasm.transactionstoreupdate_futureNotes(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Serializes the update into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.transactionstoreupdate_serialize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the block height at which the transaction was submitted.\n * @returns {number}\n */\n submissionHeight() {\n const ret = wasm.transactionstoreupdate_submissionHeight(this.__wbg_ptr);\n return ret >>> 0;\n }\n}\nif (Symbol.dispose) TransactionStoreUpdate.prototype[Symbol.dispose] = TransactionStoreUpdate.prototype.free;\n\n/**\n * Represents a transaction summary.\n */\nexport class TransactionSummary {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(TransactionSummary.prototype);\n obj.__wbg_ptr = ptr;\n TransactionSummaryFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n TransactionSummaryFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_transactionsummary_free(ptr, 0);\n }\n /**\n * Returns the account delta described by the summary.\n * @returns {AccountDelta}\n */\n accountDelta() {\n const ret = wasm.transactionsummary_accountDelta(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountDelta.__wrap(ret[0]);\n }\n /**\n * Deserializes a summary from bytes.\n * @param {Uint8Array} bytes\n * @returns {TransactionSummary}\n */\n static deserialize(bytes) {\n const ret = wasm.transactionsummary_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionSummary.__wrap(ret[0]);\n }\n /**\n * Returns the input notes referenced by the summary.\n * @returns {InputNotes}\n */\n inputNotes() {\n const ret = wasm.transactionsummary_inputNotes(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return InputNotes.__wrap(ret[0]);\n }\n /**\n * Returns the output notes referenced by the summary.\n * @returns {OutputNotes}\n */\n outputNotes() {\n const ret = wasm.transactionsummary_outputNotes(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return OutputNotes.__wrap(ret[0]);\n }\n /**\n * Returns the random salt mixed into the summary commitment.\n * @returns {Word}\n */\n salt() {\n const ret = wasm.transactionsummary_salt(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Word.__wrap(ret[0]);\n }\n /**\n * Serializes the summary into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.transactionsummary_serialize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Computes the commitment to this `TransactionSummary`.\n * @returns {Word}\n */\n toCommitment() {\n const ret = wasm.transactionsummary_toCommitment(this.__wbg_ptr);\n return Word.__wrap(ret);\n }\n}\nif (Symbol.dispose) TransactionSummary.prototype[Symbol.dispose] = TransactionSummary.prototype.free;\n\nexport class WebClient {\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WebClientFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_webclient_free(ptr, 0);\n }\n /**\n * Creates a new `AccountReader` for lazy access to account data.\n *\n * The `AccountReader` executes queries lazily - each method call fetches fresh data\n * from storage, ensuring you always see the current state.\n *\n * # Arguments\n * * `account_id` - The ID of the account to read.\n *\n * # Example\n * ```javascript\n * const reader = client.accountReader(accountId);\n * const nonce = await reader.nonce();\n * const balance = await reader.getBalance(faucetId);\n * ```\n * @param {AccountId} account_id\n * @returns {AccountReader}\n */\n accountReader(account_id) {\n _assertClass(account_id, AccountId);\n const ret = wasm.webclient_accountReader(this.__wbg_ptr, account_id.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountReader.__wrap(ret[0]);\n }\n /**\n * @param {AccountId} account_id\n * @param {AuthSecretKey} secret_key\n * @returns {Promise<void>}\n */\n addAccountSecretKeyToWebStore(account_id, secret_key) {\n _assertClass(account_id, AccountId);\n _assertClass(secret_key, AuthSecretKey);\n const ret = wasm.webclient_addAccountSecretKeyToWebStore(this.__wbg_ptr, account_id.__wbg_ptr, secret_key.__wbg_ptr);\n return ret;\n }\n /**\n * @param {string} tag\n * @returns {Promise<void>}\n */\n addTag(tag) {\n const ptr0 = passStringToWasm0(tag, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_addTag(this.__wbg_ptr, ptr0, len0);\n return ret;\n }\n /**\n * @param {TransactionResult} transaction_result\n * @param {number} submission_height\n * @returns {Promise<TransactionStoreUpdate>}\n */\n applyTransaction(transaction_result, submission_height) {\n _assertClass(transaction_result, TransactionResult);\n const ret = wasm.webclient_applyTransaction(this.__wbg_ptr, transaction_result.__wbg_ptr, submission_height);\n return ret;\n }\n /**\n * @param {NoteType} note_type\n * @param {AccountId} offered_asset_faucet_id\n * @param {bigint} offered_asset_amount\n * @param {AccountId} requested_asset_faucet_id\n * @param {bigint} requested_asset_amount\n * @returns {NoteTag}\n */\n static buildSwapTag(note_type, offered_asset_faucet_id, offered_asset_amount, requested_asset_faucet_id, requested_asset_amount) {\n _assertClass(offered_asset_faucet_id, AccountId);\n _assertClass(requested_asset_faucet_id, AccountId);\n const ret = wasm.webclient_buildSwapTag(note_type, offered_asset_faucet_id.__wbg_ptr, offered_asset_amount, requested_asset_faucet_id.__wbg_ptr, requested_asset_amount);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return NoteTag.__wrap(ret[0]);\n }\n /**\n * Creates a new `WebClient` instance with the specified configuration.\n *\n * # Arguments\n * * `node_url`: The URL of the node RPC endpoint. If `None`, defaults to the testnet endpoint.\n * * `node_note_transport_url`: Optional URL of the note transport service.\n * * `seed`: Optional seed for account initialization.\n * * `store_name`: Optional name for the web store. If `None`, the store name defaults to\n * `MidenClientDB_{network_id}`, where `network_id` is derived from the `node_url`.\n * Explicitly setting this allows for creating multiple isolated clients.\n * @param {string | null} [node_url]\n * @param {string | null} [node_note_transport_url]\n * @param {Uint8Array | null} [seed]\n * @param {string | null} [store_name]\n * @returns {Promise<any>}\n */\n createClient(node_url, node_note_transport_url, seed, store_name) {\n var ptr0 = isLikeNone(node_url) ? 0 : passStringToWasm0(node_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(node_note_transport_url) ? 0 : passStringToWasm0(node_note_transport_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = isLikeNone(seed) ? 0 : passArray8ToWasm0(seed, wasm.__wbindgen_malloc);\n var len2 = WASM_VECTOR_LEN;\n var ptr3 = isLikeNone(store_name) ? 0 : passStringToWasm0(store_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len3 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_createClient(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);\n return ret;\n }\n /**\n * Creates a new `WebClient` instance with external keystore callbacks.\n *\n * # Arguments\n * * `node_url`: The URL of the node RPC endpoint. If `None`, defaults to the testnet endpoint.\n * * `node_note_transport_url`: Optional URL of the note transport service.\n * * `seed`: Optional seed for account initialization.\n * * `store_name`: Optional name for the web store. If `None`, the store name defaults to\n * `MidenClientDB_{network_id}`, where `network_id` is derived from the `node_url`.\n * Explicitly setting this allows for creating multiple isolated clients.\n * * `get_key_cb`: Callback to retrieve the secret key bytes for a given public key.\n * * `insert_key_cb`: Callback to persist a secret key.\n * * `sign_cb`: Callback to produce serialized signature bytes for the provided inputs.\n * @param {string | null} [node_url]\n * @param {string | null} [node_note_transport_url]\n * @param {Uint8Array | null} [seed]\n * @param {string | null} [store_name]\n * @param {Function | null} [get_key_cb]\n * @param {Function | null} [insert_key_cb]\n * @param {Function | null} [sign_cb]\n * @returns {Promise<any>}\n */\n createClientWithExternalKeystore(node_url, node_note_transport_url, seed, store_name, get_key_cb, insert_key_cb, sign_cb) {\n var ptr0 = isLikeNone(node_url) ? 0 : passStringToWasm0(node_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(node_note_transport_url) ? 0 : passStringToWasm0(node_note_transport_url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = isLikeNone(seed) ? 0 : passArray8ToWasm0(seed, wasm.__wbindgen_malloc);\n var len2 = WASM_VECTOR_LEN;\n var ptr3 = isLikeNone(store_name) ? 0 : passStringToWasm0(store_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len3 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_createClientWithExternalKeystore(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, isLikeNone(get_key_cb) ? 0 : addToExternrefTable0(get_key_cb), isLikeNone(insert_key_cb) ? 0 : addToExternrefTable0(insert_key_cb), isLikeNone(sign_cb) ? 0 : addToExternrefTable0(sign_cb));\n return ret;\n }\n /**\n * @returns {CodeBuilder}\n */\n createCodeBuilder() {\n const ret = wasm.webclient_createCodeBuilder(this.__wbg_ptr);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return CodeBuilder.__wrap(ret[0]);\n }\n /**\n * Creates a new client with a mock RPC API. Useful for testing purposes and proof-of-concept\n * applications as it uses a mock chain that simulates the behavior of a real node.\n * @param {Uint8Array | null} [seed]\n * @param {Uint8Array | null} [serialized_mock_chain]\n * @param {Uint8Array | null} [serialized_mock_note_transport_node]\n * @returns {Promise<any>}\n */\n createMockClient(seed, serialized_mock_chain, serialized_mock_note_transport_node) {\n var ptr0 = isLikeNone(seed) ? 0 : passArray8ToWasm0(seed, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n var ptr1 = isLikeNone(serialized_mock_chain) ? 0 : passArray8ToWasm0(serialized_mock_chain, wasm.__wbindgen_malloc);\n var len1 = WASM_VECTOR_LEN;\n var ptr2 = isLikeNone(serialized_mock_note_transport_node) ? 0 : passArray8ToWasm0(serialized_mock_note_transport_node, wasm.__wbindgen_malloc);\n var len2 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_createMockClient(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);\n return ret;\n }\n /**\n * Executes a transaction and returns the `TransactionSummary`.\n *\n * If the transaction is unauthorized (auth script emits the unauthorized event),\n * returns the summary from the error. If the transaction succeeds, constructs\n * a summary from the executed transaction using the `auth_arg` from the transaction\n * request as the salt (or a zero salt if not provided).\n *\n * # Errors\n * - If there is an internal failure during execution.\n * @param {AccountId} account_id\n * @param {TransactionRequest} transaction_request\n * @returns {Promise<TransactionSummary>}\n */\n executeForSummary(account_id, transaction_request) {\n _assertClass(account_id, AccountId);\n _assertClass(transaction_request, TransactionRequest);\n const ret = wasm.webclient_executeForSummary(this.__wbg_ptr, account_id.__wbg_ptr, transaction_request.__wbg_ptr);\n return ret;\n }\n /**\n * Executes a transaction specified by the request against the specified account but does not\n * submit it to the network nor update the local database. The returned [`TransactionResult`]\n * retains the execution artifacts needed to continue with the transaction lifecycle.\n *\n * If the transaction utilizes foreign account data, there is a chance that the client doesn't\n * have the required block header in the local database. In these scenarios, a sync to\n * the chain tip is performed, and the required block header is retrieved.\n * @param {AccountId} account_id\n * @param {TransactionRequest} transaction_request\n * @returns {Promise<TransactionResult>}\n */\n executeTransaction(account_id, transaction_request) {\n _assertClass(account_id, AccountId);\n _assertClass(transaction_request, TransactionRequest);\n const ret = wasm.webclient_executeTransaction(this.__wbg_ptr, account_id.__wbg_ptr, transaction_request.__wbg_ptr);\n return ret;\n }\n /**\n * @param {AccountId} account_id\n * @returns {Promise<AccountFile>}\n */\n exportAccountFile(account_id) {\n _assertClass(account_id, AccountId);\n const ret = wasm.webclient_exportAccountFile(this.__wbg_ptr, account_id.__wbg_ptr);\n return ret;\n }\n /**\n * @param {string} note_id\n * @param {NoteExportFormat} export_format\n * @returns {Promise<NoteFile>}\n */\n exportNoteFile(note_id, export_format) {\n const ptr0 = passStringToWasm0(note_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_exportNoteFile(this.__wbg_ptr, ptr0, len0, export_format);\n return ret;\n }\n /**\n * Retrieves the entire underlying web store and returns it as a `JsValue`\n *\n * Meant to be used in conjunction with the `force_import_store` method\n * @returns {Promise<any>}\n */\n exportStore() {\n const ret = wasm.webclient_exportStore(this.__wbg_ptr);\n return ret;\n }\n /**\n * Fetch all private notes from the note transport layer\n *\n * Fetches all notes stored in the transport layer, with no pagination.\n * Prefer using [`WebClient::fetch_private_notes`] for a more efficient, on-going,\n * fetching mechanism.\n * @returns {Promise<void>}\n */\n fetchAllPrivateNotes() {\n const ret = wasm.webclient_fetchAllPrivateNotes(this.__wbg_ptr);\n return ret;\n }\n /**\n * Fetch private notes from the note transport layer\n *\n * Uses an internal pagination mechanism to avoid fetching duplicate notes.\n * @returns {Promise<void>}\n */\n fetchPrivateNotes() {\n const ret = wasm.webclient_fetchPrivateNotes(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {any} store_dump\n * @param {string} _store_name\n * @returns {Promise<any>}\n */\n forceImportStore(store_dump, _store_name) {\n const ptr0 = passStringToWasm0(_store_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_forceImportStore(this.__wbg_ptr, store_dump, ptr0, len0);\n return ret;\n }\n /**\n * Retrieves the full account data for the given account ID, returning `null` if not found.\n *\n * This method loads the complete account state including vault, storage, and code.\n * @param {AccountId} account_id\n * @returns {Promise<Account | undefined>}\n */\n getAccount(account_id) {\n _assertClass(account_id, AccountId);\n const ret = wasm.webclient_getAccount(this.__wbg_ptr, account_id.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves an authentication secret key from the keystore given a public key commitment.\n *\n * The public key commitment should correspond to one of the keys tracked by the keystore.\n * Returns the associated [`AuthSecretKey`] if found, or an error if not found.\n * @param {Word} pub_key_commitment\n * @returns {Promise<AuthSecretKey>}\n */\n getAccountAuthByPubKeyCommitment(pub_key_commitment) {\n _assertClass(pub_key_commitment, Word);\n const ret = wasm.webclient_getAccountAuthByPubKeyCommitment(this.__wbg_ptr, pub_key_commitment.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the full account data for the account associated with the given public key\n * commitment, returning `null` if no account is found.\n * @param {Word} pub_key_commitment\n * @returns {Promise<Account | undefined>}\n */\n getAccountByKeyCommitment(pub_key_commitment) {\n _assertClass(pub_key_commitment, Word);\n const ret = wasm.webclient_getAccountByKeyCommitment(this.__wbg_ptr, pub_key_commitment.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the account code for a specific account.\n *\n * Returns `null` if the account is not found.\n * @param {AccountId} account_id\n * @returns {Promise<AccountCode | undefined>}\n */\n getAccountCode(account_id) {\n _assertClass(account_id, AccountId);\n const ret = wasm.webclient_getAccountCode(this.__wbg_ptr, account_id.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the storage for a specific account.\n *\n * To only load a specific slot, use `accountReader` instead.\n * @param {AccountId} account_id\n * @returns {Promise<AccountStorage>}\n */\n getAccountStorage(account_id) {\n _assertClass(account_id, AccountId);\n const ret = wasm.webclient_getAccountStorage(this.__wbg_ptr, account_id.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the asset vault for a specific account.\n *\n * To check the balance for a single asset, use `accountReader` instead.\n * @param {AccountId} account_id\n * @returns {Promise<AssetVault>}\n */\n getAccountVault(account_id) {\n _assertClass(account_id, AccountId);\n const ret = wasm.webclient_getAccountVault(this.__wbg_ptr, account_id.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Promise<AccountHeader[]>}\n */\n getAccounts() {\n const ret = wasm.webclient_getAccounts(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {AccountId | null} [account_id]\n * @returns {Promise<ConsumableNoteRecord[]>}\n */\n getConsumableNotes(account_id) {\n let ptr0 = 0;\n if (!isLikeNone(account_id)) {\n _assertClass(account_id, AccountId);\n ptr0 = account_id.__destroy_into_raw();\n }\n const ret = wasm.webclient_getConsumableNotes(this.__wbg_ptr, ptr0);\n return ret;\n }\n /**\n * @param {string} note_id\n * @returns {Promise<InputNoteRecord | undefined>}\n */\n getInputNote(note_id) {\n const ptr0 = passStringToWasm0(note_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_getInputNote(this.__wbg_ptr, ptr0, len0);\n return ret;\n }\n /**\n * @param {NoteFilter} filter\n * @returns {Promise<InputNoteRecord[]>}\n */\n getInputNotes(filter) {\n _assertClass(filter, NoteFilter);\n var ptr0 = filter.__destroy_into_raw();\n const ret = wasm.webclient_getInputNotes(this.__wbg_ptr, ptr0);\n return ret;\n }\n /**\n * @param {string} note_id\n * @returns {Promise<OutputNoteRecord>}\n */\n getOutputNote(note_id) {\n const ptr0 = passStringToWasm0(note_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_getOutputNote(this.__wbg_ptr, ptr0, len0);\n return ret;\n }\n /**\n * @param {NoteFilter} filter\n * @returns {Promise<OutputNoteRecord[]>}\n */\n getOutputNotes(filter) {\n _assertClass(filter, NoteFilter);\n var ptr0 = filter.__destroy_into_raw();\n const ret = wasm.webclient_getOutputNotes(this.__wbg_ptr, ptr0);\n return ret;\n }\n /**\n * Returns all public key commitments associated with the given account ID.\n *\n * These commitments can be used with [`getAccountAuthByPubKeyCommitment`]\n * to retrieve the corresponding secret keys from the keystore.\n * @param {AccountId} account_id\n * @returns {Promise<Word[]>}\n */\n getPublicKeyCommitmentsOfAccount(account_id) {\n _assertClass(account_id, AccountId);\n const ret = wasm.webclient_getPublicKeyCommitmentsOfAccount(this.__wbg_ptr, account_id.__wbg_ptr);\n return ret;\n }\n /**\n * Retrieves the setting value for `key`, or `None` if it hasn’t been set.\n * @param {string} key\n * @returns {Promise<any | undefined>}\n */\n getSetting(key) {\n const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_getSetting(this.__wbg_ptr, ptr0, len0);\n return ret;\n }\n /**\n * @returns {Promise<number>}\n */\n getSyncHeight() {\n const ret = wasm.webclient_getSyncHeight(this.__wbg_ptr);\n return ret;\n }\n /**\n * @param {TransactionFilter} transaction_filter\n * @returns {Promise<TransactionRecord[]>}\n */\n getTransactions(transaction_filter) {\n _assertClass(transaction_filter, TransactionFilter);\n var ptr0 = transaction_filter.__destroy_into_raw();\n const ret = wasm.webclient_getTransactions(this.__wbg_ptr, ptr0);\n return ret;\n }\n /**\n * @param {AccountId} account_id\n * @returns {Promise<any>}\n */\n importAccountById(account_id) {\n _assertClass(account_id, AccountId);\n const ret = wasm.webclient_importAccountById(this.__wbg_ptr, account_id.__wbg_ptr);\n return ret;\n }\n /**\n * @param {AccountFile} account_file\n * @returns {Promise<any>}\n */\n importAccountFile(account_file) {\n _assertClass(account_file, AccountFile);\n var ptr0 = account_file.__destroy_into_raw();\n const ret = wasm.webclient_importAccountFile(this.__wbg_ptr, ptr0);\n return ret;\n }\n /**\n * @param {NoteFile} note_file\n * @returns {Promise<NoteId>}\n */\n importNoteFile(note_file) {\n _assertClass(note_file, NoteFile);\n var ptr0 = note_file.__destroy_into_raw();\n const ret = wasm.webclient_importNoteFile(this.__wbg_ptr, ptr0);\n return ret;\n }\n /**\n * @param {Uint8Array} init_seed\n * @param {boolean} mutable\n * @param {AuthScheme} auth_scheme\n * @returns {Promise<Account>}\n */\n importPublicAccountFromSeed(init_seed, mutable, auth_scheme) {\n const ptr0 = passArray8ToWasm0(init_seed, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_importPublicAccountFromSeed(this.__wbg_ptr, ptr0, len0, mutable, auth_scheme);\n return ret;\n }\n /**\n * @param {AccountId} account_id\n * @param {Address} address\n * @returns {Promise<void>}\n */\n insertAccountAddress(account_id, address) {\n _assertClass(account_id, AccountId);\n _assertClass(address, Address);\n const ret = wasm.webclient_insertAccountAddress(this.__wbg_ptr, account_id.__wbg_ptr, address.__wbg_ptr);\n return ret;\n }\n /**\n * Returns all the existing setting keys from the store.\n * @returns {Promise<string[]>}\n */\n listSettingKeys() {\n const ret = wasm.webclient_listSettingKeys(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {Promise<any>}\n */\n listTags() {\n const ret = wasm.webclient_listTags(this.__wbg_ptr);\n return ret;\n }\n constructor() {\n const ret = wasm.webclient_new();\n this.__wbg_ptr = ret >>> 0;\n WebClientFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * @param {Account} account\n * @param {boolean} overwrite\n * @returns {Promise<void>}\n */\n newAccount(account, overwrite) {\n _assertClass(account, Account);\n const ret = wasm.webclient_newAccount(this.__wbg_ptr, account.__wbg_ptr, overwrite);\n return ret;\n }\n /**\n * @param {Note[]} list_of_notes\n * @returns {TransactionRequest}\n */\n newConsumeTransactionRequest(list_of_notes) {\n const ptr0 = passArrayJsValueToWasm0(list_of_notes, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_newConsumeTransactionRequest(this.__wbg_ptr, ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionRequest.__wrap(ret[0]);\n }\n /**\n * @param {AccountStorageMode} storage_mode\n * @param {boolean} non_fungible\n * @param {string} token_symbol\n * @param {number} decimals\n * @param {bigint} max_supply\n * @param {AuthScheme} auth_scheme\n * @returns {Promise<Account>}\n */\n newFaucet(storage_mode, non_fungible, token_symbol, decimals, max_supply, auth_scheme) {\n _assertClass(storage_mode, AccountStorageMode);\n const ptr0 = passStringToWasm0(token_symbol, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_newFaucet(this.__wbg_ptr, storage_mode.__wbg_ptr, non_fungible, ptr0, len0, decimals, max_supply, auth_scheme);\n return ret;\n }\n /**\n * @param {AccountId} target_account_id\n * @param {AccountId} faucet_id\n * @param {NoteType} note_type\n * @param {bigint} amount\n * @returns {TransactionRequest}\n */\n newMintTransactionRequest(target_account_id, faucet_id, note_type, amount) {\n _assertClass(target_account_id, AccountId);\n _assertClass(faucet_id, AccountId);\n const ret = wasm.webclient_newMintTransactionRequest(this.__wbg_ptr, target_account_id.__wbg_ptr, faucet_id.__wbg_ptr, note_type, amount);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionRequest.__wrap(ret[0]);\n }\n /**\n * @param {AccountId} sender_account_id\n * @param {AccountId} target_account_id\n * @param {AccountId} faucet_id\n * @param {NoteType} note_type\n * @param {bigint} amount\n * @param {number | null} [recall_height]\n * @param {number | null} [timelock_height]\n * @returns {TransactionRequest}\n */\n newSendTransactionRequest(sender_account_id, target_account_id, faucet_id, note_type, amount, recall_height, timelock_height) {\n _assertClass(sender_account_id, AccountId);\n _assertClass(target_account_id, AccountId);\n _assertClass(faucet_id, AccountId);\n const ret = wasm.webclient_newSendTransactionRequest(this.__wbg_ptr, sender_account_id.__wbg_ptr, target_account_id.__wbg_ptr, faucet_id.__wbg_ptr, note_type, amount, isLikeNone(recall_height) ? 0x100000001 : (recall_height) >>> 0, isLikeNone(timelock_height) ? 0x100000001 : (timelock_height) >>> 0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionRequest.__wrap(ret[0]);\n }\n /**\n * @param {AccountId} sender_account_id\n * @param {AccountId} offered_asset_faucet_id\n * @param {bigint} offered_asset_amount\n * @param {AccountId} requested_asset_faucet_id\n * @param {bigint} requested_asset_amount\n * @param {NoteType} note_type\n * @param {NoteType} payback_note_type\n * @returns {TransactionRequest}\n */\n newSwapTransactionRequest(sender_account_id, offered_asset_faucet_id, offered_asset_amount, requested_asset_faucet_id, requested_asset_amount, note_type, payback_note_type) {\n _assertClass(sender_account_id, AccountId);\n _assertClass(offered_asset_faucet_id, AccountId);\n _assertClass(requested_asset_faucet_id, AccountId);\n const ret = wasm.webclient_newSwapTransactionRequest(this.__wbg_ptr, sender_account_id.__wbg_ptr, offered_asset_faucet_id.__wbg_ptr, offered_asset_amount, requested_asset_faucet_id.__wbg_ptr, requested_asset_amount, note_type, payback_note_type);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return TransactionRequest.__wrap(ret[0]);\n }\n /**\n * @param {AccountStorageMode} storage_mode\n * @param {boolean} mutable\n * @param {AuthScheme} auth_scheme\n * @param {Uint8Array | null} [init_seed]\n * @returns {Promise<Account>}\n */\n newWallet(storage_mode, mutable, auth_scheme, init_seed) {\n _assertClass(storage_mode, AccountStorageMode);\n var ptr0 = isLikeNone(init_seed) ? 0 : passArray8ToWasm0(init_seed, wasm.__wbindgen_malloc);\n var len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_newWallet(this.__wbg_ptr, storage_mode.__wbg_ptr, mutable, auth_scheme, ptr0, len0);\n return ret;\n }\n proveBlock() {\n const ret = wasm.webclient_proveBlock(this.__wbg_ptr);\n if (ret[1]) {\n throw takeFromExternrefTable0(ret[0]);\n }\n }\n /**\n * Generates a transaction proof using either the provided prover or the client's default\n * prover if none is supplied.\n * @param {TransactionResult} transaction_result\n * @param {TransactionProver | null} [prover]\n * @returns {Promise<ProvenTransaction>}\n */\n proveTransaction(transaction_result, prover) {\n _assertClass(transaction_result, TransactionResult);\n let ptr0 = 0;\n if (!isLikeNone(prover)) {\n _assertClass(prover, TransactionProver);\n ptr0 = prover.__destroy_into_raw();\n }\n const ret = wasm.webclient_proveTransaction(this.__wbg_ptr, transaction_result.__wbg_ptr, ptr0);\n return ret;\n }\n /**\n * @param {AccountId} account_id\n * @param {Address} address\n * @returns {Promise<void>}\n */\n removeAccountAddress(account_id, address) {\n _assertClass(account_id, AccountId);\n _assertClass(address, Address);\n const ret = wasm.webclient_removeAccountAddress(this.__wbg_ptr, account_id.__wbg_ptr, address.__wbg_ptr);\n return ret;\n }\n /**\n * Deletes a setting key-value from the store.\n * @param {string} key\n * @returns {Promise<void>}\n */\n removeSetting(key) {\n const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_removeSetting(this.__wbg_ptr, ptr0, len0);\n return ret;\n }\n /**\n * @param {string} tag\n * @returns {Promise<void>}\n */\n removeTag(tag) {\n const ptr0 = passStringToWasm0(tag, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_removeTag(this.__wbg_ptr, ptr0, len0);\n return ret;\n }\n /**\n * Send a private note via the note transport layer\n * @param {Note} note\n * @param {Address} address\n * @returns {Promise<void>}\n */\n sendPrivateNote(note, address) {\n _assertClass(note, Note);\n var ptr0 = note.__destroy_into_raw();\n _assertClass(address, Address);\n var ptr1 = address.__destroy_into_raw();\n const ret = wasm.webclient_sendPrivateNote(this.__wbg_ptr, ptr0, ptr1);\n return ret;\n }\n /**\n * Returns the inner serialized mock chain if it exists.\n * @returns {Uint8Array}\n */\n serializeMockChain() {\n const ret = wasm.webclient_serializeMockChain(this.__wbg_ptr);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * Returns the inner serialized mock note transport node if it exists.\n * @returns {Uint8Array}\n */\n serializeMockNoteTransportNode() {\n const ret = wasm.webclient_serializeMockNoteTransportNode(this.__wbg_ptr);\n if (ret[3]) {\n throw takeFromExternrefTable0(ret[2]);\n }\n var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);\n return v1;\n }\n /**\n * Sets the debug mode for transaction execution.\n *\n * When enabled, the transaction executor will record additional information useful for\n * debugging (the values on the VM stack and the state of the advice provider). This is\n * disabled by default since it adds overhead.\n *\n * Must be called before `createClient`.\n * @param {boolean} enabled\n */\n setDebugMode(enabled) {\n wasm.webclient_setDebugMode(this.__wbg_ptr, enabled);\n }\n /**\n * Sets a setting key-value in the store. It can then be retrieved using `get_setting`.\n * @param {string} key\n * @param {any} value\n * @returns {Promise<void>}\n */\n setSetting(key, value) {\n const ptr0 = passStringToWasm0(key, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.webclient_setSetting(this.__wbg_ptr, ptr0, len0, value);\n return ret;\n }\n /**\n * Executes a transaction specified by the request against the specified account,\n * proves it, submits it to the network, and updates the local database.\n *\n * Uses the prover configured for this client.\n *\n * If the transaction utilizes foreign account data, there is a chance that the client doesn't\n * have the required block header in the local database. In these scenarios, a sync to\n * the chain tip is performed, and the required block header is retrieved.\n * @param {AccountId} account_id\n * @param {TransactionRequest} transaction_request\n * @returns {Promise<TransactionId>}\n */\n submitNewTransaction(account_id, transaction_request) {\n _assertClass(account_id, AccountId);\n _assertClass(transaction_request, TransactionRequest);\n const ret = wasm.webclient_submitNewTransaction(this.__wbg_ptr, account_id.__wbg_ptr, transaction_request.__wbg_ptr);\n return ret;\n }\n /**\n * Executes a transaction specified by the request against the specified account, proves it\n * with the user provided prover, submits it to the network, and updates the local database.\n *\n * If the transaction utilizes foreign account data, there is a chance that the client doesn't\n * have the required block header in the local database. In these scenarios, a sync to the\n * chain tip is performed, and the required block header is retrieved.\n * @param {AccountId} account_id\n * @param {TransactionRequest} transaction_request\n * @param {TransactionProver} prover\n * @returns {Promise<TransactionId>}\n */\n submitNewTransactionWithProver(account_id, transaction_request, prover) {\n _assertClass(account_id, AccountId);\n _assertClass(transaction_request, TransactionRequest);\n _assertClass(prover, TransactionProver);\n const ret = wasm.webclient_submitNewTransactionWithProver(this.__wbg_ptr, account_id.__wbg_ptr, transaction_request.__wbg_ptr, prover.__wbg_ptr);\n return ret;\n }\n /**\n * @param {ProvenTransaction} proven_transaction\n * @param {TransactionResult} transaction_result\n * @returns {Promise<number>}\n */\n submitProvenTransaction(proven_transaction, transaction_result) {\n _assertClass(proven_transaction, ProvenTransaction);\n _assertClass(transaction_result, TransactionResult);\n const ret = wasm.webclient_submitProvenTransaction(this.__wbg_ptr, proven_transaction.__wbg_ptr, transaction_result.__wbg_ptr);\n return ret;\n }\n /**\n * Internal implementation of `sync_state`.\n *\n * This method performs the actual sync operation. Concurrent call coordination\n * is handled at the JavaScript layer using the Web Locks API.\n *\n * **Note:** Do not call this method directly. Use `syncState()` from JavaScript instead,\n * which provides proper coordination for concurrent calls.\n * @returns {Promise<SyncSummary>}\n */\n syncStateImpl() {\n const ret = wasm.webclient_syncStateImpl(this.__wbg_ptr);\n return ret;\n }\n /**\n * @returns {boolean}\n */\n usesMockChain() {\n const ret = wasm.webclient_usesMockChain(this.__wbg_ptr);\n return ret !== 0;\n }\n}\nif (Symbol.dispose) WebClient.prototype[Symbol.dispose] = WebClient.prototype.free;\n\nexport class Word {\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(Word.prototype);\n obj.__wbg_ptr = ptr;\n WordFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n static __unwrap(jsValue) {\n if (!(jsValue instanceof Word)) {\n return 0;\n }\n return jsValue.__destroy_into_raw();\n }\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WordFinalization.unregister(this);\n return ptr;\n }\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_word_free(ptr, 0);\n }\n /**\n * Deserializes a word from bytes.\n * @param {Uint8Array} bytes\n * @returns {Word}\n */\n static deserialize(bytes) {\n const ret = wasm.word_deserialize(bytes);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Word.__wrap(ret[0]);\n }\n /**\n * Creates a Word from a hex string.\n * Fails if the provided string is not a valid hex representation of a Word.\n * @param {string} hex\n * @returns {Word}\n */\n static fromHex(hex) {\n const ptr0 = passStringToWasm0(hex, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.word_fromHex(ptr0, len0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return Word.__wrap(ret[0]);\n }\n /**\n * Creates a word from four u64 values.\n * @param {BigUint64Array} u64_vec\n */\n constructor(u64_vec) {\n const ptr0 = passArray64ToWasm0(u64_vec, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.word_new(ptr0, len0);\n this.__wbg_ptr = ret >>> 0;\n WordFinalization.register(this, this.__wbg_ptr, this);\n return this;\n }\n /**\n * Creates a word from four field elements.\n * @param {Felt[]} felt_vec\n * @returns {Word}\n */\n static newFromFelts(felt_vec) {\n const ptr0 = passArrayJsValueToWasm0(felt_vec, wasm.__wbindgen_malloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.word_newFromFelts(ptr0, len0);\n return Word.__wrap(ret);\n }\n /**\n * Serializes the word into bytes.\n * @returns {Uint8Array}\n */\n serialize() {\n const ret = wasm.word_serialize(this.__wbg_ptr);\n return ret;\n }\n /**\n * Returns the word as an array of field elements.\n * @returns {Felt[]}\n */\n toFelts() {\n const ret = wasm.word_toFelts(this.__wbg_ptr);\n var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);\n return v1;\n }\n /**\n * Returns the hex representation of the word.\n * @returns {string}\n */\n toHex() {\n let deferred1_0;\n let deferred1_1;\n try {\n const ret = wasm.word_toHex(this.__wbg_ptr);\n deferred1_0 = ret[0];\n deferred1_1 = ret[1];\n return getStringFromWasm0(ret[0], ret[1]);\n } finally {\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }\n /**\n * Returns the word as an array of u64 values.\n * @returns {BigUint64Array}\n */\n toU64s() {\n const ret = wasm.word_toU64s(this.__wbg_ptr);\n var v1 = getArrayU64FromWasm0(ret[0], ret[1]).slice();\n wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);\n return v1;\n }\n}\nif (Symbol.dispose) Word.prototype[Symbol.dispose] = Word.prototype.free;\n\n/**\n * Create an auth component for `Falcon512Rpo` multisig.\n * @param {AuthFalcon512RpoMultisigConfig} config\n * @returns {AccountComponent}\n */\nexport function createAuthFalcon512RpoMultisig(config) {\n _assertClass(config, AuthFalcon512RpoMultisigConfig);\n var ptr0 = config.__destroy_into_raw();\n const ret = wasm.createAuthFalcon512RpoMultisig(ptr0);\n if (ret[2]) {\n throw takeFromExternrefTable0(ret[1]);\n }\n return AccountComponent.__wrap(ret[0]);\n}\n\n/**\n * Initializes the `tracing` subscriber that routes Rust log output to the\n * browser console via `console.log` / `console.warn` / `console.error`.\n *\n * `log_level` must be one of `\"error\"`, `\"warn\"`, `\"info\"`, `\"debug\"`,\n * `\"trace\"`, `\"off\"`, or `\"none\"` (no logging). Unknown values are treated\n * as \"off\".\n *\n * This is a **per-thread global** — call it once on the main thread and, if\n * you use a Web Worker, once inside the worker. Subsequent calls on the same\n * thread are harmless no-ops.\n * @param {string} log_level\n */\nexport function setupLogging(log_level) {\n const ptr0 = passStringToWasm0(log_level, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n wasm.setupLogging(ptr0, len0);\n}\n\nfunction __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbg_Error_8c4e43fe74559d73: function(arg0, arg1) {\n const ret = Error(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_Number_04624de7d0e8332d: function(arg0) {\n const ret = Number(arg0);\n return ret;\n },\n __wbg_String_8f0eb39a4a4c2f66: function(arg0, arg1) {\n const ret = String(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_bigint_get_as_i64_8fcf4ce7f1ca72a2: function(arg0, arg1) {\n const v = arg1;\n const ret = typeof(v) === 'bigint' ? v : undefined;\n getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n },\n __wbg___wbindgen_boolean_get_bbbb1c18aa2f5e25: function(arg0) {\n const v = arg0;\n const ret = typeof(v) === 'boolean' ? v : undefined;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n },\n __wbg___wbindgen_debug_string_0bc8482c6e3508ae: function(arg0, arg1) {\n const ret = debugString(arg1);\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_in_47fa6863be6f2f25: function(arg0, arg1) {\n const ret = arg0 in arg1;\n return ret;\n },\n __wbg___wbindgen_is_bigint_31b12575b56f32fc: function(arg0) {\n const ret = typeof(arg0) === 'bigint';\n return ret;\n },\n __wbg___wbindgen_is_function_0095a73b8b156f76: function(arg0) {\n const ret = typeof(arg0) === 'function';\n return ret;\n },\n __wbg___wbindgen_is_null_ac34f5003991759a: function(arg0) {\n const ret = arg0 === null;\n return ret;\n },\n __wbg___wbindgen_is_object_5ae8e5880f2c1fbd: function(arg0) {\n const val = arg0;\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n },\n __wbg___wbindgen_is_undefined_9e4d92534c42d778: function(arg0) {\n const ret = arg0 === undefined;\n return ret;\n },\n __wbg___wbindgen_jsval_eq_11888390b0186270: function(arg0, arg1) {\n const ret = arg0 === arg1;\n return ret;\n },\n __wbg___wbindgen_jsval_loose_eq_9dd77d8cd6671811: function(arg0, arg1) {\n const ret = arg0 == arg1;\n return ret;\n },\n __wbg___wbindgen_number_get_8ff4255516ccad3e: function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'number' ? obj : undefined;\n getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n },\n __wbg___wbindgen_string_get_72fb696202c56729: function(arg0, arg1) {\n const obj = arg1;\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_throw_be289d5034ed271b: function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n },\n __wbg__wbg_cb_unref_d9b87ff7982e3b21: function(arg0) {\n arg0._wbg_cb_unref();\n },\n __wbg_abort_2f0584e03e8e3950: function(arg0) {\n arg0.abort();\n },\n __wbg_abort_d549b92d3c665de1: function(arg0, arg1) {\n arg0.abort(arg1);\n },\n __wbg_account_new: function(arg0) {\n const ret = Account.__wrap(arg0);\n return ret;\n },\n __wbg_account_unwrap: function(arg0) {\n const ret = Account.__unwrap(arg0);\n return ret;\n },\n __wbg_accountcode_new: function(arg0) {\n const ret = AccountCode.__wrap(arg0);\n return ret;\n },\n __wbg_accountfile_new: function(arg0) {\n const ret = AccountFile.__wrap(arg0);\n return ret;\n },\n __wbg_accountheader_new: function(arg0) {\n const ret = AccountHeader.__wrap(arg0);\n return ret;\n },\n __wbg_accountid_new: function(arg0) {\n const ret = AccountId.__wrap(arg0);\n return ret;\n },\n __wbg_accountid_unwrap: function(arg0) {\n const ret = AccountId.__unwrap(arg0);\n return ret;\n },\n __wbg_accountproof_new: function(arg0) {\n const ret = AccountProof.__wrap(arg0);\n return ret;\n },\n __wbg_accountstatus_new: function(arg0) {\n const ret = AccountStatus.__wrap(arg0);\n return ret;\n },\n __wbg_accountstorage_new: function(arg0) {\n const ret = AccountStorage.__wrap(arg0);\n return ret;\n },\n __wbg_addNoteTag_129c8d9b232bafa2: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n var v0 = getArrayU8FromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 1, 1);\n let v1;\n if (arg4 !== 0) {\n v1 = getStringFromWasm0(arg4, arg5).slice();\n wasm.__wbindgen_free(arg4, arg5 * 1, 1);\n }\n let v2;\n if (arg6 !== 0) {\n v2 = getStringFromWasm0(arg6, arg7).slice();\n wasm.__wbindgen_free(arg6, arg7 * 1, 1);\n }\n const ret = addNoteTag(getStringFromWasm0(arg0, arg1), v0, v1, v2);\n return ret;\n },\n __wbg_address_new: function(arg0) {\n const ret = Address.__wrap(arg0);\n return ret;\n },\n __wbg_append_a992ccc37aa62dc4: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n arg0.append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));\n }, arguments); },\n __wbg_applyFullAccountState_5984dfa1f9adbcb1: function(arg0, arg1, arg2) {\n const ret = applyFullAccountState(getStringFromWasm0(arg0, arg1), JsAccountUpdate.__wrap(arg2));\n return ret;\n },\n __wbg_applyStateSync_164e7aaf2febbe98: function(arg0, arg1, arg2) {\n const ret = applyStateSync(getStringFromWasm0(arg0, arg1), JsStateSyncUpdate.__wrap(arg2));\n return ret;\n },\n __wbg_applyTransactionDelta_59ccc57856c6bd87: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, arg21, arg22) {\n let deferred0_0;\n let deferred0_1;\n let deferred1_0;\n let deferred1_1;\n let deferred5_0;\n let deferred5_1;\n let deferred6_0;\n let deferred6_1;\n let deferred7_0;\n let deferred7_1;\n let deferred8_0;\n let deferred8_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n deferred1_0 = arg4;\n deferred1_1 = arg5;\n var v2 = getArrayJsValueFromWasm0(arg6, arg7).slice();\n wasm.__wbindgen_free(arg6, arg7 * 4, 4);\n var v3 = getArrayJsValueFromWasm0(arg8, arg9).slice();\n wasm.__wbindgen_free(arg8, arg9 * 4, 4);\n var v4 = getArrayJsValueFromWasm0(arg10, arg11).slice();\n wasm.__wbindgen_free(arg10, arg11 * 4, 4);\n deferred5_0 = arg12;\n deferred5_1 = arg13;\n deferred6_0 = arg14;\n deferred6_1 = arg15;\n deferred7_0 = arg16;\n deferred7_1 = arg17;\n deferred8_0 = arg19;\n deferred8_1 = arg20;\n let v9;\n if (arg21 !== 0) {\n v9 = getArrayU8FromWasm0(arg21, arg22).slice();\n wasm.__wbindgen_free(arg21, arg22 * 1, 1);\n }\n const ret = applyTransactionDelta(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), v2, v3, v4, getStringFromWasm0(arg12, arg13), getStringFromWasm0(arg14, arg15), getStringFromWasm0(arg16, arg17), arg18 !== 0, getStringFromWasm0(arg19, arg20), v9);\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n wasm.__wbindgen_free(deferred5_0, deferred5_1, 1);\n wasm.__wbindgen_free(deferred6_0, deferred6_1, 1);\n wasm.__wbindgen_free(deferred7_0, deferred7_1, 1);\n wasm.__wbindgen_free(deferred8_0, deferred8_1, 1);\n }\n },\n __wbg_assetvault_new: function(arg0) {\n const ret = AssetVault.__wrap(arg0);\n return ret;\n },\n __wbg_authsecretkey_new: function(arg0) {\n const ret = AuthSecretKey.__wrap(arg0);\n return ret;\n },\n __wbg_blockheader_new: function(arg0) {\n const ret = BlockHeader.__wrap(arg0);\n return ret;\n },\n __wbg_body_3a0b4437dadea6bf: function(arg0) {\n const ret = arg0.body;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_buffer_26d0910f3a5bc899: function(arg0) {\n const ret = arg0.buffer;\n return ret;\n },\n __wbg_byobRequest_80e594e6da4e1af7: function(arg0) {\n const ret = arg0.byobRequest;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_byteLength_3417f266f4bf562a: function(arg0) {\n const ret = arg0.byteLength;\n return ret;\n },\n __wbg_byteOffset_f88547ca47c86358: function(arg0) {\n const ret = arg0.byteOffset;\n return ret;\n },\n __wbg_call_389efe28435a9388: function() { return handleError(function (arg0, arg1) {\n const ret = arg0.call(arg1);\n return ret;\n }, arguments); },\n __wbg_call_4708e0c13bdc8e95: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = arg0.call(arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_call_812d25f1510c13c8: function() { return handleError(function (arg0, arg1, arg2, arg3) {\n const ret = arg0.call(arg1, arg2, arg3);\n return ret;\n }, arguments); },\n __wbg_cancel_2c0a0a251ff6b2b7: function(arg0) {\n const ret = arg0.cancel();\n return ret;\n },\n __wbg_catch_c1f8c7623b458214: function(arg0, arg1) {\n const ret = arg0.catch(arg1);\n return ret;\n },\n __wbg_clearTimeout_a7df70ff6fb2f0a7: function(arg0) {\n const ret = clearTimeout(arg0);\n return ret;\n },\n __wbg_close_06dfa0a815b9d71f: function() { return handleError(function (arg0) {\n arg0.close();\n }, arguments); },\n __wbg_close_a79afee31de55b36: function() { return handleError(function (arg0) {\n arg0.close();\n }, arguments); },\n __wbg_committednote_new: function(arg0) {\n const ret = CommittedNote.__wrap(arg0);\n return ret;\n },\n __wbg_consumablenoterecord_new: function(arg0) {\n const ret = ConsumableNoteRecord.__wrap(arg0);\n return ret;\n },\n __wbg_done_57b39ecd9addfe81: function(arg0) {\n const ret = arg0.done;\n return ret;\n },\n __wbg_enqueue_2c63f2044f257c3e: function() { return handleError(function (arg0, arg1) {\n arg0.enqueue(arg1);\n }, arguments); },\n __wbg_error_7534b8e9a36f1ab4: function(arg0, arg1) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_exportStore_5874ec863915584b: function(arg0, arg1) {\n const ret = exportStore(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_felt_new: function(arg0) {\n const ret = Felt.__wrap(arg0);\n return ret;\n },\n __wbg_felt_unwrap: function(arg0) {\n const ret = Felt.__unwrap(arg0);\n return ret;\n },\n __wbg_fetch_a720bfbbf7f6c776: function(arg0, arg1) {\n const ret = fetch(arg0, arg1);\n return ret;\n },\n __wbg_fetch_c97461e1e8f610cd: function(arg0, arg1, arg2) {\n const ret = arg0.fetch(arg1, arg2);\n return ret;\n },\n __wbg_fetchedaccount_new: function(arg0) {\n const ret = FetchedAccount.__wrap(arg0);\n return ret;\n },\n __wbg_fetchednote_new: function(arg0) {\n const ret = FetchedNote.__wrap(arg0);\n return ret;\n },\n __wbg_forceImportStore_6c4f01c5c826a84a: function(arg0, arg1, arg2) {\n const ret = forceImportStore(getStringFromWasm0(arg0, arg1), arg2);\n return ret;\n },\n __wbg_foreignaccount_unwrap: function(arg0) {\n const ret = ForeignAccount.__unwrap(arg0);\n return ret;\n },\n __wbg_fungibleasset_new: function(arg0) {\n const ret = FungibleAsset.__wrap(arg0);\n return ret;\n },\n __wbg_fungibleasset_unwrap: function(arg0) {\n const ret = FungibleAsset.__unwrap(arg0);\n return ret;\n },\n __wbg_fungibleassetdeltaitem_new: function(arg0) {\n const ret = FungibleAssetDeltaItem.__wrap(arg0);\n return ret;\n },\n __wbg_getAccountAddresses_82f229693e2ec7ae: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getAccountAddresses(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getAccountAuthByPubKeyCommitment_6fe602f9dfb51fae: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getAccountAuthByPubKeyCommitment(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getAccountCode_fff3da1c8f921fb0: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getAccountCode(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getAccountHeaderByCommitment_75f89bbcd8556322: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getAccountHeaderByCommitment(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getAccountHeader_f11be28051c305aa: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getAccountHeader(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getAccountIdByKeyCommitment_09d6d47e3075a887: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getAccountIdByKeyCommitment(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getAccountIds_47bd2e2f5585bdd3: function(arg0, arg1) {\n const ret = getAccountIds(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_getAccountStorageMaps_dd2bbc0db626823c: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getAccountStorageMaps(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getAccountStorage_440a6bf20267a6af: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getAccountStorage(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getAccountVaultAssets_e97b428441d96ee9: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getAccountVaultAssets(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getAllAccountHeaders_15f6fcfa376fcb5b: function(arg0, arg1) {\n const ret = getAllAccountHeaders(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_getBlockHeaders_c2ae17aac376da9c: function(arg0, arg1, arg2, arg3) {\n var v0 = getArrayU32FromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 4, 4);\n const ret = getBlockHeaders(getStringFromWasm0(arg0, arg1), v0);\n return ret;\n },\n __wbg_getForeignAccountCode_6c09a7caeb4b9647: function(arg0, arg1, arg2, arg3) {\n var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 4, 4);\n const ret = getForeignAccountCode(getStringFromWasm0(arg0, arg1), v0);\n return ret;\n },\n __wbg_getInputNotesFromIds_83d99c60a0a16932: function(arg0, arg1, arg2, arg3) {\n var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 4, 4);\n const ret = getInputNotesFromIds(getStringFromWasm0(arg0, arg1), v0);\n return ret;\n },\n __wbg_getInputNotesFromNullifiers_40921b17ee291c87: function(arg0, arg1, arg2, arg3) {\n var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 4, 4);\n const ret = getInputNotesFromNullifiers(getStringFromWasm0(arg0, arg1), v0);\n return ret;\n },\n __wbg_getInputNotes_246e203a70392bb8: function(arg0, arg1, arg2, arg3) {\n var v0 = getArrayU8FromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 1, 1);\n const ret = getInputNotes(getStringFromWasm0(arg0, arg1), v0);\n return ret;\n },\n __wbg_getKeyCommitmentsByAccountId_2c21ea614d0bb0bb: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getKeyCommitmentsByAccountId(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getNoteScript_d1134d3cd683d6b2: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getNoteScript(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getNoteTags_e4f71e1a8f4feb21: function(arg0, arg1) {\n const ret = getNoteTags(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_getOutputNotesFromIds_de8fb6f5fee6c953: function(arg0, arg1, arg2, arg3) {\n var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 4, 4);\n const ret = getOutputNotesFromIds(getStringFromWasm0(arg0, arg1), v0);\n return ret;\n },\n __wbg_getOutputNotesFromNullifiers_9f51be76a0f6c916: function(arg0, arg1, arg2, arg3) {\n var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 4, 4);\n const ret = getOutputNotesFromNullifiers(getStringFromWasm0(arg0, arg1), v0);\n return ret;\n },\n __wbg_getOutputNotes_9cdaa6245bd5714c: function(arg0, arg1, arg2, arg3) {\n var v0 = getArrayU8FromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 1, 1);\n const ret = getOutputNotes(getStringFromWasm0(arg0, arg1), v0);\n return ret;\n },\n __wbg_getPartialBlockchainNodesAll_82f75763ea15d598: function(arg0, arg1) {\n const ret = getPartialBlockchainNodesAll(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_getPartialBlockchainNodesUpToInOrderIndex_0f129ed50a5e4af5: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getPartialBlockchainNodesUpToInOrderIndex(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getPartialBlockchainNodes_42cb8c65e5dc9051: function(arg0, arg1, arg2, arg3) {\n var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 4, 4);\n const ret = getPartialBlockchainNodes(getStringFromWasm0(arg0, arg1), v0);\n return ret;\n },\n __wbg_getPartialBlockchainPeaksByBlockNum_22a173865b3df735: function(arg0, arg1, arg2) {\n const ret = getPartialBlockchainPeaksByBlockNum(getStringFromWasm0(arg0, arg1), arg2 >>> 0);\n return ret;\n },\n __wbg_getRandomValues_1c61fac11405ffdc: function() { return handleError(function (arg0, arg1) {\n globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));\n }, arguments); },\n __wbg_getReader_f47519d698a4505e: function() { return handleError(function (arg0) {\n const ret = arg0.getReader();\n return ret;\n }, arguments); },\n __wbg_getSetting_f7be8e05ab8bad69: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getSetting(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getSyncHeight_30373234e1db7d59: function(arg0, arg1) {\n const ret = getSyncHeight(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_getTime_1e3cd1391c5c3995: function(arg0) {\n const ret = arg0.getTime();\n return ret;\n },\n __wbg_getTrackedBlockHeaders_a2ff7ced468be82b: function(arg0, arg1) {\n const ret = getTrackedBlockHeaders(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_getTransactions_fba251dc1ae7c5be: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = getTransactions(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_getUnspentInputNoteNullifiers_b282e57f53cd12ee: function(arg0, arg1) {\n const ret = getUnspentInputNoteNullifiers(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_get_9b94d73e6221f75c: function(arg0, arg1) {\n const ret = arg0[arg1 >>> 0];\n return ret;\n },\n __wbg_get_b3ed3ad4be2bc8ac: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(arg0, arg1);\n return ret;\n }, arguments); },\n __wbg_get_done_1ad1c16537f444c6: function(arg0) {\n const ret = arg0.done;\n return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n },\n __wbg_get_value_6b77a1b7b90c9200: function(arg0) {\n const ret = arg0.value;\n return ret;\n },\n __wbg_get_with_ref_key_1dc361bd10053bfe: function(arg0, arg1) {\n const ret = arg0[arg1];\n return ret;\n },\n __wbg_getproceduresresultitem_new: function(arg0) {\n const ret = GetProceduresResultItem.__wrap(arg0);\n return ret;\n },\n __wbg_has_d4e53238966c12b6: function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.has(arg0, arg1);\n return ret;\n }, arguments); },\n __wbg_headers_59a2938db9f80985: function(arg0) {\n const ret = arg0.headers;\n return ret;\n },\n __wbg_inputnote_new: function(arg0) {\n const ret = InputNote.__wrap(arg0);\n return ret;\n },\n __wbg_inputnoterecord_new: function(arg0) {\n const ret = InputNoteRecord.__wrap(arg0);\n return ret;\n },\n __wbg_insertAccountAddress_6231e3afe2424f42: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n var v1 = getArrayU8FromWasm0(arg4, arg5).slice();\n wasm.__wbindgen_free(arg4, arg5 * 1, 1);\n const ret = insertAccountAddress(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), v1);\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_insertAccountAuth_a99c26f21d124b5c: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n let deferred0_0;\n let deferred0_1;\n let deferred1_0;\n let deferred1_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n deferred1_0 = arg4;\n deferred1_1 = arg5;\n const ret = insertAccountAuth(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n },\n __wbg_insertAccountKeyMapping_4039662d288a5400: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n let deferred0_0;\n let deferred0_1;\n let deferred1_0;\n let deferred1_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n deferred1_0 = arg4;\n deferred1_1 = arg5;\n const ret = insertAccountKeyMapping(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n },\n __wbg_insertBlockHeader_e30051a2b8f281b7: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n var v0 = getArrayU8FromWasm0(arg3, arg4).slice();\n wasm.__wbindgen_free(arg3, arg4 * 1, 1);\n var v1 = getArrayU8FromWasm0(arg5, arg6).slice();\n wasm.__wbindgen_free(arg5, arg6 * 1, 1);\n const ret = insertBlockHeader(getStringFromWasm0(arg0, arg1), arg2 >>> 0, v0, v1, arg7 !== 0);\n return ret;\n },\n __wbg_insertPartialBlockchainNodes_f03e6846e58f99f7: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 4, 4);\n var v1 = getArrayJsValueFromWasm0(arg4, arg5).slice();\n wasm.__wbindgen_free(arg4, arg5 * 4, 4);\n const ret = insertPartialBlockchainNodes(getStringFromWasm0(arg0, arg1), v0, v1);\n return ret;\n },\n __wbg_insertSetting_7f257c949e4ba7f9: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n var v1 = getArrayU8FromWasm0(arg4, arg5).slice();\n wasm.__wbindgen_free(arg4, arg5 * 1, 1);\n const ret = insertSetting(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), v1);\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_insertTransactionScript_c9c414607bf00695: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n var v0 = getArrayU8FromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 1, 1);\n let v1;\n if (arg4 !== 0) {\n v1 = getArrayU8FromWasm0(arg4, arg5).slice();\n wasm.__wbindgen_free(arg4, arg5 * 1, 1);\n }\n const ret = insertTransactionScript(getStringFromWasm0(arg0, arg1), v0, v1);\n return ret;\n },\n __wbg_instanceof_ArrayBuffer_c367199e2fa2aa04: function(arg0) {\n let result;\n try {\n result = arg0 instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Promise_0094681e3519d6ec: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Promise;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_instanceof_Uint8Array_9b9075935c74707c: function(arg0) {\n let result;\n try {\n result = arg0 instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n },\n __wbg_isArray_d314bb98fcf08331: function(arg0) {\n const ret = Array.isArray(arg0);\n return ret;\n },\n __wbg_isSafeInteger_bfbc7332a9768d2a: function(arg0) {\n const ret = Number.isSafeInteger(arg0);\n return ret;\n },\n __wbg_iterator_6ff6560ca1568e55: function() {\n const ret = Symbol.iterator;\n return ret;\n },\n __wbg_jsaccountupdate_new: function(arg0) {\n const ret = JsAccountUpdate.__wrap(arg0);\n return ret;\n },\n __wbg_jsaccountupdate_unwrap: function(arg0) {\n const ret = JsAccountUpdate.__unwrap(arg0);\n return ret;\n },\n __wbg_jsstoragemapentry_new: function(arg0) {\n const ret = JsStorageMapEntry.__wrap(arg0);\n return ret;\n },\n __wbg_jsstoragemapentry_unwrap: function(arg0) {\n const ret = JsStorageMapEntry.__unwrap(arg0);\n return ret;\n },\n __wbg_jsstorageslot_new: function(arg0) {\n const ret = JsStorageSlot.__wrap(arg0);\n return ret;\n },\n __wbg_jsstorageslot_unwrap: function(arg0) {\n const ret = JsStorageSlot.__unwrap(arg0);\n return ret;\n },\n __wbg_jsvaultasset_new: function(arg0) {\n const ret = JsVaultAsset.__wrap(arg0);\n return ret;\n },\n __wbg_jsvaultasset_unwrap: function(arg0) {\n const ret = JsVaultAsset.__unwrap(arg0);\n return ret;\n },\n __wbg_length_32ed9a279acd054c: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_length_35a7bace40f36eac: function(arg0) {\n const ret = arg0.length;\n return ret;\n },\n __wbg_listSettingKeys_177323a7e3eb8746: function(arg0, arg1) {\n const ret = listSettingKeys(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_lockAccount_6e14a5747a738708: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = lockAccount(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_log_0cc1b7768397bcfe: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7));\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_log_cb9e190acc5753fb: function(arg0, arg1) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.log(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_mark_7438147ce31e9d4b: function(arg0, arg1) {\n performance.mark(getStringFromWasm0(arg0, arg1));\n },\n __wbg_measure_fb7825c11612c823: function() { return handleError(function (arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n let deferred1_0;\n let deferred1_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n deferred1_0 = arg2;\n deferred1_1 = arg3;\n performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n }, arguments); },\n __wbg_new_0_73afc35eb544e539: function() {\n const ret = new Date();\n return ret;\n },\n __wbg_new_361308b2356cecd0: function() {\n const ret = new Object();\n return ret;\n },\n __wbg_new_3eb36ae241fe6f44: function() {\n const ret = new Array();\n return ret;\n },\n __wbg_new_64284bd487f9d239: function() { return handleError(function () {\n const ret = new Headers();\n return ret;\n }, arguments); },\n __wbg_new_72b49615380db768: function(arg0, arg1) {\n const ret = new Error(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_new_8a6f238a6ece86ea: function() {\n const ret = new Error();\n return ret;\n },\n __wbg_new_b5d9e2fb389fef91: function(arg0, arg1) {\n try {\n var state0 = {a: arg0, b: arg1};\n var cb0 = (arg0, arg1) => {\n const a = state0.a;\n state0.a = 0;\n try {\n return wasm_bindgen__convert__closures_____invoke__h4e730be6209b5f2c(a, state0.b, arg0, arg1);\n } finally {\n state0.a = a;\n }\n };\n const ret = new Promise(cb0);\n return ret;\n } finally {\n state0.a = state0.b = 0;\n }\n },\n __wbg_new_b949e7f56150a5d1: function() { return handleError(function () {\n const ret = new AbortController();\n return ret;\n }, arguments); },\n __wbg_new_dd2b680c8bf6ae29: function(arg0) {\n const ret = new Uint8Array(arg0);\n return ret;\n },\n __wbg_new_from_slice_a3d2629dc1826784: function(arg0, arg1) {\n const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_new_no_args_1c7c842f08d00ebb: function(arg0, arg1) {\n const ret = new Function(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_new_with_byte_offset_and_length_aa261d9c9da49eb1: function(arg0, arg1, arg2) {\n const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0);\n return ret;\n },\n __wbg_new_with_str_and_init_a61cbc6bdef21614: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = new Request(getStringFromWasm0(arg0, arg1), arg2);\n return ret;\n }, arguments); },\n __wbg_next_3482f54c49e8af19: function() { return handleError(function (arg0) {\n const ret = arg0.next();\n return ret;\n }, arguments); },\n __wbg_next_418f80d8f5303233: function(arg0) {\n const ret = arg0.next;\n return ret;\n },\n __wbg_note_new: function(arg0) {\n const ret = Note.__wrap(arg0);\n return ret;\n },\n __wbg_note_unwrap: function(arg0) {\n const ret = Note.__unwrap(arg0);\n return ret;\n },\n __wbg_noteandargs_unwrap: function(arg0) {\n const ret = NoteAndArgs.__unwrap(arg0);\n return ret;\n },\n __wbg_noteconsumability_new: function(arg0) {\n const ret = NoteConsumability.__wrap(arg0);\n return ret;\n },\n __wbg_noteconsumability_unwrap: function(arg0) {\n const ret = NoteConsumability.__unwrap(arg0);\n return ret;\n },\n __wbg_notedetailsandtag_new: function(arg0) {\n const ret = NoteDetailsAndTag.__wrap(arg0);\n return ret;\n },\n __wbg_notedetailsandtag_unwrap: function(arg0) {\n const ret = NoteDetailsAndTag.__unwrap(arg0);\n return ret;\n },\n __wbg_notefile_new: function(arg0) {\n const ret = NoteFile.__wrap(arg0);\n return ret;\n },\n __wbg_noteid_new: function(arg0) {\n const ret = NoteId.__wrap(arg0);\n return ret;\n },\n __wbg_noteid_unwrap: function(arg0) {\n const ret = NoteId.__unwrap(arg0);\n return ret;\n },\n __wbg_noteidandargs_unwrap: function(arg0) {\n const ret = NoteIdAndArgs.__unwrap(arg0);\n return ret;\n },\n __wbg_noterecipient_unwrap: function(arg0) {\n const ret = NoteRecipient.__unwrap(arg0);\n return ret;\n },\n __wbg_notescript_new: function(arg0) {\n const ret = NoteScript.__wrap(arg0);\n return ret;\n },\n __wbg_notesyncinfo_new: function(arg0) {\n const ret = NoteSyncInfo.__wrap(arg0);\n return ret;\n },\n __wbg_notetag_unwrap: function(arg0) {\n const ret = NoteTag.__unwrap(arg0);\n return ret;\n },\n __wbg_openDatabase_92372e9cfd9e1a0d: function(arg0, arg1, arg2, arg3) {\n const ret = openDatabase(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n },\n __wbg_outputnote_new: function(arg0) {\n const ret = OutputNote.__wrap(arg0);\n return ret;\n },\n __wbg_outputnote_unwrap: function(arg0) {\n const ret = OutputNote.__unwrap(arg0);\n return ret;\n },\n __wbg_outputnoterecord_new: function(arg0) {\n const ret = OutputNoteRecord.__wrap(arg0);\n return ret;\n },\n __wbg_outputnotes_unwrap: function(arg0) {\n const ret = OutputNotes.__unwrap(arg0);\n return ret;\n },\n __wbg_procedurethreshold_new: function(arg0) {\n const ret = ProcedureThreshold.__wrap(arg0);\n return ret;\n },\n __wbg_procedurethreshold_unwrap: function(arg0) {\n const ret = ProcedureThreshold.__unwrap(arg0);\n return ret;\n },\n __wbg_prototypesetcall_bdcdcc5842e4d77d: function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);\n },\n __wbg_proventransaction_new: function(arg0) {\n const ret = ProvenTransaction.__wrap(arg0);\n return ret;\n },\n __wbg_pruneIrrelevantBlocks_e695903338107987: function(arg0, arg1) {\n const ret = pruneIrrelevantBlocks(getStringFromWasm0(arg0, arg1));\n return ret;\n },\n __wbg_queueMicrotask_0aa0a927f78f5d98: function(arg0) {\n const ret = arg0.queueMicrotask;\n return ret;\n },\n __wbg_queueMicrotask_5bb536982f78a56f: function(arg0) {\n queueMicrotask(arg0);\n },\n __wbg_read_68fd377df67e19b0: function(arg0) {\n const ret = arg0.read();\n return ret;\n },\n __wbg_releaseLock_aa5846c2494b3032: function(arg0) {\n arg0.releaseLock();\n },\n __wbg_removeAccountAddress_26320801b9cf78cb: function(arg0, arg1, arg2, arg3) {\n var v0 = getArrayU8FromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 1, 1);\n const ret = removeAccountAddress(getStringFromWasm0(arg0, arg1), v0);\n return ret;\n },\n __wbg_removeNoteTag_a80684c949d5d911: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n var v0 = getArrayU8FromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 1, 1);\n let v1;\n if (arg4 !== 0) {\n v1 = getStringFromWasm0(arg4, arg5).slice();\n wasm.__wbindgen_free(arg4, arg5 * 1, 1);\n }\n let v2;\n if (arg6 !== 0) {\n v2 = getStringFromWasm0(arg6, arg7).slice();\n wasm.__wbindgen_free(arg6, arg7 * 1, 1);\n }\n const ret = removeNoteTag(getStringFromWasm0(arg0, arg1), v0, v1, v2);\n return ret;\n },\n __wbg_removeSetting_9baeabb180b1a28d: function(arg0, arg1, arg2, arg3) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n const ret = removeSetting(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_resolve_002c4b7d9d8f6b64: function(arg0) {\n const ret = Promise.resolve(arg0);\n return ret;\n },\n __wbg_respond_bf6ab10399ca8722: function() { return handleError(function (arg0, arg1) {\n arg0.respond(arg1 >>> 0);\n }, arguments); },\n __wbg_serializedinputnotedata_new: function(arg0) {\n const ret = SerializedInputNoteData.__wrap(arg0);\n return ret;\n },\n __wbg_serializedinputnotedata_unwrap: function(arg0) {\n const ret = SerializedInputNoteData.__unwrap(arg0);\n return ret;\n },\n __wbg_serializedoutputnotedata_new: function(arg0) {\n const ret = SerializedOutputNoteData.__wrap(arg0);\n return ret;\n },\n __wbg_serializedoutputnotedata_unwrap: function(arg0) {\n const ret = SerializedOutputNoteData.__unwrap(arg0);\n return ret;\n },\n __wbg_serializedtransactiondata_new: function(arg0) {\n const ret = SerializedTransactionData.__wrap(arg0);\n return ret;\n },\n __wbg_serializedtransactiondata_unwrap: function(arg0) {\n const ret = SerializedTransactionData.__unwrap(arg0);\n return ret;\n },\n __wbg_setTimeout_1be2ac9ebcf189c3: function(arg0, arg1) {\n const ret = setTimeout(arg0, arg1);\n return ret;\n },\n __wbg_set_6cb8631f80447a67: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = Reflect.set(arg0, arg1, arg2);\n return ret;\n }, arguments); },\n __wbg_set_body_9a7e00afe3cfe244: function(arg0, arg1) {\n arg0.body = arg1;\n },\n __wbg_set_cache_315a3ed773a41543: function(arg0, arg1) {\n arg0.cache = __wbindgen_enum_RequestCache[arg1];\n },\n __wbg_set_cc56eefd2dd91957: function(arg0, arg1, arg2) {\n arg0.set(getArrayU8FromWasm0(arg1, arg2));\n },\n __wbg_set_credentials_c4a58d2e05ef24fb: function(arg0, arg1) {\n arg0.credentials = __wbindgen_enum_RequestCredentials[arg1];\n },\n __wbg_set_db769d02949a271d: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n arg0.set(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));\n }, arguments); },\n __wbg_set_f43e577aea94465b: function(arg0, arg1, arg2) {\n arg0[arg1 >>> 0] = arg2;\n },\n __wbg_set_headers_cfc5f4b2c1f20549: function(arg0, arg1) {\n arg0.headers = arg1;\n },\n __wbg_set_integrity_aa1d5cf2e257cade: function(arg0, arg1, arg2) {\n arg0.integrity = getStringFromWasm0(arg1, arg2);\n },\n __wbg_set_method_c3e20375f5ae7fac: function(arg0, arg1, arg2) {\n arg0.method = getStringFromWasm0(arg1, arg2);\n },\n __wbg_set_mode_b13642c312648202: function(arg0, arg1) {\n arg0.mode = __wbindgen_enum_RequestMode[arg1];\n },\n __wbg_set_redirect_a7956fa3f817cbbc: function(arg0, arg1) {\n arg0.redirect = __wbindgen_enum_RequestRedirect[arg1];\n },\n __wbg_set_referrer_aa8e6f0f198f18cd: function(arg0, arg1, arg2) {\n arg0.referrer = getStringFromWasm0(arg1, arg2);\n },\n __wbg_set_referrer_policy_544ba074b97231a6: function(arg0, arg1) {\n arg0.referrerPolicy = __wbindgen_enum_ReferrerPolicy[arg1];\n },\n __wbg_set_signal_f2d3f8599248896d: function(arg0, arg1) {\n arg0.signal = arg1;\n },\n __wbg_signal_d1285ecab4ebc5ad: function(arg0) {\n const ret = arg0.signal;\n return ret;\n },\n __wbg_slotandkeys_unwrap: function(arg0) {\n const ret = SlotAndKeys.__unwrap(arg0);\n return ret;\n },\n __wbg_stack_0ed75d68575b0f3c: function(arg0, arg1) {\n const ret = arg1.stack;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg_static_accessor_GLOBAL_12837167ad935116: function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_static_accessor_GLOBAL_THIS_e628e89ab3b1c95f: function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_static_accessor_SELF_a621d3dfbb60d0ce: function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_static_accessor_WINDOW_f8727f0cf888e0bd: function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_status_89d7e803db911ee7: function(arg0) {\n const ret = arg0.status;\n return ret;\n },\n __wbg_storageslot_unwrap: function(arg0) {\n const ret = StorageSlot.__unwrap(arg0);\n return ret;\n },\n __wbg_syncsummary_new: function(arg0) {\n const ret = SyncSummary.__wrap(arg0);\n return ret;\n },\n __wbg_then_0d9fe2c7b1857d32: function(arg0, arg1, arg2) {\n const ret = arg0.then(arg1, arg2);\n return ret;\n },\n __wbg_then_b9e7b3b5f1a9e1b5: function(arg0, arg1) {\n const ret = arg0.then(arg1);\n return ret;\n },\n __wbg_toString_964ff7fe6eca8362: function(arg0) {\n const ret = arg0.toString();\n return ret;\n },\n __wbg_transactionid_new: function(arg0) {\n const ret = TransactionId.__wrap(arg0);\n return ret;\n },\n __wbg_transactionid_unwrap: function(arg0) {\n const ret = TransactionId.__unwrap(arg0);\n return ret;\n },\n __wbg_transactionrecord_new: function(arg0) {\n const ret = TransactionRecord.__wrap(arg0);\n return ret;\n },\n __wbg_transactionresult_new: function(arg0) {\n const ret = TransactionResult.__wrap(arg0);\n return ret;\n },\n __wbg_transactionscriptinputpair_unwrap: function(arg0) {\n const ret = TransactionScriptInputPair.__unwrap(arg0);\n return ret;\n },\n __wbg_transactionstoreupdate_new: function(arg0) {\n const ret = TransactionStoreUpdate.__wrap(arg0);\n return ret;\n },\n __wbg_transactionsummary_new: function(arg0) {\n const ret = TransactionSummary.__wrap(arg0);\n return ret;\n },\n __wbg_undoAccountStates_418528d3ab74f47d: function(arg0, arg1, arg2, arg3) {\n var v0 = getArrayJsValueFromWasm0(arg2, arg3).slice();\n wasm.__wbindgen_free(arg2, arg3 * 4, 4);\n const ret = undoAccountStates(getStringFromWasm0(arg0, arg1), v0);\n return ret;\n },\n __wbg_upsertAccountCode_f0064d5ee703c4d4: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n var v1 = getArrayU8FromWasm0(arg4, arg5).slice();\n wasm.__wbindgen_free(arg4, arg5 * 1, 1);\n const ret = upsertAccountCode(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), v1);\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_upsertAccountRecord_1a44a04b996eea5b: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16) {\n let deferred0_0;\n let deferred0_1;\n let deferred1_0;\n let deferred1_1;\n let deferred2_0;\n let deferred2_1;\n let deferred3_0;\n let deferred3_1;\n let deferred4_0;\n let deferred4_1;\n let deferred5_0;\n let deferred5_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n deferred1_0 = arg4;\n deferred1_1 = arg5;\n deferred2_0 = arg6;\n deferred2_1 = arg7;\n deferred3_0 = arg8;\n deferred3_1 = arg9;\n deferred4_0 = arg10;\n deferred4_1 = arg11;\n deferred5_0 = arg13;\n deferred5_1 = arg14;\n let v6;\n if (arg15 !== 0) {\n v6 = getArrayU8FromWasm0(arg15, arg16).slice();\n wasm.__wbindgen_free(arg15, arg16 * 1, 1);\n }\n const ret = upsertAccountRecord(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7), getStringFromWasm0(arg8, arg9), getStringFromWasm0(arg10, arg11), arg12 !== 0, getStringFromWasm0(arg13, arg14), v6);\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);\n wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);\n wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);\n wasm.__wbindgen_free(deferred5_0, deferred5_1, 1);\n }\n },\n __wbg_upsertAccountStorage_5496ac9020784880: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n let deferred0_0;\n let deferred0_1;\n let deferred1_0;\n let deferred1_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n deferred1_0 = arg4;\n deferred1_1 = arg5;\n var v2 = getArrayJsValueFromWasm0(arg6, arg7).slice();\n wasm.__wbindgen_free(arg6, arg7 * 4, 4);\n const ret = upsertAccountStorage(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), v2);\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n },\n __wbg_upsertForeignAccountCode_e29fa0e4e5f4f985: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n let deferred0_0;\n let deferred0_1;\n let deferred2_0;\n let deferred2_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n var v1 = getArrayU8FromWasm0(arg4, arg5).slice();\n wasm.__wbindgen_free(arg4, arg5 * 1, 1);\n deferred2_0 = arg6;\n deferred2_1 = arg7;\n const ret = upsertForeignAccountCode(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), v1, getStringFromWasm0(arg6, arg7));\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);\n }\n },\n __wbg_upsertInputNote_b4afadbc48fcb67f: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20) {\n let deferred0_0;\n let deferred0_1;\n let deferred4_0;\n let deferred4_1;\n let deferred6_0;\n let deferred6_1;\n let deferred7_0;\n let deferred7_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n var v1 = getArrayU8FromWasm0(arg4, arg5).slice();\n wasm.__wbindgen_free(arg4, arg5 * 1, 1);\n var v2 = getArrayU8FromWasm0(arg6, arg7).slice();\n wasm.__wbindgen_free(arg6, arg7 * 1, 1);\n var v3 = getArrayU8FromWasm0(arg8, arg9).slice();\n wasm.__wbindgen_free(arg8, arg9 * 1, 1);\n deferred4_0 = arg10;\n deferred4_1 = arg11;\n var v5 = getArrayU8FromWasm0(arg12, arg13).slice();\n wasm.__wbindgen_free(arg12, arg13 * 1, 1);\n deferred6_0 = arg14;\n deferred6_1 = arg15;\n deferred7_0 = arg16;\n deferred7_1 = arg17;\n var v8 = getArrayU8FromWasm0(arg19, arg20).slice();\n wasm.__wbindgen_free(arg19, arg20 * 1, 1);\n const ret = upsertInputNote(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), v1, v2, v3, getStringFromWasm0(arg10, arg11), v5, getStringFromWasm0(arg14, arg15), getStringFromWasm0(arg16, arg17), arg18, v8);\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);\n wasm.__wbindgen_free(deferred6_0, deferred6_1, 1);\n wasm.__wbindgen_free(deferred7_0, deferred7_1, 1);\n }\n },\n __wbg_upsertNoteScript_2f97ba16d0d984d0: function(arg0, arg1, arg2, arg3, arg4, arg5) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n var v1 = getArrayU8FromWasm0(arg4, arg5).slice();\n wasm.__wbindgen_free(arg4, arg5 * 1, 1);\n const ret = upsertNoteScript(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), v1);\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_upsertOutputNote_d46cc5c171b7997d: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15) {\n let deferred0_0;\n let deferred0_1;\n let deferred2_0;\n let deferred2_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n var v1 = getArrayU8FromWasm0(arg4, arg5).slice();\n wasm.__wbindgen_free(arg4, arg5 * 1, 1);\n deferred2_0 = arg6;\n deferred2_1 = arg7;\n var v3 = getArrayU8FromWasm0(arg8, arg9).slice();\n wasm.__wbindgen_free(arg8, arg9 * 1, 1);\n let v4;\n if (arg10 !== 0) {\n v4 = getStringFromWasm0(arg10, arg11).slice();\n wasm.__wbindgen_free(arg10, arg11 * 1, 1);\n }\n var v5 = getArrayU8FromWasm0(arg14, arg15).slice();\n wasm.__wbindgen_free(arg14, arg15 * 1, 1);\n const ret = upsertOutputNote(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), v1, getStringFromWasm0(arg6, arg7), v3, v4, arg12 >>> 0, arg13, v5);\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);\n }\n },\n __wbg_upsertStorageMapEntries_4cd61775348e0806: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n let deferred0_0;\n let deferred0_1;\n let deferred1_0;\n let deferred1_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n deferred1_0 = arg4;\n deferred1_1 = arg5;\n var v2 = getArrayJsValueFromWasm0(arg6, arg7).slice();\n wasm.__wbindgen_free(arg6, arg7 * 4, 4);\n const ret = upsertStorageMapEntries(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), v2);\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n },\n __wbg_upsertTransactionRecord_71e12e0dca7738c3: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n var v1 = getArrayU8FromWasm0(arg4, arg5).slice();\n wasm.__wbindgen_free(arg4, arg5 * 1, 1);\n var v2 = getArrayU8FromWasm0(arg8, arg9).slice();\n wasm.__wbindgen_free(arg8, arg9 * 1, 1);\n let v3;\n if (arg10 !== 0) {\n v3 = getArrayU8FromWasm0(arg10, arg11).slice();\n wasm.__wbindgen_free(arg10, arg11 * 1, 1);\n }\n const ret = upsertTransactionRecord(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), v1, arg6 >>> 0, arg7, v2, v3);\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n },\n __wbg_upsertVaultAssets_9afc250da96bd5ab: function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n let deferred0_0;\n let deferred0_1;\n let deferred1_0;\n let deferred1_1;\n try {\n deferred0_0 = arg2;\n deferred0_1 = arg3;\n deferred1_0 = arg4;\n deferred1_1 = arg5;\n var v2 = getArrayJsValueFromWasm0(arg6, arg7).slice();\n wasm.__wbindgen_free(arg6, arg7 * 4, 4);\n const ret = upsertVaultAssets(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), v2);\n return ret;\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);\n }\n },\n __wbg_value_0546255b415e96c1: function(arg0) {\n const ret = arg0.value;\n return ret;\n },\n __wbg_view_6c32e7184b8606ad: function(arg0) {\n const ret = arg0.view;\n return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);\n },\n __wbg_word_new: function(arg0) {\n const ret = Word.__wrap(arg0);\n return ret;\n },\n __wbg_word_unwrap: function(arg0) {\n const ret = Word.__unwrap(arg0);\n return ret;\n },\n __wbindgen_cast_0000000000000001: function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { dtor_idx: 646, function: Function { arguments: [Externref], shim_idx: 651, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__he3a977abd70bfc9b, wasm_bindgen__convert__closures_____invoke__h9b776fcb85dcda59);\n return ret;\n },\n __wbindgen_cast_0000000000000002: function(arg0, arg1) {\n // Cast intrinsic for `Closure(Closure { dtor_idx: 646, function: Function { arguments: [], shim_idx: 647, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__he3a977abd70bfc9b, wasm_bindgen__convert__closures_____invoke__h8c553039fb936537);\n return ret;\n },\n __wbindgen_cast_0000000000000003: function(arg0) {\n // Cast intrinsic for `F64 -> Externref`.\n const ret = arg0;\n return ret;\n },\n __wbindgen_cast_0000000000000004: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return ret;\n },\n __wbindgen_cast_0000000000000005: function(arg0) {\n // Cast intrinsic for `U64 -> Externref`.\n const ret = BigInt.asUintN(64, arg0);\n return ret;\n },\n __wbindgen_cast_0000000000000006: function(arg0, arg1) {\n var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();\n wasm.__wbindgen_free(arg0, arg1 * 4, 4);\n // Cast intrinsic for `Vector(NamedExternref(\"AccountHeader\")) -> Externref`.\n const ret = v0;\n return ret;\n },\n __wbindgen_cast_0000000000000007: function(arg0, arg1) {\n var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();\n wasm.__wbindgen_free(arg0, arg1 * 4, 4);\n // Cast intrinsic for `Vector(NamedExternref(\"Address\")) -> Externref`.\n const ret = v0;\n return ret;\n },\n __wbindgen_cast_0000000000000008: function(arg0, arg1) {\n var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();\n wasm.__wbindgen_free(arg0, arg1 * 4, 4);\n // Cast intrinsic for `Vector(NamedExternref(\"ConsumableNoteRecord\")) -> Externref`.\n const ret = v0;\n return ret;\n },\n __wbindgen_cast_0000000000000009: function(arg0, arg1) {\n var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();\n wasm.__wbindgen_free(arg0, arg1 * 4, 4);\n // Cast intrinsic for `Vector(NamedExternref(\"FetchedNote\")) -> Externref`.\n const ret = v0;\n return ret;\n },\n __wbindgen_cast_000000000000000a: function(arg0, arg1) {\n var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();\n wasm.__wbindgen_free(arg0, arg1 * 4, 4);\n // Cast intrinsic for `Vector(NamedExternref(\"InputNoteRecord\")) -> Externref`.\n const ret = v0;\n return ret;\n },\n __wbindgen_cast_000000000000000b: function(arg0, arg1) {\n var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();\n wasm.__wbindgen_free(arg0, arg1 * 4, 4);\n // Cast intrinsic for `Vector(NamedExternref(\"OutputNoteRecord\")) -> Externref`.\n const ret = v0;\n return ret;\n },\n __wbindgen_cast_000000000000000c: function(arg0, arg1) {\n var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();\n wasm.__wbindgen_free(arg0, arg1 * 4, 4);\n // Cast intrinsic for `Vector(NamedExternref(\"TransactionRecord\")) -> Externref`.\n const ret = v0;\n return ret;\n },\n __wbindgen_cast_000000000000000d: function(arg0, arg1) {\n var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();\n wasm.__wbindgen_free(arg0, arg1 * 4, 4);\n // Cast intrinsic for `Vector(NamedExternref(\"Word\")) -> Externref`.\n const ret = v0;\n return ret;\n },\n __wbindgen_cast_000000000000000e: function(arg0, arg1) {\n var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();\n wasm.__wbindgen_free(arg0, arg1 * 4, 4);\n // Cast intrinsic for `Vector(NamedExternref(\"string\")) -> Externref`.\n const ret = v0;\n return ret;\n },\n __wbindgen_cast_000000000000000f: function(arg0, arg1) {\n var v0 = getArrayU8FromWasm0(arg0, arg1).slice();\n wasm.__wbindgen_free(arg0, arg1 * 1, 1);\n // Cast intrinsic for `Vector(U8) -> Externref`.\n const ret = v0;\n return ret;\n },\n __wbindgen_init_externref_table: function() {\n const table = wasm.__wbindgen_externrefs;\n const offset = table.grow(4);\n table.set(0, undefined);\n table.set(offset + 0, undefined);\n table.set(offset + 1, null);\n table.set(offset + 2, true);\n table.set(offset + 3, false);\n },\n };\n return {\n __proto__: null,\n \"./index_bg.js\": import0,\n };\n}\n\nfunction wasm_bindgen__convert__closures_____invoke__h8c553039fb936537(arg0, arg1) {\n wasm.wasm_bindgen__convert__closures_____invoke__h8c553039fb936537(arg0, arg1);\n}\n\nfunction wasm_bindgen__convert__closures_____invoke__h9b776fcb85dcda59(arg0, arg1, arg2) {\n wasm.wasm_bindgen__convert__closures_____invoke__h9b776fcb85dcda59(arg0, arg1, arg2);\n}\n\nfunction wasm_bindgen__convert__closures_____invoke__h4e730be6209b5f2c(arg0, arg1, arg2, arg3) {\n wasm.wasm_bindgen__convert__closures_____invoke__h4e730be6209b5f2c(arg0, arg1, arg2, arg3);\n}\n\n\nconst __wbindgen_enum_AddressInterface = [\"BasicWallet\"];\n\n\nconst __wbindgen_enum_ReadableStreamType = [\"bytes\"];\n\n\nconst __wbindgen_enum_ReferrerPolicy = [\"\", \"no-referrer\", \"no-referrer-when-downgrade\", \"origin\", \"origin-when-cross-origin\", \"unsafe-url\", \"same-origin\", \"strict-origin\", \"strict-origin-when-cross-origin\"];\n\n\nconst __wbindgen_enum_RequestCache = [\"default\", \"no-store\", \"reload\", \"no-cache\", \"force-cache\", \"only-if-cached\"];\n\n\nconst __wbindgen_enum_RequestCredentials = [\"omit\", \"same-origin\", \"include\"];\n\n\nconst __wbindgen_enum_RequestMode = [\"same-origin\", \"no-cors\", \"cors\", \"navigate\"];\n\n\nconst __wbindgen_enum_RequestRedirect = [\"follow\", \"error\", \"manual\"];\nconst AccountFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_account_free(ptr >>> 0, 1));\nconst AccountArrayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountarray_free(ptr >>> 0, 1));\nconst AccountBuilderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountbuilder_free(ptr >>> 0, 1));\nconst AccountBuilderResultFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountbuilderresult_free(ptr >>> 0, 1));\nconst AccountCodeFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountcode_free(ptr >>> 0, 1));\nconst AccountComponentFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountcomponent_free(ptr >>> 0, 1));\nconst AccountComponentCodeFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountcomponentcode_free(ptr >>> 0, 1));\nconst AccountDeltaFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountdelta_free(ptr >>> 0, 1));\nconst AccountFileFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountfile_free(ptr >>> 0, 1));\nconst AccountHeaderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountheader_free(ptr >>> 0, 1));\nconst AccountIdFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountid_free(ptr >>> 0, 1));\nconst AccountIdArrayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountidarray_free(ptr >>> 0, 1));\nconst AccountProofFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountproof_free(ptr >>> 0, 1));\nconst AccountReaderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountreader_free(ptr >>> 0, 1));\nconst AccountStatusFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountstatus_free(ptr >>> 0, 1));\nconst AccountStorageFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountstorage_free(ptr >>> 0, 1));\nconst AccountStorageDeltaFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountstoragedelta_free(ptr >>> 0, 1));\nconst AccountStorageModeFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountstoragemode_free(ptr >>> 0, 1));\nconst AccountStorageRequirementsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountstoragerequirements_free(ptr >>> 0, 1));\nconst AccountVaultDeltaFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_accountvaultdelta_free(ptr >>> 0, 1));\nconst AddressFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_address_free(ptr >>> 0, 1));\nconst AdviceInputsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_adviceinputs_free(ptr >>> 0, 1));\nconst AdviceMapFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_advicemap_free(ptr >>> 0, 1));\nconst AssetVaultFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_assetvault_free(ptr >>> 0, 1));\nconst AuthFalcon512RpoMultisigConfigFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_authfalcon512rpomultisigconfig_free(ptr >>> 0, 1));\nconst AuthSecretKeyFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_authsecretkey_free(ptr >>> 0, 1));\nconst BasicFungibleFaucetComponentFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_basicfungiblefaucetcomponent_free(ptr >>> 0, 1));\nconst BlockHeaderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_blockheader_free(ptr >>> 0, 1));\nconst CodeBuilderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_codebuilder_free(ptr >>> 0, 1));\nconst CommittedNoteFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_committednote_free(ptr >>> 0, 1));\nconst ConsumableNoteRecordFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_consumablenoterecord_free(ptr >>> 0, 1));\nconst EndpointFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_endpoint_free(ptr >>> 0, 1));\nconst ExecutedTransactionFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_executedtransaction_free(ptr >>> 0, 1));\nconst FeltFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_felt_free(ptr >>> 0, 1));\nconst FeltArrayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_feltarray_free(ptr >>> 0, 1));\nconst FetchedAccountFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_fetchedaccount_free(ptr >>> 0, 1));\nconst FetchedNoteFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_fetchednote_free(ptr >>> 0, 1));\nconst FlattenedU8VecFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_flattenedu8vec_free(ptr >>> 0, 1));\nconst ForeignAccountFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_foreignaccount_free(ptr >>> 0, 1));\nconst ForeignAccountArrayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_foreignaccountarray_free(ptr >>> 0, 1));\nconst FungibleAssetFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_fungibleasset_free(ptr >>> 0, 1));\nconst FungibleAssetDeltaFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_fungibleassetdelta_free(ptr >>> 0, 1));\nconst FungibleAssetDeltaItemFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_fungibleassetdeltaitem_free(ptr >>> 0, 1));\nconst GetProceduresResultItemFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_getproceduresresultitem_free(ptr >>> 0, 1));\nconst InputNoteFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_inputnote_free(ptr >>> 0, 1));\nconst InputNoteRecordFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_inputnoterecord_free(ptr >>> 0, 1));\nconst InputNotesFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_inputnotes_free(ptr >>> 0, 1));\nconst IntoUnderlyingByteSourceFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_intounderlyingbytesource_free(ptr >>> 0, 1));\nconst IntoUnderlyingSinkFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_intounderlyingsink_free(ptr >>> 0, 1));\nconst IntoUnderlyingSourceFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_intounderlyingsource_free(ptr >>> 0, 1));\nconst JsAccountUpdateFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_jsaccountupdate_free(ptr >>> 0, 1));\nconst JsStateSyncUpdateFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_jsstatesyncupdate_free(ptr >>> 0, 1));\nconst JsStorageMapEntryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_jsstoragemapentry_free(ptr >>> 0, 1));\nconst JsStorageSlotFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_jsstorageslot_free(ptr >>> 0, 1));\nconst JsVaultAssetFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_jsvaultasset_free(ptr >>> 0, 1));\nconst LibraryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_library_free(ptr >>> 0, 1));\nconst MerklePathFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_merklepath_free(ptr >>> 0, 1));\nconst NetworkIdFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_networkid_free(ptr >>> 0, 1));\nconst NoteFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_note_free(ptr >>> 0, 1));\nconst NoteAndArgsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteandargs_free(ptr >>> 0, 1));\nconst NoteAndArgsArrayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteandargsarray_free(ptr >>> 0, 1));\nconst NoteAssetsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteassets_free(ptr >>> 0, 1));\nconst NoteAttachmentFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteattachment_free(ptr >>> 0, 1));\nconst NoteAttachmentSchemeFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteattachmentscheme_free(ptr >>> 0, 1));\nconst NoteConsumabilityFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteconsumability_free(ptr >>> 0, 1));\nconst NoteConsumptionStatusFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteconsumptionstatus_free(ptr >>> 0, 1));\nconst NoteDetailsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_notedetails_free(ptr >>> 0, 1));\nconst NoteDetailsAndTagFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_notedetailsandtag_free(ptr >>> 0, 1));\nconst NoteDetailsAndTagArrayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_notedetailsandtagarray_free(ptr >>> 0, 1));\nconst NoteExecutionHintFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteexecutionhint_free(ptr >>> 0, 1));\nconst NoteFileFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_notefile_free(ptr >>> 0, 1));\nconst NoteFilterFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_notefilter_free(ptr >>> 0, 1));\nconst NoteHeaderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteheader_free(ptr >>> 0, 1));\nconst NoteIdFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteid_free(ptr >>> 0, 1));\nconst NoteIdAndArgsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteidandargs_free(ptr >>> 0, 1));\nconst NoteIdAndArgsArrayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteidandargsarray_free(ptr >>> 0, 1));\nconst NoteInclusionProofFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noteinclusionproof_free(ptr >>> 0, 1));\nconst NoteLocationFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_notelocation_free(ptr >>> 0, 1));\nconst NoteMetadataFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_notemetadata_free(ptr >>> 0, 1));\nconst NoteRecipientFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noterecipient_free(ptr >>> 0, 1));\nconst NoteRecipientArrayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_noterecipientarray_free(ptr >>> 0, 1));\nconst NoteScriptFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_notescript_free(ptr >>> 0, 1));\nconst NoteStorageFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_notestorage_free(ptr >>> 0, 1));\nconst NoteSyncInfoFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_notesyncinfo_free(ptr >>> 0, 1));\nconst NoteTagFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_notetag_free(ptr >>> 0, 1));\nconst OutputNoteFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_outputnote_free(ptr >>> 0, 1));\nconst OutputNoteArrayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_outputnotearray_free(ptr >>> 0, 1));\nconst OutputNoteRecordFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_outputnoterecord_free(ptr >>> 0, 1));\nconst OutputNotesFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_outputnotes_free(ptr >>> 0, 1));\nconst OutputNotesArrayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_outputnotesarray_free(ptr >>> 0, 1));\nconst PackageFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_package_free(ptr >>> 0, 1));\nconst PartialNoteFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_partialnote_free(ptr >>> 0, 1));\nconst ProcedureThresholdFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_procedurethreshold_free(ptr >>> 0, 1));\nconst ProgramFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_program_free(ptr >>> 0, 1));\nconst ProvenTransactionFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_proventransaction_free(ptr >>> 0, 1));\nconst PublicKeyFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_publickey_free(ptr >>> 0, 1));\nconst RpcClientFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_rpcclient_free(ptr >>> 0, 1));\nconst Rpo256Finalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_rpo256_free(ptr >>> 0, 1));\nconst SerializedInputNoteDataFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_serializedinputnotedata_free(ptr >>> 0, 1));\nconst SerializedOutputNoteDataFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_serializedoutputnotedata_free(ptr >>> 0, 1));\nconst SerializedTransactionDataFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_serializedtransactiondata_free(ptr >>> 0, 1));\nconst SignatureFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_signature_free(ptr >>> 0, 1));\nconst SigningInputsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_signinginputs_free(ptr >>> 0, 1));\nconst SlotAndKeysFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_slotandkeys_free(ptr >>> 0, 1));\nconst SparseMerklePathFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_sparsemerklepath_free(ptr >>> 0, 1));\nconst StorageMapFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_storagemap_free(ptr >>> 0, 1));\nconst StorageSlotFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_storageslot_free(ptr >>> 0, 1));\nconst StorageSlotArrayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_storageslotarray_free(ptr >>> 0, 1));\nconst SyncSummaryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_syncsummary_free(ptr >>> 0, 1));\nconst TestUtilsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_testutils_free(ptr >>> 0, 1));\nconst TokenSymbolFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_tokensymbol_free(ptr >>> 0, 1));\nconst TransactionArgsFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionargs_free(ptr >>> 0, 1));\nconst TransactionFilterFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionfilter_free(ptr >>> 0, 1));\nconst TransactionIdFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionid_free(ptr >>> 0, 1));\nconst TransactionProverFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionprover_free(ptr >>> 0, 1));\nconst TransactionRecordFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionrecord_free(ptr >>> 0, 1));\nconst TransactionRequestFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionrequest_free(ptr >>> 0, 1));\nconst TransactionRequestBuilderFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionrequestbuilder_free(ptr >>> 0, 1));\nconst TransactionResultFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionresult_free(ptr >>> 0, 1));\nconst TransactionScriptFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionscript_free(ptr >>> 0, 1));\nconst TransactionScriptInputPairFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionscriptinputpair_free(ptr >>> 0, 1));\nconst TransactionScriptInputPairArrayFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionscriptinputpairarray_free(ptr >>> 0, 1));\nconst TransactionStatusFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionstatus_free(ptr >>> 0, 1));\nconst TransactionStoreUpdateFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionstoreupdate_free(ptr >>> 0, 1));\nconst TransactionSummaryFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_transactionsummary_free(ptr >>> 0, 1));\nconst WebClientFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_webclient_free(ptr >>> 0, 1));\nconst WordFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_word_free(ptr >>> 0, 1));\n\nfunction addToExternrefTable0(obj) {\n const idx = wasm.__externref_table_alloc();\n wasm.__wbindgen_externrefs.set(idx, obj);\n return idx;\n}\n\nfunction _assertClass(instance, klass) {\n if (!(instance instanceof klass)) {\n throw new Error(`expected instance of ${klass.name}`);\n }\n}\n\nconst CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(state => state.dtor(state.a, state.b));\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nfunction getArrayJsValueFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n const mem = getDataViewMemory0();\n const result = [];\n for (let i = ptr; i < ptr + 4 * len; i += 4) {\n result.push(wasm.__wbindgen_externrefs.get(mem.getUint32(i, true)));\n }\n wasm.__externref_drop_slice(ptr, len);\n return result;\n}\n\nfunction getArrayU32FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);\n}\n\nfunction getArrayU64FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getBigUint64ArrayMemory0().subarray(ptr / 8, ptr / 8 + len);\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedBigUint64ArrayMemory0 = null;\nfunction getBigUint64ArrayMemory0() {\n if (cachedBigUint64ArrayMemory0 === null || cachedBigUint64ArrayMemory0.byteLength === 0) {\n cachedBigUint64ArrayMemory0 = new BigUint64Array(wasm.memory.buffer);\n }\n return cachedBigUint64ArrayMemory0;\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return decodeText(ptr, len);\n}\n\nlet cachedUint32ArrayMemory0 = null;\nfunction getUint32ArrayMemory0() {\n if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {\n cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);\n }\n return cachedUint32ArrayMemory0;\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n const idx = addToExternrefTable0(e);\n wasm.__wbindgen_exn_store(idx);\n }\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction makeMutClosure(arg0, arg1, dtor, f) {\n const state = { a: arg0, b: arg1, cnt: 1, dtor };\n const real = (...args) => {\n\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n const a = state.a;\n state.a = 0;\n try {\n return f(a, state.b, ...args);\n } finally {\n state.a = a;\n real._wbg_cb_unref();\n }\n };\n real._wbg_cb_unref = () => {\n if (--state.cnt === 0) {\n state.dtor(state.a, state.b);\n state.a = 0;\n CLOSURE_DTORS.unregister(state);\n }\n };\n CLOSURE_DTORS.register(real, state, state);\n return real;\n}\n\nfunction passArray32ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 4, 4) >>> 0;\n getUint32ArrayMemory0().set(arg, ptr / 4);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArray64ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 8, 8) >>> 0;\n getBigUint64ArrayMemory0().set(arg, ptr / 8);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n const ptr = malloc(arg.length * 1, 1) >>> 0;\n getUint8ArrayMemory0().set(arg, ptr / 1);\n WASM_VECTOR_LEN = arg.length;\n return ptr;\n}\n\nfunction passArrayJsValueToWasm0(array, malloc) {\n const ptr = malloc(array.length * 4, 4) >>> 0;\n for (let i = 0; i < array.length; i++) {\n const add = addToExternrefTable0(array[i]);\n getDataViewMemory0().setUint32(ptr + 4 * i, add, true);\n }\n WASM_VECTOR_LEN = array.length;\n return ptr;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nfunction takeFromExternrefTable0(idx) {\n const value = wasm.__wbindgen_externrefs.get(idx);\n wasm.__externref_table_dealloc(idx);\n return value;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n };\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet wasmModule, wasm;\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n wasmModule = module;\n cachedBigUint64ArrayMemory0 = null;\n cachedDataViewMemory0 = null;\n cachedUint32ArrayMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n wasm.__wbindgen_start();\n return wasm;\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = module.ok && expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync, __wbg_init as default };\n"],"names":["this","global","cmp","MAX_LENGTH","MAX_SAFE_INTEGER","constants","debug","require$$0","require$$1","exports","parseOptions","compareIdentifiers","identifiers","re","t","require$$2","require$$3","require$$4","semver","SemVer","parse","valid","compare","gt","lt","eq","neq","gte","lte","require$$5","require$$6","Comparator","ANY","require$$19","require$$27","require$$28","semver.valid","semver.parse","semver.gt"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]}