{"version":3,"file":"index.cjs","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../node_modules/@iota/client-wasm/web/wasm/client_wasm.js","../../../../node_modules/@iota/client-wasm/web/lib/constants.js","../../../../node_modules/@iota/client-wasm/web/lib/MessageHandler.js","../../../../node_modules/@iota/client-wasm/web/lib/Client.js","../../../../node_modules/@iota/client-wasm/web/lib/logger.js","../../../../node_modules/@iota/client-wasm/web/types/ledgerNanoStatus.js","../../../../node_modules/@iota/client-wasm/web/types/network.js","../../src/constant.ts","../../src/types.ts","../../src/util.ts","../../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n    function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n    var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n    var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n    var _, done = false;\r\n    for (var i = decorators.length - 1; i >= 0; i--) {\r\n        var context = {};\r\n        for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n        for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n        context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n        var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n        if (kind === \"accessor\") {\r\n            if (result === void 0) continue;\r\n            if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n            if (_ = accept(result.get)) descriptor.get = _;\r\n            if (_ = accept(result.set)) descriptor.set = _;\r\n            if (_ = accept(result.init)) initializers.push(_);\r\n        }\r\n        else if (_ = accept(result)) {\r\n            if (kind === \"field\") initializers.push(_);\r\n            else descriptor[key] = _;\r\n        }\r\n    }\r\n    if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n    done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n    var useValue = arguments.length > 2;\r\n    for (var i = 0; i < initializers.length; i++) {\r\n        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n    }\r\n    return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n    return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n    if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n    return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    var desc = Object.getOwnPropertyDescriptor(m, k);\r\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n        desc = { enumerable: true, get: function() { return m[k]; } };\r\n    }\r\n    Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n    if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n    return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","let wasm;\n\nconst heap = new Array(128).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nfunction getObject(idx) { return heap[idx]; }\n\nlet heap_next = heap.length;\n\nfunction dropObject(idx) {\n    if (idx < 132) return;\n    heap[idx] = heap_next;\n    heap_next = idx;\n}\n\nfunction takeObject(idx) {\n    const ret = getObject(idx);\n    dropObject(idx);\n    return ret;\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet cachedUint8Memory0 = null;\n\nfunction getUint8Memory0() {\n    if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) {\n        cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n    }\n    return cachedUint8Memory0;\n}\n\nconst cachedTextEncoder = new TextEncoder('utf-8');\n\nconst encodeString = (typeof cachedTextEncoder.encodeInto === 'function'\n    ? function (arg, view) {\n    return cachedTextEncoder.encodeInto(arg, view);\n}\n    : 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\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n    if (realloc === undefined) {\n        const buf = cachedTextEncoder.encode(arg);\n        const ptr = malloc(buf.length);\n        getUint8Memory0().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);\n\n    const mem = getUint8Memory0();\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\n    if (offset !== len) {\n        if (offset !== 0) {\n            arg = arg.slice(offset);\n        }\n        ptr = realloc(ptr, len, len = offset + arg.length * 3);\n        const view = getUint8Memory0().subarray(ptr + offset, ptr + len);\n        const ret = encodeString(arg, view);\n\n        offset += ret.written;\n    }\n\n    WASM_VECTOR_LEN = offset;\n    return ptr;\n}\n\nfunction isLikeNone(x) {\n    return x === undefined || x === null;\n}\n\nlet cachedInt32Memory0 = null;\n\nfunction getInt32Memory0() {\n    if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) {\n        cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);\n    }\n    return cachedInt32Memory0;\n}\n\nconst cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nfunction getStringFromWasm0(ptr, len) {\n    return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\n\nfunction addHeapObject(obj) {\n    if (heap_next === heap.length) heap.push(heap.length + 1);\n    const idx = heap_next;\n    heap_next = heap[idx];\n\n    heap[idx] = obj;\n    return idx;\n}\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.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\nconst CLOSURE_DTORS = new FinalizationRegistry(state => {\n    wasm.__wbindgen_export_2.get(state.dtor)(state.a, state.b)\n});\n\nfunction makeMutClosure(arg0, arg1, dtor, f) {\n    const state = { a: arg0, b: arg1, cnt: 1, dtor };\n    const real = (...args) => {\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            if (--state.cnt === 0) {\n                wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);\n                CLOSURE_DTORS.unregister(state)\n            } else {\n                state.a = a;\n            }\n        }\n    };\n    real.original = state;\n    CLOSURE_DTORS.register(real, state, state);\n    return real;\n}\nfunction __wbg_adapter_26(arg0, arg1) {\n    wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__had9d5d30c8b835af(arg0, arg1);\n}\n\nfunction __wbg_adapter_29(arg0, arg1, arg2) {\n    wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hbc2f3d574014e74d(arg0, arg1, addHeapObject(arg2));\n}\n\n/**\n* Initializes the console error panic hook for better panic messages.\n*/\nexport function start() {\n    wasm.start();\n}\n\n/**\n* The Wasm bindings do not support internal logging yet.\n*\n* Calling this is a no-op, only included for compatibility with the Node.js bindings TypeScript definitions.\n* @param {any} _config\n*/\nexport function initLogger(_config) {\n    wasm.initLogger(addHeapObject(_config));\n}\n\n/**\n* Creates a message handler with the given client options.\n* @param {string | undefined} clientOptions\n* @returns {MessageHandler}\n*/\nexport function messageHandlerNew(clientOptions) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        var ptr0 = isLikeNone(clientOptions) ? 0 : passStringToWasm0(clientOptions, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        wasm.messageHandlerNew(retptr, ptr0, len0);\n        var r0 = getInt32Memory0()[retptr / 4 + 0];\n        var r1 = getInt32Memory0()[retptr / 4 + 1];\n        var r2 = getInt32Memory0()[retptr / 4 + 2];\n        if (r2) {\n            throw takeObject(r1);\n        }\n        return MessageHandler.__wrap(r0);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n}\n\nfunction _assertClass(instance, klass) {\n    if (!(instance instanceof klass)) {\n        throw new Error(`expected instance of ${klass.name}`);\n    }\n    return instance.ptr;\n}\n/**\n* Handles a message, returns the response as a JSON-encoded string.\n*\n* Returns an error if the response itself is an error or panic.\n* @param {string} message\n* @param {MessageHandler} messageHandler\n* @returns {Promise<string>}\n*/\nexport function sendMessageAsync(message, messageHandler) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passStringToWasm0(message, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        _assertClass(messageHandler, MessageHandler);\n        wasm.sendMessageAsync(retptr, ptr0, len0, messageHandler.ptr);\n        var r0 = getInt32Memory0()[retptr / 4 + 0];\n        var r1 = getInt32Memory0()[retptr / 4 + 1];\n        var r2 = getInt32Memory0()[retptr / 4 + 2];\n        if (r2) {\n            throw takeObject(r1);\n        }\n        return takeObject(r0);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n}\n\nlet stack_pointer = 128;\n\nfunction addBorrowedObject(obj) {\n    if (stack_pointer == 1) throw new Error('out of js stack');\n    heap[--stack_pointer] = obj;\n    return stack_pointer;\n}\n/**\n* MQTT is not supported for WebAssembly bindings.\n*\n* Throws an error if called, only included for compatibility\n* with the Node.js bindings TypeScript definitions.\n* @param {string[]} _topics\n* @param {Function} _callback\n*/\nexport function listen(_topics, _callback) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        wasm.listen(retptr, addHeapObject(_topics), addBorrowedObject(_callback));\n        var r0 = getInt32Memory0()[retptr / 4 + 0];\n        var r1 = getInt32Memory0()[retptr / 4 + 1];\n        if (r1) {\n            throw takeObject(r0);\n        }\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n        heap[stack_pointer++] = undefined;\n    }\n}\n\nfunction handleError(f, args) {\n    try {\n        return f.apply(this, args);\n    } catch (e) {\n        wasm.__wbindgen_exn_store(addHeapObject(e));\n    }\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n    return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);\n}\nfunction __wbg_adapter_107(arg0, arg1, arg2, arg3) {\n    wasm.wasm_bindgen__convert__closures__invoke2_mut__h99161b361b26b47d(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));\n}\n\nconst MessageHandlerFinalization = new FinalizationRegistry(ptr => wasm.__wbg_messagehandler_free(ptr));\n/**\n* The Client message handler.\n*/\nexport class MessageHandler {\n\n    static __wrap(ptr) {\n        const obj = Object.create(MessageHandler.prototype);\n        obj.ptr = ptr;\n        MessageHandlerFinalization.register(obj, obj.ptr, obj);\n        return obj;\n    }\n\n    __destroy_into_raw() {\n        const ptr = this.ptr;\n        this.ptr = 0;\n        MessageHandlerFinalization.unregister(this);\n        return ptr;\n    }\n\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_messagehandler_free(ptr);\n    }\n}\n\nasync function 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\n            } catch (e) {\n                if (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 {\n                    throw e;\n                }\n            }\n        }\n\n        const bytes = await module.arrayBuffer();\n        return await WebAssembly.instantiate(bytes, imports);\n\n    } else {\n        const instance = await WebAssembly.instantiate(module, imports);\n\n        if (instance instanceof WebAssembly.Instance) {\n            return { instance, module };\n\n        } else {\n            return instance;\n        }\n    }\n}\n\nfunction getImports() {\n    const imports = {};\n    imports.wbg = {};\n    imports.wbg.__wbindgen_object_drop_ref = function(arg0) {\n        takeObject(arg0);\n    };\n    imports.wbg.__wbindgen_cb_drop = function(arg0) {\n        const obj = takeObject(arg0).original;\n        if (obj.cnt-- == 1) {\n            obj.a = 0;\n            return true;\n        }\n        const ret = false;\n        return ret;\n    };\n    imports.wbg.__wbindgen_string_get = function(arg0, arg1) {\n        const obj = getObject(arg1);\n        const ret = typeof(obj) === 'string' ? obj : undefined;\n        var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        var len0 = WASM_VECTOR_LEN;\n        getInt32Memory0()[arg0 / 4 + 1] = len0;\n        getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n    };\n    imports.wbg.__wbindgen_string_new = function(arg0, arg1) {\n        const ret = getStringFromWasm0(arg0, arg1);\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_new_abda76e883ba8a5f = function() {\n        const ret = new Error();\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) {\n        const ret = getObject(arg1).stack;\n        const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        getInt32Memory0()[arg0 / 4 + 1] = len0;\n        getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n    };\n    imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) {\n        try {\n            console.error(getStringFromWasm0(arg0, arg1));\n        } finally {\n            wasm.__wbindgen_free(arg0, arg1);\n        }\n    };\n    imports.wbg.__wbg_clearTimeout_76877dbc010e786d = function(arg0) {\n        const ret = clearTimeout(takeObject(arg0));\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_setTimeout_75cb9b6991a4031d = function() { return handleError(function (arg0, arg1) {\n        const ret = setTimeout(getObject(arg0), arg1);\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbindgen_object_clone_ref = function(arg0) {\n        const ret = getObject(arg0);\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_fetch_3a1be51760e1f8eb = function(arg0) {\n        const ret = fetch(getObject(arg0));\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_fetch_661ffba2a4f2519c = function(arg0, arg1) {\n        const ret = getObject(arg0).fetch(getObject(arg1));\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_instanceof_Response_fb3a4df648c1859b = function(arg0) {\n        let result;\n        try {\n            result = getObject(arg0) instanceof Response;\n        } catch {\n            result = false;\n        }\n        const ret = result;\n        return ret;\n    };\n    imports.wbg.__wbg_url_8ec2534cdfacb103 = function(arg0, arg1) {\n        const ret = getObject(arg1).url;\n        const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        getInt32Memory0()[arg0 / 4 + 1] = len0;\n        getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n    };\n    imports.wbg.__wbg_status_d483a4ac847f380a = function(arg0) {\n        const ret = getObject(arg0).status;\n        return ret;\n    };\n    imports.wbg.__wbg_headers_6093927dc359903e = function(arg0) {\n        const ret = getObject(arg0).headers;\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_arrayBuffer_cb886e06a9e36e4d = function() { return handleError(function (arg0) {\n        const ret = getObject(arg0).arrayBuffer();\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbg_text_f61464d781b099f0 = function() { return handleError(function (arg0) {\n        const ret = getObject(arg0).text();\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbg_now_c644db5194be8437 = function(arg0) {\n        const ret = getObject(arg0).now();\n        return ret;\n    };\n    imports.wbg.__wbg_newwithstrandinit_c45f0dc6da26fd03 = function() { return handleError(function (arg0, arg1, arg2) {\n        const ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbg_new_f1c3a9c2533a55b8 = function() { return handleError(function () {\n        const ret = new Headers();\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbg_append_1be1d651f9ecf2eb = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n        getObject(arg0).append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));\n    }, arguments) };\n    imports.wbg.__wbg_crypto_e1d53a1d73fb10b8 = function(arg0) {\n        const ret = getObject(arg0).crypto;\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbindgen_is_object = function(arg0) {\n        const val = getObject(arg0);\n        const ret = typeof(val) === 'object' && val !== null;\n        return ret;\n    };\n    imports.wbg.__wbg_process_038c26bf42b093f8 = function(arg0) {\n        const ret = getObject(arg0).process;\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_versions_ab37218d2f0b24a8 = function(arg0) {\n        const ret = getObject(arg0).versions;\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_node_080f4b19d15bc1fe = function(arg0) {\n        const ret = getObject(arg0).node;\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbindgen_is_string = function(arg0) {\n        const ret = typeof(getObject(arg0)) === 'string';\n        return ret;\n    };\n    imports.wbg.__wbg_msCrypto_6e7d3e1f92610cbb = function(arg0) {\n        const ret = getObject(arg0).msCrypto;\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_require_78a3dcfbdba9cbce = function() { return handleError(function () {\n        const ret = module.require;\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbindgen_is_function = function(arg0) {\n        const ret = typeof(getObject(arg0)) === 'function';\n        return ret;\n    };\n    imports.wbg.__wbg_getRandomValues_805f1c3d65988a5a = function() { return handleError(function (arg0, arg1) {\n        getObject(arg0).getRandomValues(getObject(arg1));\n    }, arguments) };\n    imports.wbg.__wbg_randomFillSync_6894564c2c334c42 = function() { return handleError(function (arg0, arg1, arg2) {\n        getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2));\n    }, arguments) };\n    imports.wbg.__wbg_newnoargs_2b8b6bd7753c76ba = function(arg0, arg1) {\n        const ret = new Function(getStringFromWasm0(arg0, arg1));\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_next_b7d530c04fd8b217 = function(arg0) {\n        const ret = getObject(arg0).next;\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_next_88560ec06a094dea = function() { return handleError(function (arg0) {\n        const ret = getObject(arg0).next();\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbg_done_1ebec03bbd919843 = function(arg0) {\n        const ret = getObject(arg0).done;\n        return ret;\n    };\n    imports.wbg.__wbg_value_6ac8da5cc5b3efda = function(arg0) {\n        const ret = getObject(arg0).value;\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_iterator_55f114446221aa5a = function() {\n        const ret = Symbol.iterator;\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_get_baf4855f9a986186 = function() { return handleError(function (arg0, arg1) {\n        const ret = Reflect.get(getObject(arg0), getObject(arg1));\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbg_call_95d1ea488d03e4e8 = function() { return handleError(function (arg0, arg1) {\n        const ret = getObject(arg0).call(getObject(arg1));\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbg_new_f9876326328f45ed = function() {\n        const ret = new Object();\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_self_e7c1f827057f6584 = function() { return handleError(function () {\n        const ret = self.self;\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbg_window_a09ec664e14b1b81 = function() { return handleError(function () {\n        const ret = window.window;\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbg_globalThis_87cbb8506fecf3a9 = function() { return handleError(function () {\n        const ret = globalThis.globalThis;\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbg_global_c85a9259e621f3db = function() { return handleError(function () {\n        const ret = global.global;\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbindgen_is_undefined = function(arg0) {\n        const ret = getObject(arg0) === undefined;\n        return ret;\n    };\n    imports.wbg.__wbg_new_15d3966e9981a196 = function(arg0, arg1) {\n        const ret = new Error(getStringFromWasm0(arg0, arg1));\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_call_9495de66fdbe016b = function() { return handleError(function (arg0, arg1, arg2) {\n        const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbg_now_931686b195a14f9d = function() {\n        const ret = Date.now();\n        return ret;\n    };\n    imports.wbg.__wbg_new_9d3a9ce4282a18a8 = 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 __wbg_adapter_107(a, state0.b, arg0, arg1);\n                } finally {\n                    state0.a = a;\n                }\n            };\n            const ret = new Promise(cb0);\n            return addHeapObject(ret);\n        } finally {\n            state0.a = state0.b = 0;\n        }\n    };\n    imports.wbg.__wbg_resolve_fd40f858d9db1a04 = function(arg0) {\n        const ret = Promise.resolve(getObject(arg0));\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_then_ec5db6d509eb475f = function(arg0, arg1) {\n        const ret = getObject(arg0).then(getObject(arg1));\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_then_f753623316e2873a = function(arg0, arg1, arg2) {\n        const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_buffer_cf65c07de34b9a08 = function(arg0) {\n        const ret = getObject(arg0).buffer;\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_newwithbyteoffsetandlength_9fb2f11355ecadf5 = function(arg0, arg1, arg2) {\n        const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_new_537b7341ce90bb31 = function(arg0) {\n        const ret = new Uint8Array(getObject(arg0));\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_set_17499e8aa4003ebd = function(arg0, arg1, arg2) {\n        getObject(arg0).set(getObject(arg1), arg2 >>> 0);\n    };\n    imports.wbg.__wbg_length_27a2afe8ab42b09f = function(arg0) {\n        const ret = getObject(arg0).length;\n        return ret;\n    };\n    imports.wbg.__wbg_newwithlength_b56c882b57805732 = function(arg0) {\n        const ret = new Uint8Array(arg0 >>> 0);\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_subarray_7526649b91a252a6 = function(arg0, arg1, arg2) {\n        const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbg_has_3feea89d34bd7ad5 = function() { return handleError(function (arg0, arg1) {\n        const ret = Reflect.has(getObject(arg0), getObject(arg1));\n        return ret;\n    }, arguments) };\n    imports.wbg.__wbg_set_6aa458a4ebdb65cb = function() { return handleError(function (arg0, arg1, arg2) {\n        const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));\n        return ret;\n    }, arguments) };\n    imports.wbg.__wbg_stringify_029a979dfb73aa17 = function() { return handleError(function (arg0) {\n        const ret = JSON.stringify(getObject(arg0));\n        return addHeapObject(ret);\n    }, arguments) };\n    imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {\n        const ret = debugString(getObject(arg1));\n        const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n        const len0 = WASM_VECTOR_LEN;\n        getInt32Memory0()[arg0 / 4 + 1] = len0;\n        getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n    };\n    imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n        throw new Error(getStringFromWasm0(arg0, arg1));\n    };\n    imports.wbg.__wbindgen_memory = function() {\n        const ret = wasm.memory;\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbindgen_closure_wrapper3311 = function(arg0, arg1, arg2) {\n        const ret = makeMutClosure(arg0, arg1, 719, __wbg_adapter_26);\n        return addHeapObject(ret);\n    };\n    imports.wbg.__wbindgen_closure_wrapper3427 = function(arg0, arg1, arg2) {\n        const ret = makeMutClosure(arg0, arg1, 792, __wbg_adapter_29);\n        return addHeapObject(ret);\n    };\n\n    return imports;\n}\n\nfunction initMemory(imports, maybe_memory) {\n\n}\n\nfunction finalizeInit(instance, module) {\n    wasm = instance.exports;\n    initWasm.__wbindgen_wasm_module = module;\n    cachedInt32Memory0 = null;\n    cachedUint8Memory0 = null;\n\n    wasm.__wbindgen_start();\n    return wasm;\n}\n\nfunction initSync(module) {\n    const imports = getImports();\n\n    initMemory(imports);\n\n    if (!(module instanceof WebAssembly.Module)) {\n        module = new WebAssembly.Module(module);\n    }\n\n    const instance = new WebAssembly.Instance(module, imports);\n\n    return finalizeInit(instance, module);\n}\n\nasync function initWasm(input) {\n    if (typeof input === 'undefined') {\n        // input = new URL('client_wasm_bg.wasm', import.meta.url);\n    }\n    const imports = getImports();\n\n    if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {\n        input = fetch(input);\n    }\n\n    initMemory(imports);\n\n    const { instance, module } = await load(await input, imports);\n\n    return finalizeInit(instance, module);\n}\n\nexport { initSync }\nlet __initializedIotaWasm = false\r\n\r\nexport function init(path) {\r\n    if (__initializedIotaWasm) {\r\n        return Promise.resolve(wasm)\r\n    }\r\n    return initWasm(path || 'client_wasm_bg.wasm').then(() => {\r\n        __initializedIotaWasm = true\r\n        return wasm\r\n    })\r\n}\r\n\n","export var IOTA_BECH32_HRP = 'iota';\nexport var IOTA_TESTNET_BECH32_HRP = 'atoi';\nexport var SHIMMER_BECH32_HRP = 'smr';\nexport var SHIMMER_TESTNET_BECH32_HRP = 'rms';\n/** BIP44 Coin Types for IOTA and Shimmer. */\nexport var CoinType;\n(function (CoinType) {\n    CoinType[CoinType[\"IOTA\"] = 4218] = \"IOTA\";\n    CoinType[CoinType[\"Shimmer\"] = 4219] = \"Shimmer\";\n})(CoinType || (CoinType = {}));\n//# sourceMappingURL=constants.js.map","// Copyright 2021-2022 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nimport { sendMessageAsync, messageHandlerNew, listen } from './bindings';\n/** The MessageHandler which sends the commands to the Rust side. */\nvar MessageHandler = /** @class */ (function () {\n    function MessageHandler(options) {\n        this.messageHandler = messageHandlerNew(JSON.stringify(options));\n    }\n    MessageHandler.prototype.sendMessage = function (message) {\n        return __awaiter(this, void 0, void 0, function () {\n            return __generator(this, function (_a) {\n                return [2 /*return*/, sendMessageAsync(JSON.stringify(message), this.messageHandler)];\n            });\n        });\n    };\n    // MQTT\n    MessageHandler.prototype.listen = function (topics, callback) {\n        return __awaiter(this, void 0, void 0, function () {\n            return __generator(this, function (_a) {\n                return [2 /*return*/, listen(topics, callback, this.messageHandler)];\n            });\n        });\n    };\n    return MessageHandler;\n}());\nexport { MessageHandler };\n//# sourceMappingURL=MessageHandler.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\n// Copyright 2021-2022 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\nimport { MessageHandler } from './MessageHandler';\n/** The Client to interact with nodes. */\nvar Client = /** @class */ (function () {\n    function Client(options) {\n        this.messageHandler = new MessageHandler(options);\n    }\n    /**\n     * Returns the node information together with the url of the used node\n     * @returns { Promise<INodeInfoWrapper> }.\n     */\n    Client.prototype.getInfo = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getInfo'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Gets the network related information such as network_id and min_pow_score\n     */\n    Client.prototype.getNetworkInfo = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getNetworkInfo'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /** Fetch basic output IDs based on query parameters */\n    Client.prototype.basicOutputIds = function (queryParameters) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'basicOutputIds',\n                            data: {\n                                queryParameters: queryParameters\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /** Get output from a known outputID */\n    Client.prototype.getOutput = function (outputId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getOutput',\n                            data: {\n                                outputId: outputId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /** Fetch OutputResponse from provided OutputIds (requests are sent in parallel) */\n    Client.prototype.getOutputs = function (outputIds) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getOutputs',\n                            data: {\n                                outputIds: outputIds\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Generates a new mnemonic.\n     */\n    Client.prototype.generateMnemonic = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'generateMnemonic'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns a hex encoded seed for a mnemonic.\n     */\n    Client.prototype.mnemonicToHexSeed = function (mnemonic) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'mnemonicToHexSeed',\n                            data: {\n                                mnemonic: mnemonic\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Computes the alias id for the given alias output id.\n     */\n    Client.prototype.computeAliasId = function (outputId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'computeAliasId',\n                            data: {\n                                outputId: outputId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Computes the NFT id for the given NFT output id.\n     */\n    Client.prototype.computeNftId = function (outputId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'computeNftId',\n                            data: {\n                                outputId: outputId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Computes the foundry id.\n     */\n    Client.prototype.computeFoundryId = function (aliasAddress, serialNumber, tokenSchemeKind) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'computeFoundryId',\n                            data: {\n                                aliasAddress: aliasAddress,\n                                serialNumber: serialNumber,\n                                tokenSchemeKind: tokenSchemeKind\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /** Generate addresses */\n    Client.prototype.generateAddresses = function (secretManager, generateAddressesOptions) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'generateAddresses',\n                            data: {\n                                secretManager: secretManager,\n                                options: generateAddressesOptions\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /** Build and post a block */\n    Client.prototype.buildAndPostBlock = function (secretManager, options) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'buildAndPostBlock',\n                            data: {\n                                secretManager: secretManager,\n                                options: options\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns tips that are ideal for attaching a block.\n     * The tips can be considered as non-lazy and are therefore ideal for attaching a block.\n     */\n    Client.prototype.getTips = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getTips'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Post block in JSON format, returns the block ID.\n     */\n    Client.prototype.postBlock = function (block) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'postBlock',\n                            data: {\n                                block: block\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get block as JSON.\n     */\n    Client.prototype.getBlock = function (blockId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getBlock',\n                            data: {\n                                blockId: blockId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get block metadata.\n     */\n    Client.prototype.getBlockMetadata = function (blockId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getBlockMetadata',\n                            data: {\n                                blockId: blockId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Find inputs from addresses for a provided amount (useful for offline signing)\n     */\n    Client.prototype.findInputs = function (addresses, amount) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'findInputs',\n                            data: {\n                                addresses: addresses,\n                                amount: amount\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Find all outputs based on the requests criteria. This method will try to query multiple nodes if\n     * the request amount exceeds individual node limit.\n     */\n    Client.prototype.findOutputs = function (outputIds, addresses) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'findOutputs',\n                            data: {\n                                outputIds: outputIds,\n                                addresses: addresses\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get the status of a Ledger Nano\n     */\n    Client.prototype.getLedgerNanoStatus = function (isSimulator) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getLedgerNanoStatus',\n                            data: {\n                                isSimulator: isSimulator\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Prepare a transaction for signing\n     */\n    Client.prototype.prepareTransaction = function (secretManager, options) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'prepareTransaction',\n                            data: {\n                                secretManager: secretManager,\n                                options: options\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Store a mnemonic in the Stronghold vault\n     */\n    Client.prototype.storeMnemonic = function (secretManager, mnemonic) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'storeMnemonic',\n                            data: {\n                                secretManager: secretManager,\n                                mnemonic: mnemonic\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Sign a transaction\n     */\n    Client.prototype.signTransaction = function (secretManager, preparedTransactionData) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'signTransaction',\n                            data: {\n                                secretManager: secretManager,\n                                preparedTransactionData: preparedTransactionData\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Create a signature unlock using the provided `secretManager`.\n     */\n    Client.prototype.signatureUnlock = function (secretManager, inputSigningData, \n    // Uses `Array<number>` instead of `Uint8Array` because the latter serializes\n    // as an object rather than an array, which results in errors with serde.\n    transactionEssenceHash) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'signatureUnlock',\n                            data: {\n                                secretManager: secretManager,\n                                inputSigningData: inputSigningData,\n                                transactionEssenceHash: transactionEssenceHash,\n                                remainderData: undefined\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Submit a payload in a block\n     */\n    Client.prototype.postBlockPayload = function (payload) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'postBlockPayload',\n                            data: {\n                                payload: payload\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns a valid Address parsed from a String.\n     */\n    Client.prototype.parseBech32Address = function (address) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'parseBech32Address',\n                            data: {\n                                address: address\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns a block ID (Blake2b256 hash of the block bytes)\n     */\n    Client.prototype.blockId = function (block) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'blockId',\n                            data: {\n                                block: block\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get a node candidate from the healthy node pool.\n     */\n    Client.prototype.getNode = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getNode'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get the network id of the node we're connecting to.\n     */\n    Client.prototype.getNetworkId = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getNetworkId'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns the bech32_hrp.\n     */\n    Client.prototype.getBech32Hrp = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getBech32Hrp'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns the min PoW score.\n     */\n    Client.prototype.getMinPowScore = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getMinPowScore'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns the tips interval.\n     */\n    Client.prototype.getTipsInterval = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getTipsInterval'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns the token supply.\n     */\n    Client.prototype.getTokenSupply = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.getProtocolParameters()];\n                    case 1: return [2 /*return*/, (_a.sent()).tokenSupply];\n                }\n            });\n        });\n    };\n    /**\n     * Returns the protocol parameters.\n     */\n    Client.prototype.getProtocolParameters = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getProtocolParameters'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns if local pow should be used or not.\n     */\n    Client.prototype.getLocalPow = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getLocalPow'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get fallback to local proof of work timeout.\n     */\n    Client.prototype.getFallbackToLocalPow = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getFallbackToLocalPow'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get health of node by input url.\n     */\n    Client.prototype.getHealth = function (url) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getHealth',\n                            data: {\n                                url: url\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get info of node with input url.\n     */\n    Client.prototype.getNodeInfo = function (url, auth) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getNodeInfo',\n                            data: {\n                                url: url,\n                                auth: auth\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get peers.\n     */\n    Client.prototype.getPeers = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getPeers'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Post block as raw bytes, returns the block ID.\n     */\n    Client.prototype.postBlockRaw = function (block) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'postBlockRaw',\n                            data: {\n                                block: block\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get block as raw bytes.\n     */\n    Client.prototype.getBlockRaw = function (blockId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getBlockRaw',\n                            data: {\n                                blockId: blockId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Look up a milestone by a given milestone index.\n     */\n    Client.prototype.getMilestoneById = function (milestoneId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getMilestoneById',\n                            data: {\n                                milestoneId: milestoneId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns all UTXO changes that happened at a specific milestone.\n     */\n    Client.prototype.getUtxoChangesById = function (milestoneId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getUtxoChangesById',\n                            data: {\n                                milestoneId: milestoneId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Look up a milestone by a given milestone index.\n     */\n    Client.prototype.getMilestoneByIndex = function (index) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getMilestoneByIndex',\n                            data: {\n                                index: index\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns all UTXO changes that happened at a specific milestone.\n     */\n    Client.prototype.getUtxoChangesByIndex = function (index) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getUtxoChangesByIndex',\n                            data: {\n                                index: index\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get receipts.\n     */\n    Client.prototype.getReceipts = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getReceipts'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get the receipts by the given milestone index.\n     */\n    Client.prototype.getReceiptsMigratedAt = function (milestoneIndex) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getReceiptsMigratedAt',\n                            data: {\n                                milestoneIndex: milestoneIndex\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Get the treasury output.\n     */\n    Client.prototype.getTreasury = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getTreasury'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns the included block of the transaction.\n     */\n    Client.prototype.getIncludedBlock = function (transactionId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getIncludedBlock',\n                            data: {\n                                transactionId: transactionId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns the metadata of the included block of the transaction.\n     */\n    Client.prototype.getIncludedBlockMetadata = function (transactionId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'getIncludedBlockMetadata',\n                            data: {\n                                transactionId: transactionId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Transforms bech32 to hex.\n     */\n    Client.prototype.bech32ToHex = function (bech32) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'bech32ToHex',\n                            data: {\n                                bech32: bech32\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Transforms a hex encoded address to a bech32 encoded address.\n     */\n    Client.prototype.hexToBech32 = function (hex, bech32Hrp) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'hexToBech32',\n                            data: {\n                                hex: hex,\n                                bech32Hrp: bech32Hrp\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Transforms an alias id to a bech32 encoded address.\n     */\n    Client.prototype.aliasIdToBech32 = function (aliasId, bech32Hrp) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'aliasIdToBech32',\n                            data: {\n                                aliasId: aliasId,\n                                bech32Hrp: bech32Hrp\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Transforms an nft id to a bech32 encoded address.\n     */\n    Client.prototype.nftIdToBech32 = function (nftId, bech32Hrp) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'nftIdToBech32',\n                            data: {\n                                nftId: nftId,\n                                bech32Hrp: bech32Hrp\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Transforms a hex encoded public key to a bech32 encoded address.\n     */\n    Client.prototype.hexPublicKeyToBech32Address = function (hex, bech32Hrp) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'hexPublicKeyToBech32Address',\n                            data: {\n                                hex: hex,\n                                bech32Hrp: bech32Hrp\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Checks if a String is a valid bech32 encoded address.\n     */\n    Client.prototype.isAddressValid = function (address) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'isAddressValid',\n                            data: {\n                                address: address\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Fetch alias output IDs\n     */\n    Client.prototype.aliasOutputIds = function (queryParameters) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'aliasOutputIds',\n                            data: {\n                                queryParameters: queryParameters\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Fetch alias output ID\n     */\n    Client.prototype.aliasOutputId = function (aliasId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'aliasOutputId',\n                            data: {\n                                aliasId: aliasId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Fetch NFT output IDs\n     */\n    Client.prototype.nftOutputIds = function (queryParameters) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'nftOutputIds',\n                            data: {\n                                queryParameters: queryParameters\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Fetch NFT output ID\n     */\n    Client.prototype.nftOutputId = function (nftId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'nftOutputId',\n                            data: {\n                                nftId: nftId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Fetch Foundry Output IDs\n     */\n    Client.prototype.foundryOutputIds = function (queryParameters) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'foundryOutputIds',\n                            data: {\n                                queryParameters: queryParameters\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Fetch Foundry Output ID\n     */\n    Client.prototype.foundryOutputId = function (foundryId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'foundryOutputId',\n                            data: {\n                                foundryId: foundryId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Try to get OutputResponse from provided OutputIds (requests are sent\n     * in parallel and errors are ignored, can be useful for spent outputs)\n     */\n    Client.prototype.tryGetOutputs = function (outputIds) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'tryGetOutputs',\n                            data: {\n                                outputIds: outputIds\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Find all blocks by provided block IDs.\n     */\n    Client.prototype.findBlocks = function (blockIds) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'findBlocks',\n                            data: {\n                                blockIds: blockIds\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Retries (promotes or reattaches) a block for provided block id. Block should be\n     * retried only if they are valid and haven't been confirmed for a while.\n     */\n    Client.prototype.retry = function (blockId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'retry',\n                            data: {\n                                blockId: blockId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Retries (promotes or reattaches) a block for provided block id until it's included (referenced by a\n     * milestone). Default interval is 5 seconds and max attempts is 40. Returns the included block at first\n     * position and additional reattached blocks\n     */\n    Client.prototype.retryUntilIncluded = function (blockId, interval, maxAttempts) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'retryUntilIncluded',\n                            data: {\n                                blockId: blockId,\n                                interval: interval,\n                                maxAttempts: maxAttempts\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Function to consolidate all funds from a range of addresses to the address with the lowest index in that range\n     * Returns the address to which the funds got consolidated, if any were available\n     */\n    Client.prototype.consolidateFunds = function (secretManager, generateAddressesOptions) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'consolidateFunds',\n                            data: {\n                                secretManager: secretManager,\n                                generateAddressesOptions: generateAddressesOptions\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Reattaches blocks for provided block id. Blocks can be reattached only if they are valid and haven't been\n     * confirmed for a while.\n     */\n    Client.prototype.reattach = function (blockId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'reattach',\n                            data: {\n                                blockId: blockId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Reattach a block without checking if it should be reattached\n     */\n    Client.prototype.reattachUnchecked = function (blockId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'reattachUnchecked',\n                            data: {\n                                blockId: blockId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Promotes a block. The method should validate if a promotion is necessary through get_block. If not, the\n     * method should error out and should not allow unnecessary promotions.\n     */\n    Client.prototype.promote = function (blockId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'promote',\n                            data: {\n                                blockId: blockId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Promote a block without checking if it should be promoted\n     */\n    Client.prototype.promoteUnchecked = function (blockId) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'promoteUnchecked',\n                            data: {\n                                blockId: blockId\n                            }\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Returns the unhealthy nodes.\n     */\n    Client.prototype.unhealthyNodes = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'unhealthyNodes'\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Build a Basic Output.\n     */\n    Client.prototype.buildBasicOutput = function (options) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'buildBasicOutput',\n                            data: options\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Build an Alias Output.\n     */\n    Client.prototype.buildAliasOutput = function (options) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'buildAliasOutput',\n                            data: options\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Build a Foundry Output.\n     */\n    Client.prototype.buildFoundryOutput = function (options) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'buildFoundryOutput',\n                            data: options\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Build an Nft Output.\n     */\n    Client.prototype.buildNftOutput = function (options) {\n        return __awaiter(this, void 0, void 0, function () {\n            var response;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'buildNftOutput',\n                            data: options\n                        })];\n                    case 1:\n                        response = _a.sent();\n                        return [2 /*return*/, JSON.parse(response).payload];\n                }\n            });\n        });\n    };\n    /**\n     * Listen to MQTT topics.\n     */\n    Client.prototype.listen = function (topics, callback) {\n        return __awaiter(this, void 0, void 0, function () {\n            return __generator(this, function (_a) {\n                return [2 /*return*/, this.messageHandler.listen(topics, callback)];\n            });\n        });\n    };\n    /**\n     * Stop listening for provided MQTT topics.\n     */\n    Client.prototype.clearListeners = function (topics) {\n        return __awaiter(this, void 0, void 0, function () {\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0: return [4 /*yield*/, this.messageHandler.sendMessage({\n                            name: 'clearListeners',\n                            data: {\n                                topics: topics\n                            }\n                        })];\n                    case 1:\n                        _a.sent();\n                        return [2 /*return*/];\n                }\n            });\n        });\n    };\n    return Client;\n}());\nexport { Client };\n//# sourceMappingURL=Client.js.map","// Copyright 2021-2022 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\nimport { initLogger as initLoggerBinding } from './bindings';\nvar defaultLoggerConfig = {\n    colorEnabled: true,\n    name: './client.log',\n    levelFilter: 'debug'\n};\n/** Initialize logger, if no arguments are provided a default config will be used. */\nexport var initLogger = function (config) {\n    if (config === void 0) { config = defaultLoggerConfig; }\n    return initLoggerBinding(JSON.stringify(config));\n};\n//# sourceMappingURL=logger.js.map","/** The Ledger Device Type */\nexport var LedgerDeviceType;\n(function (LedgerDeviceType) {\n    LedgerDeviceType[\"LedgerNanoS\"] = \"ledgerNanoS\";\n    LedgerDeviceType[\"LedgerNanoX\"] = \"ledgerNanoX\";\n    LedgerDeviceType[\"LedgerNanoSPlus\"] = \"ledgerNanoSPlus\";\n})(LedgerDeviceType || (LedgerDeviceType = {}));\n//# sourceMappingURL=ledgerNanoStatus.js.map","// Copyright 2021-2022 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Network types.\n */\nexport var Network;\n(function (Network) {\n    Network[Network[\"Mainnet\"] = 0] = \"Mainnet\";\n    Network[Network[\"Testnet\"] = 1] = \"Testnet\";\n})(Network || (Network = {}));\n//# sourceMappingURL=network.js.map","import BigInteger from 'big-integer';\r\n\r\nexport const EXTERNALLY_OWNED_ACCOUNT = 0;\r\nexport const ACCOUNTS_CONTRACT = 0x3c4b5e02;\r\nexport const TRANSFER_ALLOWANCE = 0x23f4e3a1;\r\n\r\nexport const EXTERNALLY_OWNED_ACCOUNT_TYPE_ID = 3;\r\nexport const ENDING_SIGNAL_BYTE = 0;\r\nexport const EMPTY_BUFFER_BYTE_LENGTH = 2;\r\nexport const EMPTY_BUFFER = 0;\r\nexport const GAS_BUDGET = BigInteger(500000);\r\n\r\nexport const CONTRACT_ALIAS_ID = '0xdc8631d5f2a0107200cf12cfec273342432c73db16ad4a7cb6a066e00abd8f0c'\r\n\r\nexport const CONTRACT_ADDRESS = 'rms1prwgvvw472spqusqeufvlmp8xdpyxtrnmvt26jnuk6sxdcq2hk8scku26h7'","export type WriteableByteStreamContext = {\r\n  index: number;\r\n  store: Uint8Array;\r\n  size: number;\r\n  partNames: string[];\r\n};\r\n\r\nexport interface ILayer2Parameters {\r\n  networkAddress: string;\r\n  gasBudget?: BigInteger;\r\n}\r\n\r\nexport enum Allowance {\r\n  Set = 0,\r\n  NotSet = 255,\r\n}\r\n\r\nexport const TARGET_CONTRACTS: Readonly<{ [key in number]: string }> = {\r\n  0x3c4b5e02: 'Accounts',\r\n}\r\n\r\n// first 4 bytes of the hash of transferAllowance function with its parameters\r\nexport const CONTRACT_FUNCTIONS: Readonly<{ [key in string]: string }> = {\r\n  0x23f4e3a1: 'transferAllowanceTo',\r\n}\r\n\r\nexport interface ILayer2Allowance {\r\n  baseTokenAmount: string\r\n  nativeTokens: NativeTokenAmount[]\r\n}\r\n\r\nexport type NativeTokenAmount = {\r\n  tokenId: string\r\n  amount: string\r\n}\r\n\r\nexport interface ILayer2SmartContractCallData extends ILayer2Allowance {\r\n  senderContract: string\r\n  targetContract: string\r\n  contractFunction: string\r\n  gasBudget: string\r\n}\r\n\r\nexport const TOKEN_ID_BYTE_LENGTH = 38 // bytes\r\n\r\nexport interface ILayer2TransferAllowanceMetadata extends ILayer2SmartContractCallData {\r\n  ethereumAddress: string\r\n}","\r\n\r\nexport function convertDateToUnixTimestamp(date: Date) {\r\n  return date ? Math.round(date.getTime() / 1000) : date;\r\n}\r\n\r\n\r\nexport function decimalToHex(number: number, prefix = false): string {\r\n  return prefix ? '0x' + number.toString(16) : number.toString(16)\r\n}","import {\r\n  init,\r\n  Client,\r\n  CoinType,\r\n  initLogger,\r\n  SHIMMER_TESTNET_BECH32_HRP,\r\n  IBasicOutputBuilderOptions,\r\n  IBuildBlockOptions\r\n} from '@iota/client-wasm/web';\r\nimport type {\r\n  AddressTypes,\r\n  FeatureTypes,\r\n  HexEncodedString,\r\n  INativeToken,\r\n  UnlockConditionTypes,\r\n  ADDRESS_UNLOCK_CONDITION_TYPE,\r\n  BASIC_OUTPUT_TYPE,\r\n  Ed25519Seed,\r\n  ED25519_ADDRESS_TYPE,\r\n  ED25519_SIGNATURE_TYPE,\r\n  Ed25519Address,\r\n  IKeyPair,\r\n  ISignatureUnlock,\r\n  SIGNATURE_UNLOCK_TYPE,\r\n  TRANSACTION_ESSENCE_TYPE,\r\n  TRANSACTION_PAYLOAD_TYPE,\r\n  ITransactionEssence,\r\n  ITransactionPayload,\r\n  IUTXOInput,\r\n  UTXO_INPUT_TYPE,\r\n  IBasicOutput,\r\n  IBlock,\r\n  IOutputResponse,\r\n  INftOutput,\r\n  ICommonOutput,\r\n  OutputTypes,\r\n} from '@iota/types';\r\nconst DEFAULT_PROTOCOL_VERSION = 2;\r\nimport {\r\n  ACCOUNTS_CONTRACT,\r\n  CONTRACT_ADDRESS,\r\n  CONTRACT_ALIAS_ID,\r\n  EMPTY_BUFFER,\r\n  EMPTY_BUFFER_BYTE_LENGTH,\r\n  ENDING_SIGNAL_BYTE,\r\n  EXTERNALLY_OWNED_ACCOUNT,\r\n  EXTERNALLY_OWNED_ACCOUNT_TYPE_ID,\r\n  GAS_BUDGET,\r\n  TRANSFER_ALLOWANCE,\r\n} from './constant';\r\nimport { Allowance, CONTRACT_FUNCTIONS, ILayer2Allowance, ILayer2Parameters, ILayer2TransferAllowanceMetadata, NativeTokenAmount, TARGET_CONTRACTS, TOKEN_ID_BYTE_LENGTH } from './types';\r\ninterface Assets {\r\n  nativeTokens?: INativeToken[];\r\n  nftId?: HexEncodedString;\r\n}\r\n\r\nimport { WriteStream, Converter, ReadStream } from '@iota/util.js';\r\nimport { convertDateToUnixTimestamp, decimalToHex } from './util';\r\nimport BigInteger from 'big-integer';\r\n\r\nclass L1ToL2 {\r\n  private _client:Client|undefined;\r\n  private _fromAddressHex: string|undefined;\r\n  private _fromAddressBech32: string|undefined;\r\n  private _mnemonic: string|undefined;\r\n  constructor(){\r\n\r\n  }\r\n  async setup(path?:string){\r\n    await init(path ? path : './client_wasm_bg.wasm');\r\n    await initLogger();\r\n    \r\n    this._client = new Client({\r\n      nodes: ['https://api.testnet.shimmer.network'],\r\n      localPow: true,\r\n    });\r\n  }\r\n  private _addGasBudget(rawAmount: string): string {\r\n    const bigAmount = BigInteger(rawAmount).add(GAS_BUDGET);\r\n    return bigAmount.toString();\r\n  }\r\n  \r\n  private _encodeSmartContractParameters(\r\n    parameters: [string, string][],\r\n  ): Uint8Array {\r\n    const encodedParameters = new WriteStream();\r\n    encodedParameters.writeUInt32('parametersLength', parameters.length);\r\n  \r\n    for (const parameter of parameters) {\r\n      const [key, value] = parameter;\r\n  \r\n      const keyBytes = Converter.utf8ToBytes(key);\r\n      encodedParameters.writeUInt16('keyLength', key.length);\r\n      encodedParameters.writeBytes('keyBytes', keyBytes.length, keyBytes);\r\n  \r\n      const valueBytes = Converter.hexToBytes(value);\r\n      encodedParameters.writeUInt32('valueLength', valueBytes.length);\r\n      encodedParameters.writeBytes('valueBytes', valueBytes.length, valueBytes);\r\n    }\r\n    return encodedParameters.finalBytes();\r\n  }\r\n  private _getSecretManager(){\r\n    return {\r\n      mnemonic:this._mnemonic!,\r\n    };\r\n  };\r\n  setMnemonic(mnemonic:string){\r\n    this._mnemonic = mnemonic\r\n  }\r\n  async getOutputForSend(\r\n    amount: string,\r\n  ){\r\n    const targetAmount = BigInteger(amount);\r\n    const outputs = await this.getUnspentOutputs();\r\n    if (!outputs) return;\r\n    for (const outputResp of outputs) {\r\n      const output = outputResp.output;\r\n      const resAmount = BigInteger(output.amount);\r\n      if (resAmount.geq(targetAmount)) {\r\n        return outputResp;\r\n      }\r\n    }\r\n    return undefined;\r\n  };\r\n  \r\n  async getOutputForNftSend(\r\n    nftId: string\r\n  ){\r\n    const outputs = await this.getNftOutputs();\r\n    if (!outputs) return;\r\n    for (const outputResp of outputs) {\r\n        if ((outputResp.output as INftOutput ).nftId === nftId) {\r\n          return outputResp;\r\n        }\r\n    }\r\n    \r\n  }\r\n  \r\n  async getNftOutputs():Promise<IOutputResponse[]|undefined>{\r\n    if (!this._client) return\r\n    const outputIdsResponse = await this._client.nftOutputIds([\r\n      { address:this._fromAddressBech32??'' },\r\n    ]);\r\n    let addressOutputs = await this._client.getOutputs(outputIdsResponse);\r\n    console.log('all nft outputs',addressOutputs)\r\n    return addressOutputs;\r\n  }\r\n  async getUnspentOutputs():Promise<IOutputResponse[]|undefined>{\r\n    if (!this._client) return\r\n    const outputIdsResponse = await this._client.basicOutputIds([\r\n      { address:this._fromAddressBech32??'' },\r\n      { hasExpiration: false },\r\n      { hasTimelock: false },\r\n      { hasStorageDepositReturn: false },\r\n    ]);\r\n  \r\n    // Get outputs by their IDs\r\n    let addressOutputs = await this._client.getOutputs(outputIdsResponse);\r\n    console.log('all outputs',addressOutputs)\r\n    // Filter out spent outputs\r\n    addressOutputs = addressOutputs.filter(o=>!o.metadata.isSpent)\r\n    console.log('unspent outputs',addressOutputs)\r\n    return addressOutputs;\r\n  }\r\n  async prepareAddress(){\r\n    if (this._fromAddressBech32 == undefined) {\r\n      const secretManager = this._getSecretManager();\r\n      const addresses = await this._client?.generateAddresses(secretManager, {\r\n        accountIndex: 0,\r\n        range: {\r\n          start: 0,\r\n          end: 1,\r\n        },\r\n      });\r\n      console.log('address',addresses)\r\n      this._fromAddressBech32 = addresses? addresses[0]:undefined;\r\n      if (this._fromAddressBech32) this._fromAddressHex = await this._client?.bech32ToHex(this._fromAddressBech32)\r\n    }\r\n  }\r\n  \r\n  private _encodeAddress(address: string): string {\r\n    const encodedAddress = new WriteStream();\r\n    encodedAddress.writeUInt8(\r\n      'Address Type ID',\r\n      EXTERNALLY_OWNED_ACCOUNT_TYPE_ID,\r\n    );\r\n    const addressBytes = Converter.hexToBytes(address);\r\n    for (let i = 0; i < addressBytes.length; i++) {\r\n      encodedAddress.writeUInt8('Address byte', addressBytes[i]);\r\n    }\r\n    return encodedAddress.finalHex();\r\n  }\r\n  private _getLayer2MetadataForTransfer(\r\n    layer2Address: string,\r\n    rawAmount: string,\r\n    nativeTokenId?: string,\r\n    surplus?: string,\r\n  ): string {\r\n    const metadataStream = new WriteStream();\r\n  \r\n    metadataStream.writeUInt32('senderContract', EXTERNALLY_OWNED_ACCOUNT);\r\n    metadataStream.writeUInt32('targetContract', ACCOUNTS_CONTRACT);\r\n    metadataStream.writeUInt32('contractFunction', TRANSFER_ALLOWANCE);\r\n    metadataStream.writeUInt64('gasBudget', GAS_BUDGET);\r\n  \r\n    const encodedAddress = this._encodeAddress(layer2Address.toLowerCase());\r\n    const smartContractParameters = Object.entries({ a: encodedAddress });\r\n    const parameters = this._encodeSmartContractParameters(smartContractParameters);\r\n    metadataStream.writeBytes(\r\n      'smartContractParameters',\r\n      parameters.length,\r\n      parameters,\r\n    );\r\n  \r\n    const allowance = this._encodeAllowance(rawAmount, nativeTokenId, surplus);\r\n    metadataStream.writeBytes('allowance', allowance.length, allowance);\r\n  \r\n    metadataStream.writeUInt16('end', ENDING_SIGNAL_BYTE);\r\n    const metadata = '0x' + metadataStream.finalHex();\r\n    return metadata;\r\n  }\r\n  private _encodeAllowance(\r\n    rawAmount: string,\r\n    nativeTokenId?: string,\r\n    surplus?: string,\r\n  ): Uint8Array {\r\n    const allowance = new WriteStream();\r\n    const tokenBuffer = new WriteStream();\r\n  \r\n    //if (transactionDetails.type === NewTransactionType.TokenTransfer) {\r\n    if (true) {\r\n      allowance.writeUInt8('encodedAllowance', Allowance.Set);\r\n  \r\n      if (nativeTokenId == undefined) {\r\n        allowance.writeUInt64('iotaAmount', BigInteger(rawAmount));\r\n        allowance.writeUInt16('noTokens', EMPTY_BUFFER_BYTE_LENGTH);\r\n        allowance.writeUInt16('emptyTokenBuffer', EMPTY_BUFFER);\r\n      } else {\r\n        allowance.writeUInt64('iotaAmount', BigInteger(surplus ?? '0'));\r\n  \r\n        tokenBuffer.writeUInt16('amountOfTokens', 1);\r\n        const tokenIdBytes = Converter.hexToBytes(nativeTokenId.substring(2));\r\n        tokenBuffer.writeBytes('tokenId', tokenIdBytes.length, tokenIdBytes);\r\n        tokenBuffer.writeUInt256('amount', BigInteger(rawAmount));\r\n        const tokenBufferBytes = tokenBuffer.finalBytes();\r\n  \r\n        allowance.writeUInt16('tokensLength', tokenBufferBytes.length);\r\n        allowance.writeBytes(\r\n          'tokenBuffer',\r\n          tokenBufferBytes.length,\r\n          tokenBufferBytes,\r\n        );\r\n      }\r\n    }\r\n    return allowance.finalBytes();\r\n  }\r\n  private _getAmountFromTransactionDetails({rawAmount,nftId,nativeTokenId,surplus}:{\r\n    rawAmount: string;\r\n    nftId?: string;\r\n    nativeTokenId?: string;\r\n    surplus?: string;\r\n  }){\r\n    if (!nftId) {\r\n      \r\n      if (nativeTokenId) {\r\n          rawAmount = surplus ?? '0'\r\n      } else {\r\n          rawAmount = BigInt(rawAmount).toString()\r\n      }\r\n  } else if (nftId) {\r\n      rawAmount = surplus ?? '0'\r\n  } else {\r\n      rawAmount = '0'\r\n  }\r\n    return rawAmount ?? '0';\r\n  }\r\n\r\n\r\n  public async getOutputOptions(\r\n    senderAddress: AddressTypes,\r\n    recipientAddress: string,\r\n    rawAmount: string,\r\n    ext: {\r\n      nativeTokenId?: string;\r\n      metadata?: HexEncodedString;\r\n      tag?: string;\r\n      giftStorageDeposit?: boolean;\r\n      surplus?: string;\r\n      layer2Parameters?: ILayer2Parameters;\r\n      nftId?: string;\r\n      nftOutput?: INftOutput;\r\n      expirationDate?: Date;\r\n    },\r\n  ): Promise<IBasicOutput | INftOutput> {\r\n    // if (!this._client) throw new Error('client not init')\r\n    let {\r\n      nativeTokenId,\r\n      metadata,\r\n      tag,\r\n      giftStorageDeposit,\r\n      surplus,\r\n      layer2Parameters,\r\n      nftId,\r\n      nftOutput,\r\n      expirationDate,\r\n    } = ext;\r\n    const unixTime = expirationDate\r\n      ? convertDateToUnixTimestamp(expirationDate)\r\n      : undefined;\r\n    let amount = this._getAmountFromTransactionDetails({rawAmount,nftId,nativeTokenId,surplus});\r\n    amount = layer2Parameters ? this._addGasBudget(amount) : amount; \r\n    const bigAmount = BigInteger(rawAmount);\r\n  \r\n  \r\n    if (tag != undefined) {\r\n      tag = Converter.utf8ToHex(tag, true);\r\n    }\r\n    metadata = layer2Parameters ? this._getLayer2MetadataForTransfer(\r\n      recipientAddress,\r\n      rawAmount,\r\n      nativeTokenId,\r\n      surplus,\r\n    ) : (metadata ? Converter.utf8ToHex(metadata, true) : metadata);\r\n      \r\n    recipientAddress = layer2Parameters ? await this._client!.bech32ToHex(layer2Parameters.networkAddress) : recipientAddress;\r\n    \r\n    const assets: Assets = {};\r\n    if (nftId) {\r\n      assets.nftId = nftId;\r\n    } else if (nativeTokenId) {\r\n      assets.nativeTokens = [\r\n        {\r\n          id: nativeTokenId,\r\n          amount: '0x' + bigAmount.toString(16),\r\n        },\r\n      ];\r\n    }\r\n    const features: FeatureTypes[] = [];\r\n    if (metadata) {\r\n      features.push({ type: 2, data: metadata });\r\n    }\r\n    if (layer2Parameters) {\r\n      features.push({ type: 0, address: senderAddress });\r\n    }\r\n    if (tag) {\r\n      features.push({ type: 3, tag });\r\n    }\r\n    const unlockConditions: UnlockConditionTypes[] = [{type:0,address:{type:8,aliasId:\r\n      CONTRACT_ALIAS_ID\r\n    }}];\r\n    if (unixTime) {\r\n      unlockConditions.push({ type: 2, unixTime });\r\n    }\r\n    if (nftId && nftOutput) return {\r\n      type:6,\r\n      amount:this._addGasBudget(nftOutput.amount),\r\n      nftId,\r\n      immutableFeatures:nftOutput.immutableFeatures,\r\n      features,\r\n      unlockConditions,\r\n    };\r\n    return {\r\n      type:3,\r\n      amount,\r\n      features,\r\n      unlockConditions,\r\n    };\r\n  }\r\n\r\n  async sendTransaction(\r\n    toAddr: string,\r\n    amount: string,\r\n    nftId?: string,\r\n  ){\r\n    if (!(this._client && this._fromAddressBech32)) return;\r\n    let nftOutput:IOutputResponse|undefined\r\n    if (nftId) {\r\n      nftOutput = await this.getOutputForNftSend(nftId);\r\n    }\r\n    const outputDetail = await this.getOutputForSend(amount);\r\n    if (outputDetail == undefined) return;\r\n    const totalFunds = BigInteger(outputDetail.output.amount);\r\n  \r\n    const amountToSend = BigInteger(amount);\r\n  \r\n    const inputs: IUTXOInput[] = [];\r\n    inputs.push({\r\n      type: 0,\r\n      transactionId: outputDetail.metadata.transactionId,\r\n      transactionOutputIndex: outputDetail.metadata.outputIndex,\r\n    });\r\n    \r\n    if (nftOutput) {\r\n      inputs.push({\r\n        type: 0,\r\n        transactionId: nftOutput.metadata.transactionId,\r\n        transactionOutputIndex: nftOutput.metadata.outputIndex,\r\n      });\r\n    }\r\n    const outputs: OutputTypes[] = [];\r\n    \r\n    const basicOutput: IBasicOutput | INftOutput = await this.getOutputOptions(\r\n      { type: 0, pubKeyHash: this._fromAddressHex??'' },\r\n      toAddr,\r\n      amount,\r\n      {\r\n        nftId,\r\n        nftOutput: nftOutput?.output as INftOutput,\r\n        layer2Parameters: {\r\n          networkAddress: CONTRACT_ADDRESS,\r\n        },\r\n      },\r\n    );\r\n    console.log('receiveroutputs',basicOutput)\r\n    outputs.push(basicOutput);\r\n    if (totalFunds.gt(amountToSend)) {\r\n      // The remaining output that remains in the origin address\r\n      let remainingFund = totalFunds.minus(BigInteger(basicOutput.amount))\r\n      const remainderBasicOutput: IBasicOutput = {\r\n        type: 3,\r\n        amount: remainingFund.toString(),\r\n        nativeTokens: [],\r\n        unlockConditions: [\r\n          {\r\n            type: 0,\r\n            address: {\r\n              type: 0,\r\n              pubKeyHash: this._fromAddressHex??'',\r\n            },\r\n          },\r\n        ],\r\n        features: [],\r\n      };\r\n      outputs.push(remainderBasicOutput);\r\n    }\r\n    console.log(outputs)\r\n    const secretManager = this._getSecretManager();\r\n    const blockOption:IBuildBlockOptions = { inputs, outputs }\r\n    console.log(blockOption)\r\n    const preparedTransactionData = await this._client.prepareTransaction(\r\n      secretManager,\r\n      blockOption,\r\n    );\r\n    console.log(preparedTransactionData)\r\n    const transactionPayload = (await this._client.signTransaction(\r\n      secretManager,\r\n      preparedTransactionData,\r\n    )) as ITransactionPayload;\r\n    console.log(transactionPayload)\r\n\r\n    const [blockId,block] = await this._client.postBlockPayload(transactionPayload);\r\n  \r\n    console.log(blockId,block);\r\n  }\r\n  ed2bech32(address:HexEncodedString){\r\n      this._client?.hexToBech32(address,'rms')\r\n  }\r\n\r\n  parseLayer2MetadataForTransfer(metadataHex: string): ILayer2TransferAllowanceMetadata {\r\n    const metadata = Converter.hexToBytes(metadataHex)\r\n    const readStream = new ReadStream(metadata)\r\n\r\n    const senderContract = readStream.readUInt32('senderContract')\r\n    const targetContract = readStream.readUInt32('targetContract')\r\n    const contractFunction = readStream.readUInt32('contractFunction')\r\n    const gasBudget = readStream.readUInt64('gasBudget')\r\n\r\n    const smartContractParameters = this._parseSmartContractParameters(readStream)\r\n    const ethereumAddress = '0x' + smartContractParameters['a'].substring(2)\r\n\r\n    const allowance = this._parseAllowance(readStream)\r\n\r\n    return {\r\n        senderContract: decimalToHex(senderContract, true),\r\n        targetContract: TARGET_CONTRACTS[targetContract] ?? decimalToHex(targetContract, true),\r\n        contractFunction: CONTRACT_FUNCTIONS[contractFunction] ?? decimalToHex(contractFunction, true),\r\n        gasBudget: gasBudget.toString(),\r\n        ethereumAddress,\r\n        baseTokenAmount: allowance?.baseTokenAmount,\r\n        nativeTokens: allowance?.nativeTokens,\r\n    }\r\n}\r\n\r\n  private _parseSmartContractParameters(readStream: ReadStream): Record<string, string> {\r\n      const smartContractParametersAmount = readStream.readUInt32('parametersLength')\r\n      const smartContractParameters: Record<string, string> = {}\r\n\r\n      for (let index = 0; index < smartContractParametersAmount; index++) {\r\n          const keyLength = readStream.readUInt16('keyLength')\r\n          const keyBytes = readStream.readBytes('keyValue', keyLength)\r\n\r\n          const valueLength = readStream.readUInt32('valueLength')\r\n          const valueBytes = readStream.readBytes('valueBytes', valueLength)\r\n\r\n          const key = Converter.bytesToUtf8(keyBytes)\r\n          const value = Converter.bytesToHex(valueBytes)\r\n\r\n          smartContractParameters[key] = value\r\n      }\r\n\r\n      return smartContractParameters\r\n  }\r\n\r\n  private _parseAllowance(readStream: ReadStream): ILayer2Allowance {\r\n      const allowance = readStream.readUInt8('allowance')\r\n\r\n      if (allowance === Allowance.Set) {\r\n          const baseTokenAmount = readStream.readUInt64('baseTokenAmount').toString()\r\n          readStream.readUInt16('tokenBufferBytesLength')\r\n          const tokenAmount = readStream.readUInt16('tokenAmount')\r\n          const nativeTokens: NativeTokenAmount[] = []\r\n\r\n          for (let token = 0; token < tokenAmount; token++) {\r\n              const tokenId = Converter.bytesToHex(readStream.readBytes('tokenId', TOKEN_ID_BYTE_LENGTH))\r\n              const amount = readStream.readUInt256('tokenAmount').toString()\r\n              nativeTokens.push({ tokenId, amount })\r\n          }\r\n\r\n          return {\r\n              baseTokenAmount,\r\n              nativeTokens,\r\n          }\r\n      } else {\r\n        //@ts-ignore\r\n          return\r\n      }\r\n  }\r\n}\r\nconst instance = new L1ToL2\r\n//@ts-ignore\r\nwindow.l1tol2 = instance\r\nexport default instance\r\n\r\n\r\n\r\n\r\n\r\n"],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","wasm","heap","Array","fill","undefined","getObject","idx","heap_next","takeObject","ret","dropObject","WASM_VECTOR_LEN","cachedUint8Memory0","getUint8Memory0","byteLength","Uint8Array","memory","buffer","cachedTextEncoder","TextEncoder","encodeString","encodeInto","arg","view","buf","encode","set","read","written","passStringToWasm0","malloc","realloc","ptr","subarray","len","mem","offset","code","charCodeAt","slice","isLikeNone","x","cachedInt32Memory0","getInt32Memory0","Int32Array","cachedTextDecoder","TextDecoder","ignoreBOM","fatal","getStringFromWasm0","decode","addHeapObject","obj","debugString","val","type","description","name","isArray","debug","i","builtInMatches","exec","toString","className","JSON","stringify","Error","message","stack","CLOSURE_DTORS","FinalizationRegistry","state","__wbindgen_export_2","get","dtor","a","b","makeMutClosure","arg0","arg1","cnt","real","args","unregister","original","register","__wbg_adapter_26","_dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__had9d5d30c8b835af","__wbg_adapter_29","arg2","_dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hbc2f3d574014e74d","sendMessageAsync","messageHandler","retptr","__wbindgen_add_to_stack_pointer","ptr0","__wbindgen_malloc","__wbindgen_realloc","len0","instance","klass","_assertClass","MessageHandler","r0","r1","stack_pointer","listen","_topics","_callback","addBorrowedObject","handleError","__wbindgen_exn_store","MessageHandlerFinalization","__wbg_messagehandler_free","MessageHandler$1","static","Object","create","prototype","__destroy_into_raw","free","getImports","imports","wbg","__wbindgen_object_drop_ref","__wbindgen_cb_drop","__wbindgen_string_get","__wbindgen_string_new","__wbg_new_abda76e883ba8a5f","__wbg_stack_658279fe44541cf6","__wbg_error_f851667af71bcfc6","console","error","__wbindgen_free","__wbg_clearTimeout_76877dbc010e786d","clearTimeout","__wbg_setTimeout_75cb9b6991a4031d","setTimeout","arguments","__wbindgen_object_clone_ref","__wbg_fetch_3a1be51760e1f8eb","fetch","__wbg_fetch_661ffba2a4f2519c","__wbg_instanceof_Response_fb3a4df648c1859b","Response","__wbg_url_8ec2534cdfacb103","url","__wbg_status_d483a4ac847f380a","status","__wbg_headers_6093927dc359903e","headers","__wbg_arrayBuffer_cb886e06a9e36e4d","arrayBuffer","__wbg_text_f61464d781b099f0","text","__wbg_now_c644db5194be8437","now","__wbg_newwithstrandinit_c45f0dc6da26fd03","Request","__wbg_new_f1c3a9c2533a55b8","Headers","__wbg_append_1be1d651f9ecf2eb","arg3","arg4","append","__wbg_crypto_e1d53a1d73fb10b8","crypto","__wbindgen_is_object","__wbg_process_038c26bf42b093f8","process","__wbg_versions_ab37218d2f0b24a8","versions","__wbg_node_080f4b19d15bc1fe","node","__wbindgen_is_string","__wbg_msCrypto_6e7d3e1f92610cbb","msCrypto","__wbg_require_78a3dcfbdba9cbce","module","require","__wbindgen_is_function","__wbg_getRandomValues_805f1c3d65988a5a","getRandomValues","__wbg_randomFillSync_6894564c2c334c42","randomFillSync","__wbg_newnoargs_2b8b6bd7753c76ba","Function","__wbg_next_b7d530c04fd8b217","__wbg_next_88560ec06a094dea","__wbg_done_1ebec03bbd919843","__wbg_value_6ac8da5cc5b3efda","__wbg_iterator_55f114446221aa5a","__wbg_get_baf4855f9a986186","Reflect","__wbg_call_95d1ea488d03e4e8","__wbg_new_f9876326328f45ed","__wbg_self_e7c1f827057f6584","self","__wbg_window_a09ec664e14b1b81","window","__wbg_globalThis_87cbb8506fecf3a9","globalThis","__wbg_global_c85a9259e621f3db","global","__wbindgen_is_undefined","__wbg_new_15d3966e9981a196","__wbg_call_9495de66fdbe016b","__wbg_now_931686b195a14f9d","Date","__wbg_new_9d3a9ce4282a18a8","state0","cb0","wasm_bindgen__convert__closures__invoke2_mut__h99161b361b26b47d","__wbg_adapter_107","__wbg_resolve_fd40f858d9db1a04","__wbg_then_ec5db6d509eb475f","__wbg_then_f753623316e2873a","__wbg_buffer_cf65c07de34b9a08","__wbg_newwithbyteoffsetandlength_9fb2f11355ecadf5","__wbg_new_537b7341ce90bb31","__wbg_set_17499e8aa4003ebd","__wbg_length_27a2afe8ab42b09f","__wbg_newwithlength_b56c882b57805732","__wbg_subarray_7526649b91a252a6","__wbg_has_3feea89d34bd7ad5","has","__wbg_set_6aa458a4ebdb65cb","__wbg_stringify_029a979dfb73aa17","__wbindgen_debug_string","__wbindgen_throw","__wbindgen_memory","__wbindgen_closure_wrapper3311","__wbindgen_closure_wrapper3427","async","initWasm","input","URL","WebAssembly","instantiateStreaming","warn","bytes","instantiate","Instance","load","exports","__wbindgen_wasm_module","__wbindgen_start","finalizeInit","__initializedIotaWasm","init","path","CoinType","options","clientOptions","messageHandlerNew","__wrap","sendMessage","topics","callback","Client","getInfo","response","_a","parse","payload","getNetworkInfo","basicOutputIds","queryParameters","data","getOutput","outputId","getOutputs","outputIds","generateMnemonic","mnemonicToHexSeed","mnemonic","computeAliasId","computeNftId","computeFoundryId","aliasAddress","serialNumber","tokenSchemeKind","generateAddresses","secretManager","generateAddressesOptions","buildAndPostBlock","getTips","postBlock","block","getBlock","blockId","getBlockMetadata","findInputs","addresses","amount","findOutputs","getLedgerNanoStatus","isSimulator","prepareTransaction","storeMnemonic","signTransaction","preparedTransactionData","signatureUnlock","inputSigningData","transactionEssenceHash","remainderData","postBlockPayload","parseBech32Address","address","getNode","getNetworkId","getBech32Hrp","getMinPowScore","getTipsInterval","getTokenSupply","getProtocolParameters","tokenSupply","getLocalPow","getFallbackToLocalPow","getHealth","getNodeInfo","auth","getPeers","postBlockRaw","getBlockRaw","getMilestoneById","milestoneId","getUtxoChangesById","getMilestoneByIndex","index","getUtxoChangesByIndex","getReceipts","getReceiptsMigratedAt","milestoneIndex","getTreasury","getIncludedBlock","transactionId","getIncludedBlockMetadata","bech32ToHex","bech32","hexToBech32","hex","bech32Hrp","aliasIdToBech32","aliasId","nftIdToBech32","nftId","hexPublicKeyToBech32Address","isAddressValid","aliasOutputIds","aliasOutputId","nftOutputIds","nftOutputId","foundryOutputIds","foundryOutputId","foundryId","tryGetOutputs","findBlocks","blockIds","retry","retryUntilIncluded","interval","maxAttempts","consolidateFunds","reattach","reattachUnchecked","promote","promoteUnchecked","unhealthyNodes","buildBasicOutput","buildAliasOutput","buildFoundryOutput","buildNftOutput","clearListeners","LedgerDeviceType","Network","defaultLoggerConfig","colorEnabled","levelFilter","initLogger","config","_config","Allowance","GAS_BUDGET","BigInteger","TARGET_CONTRACTS","CONTRACT_FUNCTIONS","decimalToHex","number","prefix","L1ToL2","setup","_client","nodes","localPow","_addGasBudget","rawAmount","add","_encodeSmartContractParameters","parameters","encodedParameters","WriteStream","writeUInt32","parameters_1","_i","parameter","key","keyBytes","Converter","utf8ToBytes","writeUInt16","writeBytes","valueBytes","hexToBytes","finalBytes","_getSecretManager","_mnemonic","setMnemonic","getOutputForSend","targetAmount","getUnspentOutputs","outputs","outputs_1","outputResp","output","geq","getOutputForNftSend","getNftOutputs","outputs_2","_fromAddressBech32","outputIdsResponse","_b","addressOutputs","log","hasExpiration","hasTimelock","hasStorageDepositReturn","filter","o","metadata","isSpent","prepareAddress","accountIndex","range","start","end","_d","_c","_fromAddressHex","_encodeAddress","encodedAddress","writeUInt8","addressBytes","finalHex","_getLayer2MetadataForTransfer","layer2Address","nativeTokenId","surplus","metadataStream","writeUInt64","toLowerCase","smartContractParameters","entries","allowance","_encodeAllowance","tokenBuffer","Set","tokenIdBytes","substring","writeUInt256","tokenBufferBytes","_getAmountFromTransactionDetails","BigInt","getOutputOptions","senderAddress","recipientAddress","ext","tag","giftStorageDeposit","layer2Parameters","nftOutput","expirationDate","unixTime","date","Math","round","getTime","bigAmount","utf8ToHex","networkAddress","assets","nativeTokens","id","features","unlockConditions","immutableFeatures","sendTransaction","toAddr","outputDetail","totalFunds","amountToSend","inputs","transactionOutputIndex","outputIndex","pubKeyHash","basicOutput","gt","remainingFund","minus","remainderBasicOutput","blockOption","transactionPayload","ed2bech32","parseLayer2MetadataForTransfer","metadataHex","readStream","ReadStream","senderContract","readUInt32","targetContract","contractFunction","gasBudget","readUInt64","ethereumAddress","_parseSmartContractParameters","_parseAllowance","baseTokenAmount","smartContractParametersAmount","keyLength","readUInt16","readBytes","valueLength","bytesToUtf8","bytesToHex","readUInt8","tokenAmount","token","tokenId","readUInt256","l1tol2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}