@mainnet-cash/indexeddb-storage 4.0.0-next.6 → 4.0.0-next.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,30 +1,30 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@mainnet-cash/indexeddb-storage",
4
- "version": "4.0.0-next.6",
4
+ "version": "4.0.0-next.8",
5
5
  "module": "dist/module/index.js",
6
6
  "types": "dist/module/index.d.ts",
7
7
  "exports": {
8
+ "types": "./dist/module/index.d.ts",
8
9
  "import": "./dist/module/index.js"
9
10
  },
11
+ "files": [
12
+ "dist/module"
13
+ ],
10
14
  "license": "MIT",
11
15
  "author": "readcash",
12
16
  "dependencies": {
13
- "mainnet-js": "4.0.0-next.6"
17
+ "mainnet-js": "4.0.0-next.8"
14
18
  },
15
19
  "devDependencies": {
16
20
  "fake-indexeddb": "^3.1.2"
17
21
  },
18
22
  "scripts": {
19
23
  "build": "yarn build:module && yarn build:browser",
20
- "build:main": "tsc",
21
- "build:module": "tsc -p tsconfig.browser.json",
22
- "build:browser": "npx webpack",
24
+ "build:module": "tsc -p tsconfig.build.json",
25
+ "build:browser": "vite build && BUILD_TARGET=test vite build",
23
26
  "build:production": "yarn build:module && NODE_ENV=production yarn build:browser",
24
27
  "test": "vitest run --config ../../test/vitest.config.ts",
25
28
  "publish:public": "yarn publish --access public"
26
- },
27
- "testPathIgnorePatterns": [
28
- "dist"
29
- ]
29
+ }
30
30
  }
package/dist/index.html DELETED
@@ -1,9 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <title>The Empty Mainnet App</title>
6
- <meta name="viewport" content="width=device-width, initial-scale=1"><script defer src="indexeddb-storage-4.0.0-next.6.js"></script></head>
7
- <body><script defer src="mainnet.js"></script><script>document.addEventListener("DOMContentLoaded", async (event) => Object.assign(globalThis, await __mainnetPromise))</script>
8
- </body>
9
- </html>
@@ -1,108 +0,0 @@
1
- /*
2
- * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
3
- * This devtool is neither made for production nor for readable output files.
4
- * It uses "eval()" calls to create a separate source file in the browser devtools.
5
- * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
6
- * or disable the default devtool with "devtool: false".
7
- * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
8
- */
9
- (function webpackUniversalModuleDefinition(root, factory) {
10
- if(typeof exports === 'object' && typeof module === 'object')
11
- module.exports = factory();
12
- else if(typeof define === 'function' && define.amd)
13
- define([], factory);
14
- else {
15
- var a = factory();
16
- for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
17
- }
18
- })(self, () => {
19
- return /******/ (() => { // webpackBootstrap
20
- /******/ "use strict";
21
- /******/ var __webpack_modules__ = ({
22
-
23
- /***/ "./src/IndexedDBProvider.ts":
24
- /*!**********************************!*\
25
- !*** ./src/IndexedDBProvider.ts ***!
26
- \**********************************/
27
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
28
-
29
- eval("/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ IndexedDBProvider)\n/* harmony export */ });\nclass IndexedDBProvider {\n constructor(dbName = \"wallet\", storeName = \"wallet\") {\n this.db = null;\n this.dbName = dbName;\n this.storeName = storeName;\n }\n async openDB() {\n if (this.db)\n return this.db;\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(this.dbName, 31);\n request.onupgradeneeded = (event) => {\n const db = request.result;\n if (!db.objectStoreNames.contains(this.storeName)) {\n db.createObjectStore(this.storeName, { keyPath: \"name\" });\n }\n };\n request.onsuccess = () => {\n this.db = request.result;\n resolve(this.db);\n };\n request.onerror = () => reject(request.error);\n });\n }\n async init() {\n await this.openDB();\n return this;\n }\n async close() {\n if (this.db) {\n this.db.close();\n this.db = null;\n }\n return this;\n }\n getInfo() {\n return \"indexedDB\";\n }\n async addWallet(name, walletId) {\n const db = await this.openDB();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(this.storeName, \"readwrite\");\n const store = tx.objectStore(this.storeName);\n const getReq = store.get(name);\n getReq.onsuccess = () => {\n if (getReq.result) {\n resolve(false);\n }\n else {\n const addReq = store.add({ name, wallet: walletId });\n addReq.onsuccess = () => resolve(true);\n addReq.onerror = () => reject(addReq.error);\n }\n };\n getReq.onerror = () => reject(getReq.error);\n });\n }\n async getWallet(name) {\n const db = await this.openDB();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(this.storeName, \"readonly\");\n const store = tx.objectStore(this.storeName);\n const req = store.get(name);\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n });\n }\n async getWallets() {\n const db = await this.openDB();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(this.storeName, \"readonly\");\n const store = tx.objectStore(this.storeName);\n const req = store.getAll();\n req.onsuccess = () => resolve(req.result || []);\n req.onerror = () => reject(req.error);\n });\n }\n async updateWallet(name, walletId) {\n const db = await this.openDB();\n return new Promise((resolve, reject) => {\n const tx = db.transaction(this.storeName, \"readwrite\");\n const store = tx.objectStore(this.storeName);\n const getReq = store.get(name);\n getReq.onsuccess = () => {\n if (!getReq.result) {\n resolve();\n }\n else {\n const putReq = store.put({ name, wallet: walletId });\n putReq.onsuccess = () => resolve();\n putReq.onerror = () => reject(putReq.error);\n }\n };\n getReq.onerror = () => reject(getReq.error);\n });\n }\n async walletExists(name) {\n return (await this.getWallet(name)) !== undefined;\n }\n}\n\n\n//# sourceURL=webpack://@mainnet-cash/indexeddb-storage/./src/IndexedDBProvider.ts?");
30
-
31
- /***/ }),
32
-
33
- /***/ "./src/index.ts":
34
- /*!**********************!*\
35
- !*** ./src/index.ts ***!
36
- \**********************/
37
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
38
-
39
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"IndexedDBProvider\": () => (/* reexport safe */ _IndexedDBProvider_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _IndexedDBProvider_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./IndexedDBProvider.js */ \"./src/IndexedDBProvider.ts\");\n\n\n\n//# sourceURL=webpack://@mainnet-cash/indexeddb-storage/./src/index.ts?");
40
-
41
- /***/ })
42
-
43
- /******/ });
44
- /************************************************************************/
45
- /******/ // The module cache
46
- /******/ var __webpack_module_cache__ = {};
47
- /******/
48
- /******/ // The require function
49
- /******/ function __webpack_require__(moduleId) {
50
- /******/ // Check if module is in cache
51
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
52
- /******/ if (cachedModule !== undefined) {
53
- /******/ return cachedModule.exports;
54
- /******/ }
55
- /******/ // Create a new module (and put it into the cache)
56
- /******/ var module = __webpack_module_cache__[moduleId] = {
57
- /******/ // no module.id needed
58
- /******/ // no module.loaded needed
59
- /******/ exports: {}
60
- /******/ };
61
- /******/
62
- /******/ // Execute the module function
63
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
64
- /******/
65
- /******/ // Return the exports of the module
66
- /******/ return module.exports;
67
- /******/ }
68
- /******/
69
- /************************************************************************/
70
- /******/ /* webpack/runtime/define property getters */
71
- /******/ (() => {
72
- /******/ // define getter functions for harmony exports
73
- /******/ __webpack_require__.d = (exports, definition) => {
74
- /******/ for(var key in definition) {
75
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
76
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
77
- /******/ }
78
- /******/ }
79
- /******/ };
80
- /******/ })();
81
- /******/
82
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
83
- /******/ (() => {
84
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
85
- /******/ })();
86
- /******/
87
- /******/ /* webpack/runtime/make namespace object */
88
- /******/ (() => {
89
- /******/ // define __esModule on exports
90
- /******/ __webpack_require__.r = (exports) => {
91
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
92
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
93
- /******/ }
94
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
95
- /******/ };
96
- /******/ })();
97
- /******/
98
- /************************************************************************/
99
- /******/
100
- /******/ // startup
101
- /******/ // Load entry module and return exports
102
- /******/ // This entry module can't be inlined because the eval devtool is used.
103
- /******/ var __webpack_exports__ = __webpack_require__("./src/index.ts");
104
- /******/
105
- /******/ return __webpack_exports__;
106
- /******/ })()
107
- ;
108
- });
@@ -1 +0,0 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../mainnet-js/dist/module/db/interface.d.ts","../../mainnet-js/dist/module/db/StorageProvider.d.ts","../../mainnet-js/dist/module/db/index.d.ts","../../mainnet-js/dist/module/mine/mine.d.ts","../../mainnet-js/dist/module/mine/index.d.ts","../../../node_modules/@rpckit/core/dist/protocol.d.ts","../../../node_modules/@rpckit/core/dist/schema.d.ts","../../../node_modules/@rpckit/core/dist/types.d.ts","../../../node_modules/@rpckit/core/dist/batch.d.ts","../../../node_modules/@rpckit/core/dist/parse.d.ts","../../../node_modules/@rpckit/core/dist/retry.d.ts","../../../node_modules/@rpckit/core/dist/schema-utils.d.ts","../../../node_modules/@rpckit/core/dist/index.d.ts","../../../node_modules/@rpckit/core/dist/electrum-cash/parse.d.ts","../../../node_modules/@rpckit/core/dist/electrum-cash/schema.d.ts","../../../node_modules/@rpckit/core/dist/electrum-cash/index.d.ts","../../../node_modules/@bitauth/libauth/build/lib/address/base58-address.d.ts","../../../node_modules/@bitauth/libauth/build/lib/address/bech32.d.ts","../../../node_modules/@bitauth/libauth/build/lib/address/cash-address.d.ts","../../../node_modules/@bitauth/libauth/build/lib/address/locking-bytecode.d.ts","../../../node_modules/@bitauth/libauth/build/lib/address/address.d.ts","../../../node_modules/@bitauth/libauth/build/lib/bin/hashes.d.ts","../../../node_modules/@bitauth/libauth/build/lib/bin/ripemd160/ripemd160.base64.d.ts","../../../node_modules/@bitauth/libauth/build/lib/bin/secp256k1/secp256k1-wasm-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/bin/secp256k1/secp256k1-wasm.d.ts","../../../node_modules/@bitauth/libauth/build/lib/bin/sha1/sha1.base64.d.ts","../../../node_modules/@bitauth/libauth/build/lib/bin/sha256/sha256.base64.d.ts","../../../node_modules/@bitauth/libauth/build/lib/bin/sha512/sha512.base64.d.ts","../../../node_modules/@bitauth/libauth/build/lib/bin/bin.d.ts","../../../node_modules/@bitauth/libauth/build/lib/compiler/compiler-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/compiler/compiler-bch/compiler-bch.d.ts","../../../node_modules/@bitauth/libauth/build/lib/compiler/compiler-defaults.d.ts","../../../node_modules/@bitauth/libauth/build/lib/compiler/compiler-operation-helpers.d.ts","../../../node_modules/@bitauth/libauth/build/lib/compiler/compiler-operations.d.ts","../../../node_modules/@bitauth/libauth/build/lib/compiler/compiler-utils.d.ts","../../../node_modules/@bitauth/libauth/build/lib/compiler/scenarios.d.ts","../../../node_modules/@bitauth/libauth/build/lib/compiler/p2pkh-utils.d.ts","../../../node_modules/@bitauth/libauth/build/lib/compiler/standard/p2pkh.d.ts","../../../node_modules/@bitauth/libauth/build/lib/compiler/standard/standard.d.ts","../../../node_modules/@bitauth/libauth/build/lib/engine/types/template-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/compiler/compiler.d.ts","../../../node_modules/@bitauth/libauth/build/lib/crypto/combinations.d.ts","../../../node_modules/@bitauth/libauth/build/lib/format/base-convert.d.ts","../../../node_modules/@bitauth/libauth/build/lib/format/base64.d.ts","../../../node_modules/@bitauth/libauth/build/lib/format/bin-string.d.ts","../../../node_modules/@bitauth/libauth/build/lib/format/error.d.ts","../../../node_modules/@bitauth/libauth/build/lib/format/hex.d.ts","../../../node_modules/@bitauth/libauth/build/lib/format/log.d.ts","../../../node_modules/@bitauth/libauth/build/lib/format/number.d.ts","../../../node_modules/@bitauth/libauth/build/lib/format/read.d.ts","../../../node_modules/@bitauth/libauth/build/lib/format/time.d.ts","../../../node_modules/@bitauth/libauth/build/lib/format/type-utils.d.ts","../../../node_modules/@bitauth/libauth/build/lib/format/utf8.d.ts","../../../node_modules/@bitauth/libauth/build/lib/format/format.d.ts","../../../node_modules/@bitauth/libauth/build/lib/crypto/dependencies.d.ts","../../../node_modules/@bitauth/libauth/build/lib/crypto/secp256k1-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/crypto/default-crypto-instances.d.ts","../../../node_modules/@bitauth/libauth/build/lib/crypto/hmac.d.ts","../../../node_modules/@bitauth/libauth/build/lib/crypto/pbkdf2.d.ts","../../../node_modules/@bitauth/libauth/build/lib/crypto/ripemd160.d.ts","../../../node_modules/@bitauth/libauth/build/lib/crypto/secp256k1.d.ts","../../../node_modules/@bitauth/libauth/build/lib/crypto/sha1.d.ts","../../../node_modules/@bitauth/libauth/build/lib/crypto/sha256.d.ts","../../../node_modules/@bitauth/libauth/build/lib/crypto/sha512.d.ts","../../../node_modules/@bitauth/libauth/build/lib/crypto/crypto.d.ts","../../../node_modules/@bitauth/libauth/build/lib/engine/types/bcmr-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/engine/engine.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/hd-key.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/key-utils.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/word-lists/bip39.chinese-simplified.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/word-lists/bip39.chinese-traditional.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/word-lists/bip39.czech.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/word-lists/bip39.english.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/word-lists/bip39.french.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/word-lists/bip39.italian.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/word-lists/bip39.japanese.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/word-lists/bip39.korean.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/word-lists/bip39.portuguese.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/word-lists/bip39.spanish.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/bip39.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/wallet-import-format.d.ts","../../../node_modules/@bitauth/libauth/build/lib/key/key.d.ts","../../../node_modules/@bitauth/libauth/build/lib/language/compile.d.ts","../../../node_modules/@bitauth/libauth/build/lib/language/language-utils.d.ts","../../../node_modules/@bitauth/libauth/build/lib/language/language-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/language/parse.d.ts","../../../node_modules/@bitauth/libauth/build/lib/language/reduce.d.ts","../../../node_modules/@bitauth/libauth/build/lib/language/resolve.d.ts","../../../node_modules/@bitauth/libauth/build/lib/language/language.d.ts","../../../node_modules/@bitauth/libauth/build/lib/message/read-components.d.ts","../../../node_modules/@bitauth/libauth/build/lib/message/transaction-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/message/transaction-encoding.d.ts","../../../node_modules/@bitauth/libauth/build/lib/message/message.d.ts","../../../node_modules/@bitauth/libauth/build/lib/schema/bcmr.d.ts","../../../node_modules/@bitauth/libauth/build/lib/schema/wallet-template.d.ts","../../../node_modules/@bitauth/libauth/build/lib/schema/schema.d.ts","../../../node_modules/@bitauth/libauth/build/lib/transaction/generate-transaction.d.ts","../../../node_modules/@bitauth/libauth/build/lib/transaction/transaction.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/xec/xec-descriptions.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/xec/xec-2020-consensus.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/xec/xec-instruction-set.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/xec/xec-opcodes.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/xec/xec-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/virtual-machine.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/vm-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/xec/xec-vm.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/xec/fixtures/satoshi-client/bitcoin-satoshi-utils.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/xec/xec.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/arithmetic.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/bitwise.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/combinators.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/common-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/signing-serialization.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/consensus.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/crypto.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/encoding.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/errors.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/flow-control.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/format.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/inspection.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/instruction-sets-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/instruction-sets-utils.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/nop.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/push.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/stack.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/time.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/common/common.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2023/bch-2023-consensus.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2023/bch-2023-descriptions.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2023/bch-2023-errors.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2023/bch-2023-instruction-set.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2023/bch-2023-opcodes.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2023/bch-2023-tokens.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2023/bch-2023-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2023/bch-2023-vm.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2023/bch-2023.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2025/bch-2025-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2025/bch-2025-consensus.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2025/bch-2025-errors.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2025/bch-2025-instruction-set.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2025/bch-2025-vm.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2025/bch-2025.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-consensus.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-instruction-set.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-vm.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-descriptions.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/spec/bch-spec-descriptions.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-errors.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/spec/bch-spec-errors.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/spec/bch-spec-consensus.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/spec/bch-spec-instruction-set.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-loops.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/2026/bch-2026-opcodes.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/spec/bch-spec-opcodes.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/spec/bch-spec-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/spec/bch-spec-vm.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/spec/bch-spec.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/bch/bch.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/btc/btc-descriptions.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/btc/btc-opcodes.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/btc/btc-types.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/btc/btc.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/instruction-sets/instruction-sets.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vm/vm.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vmb-tests/bch-vmb-test-utils.d.ts","../../../node_modules/@bitauth/libauth/build/lib/vmb-tests/vmb-tests.d.ts","../../../node_modules/@bitauth/libauth/build/lib/lib.d.ts","../../../node_modules/@bitauth/libauth/build/index.d.ts","../../mainnet-js/dist/module/interface.d.ts","../../mainnet-js/dist/module/network/interface.d.ts","../../mainnet-js/dist/module/wallet/enum.d.ts","../../mainnet-js/dist/module/enum.d.ts","../../mainnet-js/dist/module/wallet/interface.d.ts","../../mainnet-js/dist/module/network/NetworkProvider.d.ts","../../mainnet-js/dist/module/cache/interface.d.ts","../../mainnet-js/dist/module/network/ElectrumNetworkProvider.d.ts","../../mainnet-js/dist/module/network/default.d.ts","../../mainnet-js/dist/module/network/Connection.d.ts","../../mainnet-js/dist/module/network/index.d.ts","../../mainnet-js/dist/module/message/interface.d.ts","../../mainnet-js/dist/module/message/signed.d.ts","../../mainnet-js/dist/module/cache/walletCache.d.ts","../../mainnet-js/dist/module/wallet/model.d.ts","../../mainnet-js/dist/module/wallet/Util.d.ts","../../mainnet-js/dist/module/wallet/Base.d.ts","../../mainnet-js/dist/module/history/interface.d.ts","../../mainnet-js/dist/module/wallet/Watch.d.ts","../../mainnet-js/dist/module/message/index.d.ts","../../mainnet-js/dist/module/wallet/Wif.d.ts","../../mainnet-js/dist/module/cache/index.d.ts","../../mainnet-js/dist/module/wallet/HDWallet.d.ts","../../mainnet-js/dist/module/wallet/createWallet.d.ts","../../mainnet-js/dist/module/network/configuration.d.ts","../../mainnet-js/dist/module/config.d.ts","../../mainnet-js/dist/module/util/amountInSatoshi.d.ts","../../mainnet-js/dist/module/util/asSendRequestObject.d.ts","../../mainnet-js/dist/module/util/base64.d.ts","../../mainnet-js/dist/module/util/convert.d.ts","../../mainnet-js/dist/module/util/delay.d.ts","../../mainnet-js/dist/module/util/deriveNetwork.d.ts","../../mainnet-js/dist/module/util/derivePublicKeyHash.d.ts","../../mainnet-js/dist/module/util/deriveCashaddr.d.ts","../../mainnet-js/dist/module/util/getAddrsByXpubKey.d.ts","../../mainnet-js/dist/module/util/getRuntimePlatform.d.ts","../../mainnet-js/dist/module/util/getUsdRate.d.ts","../../mainnet-js/dist/module/util/hash160.d.ts","../../mainnet-js/dist/module/rate/ExchangeRate.d.ts","../../mainnet-js/dist/module/util/sanitizeAddress.d.ts","../../mainnet-js/dist/module/util/sanitizeUnit.d.ts","../../mainnet-js/dist/module/util/randomInt.d.ts","../../mainnet-js/dist/module/util/getXPubKey.d.ts","../../mainnet-js/dist/module/util/sumUtxoValue.d.ts","../../mainnet-js/dist/module/util/header.d.ts","../../mainnet-js/dist/module/util/checkUtxos.d.ts","../../mainnet-js/dist/module/util/index.d.ts","../../mainnet-js/dist/module/history/getHistory.d.ts","../../mainnet-js/dist/module/libauth.d.ts","../../mainnet-js/dist/module/constant.d.ts","../../mainnet-js/dist/module/index.d.ts","../src/IndexedDBProvider.ts","../src/index.ts","../../../node_modules/@types/deep-eql/index.d.ts","../../../node_modules/assertion-error/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/cookiejar/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/eslint/lib/rules/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/@types/html-minifier-terser/index.d.ts","../../../node_modules/@types/js-yaml/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/pg/node_modules/pg-types/index.d.ts","../../../node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/@types/pg/index.d.ts","../../../node_modules/@types/pg-format/index.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/superagent/index.d.ts","../../../node_modules/@types/supertest/index.d.ts","../../../node_modules/@types/ws/index.d.ts"],"fileIdsList":[[215,329],[63,64,65,66,329],[329],[68,69,71,72,73,74,329],[70,329],[76,215,329],[76,77,78,79,80,81,82,83,85,86,329],[84,329],[88,102,103,104,105,106,107,108,109,110,329],[101,102,329],[75,100,329],[104,329],[86,112,329],[89,90,91,92,93,94,95,96,97,98,99,329],[111,114,115,116,117,118,119,120,121,122,123,124,125,215,329],[114,215,329],[114,115,126,127,329],[129,130,131,132,133,134,329],[131,215,329],[67,75,87,100,111,113,128,135,139,142,144,212,214,329],[136,137,138,329],[137,215,329],[140,141,329],[143,329],[163,329],[174,215,329],[150,151,329],[174,175,176,177,178,179,180,181,329],[183,329],[211,329],[184,215,329],[183,184,185,186,187,329],[175,329],[185,211,329],[189,190,215,329],[178,329],[190,191,192,329],[150,151,163,173,174,180,182,185,188,193,194,195,196,197,201,202,205,215,329],[194,206,329],[196,206,211,329],[198,215,329],[201,206,329],[150,151,203,329],[195,197,199,200,202,203,204,329],[207,208,209,329],[155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,329],[159,329],[151,215,329],[154,173,194,201,206,210,329],[146,215,329],[145,147,148,149,152,153,329],[150,151,211,329],[213,329],[52,54,329],[60,61,329],[53,54,329],[58,329],[52,53,54,55,56,57,58,329],[53,307,325,329],[270,271,329],[277,278,329],[274,275,276,277,329],[278,329],[283,329],[286,329],[287,292,320,329],[288,299,300,307,317,328,329],[288,289,299,307,329],[290,329],[291,292,300,308,329],[292,317,325,329],[293,295,299,307,329],[294,329],[295,296,329],[299,329],[297,299,329],[299,300,301,317,328,329],[299,300,301,314,317,320,329],[329,333],[302,307,317,328,329],[299,300,302,303,307,317,325,328,329],[302,304,317,325,328,329],[283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335],[299,305,329],[306,328,329],[295,299,307,317,329],[308,329],[309,329],[286,310,329],[311,327,329,333],[312,329],[313,329],[299,314,315,329],[314,316,329,331],[287,299,317,318,319,320,329],[287,317,319,329],[317,318,329],[320,329],[321,329],[299,323,324,329],[323,324,329],[292,307,317,325,329],[326,329],[307,327,329],[287,302,313,328,329],[292,329],[317,329,330],[329,331],[329,332],[287,292,299,301,310,317,328,329,331,333],[317,329,334],[299,317,325,329,336,337,338,341,342],[273,287,300,302,317,329,336],[329,345],[299,302,304,317,325,328,329,334,336],[329,336,338,339,340],[329,336],[317,329,336,338],[267,329],[268,329],[223,230,329],[216,217,329],[47,329],[47,48,329],[216,329],[217,220,222,234,329],[217,329],[49,51,217,219,220,221,227,228,229,231,233,234,235,237,239,240,241,242,263,264,265,266,329],[228,229,329],[228,329],[50,329],[217,222,329],[59,62,217,218,221,222,223,329],[217,218,221,329],[217,222,224,329],[218,222,224,225,226,329],[231,329],[216,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,329],[220,329],[48,216,217,218,219,220,221,224,228,230,231,232,329],[216,217,220,221,231,233,234,238,329],[216,218,220,222,329],[216,217,219,220,221,228,230,233,234,329],[216,219,220,221,224,231,235,236,329],[221,235,237,239,329],[217,218,219,220,329]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},"fa2eae3a28979e3d440e9beb1fc257675d416bffcfe744c38f49e34dd63898db","b160e3dd134b408f7771757b2667dc8df5b5db56378fdff870296593017cbbf5","61bf0f4302ee1e5e4b2d037c7de82ce8410560dc61fcdadd1a1d4f016b99134c","c33873bf64882fd59b766990dfb27afadfcc26b41558053a770e5f8f0ae5edd5","030e1fcbaf536940f6facf8677ff38f729b5574cfa6ebfcd6d354054ffd104af",{"version":"bdd27d4bb2b93f62c397589ec5ab0c511a9b7dce9dc7122dbd4d5eee062ab585","impliedFormat":99},{"version":"2c0263f1db1a484dbb4d16b96a4685010f3d0de2a6370847c93d3a4e3f8bf377","impliedFormat":99},{"version":"097e0350353dab9b0855a244044335263a2f0aac3c063bcbf53796508022609b","impliedFormat":99},{"version":"a3a81fb217bb26e38adac5dc18985ce018119c897762789a10af6dff3521b49c","impliedFormat":99},{"version":"9032a834e85baebdaefda527f68504dd19ff67ce6faa1318dff973f310fdf004","impliedFormat":99},{"version":"42c59e4030e9eabad6adf28e9b1d7a38c23502738a6ef7fde4b8c8ea2d151034","impliedFormat":99},{"version":"c06adeb1121fd0037101823a117f2a05e1b235e4e7a8f0778ff38b4a73cb78a7","impliedFormat":99},{"version":"55c80e0b11312ac021a5cc2886d387ef838b27dc6697f2e5e4a2ca6f3c64b63a","impliedFormat":99},{"version":"9916329e93743529d5ed82dd33d5959ed8ea87013e36fa7e5610031ff828192e","impliedFormat":99},{"version":"0e26b010489a85017f172e10d99bdd6892501a1744c70d87b44218c02b3a987c","impliedFormat":99},{"version":"4f9d83ba7de14552ab216ae2ab3a69e9613f462cb7e156fd43aaac5b4f6e93a8","impliedFormat":99},{"version":"a38d71d48e8097dc479eeb78d9a9a070c8e4a58c6e3dab44dd3bc3ca9fcfa027","impliedFormat":99},{"version":"cba6688cd77e97f8bec08ed8b1e98db2cd3fe119d76f136b032de3f36bc4f20c","impliedFormat":99},{"version":"987749b82eed507f1a2412cdcbd949fff5710bdd66db6ce8e2165d2fdacb74d6","impliedFormat":99},{"version":"26aaba823e6eb0ca301c3e70786e3217b20e80ff59879f4e4897e00ecb7ba060","impliedFormat":99},{"version":"1d41545e31b119d9bb993202dc5fa73815ac0cfe486feaddad7c3bbcbcef0e68","impliedFormat":99},{"version":"7e392413f34965abfd94cff06e38e3dabb999d0e97583c318a72b99f79d3e75f","impliedFormat":99},{"version":"7426d1ec25b2f49f7700e85a63bea9a7aba52fd33a0879f6fd3e8e98568b5811","impliedFormat":99},{"version":"60fc0d963d309f2984e37784feb937250ac80b0872aca8c938e7f671000df77b","impliedFormat":99},{"version":"2f275fec9095538f7ca65b5c89a470726d786244c711e55cc2c7ec60eea1b346","impliedFormat":99},{"version":"aed13d0d330e79bf17373a0cabe9dac6ec29d3e1a0b5c8eaaacb81fd2fa94494","impliedFormat":99},{"version":"23f634e12d2c1c5f876caddf838923f8e1485f259b16bbaa8263d6b89ba87592","impliedFormat":99},{"version":"de3af19c02f00bd370a985b62061a6d7d02883ec012382f3c19c39046d52c966","impliedFormat":99},{"version":"1b30425956ed9d9a6a7388d40f19fc1a5e4b88a921fb13d6a23cb55147211f28","impliedFormat":99},{"version":"4f9462a097d141e885b737f09164e861e2895f1043d0646180db3c03f0dbf143","impliedFormat":99},{"version":"d34336323293a332e720fa87bec70af73a870dc7b3f7d5f38cfca0fc3c3b65ad","impliedFormat":99},{"version":"b3531a70c555139ccbeca949f84282d65b6a5755d863ac3503e35a82502b09ca","impliedFormat":99},{"version":"6d199ba5d5156351ccfeecaa9a5ae01af5b7784cd81f222e7a0c11e4721b354e","impliedFormat":99},{"version":"f3a8d7c9272a3a82c85f2341f5e2ca3c3d18f060150226f787870c8ec3e2a827","impliedFormat":99},{"version":"1b0df60f3b58b2f4d4478820ac476f7e78274a52292d9d42373a0a96dcd3069f","impliedFormat":99},{"version":"6aa2c64d92e9090f78179c0bed1602e9f860b91275d459e67e318c9e79464657","impliedFormat":99},{"version":"9f315cecb5e5da51300379da15a3f78aec7453cb4d004fef057d8ef6e5d7dcbc","impliedFormat":99},{"version":"d06e733c0ebb22e1e3af02a32c34e625947b88513d3bbfb8b13bbfe94e12fe4b","impliedFormat":99},{"version":"cd1b749ad64dadd2a14d785d1af90a7c05304cad2fb6a77a90c78e1f88b0c436","impliedFormat":99},{"version":"a9d41a14643ed25da84e060e39d81a8170e5cf407909528b34ce32e9c3e5522b","impliedFormat":99},{"version":"79f75d25b82ef484fff58c701d4d15aba4d13976cf7c981cdb4cebbaaa0e8105","impliedFormat":99},{"version":"ce33c917b77d69a60d4844a965a3db13ee6c2ac0bcc2bf8429e28586cd57d0f5","impliedFormat":99},{"version":"a785ac9f11b50e976663ee951f7a7acc3320a36532524a9d46a0fe542720e34f","impliedFormat":99},{"version":"5ba8578db919e6b54168305899203c13fd5a86e8f8e76b08fb42eaf9c6879f5e","impliedFormat":99},{"version":"67f397f227fbf8576e325c6b3c5d39d9fda989ba0b09b58705f33427af457e81","impliedFormat":99},{"version":"c8a1f0f8c1480aa0a5245a43c3c2b380d17da6eae045ffb92a2daf5e764d7b3a","impliedFormat":99},{"version":"ba555564cda57456f002787864df83ac0d35d8e74b4e89d3d73e688cd4464f87","impliedFormat":99},{"version":"3d6c80e747f1c522a6cf6df4c7e86d1e07b01fd9e1c160ed4170ad63d132ca7d","impliedFormat":99},{"version":"728dcbde517e31c9b8bc622ecb1ef5a275568d69e6bcab2f34de961d8f681e1c","impliedFormat":99},{"version":"119014bf306302bd117b1bbe9f809313816d36020a59d07f2c6c37790665757c","impliedFormat":99},{"version":"829608c14e83f9ad43e6e260119617029d6d425b7ae6a21132c6e3ee2ca850e3","impliedFormat":99},{"version":"0e3823c30ce7d5ee4e0cf6fb915ba8233054bf3988d55359dbf984fea5c2568a","impliedFormat":99},{"version":"ad40ae7beeef7d76a610b2669d798235c7a8e5a5ea0de65de8ab7433641c206a","impliedFormat":99},{"version":"9a870477f7e4a5c19dd446e1cd6c337bc6109089175e0557d7bb320f2894a9fc","impliedFormat":99},{"version":"949dc79359a4014c163c82d16f9a33130ff948a4fd5dc9ee1276ebf4e9dddc29","impliedFormat":99},{"version":"64d5f2f2523adbb097b6c20d346158bb48307ef9c9f7f65f423aa0af58beb9db","impliedFormat":99},{"version":"d35ca62340b51165dd1a9d27f4615790d38961f6e0728e3fe688643ee25a9750","impliedFormat":99},{"version":"af650943a57e3e1a0cf2d73e4fb2fc4f9e0b5f3414242d849f13713d7bfc86a7","impliedFormat":99},{"version":"05070c9cce1bf6c0a6ad2f9cab6562d6f0717ef3be5e85bf607a88292866dfe8","impliedFormat":99},{"version":"423872925077214074ac64562f539ea6a95e2aec64aa1dfc21ce7e18a49fb2a1","impliedFormat":99},{"version":"d5170c8d36bae7f5e54716612fcffe654b406e3222810073aeda14c20bede12a","impliedFormat":99},{"version":"0716f1b01085ea795a96bc1d9159baf2b98025c2f1ebd9b40b49434dc70b89d9","impliedFormat":99},{"version":"c5286a8f76ab94568608c5e3c588024ed63047e61ddd8037c373dc68af120392","impliedFormat":99},{"version":"1c0807be4d4ecefddbf9b719139c13368ec4a5ed95c7324aa4d591e3cc550840","impliedFormat":99},{"version":"7f9e6651383f0563cc730c42973bee069dd48cc96d99940218379e516d900a9d","impliedFormat":99},{"version":"e6370030948c325544eb00e8ec025ca8b5c29c667630d99b9c568fe01f665078","impliedFormat":99},{"version":"e5dda9fb9dab003e975fa2b3f8afb3f3e21914f48df73b4c21c4e7d3aa59c550","impliedFormat":99},{"version":"bc06e0598f8dedbb70b897f45d387f33fff56c0e93c95531df7836b81929db6f","impliedFormat":99},{"version":"5ddafee7e18fef65f2fcc9e6c143e8cfce64fe639fcd43512fd48103cb7d0880","impliedFormat":99},{"version":"e58f814f0cdddf98a39a886af78aef76af93a9407d314bfa35c825f3c9b9ed81","impliedFormat":99},{"version":"06c9b6087d78baf71927b1d8da838c6bc1577398e02d615d10a6d454c590b1e3","impliedFormat":99},{"version":"1159f7a7770f4f3e21c7c1cf5dd679c44ddf4f6d5700290b728af9a8678bfb20","impliedFormat":99},{"version":"0d4359e3863dee0d03ee806a2027c3ca80d2df49fadfb4883a83d253dbf7b7ce","impliedFormat":99},{"version":"fb1d640181613305988efc7fe3370d34c046d39e03fc047c3551c94e9d08e0a3","impliedFormat":99},{"version":"1440fc398d5289c15ecf7c39580a968ade6e4c050bf519fa9555b34591bb4af1","impliedFormat":99},{"version":"6869337d36e58a184d046aae831f640dbd65e37f089a8cadb284e9d71e294df8","impliedFormat":99},{"version":"c2df7d7040a47954a9e3f7cad68adadfaf415a3a2462c7c623589323d0b7adf3","impliedFormat":99},{"version":"50e01013f474ae073d2c59624749bb26fbeb8a44ecb76695606126d16ed64553","impliedFormat":99},{"version":"b04b90388c60ef1674fd77e3a66d9432873980e7ee87745332b9c10457fe7289","impliedFormat":99},{"version":"3e768d76d6b43e265d2e074179bb5770774155d157ce68a5a02c907282750cfc","impliedFormat":99},{"version":"6ba33903b042f585b4cf3192ee22af279326e64ad157101e1bcede7a70b15adf","impliedFormat":99},{"version":"c6467ed6ced9fc889c3b71f940c8f88bce1e7bd95368ebc57ef9466a358e6674","impliedFormat":99},{"version":"9b7cded7d20ce665ee2bfdd5633da6bef8a499db922d3b6b4460c964cd1be562","impliedFormat":99},{"version":"4acbab96d77eba31dcf5449218d922801031d7de833663ff9d8e9b61369a0aef","impliedFormat":99},{"version":"40fb77b3d3b3e2a7efd19d2d22627026bfb62cec7717ba5e557b521ae2637dc4","impliedFormat":99},{"version":"55b13c1dd972dfeda70fcee2b2537a785ed03fc5c361b11608a2712b90b959cd","impliedFormat":99},{"version":"adb20bc681c4d0c3374d8b78791f8ead0ca0fe15983a551b40fc4936648bb578","impliedFormat":99},{"version":"bff8dc562f4ff354814df681853116fcfa12c295e4303603a6fc679f6d971750","impliedFormat":99},{"version":"e544a1c40a5f673a3a7e52de4f49681bbf529d9e1153aa7751f0e588c07d7efa","impliedFormat":99},{"version":"6f239b41df9c2ea6444023435f07d2369bb76d88f5028982e8f88d9dbcb604e4","impliedFormat":99},{"version":"39c752cffb1a85d727d4c6e5b0c25282ae3a4fdfe5d8227c38b50044cd4ed743","impliedFormat":99},{"version":"8ca5d1bbdf57ef5bc32f37a9726ee951c2864ad336a34ff318d0cac7e7f651de","impliedFormat":99},{"version":"37f59378ffb6b2d6971586a55cc10411bdba7206f7193b52d42197e32f2446f7","impliedFormat":99},{"version":"fbedf387f1d5b9ad293214ad01a3d89bfc6df3217af27a27e510c73a037312a5","impliedFormat":99},{"version":"996950adc8136a34770e8565dfb7ccedbe188234fdf2db46cc79fa6cdbd66a7a","impliedFormat":99},{"version":"160f9097426561fdaed62ce71a37fccf99be456011eef35d01253741932c9661","impliedFormat":99},{"version":"3ad36afdc1975a50309d2e55b5c2bba46aadba993537bc75b65f085bfef3c996","impliedFormat":99},{"version":"801a096aef05881eb498616cb15ba6cb3da874865207a088dd963a46023cc89c","impliedFormat":99},{"version":"e0a8a476d2d73c121ef763186d4a36991a45471dcbe98732748643d39c17f09c","impliedFormat":99},{"version":"3d5e6241b997c057749fa806facb8887891fb06e67eab4c113bd36ca17bf77fb","impliedFormat":99},{"version":"0122b4d85b9be2b0b55f414090edb2e7e5b58cd4e022ce23989d6e119506faea","impliedFormat":99},{"version":"feeaf290ca736cd2be9dbbc6fc46771ce201529e95ce882c92a796368bcc73e3","impliedFormat":99},{"version":"95aaaf4d6f9d3a1b8966728a20c48164bfa7a8d9230f207f2a43ac11fc594e10","impliedFormat":99},{"version":"991351e5fbf046ade49c4235865af04ed3bf79bb1344864d64dc6fa1e090514c","impliedFormat":99},{"version":"0d3a3d5097a6a21e8574900bf1a1bc5df40988586dcf9dcb653fa700503d4962","impliedFormat":99},{"version":"4eeb635e14e95d82264e58ba48a44eb73f3e38c23b3ce826a1ab87fb215fe7a2","impliedFormat":99},{"version":"cd2995a95d0c9ff13ee7a97c9128e2684ead9b89ebcd991ee8e889aca948e207","impliedFormat":99},{"version":"afec6accba8ddf0aa8b91e1883aa2ea801a2f3f6404f7aacf34dc7ed6fb8cec7","impliedFormat":99},{"version":"02823ab4704c645aa0a594d520426cd9b1a776a242005bb04d35389dd35ab1f2","impliedFormat":99},{"version":"80b9cfc778a768d883d329669a325bfeefe1a6c866e05c75a64689960ac5f2aa","impliedFormat":99},{"version":"2a83200ba02822ce3ac4d68c2cab29273150505ed567532a133a20bbc7e68ec6","impliedFormat":99},{"version":"2b113dd63b57d48fc6f9a748e22cd6cdd2b18bee091a8286b36f32085138ee15","impliedFormat":99},{"version":"d684dd5b0a093bb586b8477b6ceda5f62f793982041fd1b2a222fef52a1c3b2d","impliedFormat":99},{"version":"30062e3628fef7c84a3c193d1bfe21a5498f9b53f3d6593323c5d41bf8576ef4","impliedFormat":99},{"version":"19b0eca295f5dfbc38857244c9e875b9410926ec00ec96e4700c7957c92533ca","impliedFormat":99},{"version":"03af5ad674ec20be8583ada8fc6833b445b88bf9244481e7a2ee283213070c68","impliedFormat":99},{"version":"c0c1c1bfcf65b773f5609169abe698305d281b5f926e4c63a188a87e670de425","impliedFormat":99},{"version":"40e0080e7412be9160e51065e73fa02fd59fe914da2fb12139814d9f34044464","impliedFormat":99},{"version":"e21f5e986a1d531131c64b94b0304e67e076d31107e80f604b3d466fcfef6d46","impliedFormat":99},{"version":"2c521da211b5b8384fca5996cb362bfcc62411ca2f22bf40221a8de7e033d303","impliedFormat":99},{"version":"c3315aa3888b4ab9804c8ef9b07caab5e5c0cf412a909faa70200e9d5aeb7c9c","impliedFormat":99},{"version":"ba760ff1ddcdd93c88cad217bc17e8b4e922f5e697bcaae0846a0028d31ba599","impliedFormat":99},{"version":"f1083bc7c0d73c8fcbe183c7131e7cc54543aad18f42654a3a3e1be48fc39465","impliedFormat":99},{"version":"7a34416b8856d7fa9fc0cad61de9a5dfeb140544309ce74778cfa1110e07b72a","impliedFormat":99},{"version":"a80e8bc4c77d345bf132ed1a7beb2d716d01999f1d7c5be29a71a1c002e175ce","impliedFormat":99},{"version":"ca0cbc4dfaf6a85cc4174a1ed7211aa17125a9d87dbde4d387fcd3db16d31223","impliedFormat":99},{"version":"12cb647b2b5019e5ab0c96023af34eb1e80eac58938577909c2bc20403da5890","impliedFormat":99},{"version":"0d56443cf4645c9fec714e14f6c99e246f27926169e0bd10069bc7cab1d74043","impliedFormat":99},{"version":"a3d1d3d9f234c7bfc31440649d48b523a80848945c3d8a2e0e5c58155e5a35cd","impliedFormat":99},{"version":"00b2af81f381c78a7c7a94ccd1ec6678fa9102554f0bbe4a48008818710afd98","impliedFormat":99},{"version":"a5f44d1ab98b8f29f90492c057eafffc14521a7cc0cdb8e036ef0541f2d923cc","impliedFormat":99},{"version":"858625b1fd6da32ef93167a7bb30e9ebfdb1b12c2c771f6e276e21fcbf6d28d6","impliedFormat":99},{"version":"1dca71c43b1f127c85a832c91ebd93f568f848f71ebbad49c69c97b28f102478","impliedFormat":99},{"version":"4140f62e4f8c9719ce15b3c73b2b5a36ca27e14fdec8d1b94c711abf190ddd38","impliedFormat":99},{"version":"28ced0cf69dd632d98961761b4250d6c0253e861fb217d019cf2ea634b882699","impliedFormat":99},{"version":"5ff96b7fc47bd4eccea926d559d6a76ad8871f752447f3fa698427c756c832d7","impliedFormat":99},{"version":"62ed2978ed2f3611e60bc80fdfedf5d0b6cb26b46835758d73b56956b0b7d936","impliedFormat":99},{"version":"0b7887c86bf0fe8f44d0f9082ae70ca0307d1013b958d884d54ae95698a8344a","impliedFormat":99},{"version":"31779f2eec7eb6657587a9943837d504e5d1747db5b06349ba51b05257588aa0","impliedFormat":99},{"version":"a42c680a17c557688a90c4c547f5f425b78e33cdebbc7ee4fd0135b0fdb26dae","impliedFormat":99},{"version":"e1d916f45a9c540c3ec595a41b55fc80049df132e63f75367c0290fc7238a89e","impliedFormat":99},{"version":"53608e6e0d36b8fd5a9e3b5afbce1f67c2933410317beb2b9973b77c1f13a0cb","impliedFormat":99},{"version":"49611c9c0dea1fad478353d0a5c394cd5c66b60d760d12e0d99063a2ec8cda5f","impliedFormat":99},{"version":"6b207c678bf857a3253cf4c82c1da768b6d7fd5e6a0ac3c8e27f83f65bb6f24b","impliedFormat":99},{"version":"2140fde2b2b1861f77c0e308232a2f73dd78e7cc784207c618de3b6c46da190a","impliedFormat":99},{"version":"68cf4649d2c34c7f3485ea72b95f8c1f4383f265dad143c16fbe608037358f53","impliedFormat":99},{"version":"20a981ef7b7bdabd1920d67b32b5d53675bc11bae590c3fdfd4746ed1e6fa7a0","impliedFormat":99},{"version":"9b6ac1aaf1599be6c19f32a3e87bcec56d5f2fce6d41fe39ba5fe175d1549c4e","impliedFormat":99},{"version":"cfa9f8ffa183bf6bc84394787fa1c54bc060441643b5f0c4ece5645632a11976","impliedFormat":99},{"version":"59d6dd3cf7364974669a5942dbb548e691b1f8414c12940b5ba27339dee4a91e","impliedFormat":99},{"version":"3c4b2980f4880b3de393ecfd0ff078c00a0d7ed2f751a2c68bc5394ec9917878","impliedFormat":99},{"version":"49e1b05f3946a3a49dcbc81900e6192f84cf3d870223fc04133924079ab26e75","impliedFormat":99},{"version":"433ba82be5f2662d62fe8365a537644adb43b7f281d810c99eb1c09e4e209f88","impliedFormat":99},{"version":"0c181e791efb543d0560d9b2870515d821e3dfa0e2a8dda640f1535b2764ba6e","impliedFormat":99},{"version":"eb82d2e6a9a1159f416a32750c5aa269904727d1a384bd56fb61ae9e1542c151","impliedFormat":99},{"version":"30dd04b36fcdfcf9f4cc5fcde78bf86941275b1641481b1643419a46934b6bc7","impliedFormat":99},{"version":"684631ad2087983d1fa9cfe781debe5b59efa87291c1df2ca0033bc26f3f9282","impliedFormat":99},{"version":"5d4e07aa8912747754c81949a7fae410393a0b511b607da5c8859b59134dbed0","impliedFormat":99},{"version":"ca358f352179f2ef403c343bfe76b167d7735162a6084cbce3213417a9ccd158","impliedFormat":99},{"version":"a43368b9ec2b3b71677d47a05c7d3296ca632f6c05b3be9aa9b18b18df6666ae","impliedFormat":99},{"version":"e7542a62f622e137e574f6c2811e4eec547bef5ef17868f1740c17b001d10a8d","impliedFormat":99},{"version":"c8e4c5adf99601307a86a7ffd1ea4899bbcf44bd4fee17100a9dcd3232047cc1","impliedFormat":99},{"version":"7b2510df81a30a99a97f2b439b4ffb382d0f3d465fd46665e29e899d6fc30617","impliedFormat":99},{"version":"5b0488f48695d38c3f1fc7a95f1e5a5ec32d09d2c10b167d20ee4c1307630ed7","impliedFormat":99},{"version":"80222964f435aa1b28c4714ea86d3499d776fc47dbdbb4d161ce34d1d9c33ca4","impliedFormat":99},{"version":"418471fc8ccdb989edeebd30ece9a45480d9144255050a301f48d95231ca43bb","impliedFormat":99},{"version":"bca3eb2e7d0e4a24daba895e9ead08317a90a8326b07b63d2775b09cc61b2f6d","impliedFormat":99},{"version":"05e6fbfa9545e669d5e67e3188d03f7fd50c41b84e13da570330a2b016e0b45f","impliedFormat":99},{"version":"e7deee5e735375a7dc03b23fa8e2dd0e707bada9f9e4d7d96da60a688d7fcc3f","impliedFormat":99},{"version":"3b944a181090e86de3b44670de8061d6def4315e3f0e68a448469c2ab867b552","impliedFormat":99},"e28f03117532a7bc69497ac32c64935fac28812837584f8d3a85644a16682f69","50e63ff2717d276978d96063656a3058152ac5d02a9bf4de8b6612643710173a","ad92e210c81ee442085cc19f44797ffc75e9e85a85fce52f7bd9b49bc58bab80","5cbbc192960d423ee248e4637a303bba7bc6c5897f8f9f9cb2bdec71418a86ed","23f00d0dca781c834d9caefc1adc3ffec87ffeaa0fe38eed561dbfeac4dc8a74","d41afd70d9226837d5d590974c6579062c49e52fb170d090fc16464cf611b676","1a305f4e0816e0aeacbdf7f0c2ba7ad8dc3e60916c0ed28946fdad753aa972f6","b6140674666c938eabf5c876881a3b3c08b7f105c3b546d9a34c96da3767579e","721067d1f1c737fb93b5887974c61834ca0f717198f7ee2c1dbd42f5d85bb540","f8af2561128b42e9d0f663efb790a108d323fd185f88cff693856c7f2e70459d","9a732d797058ad11e186a8a4ff61f4fc373c5aea4137119a16ee75eea1738aa7","c1b4f1b82b22734fe6a7e4d1105b35b700a3051bf4fc3dede769efffd9aba1cc","fbd7490c61287e5dd21a191889565090b2a74a08756c1a96a5be582a96f2f620","3c10d2e9ee2f120fbaf70433993f05a6b7bd6ac8c8eabfc80ab4e841daa5589a","8a4bebc3063c95473bdb6f4fc6a961451db599e7b8eb2d185cd36c58cc0a4d63","e7d9429fa198056b070f735514cdcb61de388fe8311b46ed313da75934a398c9","37e1d6f652d1434849e77867b11b4bcc93363a435715d6e01c409cb980a9cd32","08e921a75ffb64bf6359eb471543046fc540a45175bc10d9bfc10f07a094d8c4","d163ba27d0c6865a45489dca2d13578f14cc3861ccdb76abc8919f26abc7f590","12aa9c803cd79a739aa663156f39131869a41388bf253e3b51f0f61f98a07663","2a4e52bdcafdb515765d9dbb6982654970e4a1d381e76f520b7f33f74278a7dd","fd4664d3ba891c02fc4c5b95d7de2b7d399e1b80e9a413d244e13ed124ec3eb4","962e06e08fba0d408fe6fe07b31ec638c3c4d5050462a8f735466e1383a40edb","bf23f8d76d60ea190fb57a69c680028ab33410610b4c3de78d2205ac9124b1fa","460f751dc7749720b2551449cf0aa9664ee3b8cdb95505dbe5d2ec3aed8a4989","f6e2bb9b8f99b9c464239e72479a3ccf213306c8db269573e9b57cd7d1d5ae50","bd283455bb1836729cbb987f5cec241041de4854e4ed2d4155d64e81854ff201","4fcba3823aea7a18b160041af629cff46341a0ff790b691b831939eb7f954a47","614051bf05d3b41673e2e865ed30c4eea50a171253fe7b7d3fd0b93a84bcafc4","5f3cda1fd5dae864899c33f4cd18955e0bd43107572789ab990e41fdaad333f7","be8c4dff12f713c857ff7211e205ba6cf5a4212829268e5d3937c5eec30fe03e","911b6da100b2ee84b9fc1dbdc34771a0701e4c8e0fa694bb510c33359b6026e2","157efbab6372e89ffb534b16a298e716175add5dfc8159fb9608877eb2a18059","7f8acc73668636513659747f853332a4b7fefa40d5ccf5d20f7696a69598e399","0ea4b7de810d4759cc256c64d94cbeb12e97a26582f8cea8981827a20be67125","97b5d2fdec7c85f9a8bbff85350c12635a94ef3dfa265679ab0806ecadb85dd4","2aeae9a85d9f2bd098e207b97f94105370c2986206f9992fe593430d5e6e2ff2","00ee72c8e766b351df16e157c6dbd7b82f5fd659b64a4ae71bada2af2c9a2196","d9926272f3d88d7b5461ae47c9da311d353ceacbb176e976aea11a22d3c8c5cb","94ea9bfd0e479d53e6dbe56667671a509c9368dca504b26bef69d726abba8a2b","89b9bdcbcfb6dadcff24eab8a1a3ec3ae0eb2d548a37f4091aa8aab0ac405627","3dfc11fb9036c0deffd34eca4bf80cb7c86b8f6e47f4d7c93b6970593367adfb","ee4e8505266b5bb2be82d994812b327c7eff0330648f8b7be90fa4de1e73ca48","00e2d807fa89745a9a07a23ae586664725a4883a372bfec8a99db075e4e3a2e4","ae56fb90af23a6c7c0b7789b531a39065e1e0b963c6d420337e4db08605e1fe5","8613b26881a0a26fb34dc3648c6f32aa77696e8b65688d1de6dad2cee5034831","fa2db834e2587a561f5801fad014dcdd086fa57ec877a5c50eb1b4a4bedf633b","cba8f67be65fb4df3dbe95b986dee315d01470e1fe2c3939cd837b1783391735","6656dccace415e2c2c6efa3030480206e1b613bf9778143327745d9b448bed47","166a173f09113441ad608576f8aa5d48df9f105e2c8a7feca0a3dcf27fd89df0","3d520b49d6e02fb425ac7b71d5362a3386213b63a579efddc24c4db9ec078e9f",{"version":"cc68ad5ef9d7c22d432d0d378ffd4c8ac6f056f90eb8f5c688e449d8fa575ecf","signature":"581a5fd48dfd777329c87cc73ed800da02d9dffbae3fd42e1423e3d8eaff1ee4"},"e67fcc7afa9c5ee79d9244af7b9d3ad17eaa44ccfcca70d94bb23e47397d5ab9",{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"0dc6940ff35d845686a118ee7384713a84024d60ef26f25a2f87992ec7ddbd64","impliedFormat":1},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true,"impliedFormat":1},{"version":"0133ebdd17a823ae56861948870cde4dac18dd8818ab641039c85bbb720429e0","impliedFormat":1},{"version":"0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","impliedFormat":1},{"version":"7d7c8ef7d48a035142c07dae60545ecc0e4af4c337742760cb09726f2f8e31db","impliedFormat":1},{"version":"e300bf65972ac08167a72787e19d1b43c285c5424707194d0ba64422f6b02c77","impliedFormat":1},{"version":"e050a0afcdbb269720a900c85076d18e0c1ab73e580202a2bf6964978181222a","impliedFormat":1},{"version":"ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","impliedFormat":1},{"version":"5b89c37ff5dfea00195f8ea5e6fc8e086be68613297fc8152c08900a1d1fdb83","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"ca72190df0eb9b09d4b600821c8c7b6c9747b75a1c700c4d57dc0bb72abc074c","affectsGlobalScope":true,"impliedFormat":1},{"version":"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9","impliedFormat":1},{"version":"bb65c6267c5d6676be61acbf6604cf0a4555ac4b505df58ac15c831fcbff4e3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","impliedFormat":1},{"version":"5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713","impliedFormat":1},{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"afcc1c426b76db7ec80e563d4fb0ba9e6bcc6e63c2d7e9342e649dc56d26347f","impliedFormat":1},{"version":"bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","impliedFormat":1},{"version":"75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","impliedFormat":1},{"version":"f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","impliedFormat":1},{"version":"14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","impliedFormat":1},{"version":"5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea","impliedFormat":1},{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true,"impliedFormat":1},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true,"impliedFormat":1},{"version":"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","impliedFormat":1},{"version":"d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","impliedFormat":1},{"version":"b01a80007e448d035a16c74b5c95a5405b2e81b12fabcf18b75aa9eb9ef28990","impliedFormat":1},{"version":"04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","impliedFormat":1},{"version":"dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","impliedFormat":1},{"version":"2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58","impliedFormat":1},{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true,"impliedFormat":1},{"version":"d076fede3cb042e7b13fc29442aaa03a57806bc51e2b26a67a01fbc66a7c0c12","impliedFormat":1},{"version":"7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","impliedFormat":1},{"version":"b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30","impliedFormat":1},{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true,"impliedFormat":1},{"version":"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","impliedFormat":1},{"version":"210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","impliedFormat":1},{"version":"36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","impliedFormat":1},{"version":"0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","impliedFormat":1},{"version":"25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","impliedFormat":1},{"version":"fd93cee2621ff42dabe57b7be402783fd1aa69ece755bcba1e0290547ae60513","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","impliedFormat":1},{"version":"213fc4f2b172d8beb74b77d7c1b41488d67348066d185e4263470cbb010cd6e8","impliedFormat":1},{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","impliedFormat":1},{"version":"4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","impliedFormat":1},{"version":"3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","impliedFormat":1},{"version":"5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2","impliedFormat":1},{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true,"impliedFormat":1},{"version":"f7db71191aa7aac5d6bc927ed6e7075c2763d22c7238227ec0c63c8cf5cb6a8b","affectsGlobalScope":true,"impliedFormat":1},{"version":"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","impliedFormat":1},{"version":"ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","impliedFormat":1},{"version":"e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","impliedFormat":1},{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e9a8d4274033cb520ee12d6f68d161ba2b9128b87399645d3916b71187032836","impliedFormat":1},{"version":"a589f9f052276a3fc00b75e62f73b93ea568fce3e935b86ed7052945f99d9dc2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"87ed0f84f0691d5c724b23159db96342e6b04ac69201b02c65936f4281ce1fbe","impliedFormat":1},{"version":"13868c5792808236b17dfe2803eafce911ea4d09d3b2fda95391891a494f988f","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"15c5979d8cc43363f437585c4c1dadfaf22d3fcdb2b839bdda439c91bdabc7d5","impliedFormat":1},{"version":"68a38d05ea3fcae34253ced795ef04704438820b2b2e402acedd0d7c55deda7e","impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"925f309253c105d47584dc6cef32f1e9927fb942b10652dfc2f4dad7ae639388","impliedFormat":1},{"version":"dbe69644ab6e699ad2ef740056c637c34f3348af61d3764ff555d623703525db","impliedFormat":1},{"version":"f7163a5d37d21f636f6a5cd1c064ce95fada21917859a64b6cc49a8b6fd5c1a8","impliedFormat":1}],"root":[268,269],"options":{"allowJs":false,"allowSyntheticDefaultImports":true,"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":false,"downlevelIteration":true,"esModuleInterop":true,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./module","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useDefineForClassFields":false},"referencedMap":[[216,1],[67,2],[63,1],[64,3],[65,3],[66,1],[75,4],[68,3],[69,3],[70,3],[71,5],[72,3],[73,3],[74,3],[77,6],[78,3],[79,1],[80,6],[76,1],[81,6],[87,7],[83,1],[82,1],[84,1],[85,8],[88,1],[111,9],[103,10],[101,11],[104,1],[105,12],[106,1],[102,3],[107,1],[108,1],[109,1],[110,1],[113,13],[112,3],[86,3],[89,3],[90,3],[91,3],[92,3],[100,14],[93,3],[94,3],[95,1],[96,3],[97,3],[98,3],[99,3],[126,15],[114,1],[115,16],[128,17],[127,1],[116,3],[117,3],[118,3],[119,3],[120,3],[121,3],[122,3],[123,3],[124,3],[125,3],[129,1],[131,1],[130,1],[135,18],[132,1],[133,1],[134,19],[215,20],[139,21],[136,1],[138,22],[137,1],[140,1],[142,23],[141,1],[143,1],[144,24],[174,3],[175,3],[176,25],[177,26],[178,3],[179,1],[180,1],[181,27],[182,28],[184,29],[185,30],[186,31],[183,1],[187,27],[188,32],[189,3],[194,33],[196,34],[191,35],[200,1],[201,36],[190,1],[192,27],[193,37],[206,38],[198,3],[195,39],[197,40],[199,41],[202,42],[203,1],[204,43],[205,44],[207,3],[208,3],[209,1],[210,45],[155,1],[156,1],[157,1],[158,1],[173,46],[160,47],[161,1],[162,3],[163,1],[164,1],[165,1],[166,48],[167,3],[168,1],[169,1],[170,1],[159,1],[171,1],[172,1],[211,49],[153,3],[146,3],[145,3],[147,50],[148,3],[149,1],[152,27],[154,51],[150,1],[151,1],[212,52],[213,1],[214,53],[55,54],[62,55],[60,56],[61,57],[59,58],[56,56],[52,3],[57,3],[58,3],[53,3],[54,59],[272,60],[273,3],[270,3],[279,61],[274,3],[278,62],[275,63],[277,3],[280,3],[281,3],[276,3],[282,3],[283,64],[284,64],[286,65],[287,66],[288,67],[289,68],[290,69],[291,70],[292,71],[293,72],[294,73],[295,74],[296,74],[298,75],[297,76],[299,75],[300,77],[301,78],[285,79],[335,3],[302,80],[303,81],[304,82],[336,83],[305,84],[306,85],[307,86],[308,87],[309,88],[310,89],[311,90],[312,91],[313,92],[314,93],[315,93],[316,94],[317,95],[319,96],[318,97],[320,98],[321,99],[322,3],[323,100],[324,101],[325,102],[326,103],[327,104],[328,105],[329,106],[330,107],[331,108],[332,109],[333,110],[334,111],[343,3],[342,112],[337,3],[345,113],[346,114],[347,115],[271,3],[344,3],[341,116],[338,117],[340,118],[339,117],[45,3],[46,3],[8,3],[10,3],[9,3],[2,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[18,3],[3,3],[19,3],[4,3],[20,3],[24,3],[21,3],[22,3],[23,3],[25,3],[26,3],[27,3],[5,3],[28,3],[29,3],[30,3],[31,3],[6,3],[35,3],[32,3],[33,3],[34,3],[36,3],[7,3],[37,3],[42,3],[43,3],[38,3],[39,3],[40,3],[41,3],[1,3],[44,3],[268,119],[269,120],[238,121],[223,3],[230,122],[242,3],[266,3],[48,123],[49,124],[47,3],[220,125],[264,126],[234,127],[267,128],[217,125],[265,125],[236,129],[228,3],[229,130],[51,131],[50,3],[226,132],[224,133],[222,134],[241,127],[225,135],[227,136],[218,127],[255,3],[243,3],[244,137],[245,3],[262,127],[246,3],[247,3],[250,122],[248,3],[249,125],[251,125],[252,3],[253,3],[259,3],[254,3],[261,127],[263,138],[258,3],[256,3],[257,139],[260,127],[233,140],[239,141],[232,142],[235,143],[237,144],[240,145],[219,3],[221,146],[231,122]],"latestChangedDtsFile":"./module/index.d.ts","version":"5.6.2"}
@@ -1,100 +0,0 @@
1
- import { HDWallet } from "mainnet-js";
2
- import { default as IndexedDBProvider } from "./IndexedDBProvider";
3
- import {
4
- BaseWallet,
5
- RegTestWallet,
6
- TestNetWallet,
7
- Wallet,
8
- initProviders,
9
- disconnectProviders,
10
- } from "mainnet-js";
11
-
12
- beforeAll(async () => {
13
- await initProviders();
14
- });
15
- afterAll(async () => {
16
- await disconnectProviders();
17
- });
18
-
19
- test("Store and retrieve a Regtest wallet", async () => {
20
- let db = new IndexedDBProvider("regtest-db");
21
- await db.init();
22
- let w1 = await RegTestWallet.newRandom();
23
- w1.name = "dave";
24
- await db.addWallet(w1.name, w1.toString());
25
- let w2 = await db.getWallet("dave");
26
- expect(w1.name).toBe(w2!.name);
27
- expect(w1.toString()).toBe(w2!.wallet);
28
- db.close();
29
- });
30
-
31
- test("Store and replace a Regtest wallet", async () => {
32
- const dbPrefix = `regtest2 ${Math.random()}`;
33
- let db = new IndexedDBProvider(dbPrefix);
34
- await db.init();
35
-
36
- expect(await db.walletExists("storereplace")).toBe(false);
37
- let w1 = await db.addWallet("storereplace", "keep seed");
38
- let w2 = await db.getWallet("storereplace");
39
- expect("keep seed").toBe(w2!.wallet);
40
- expect(await db.walletExists("storereplace")).toBe(true);
41
-
42
- let seedId = (
43
- await RegTestWallet.fromSeed(
44
- "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about"
45
- )
46
- ).toDbString();
47
- let w3 = await db.updateWallet("storereplace", seedId);
48
- let w4 = await db.getWallet("storereplace");
49
- expect(w4!.wallet).not.toBe("keep seed");
50
- expect(w4!.wallet).toBe(seedId);
51
-
52
- let w5 = await db.updateWallet("storereplace_nonexistent", seedId);
53
- let w6 = await db.getWallet("storereplace_nonexistent")!;
54
- expect(w6).toBe(undefined);
55
-
56
- db.close();
57
- });
58
-
59
- test("Store and retrieve a Testnet wallet", async () => {
60
- let db = new IndexedDBProvider("testnet-db");
61
- await db.init();
62
- // passing a name to newRandom should save the wallet,
63
- // but we want to save it manually in this case
64
- let w1 = await TestNetWallet.newRandom();
65
- w1.name = "dave";
66
- await db.addWallet(w1.name, w1.toString());
67
- let w2 = await db.getWallet("dave");
68
- expect(w1.name).toBe(w2!.name);
69
- expect(w1.toString()).toBe(w2!.wallet);
70
- db.close();
71
- });
72
-
73
- test("Store and retrieve a Mainnet wallet", async () => {
74
- let db = new IndexedDBProvider("mainnet-db");
75
- await db.init();
76
-
77
- let w1 = await Wallet.newRandom();
78
- w1.name = "dave";
79
- await db.addWallet(w1.name, w1.toString());
80
- let w2 = await db.getWallet(w1.name);
81
- expect(w1.name).toBe(w2!.name);
82
- expect(w1.toString()).toBe(w2!.wallet);
83
- db.close();
84
- });
85
-
86
- test("Store and retrieve a Mainnet wallet", async () => {
87
- BaseWallet.StorageProvider = IndexedDBProvider;
88
-
89
- let w1 = await Wallet.named("testWallet");
90
- let w2 = await Wallet.named("testWallet");
91
- expect(w1.getDepositAddress()).toBe(w2.getDepositAddress());
92
- });
93
-
94
- test("Store and retrieve a Mainnet hd wallet", async () => {
95
- BaseWallet.StorageProvider = IndexedDBProvider;
96
-
97
- const w1 = await HDWallet.named("test");
98
- const w2 = await HDWallet.named("test");
99
- expect(w1.mnemonic).toBe(w2.mnemonic);
100
- });
@@ -1,111 +0,0 @@
1
- import { StorageProvider, WalletDbEntryI } from "mainnet-js";
2
-
3
- export default class IndexedDBProvider implements StorageProvider {
4
- private dbName: string;
5
- private storeName: string;
6
- private db: IDBDatabase | null = null;
7
-
8
- constructor(dbName = "wallet", storeName = "wallet") {
9
- this.dbName = dbName;
10
- this.storeName = storeName;
11
- }
12
-
13
- private async openDB(): Promise<IDBDatabase> {
14
- if (this.db) return this.db;
15
- return new Promise((resolve, reject) => {
16
- const request = indexedDB.open(this.dbName, 31);
17
- request.onupgradeneeded = (event) => {
18
- const db = request.result;
19
- if (!db.objectStoreNames.contains(this.storeName)) {
20
- db.createObjectStore(this.storeName, { keyPath: "name" });
21
- }
22
- };
23
- request.onsuccess = () => {
24
- this.db = request.result;
25
- resolve(this.db);
26
- };
27
- request.onerror = () => reject(request.error);
28
- });
29
- }
30
-
31
- public async init() {
32
- await this.openDB();
33
- return this;
34
- }
35
-
36
- public async close() {
37
- if (this.db) {
38
- this.db.close();
39
- this.db = null;
40
- }
41
- return this;
42
- }
43
-
44
- public getInfo() {
45
- return "indexedDB";
46
- }
47
-
48
- public async addWallet(name: string, walletId: string): Promise<boolean> {
49
- const db = await this.openDB();
50
- return new Promise<boolean>((resolve, reject) => {
51
- const tx = db.transaction(this.storeName, "readwrite");
52
- const store = tx.objectStore(this.storeName);
53
- const getReq = store.get(name);
54
- getReq.onsuccess = () => {
55
- if (getReq.result) {
56
- resolve(false);
57
- } else {
58
- const addReq = store.add({ name, wallet: walletId });
59
- addReq.onsuccess = () => resolve(true);
60
- addReq.onerror = () => reject(addReq.error);
61
- }
62
- };
63
- getReq.onerror = () => reject(getReq.error);
64
- });
65
- }
66
-
67
- public async getWallet(name: string): Promise<WalletDbEntryI | undefined> {
68
- const db = await this.openDB();
69
- return new Promise((resolve, reject) => {
70
- const tx = db.transaction(this.storeName, "readonly");
71
- const store = tx.objectStore(this.storeName);
72
- const req = store.get(name);
73
- req.onsuccess = () => resolve(req.result);
74
- req.onerror = () => reject(req.error);
75
- });
76
- }
77
-
78
- public async getWallets(): Promise<Array<WalletDbEntryI>> {
79
- const db = await this.openDB();
80
- return new Promise((resolve, reject) => {
81
- const tx = db.transaction(this.storeName, "readonly");
82
- const store = tx.objectStore(this.storeName);
83
- const req = store.getAll();
84
- req.onsuccess = () => resolve(req.result || []);
85
- req.onerror = () => reject(req.error);
86
- });
87
- }
88
-
89
- public async updateWallet(name: string, walletId: string): Promise<void> {
90
- const db = await this.openDB();
91
- return new Promise<void>((resolve, reject) => {
92
- const tx = db.transaction(this.storeName, "readwrite");
93
- const store = tx.objectStore(this.storeName);
94
- const getReq = store.get(name);
95
- getReq.onsuccess = () => {
96
- if (!getReq.result) {
97
- resolve();
98
- } else {
99
- const putReq = store.put({ name, wallet: walletId });
100
- putReq.onsuccess = () => resolve();
101
- putReq.onerror = () => reject(putReq.error);
102
- }
103
- };
104
- getReq.onerror = () => reject(getReq.error);
105
- });
106
- }
107
-
108
- public async walletExists(name: string): Promise<boolean> {
109
- return (await this.getWallet(name)) !== undefined;
110
- }
111
- }
@@ -1,274 +0,0 @@
1
- import {
2
- BaseWallet,
3
- TestNetWallet,
4
- Wallet,
5
- RegTestWallet,
6
- Config,
7
- Mainnet,
8
- createWallet,
9
- createWalletResponse,
10
- walletFromId,
11
- WalletTypeEnum,
12
- } from "mainnet-js";
13
- import { IndexedDBProvider } from "./index";
14
-
15
- describe("Wallet should function in the browser", () => {
16
- beforeAll(() => {
17
- BaseWallet.StorageProvider = IndexedDBProvider;
18
- });
19
-
20
- test("Should load module", async () => {
21
- expect(typeof TestNetWallet).toEqual("function");
22
- });
23
-
24
- test("Should create regtest wallet", async () => {
25
- const result = await createWalletResponse({
26
- name: "Alice's Regtest",
27
- type: WalletTypeEnum.Wif,
28
- network: "regtest",
29
- });
30
- expect(result.cashaddr!.slice(0, 8)).toBe("bchreg:q");
31
- });
32
-
33
- test("Should create testnet wallet", async () => {
34
- const result = await createWalletResponse({
35
- name: "Alice's TestNet",
36
- type: WalletTypeEnum.Wif,
37
- network: "testnet",
38
- });
39
- expect(result.cashaddr!.slice(0, 9)).toBe("bchtest:q");
40
- });
41
-
42
- test("Should throw Error on regtest wif to Testnet", async () => {
43
- expect.assertions(1);
44
- try {
45
- await TestNetWallet.fromId(`wif:regtest:${process.env.PRIVATE_WIF}`);
46
- } catch (e: any) {
47
- expect(e.message).toContain("Network prefix regtest to a testnet wallet");
48
- }
49
- });
50
-
51
- test("Should throw Error on regtest hd to regtest wif", async () => {
52
- expect.assertions(1);
53
- try {
54
- await TestNetWallet.fromId(`hd:testnet:${process.env.PRIVATE_WIF}`);
55
- } catch (e: any) {
56
- expect(e.message).toContain("Unknown wallet type 'hd'");
57
- }
58
- });
59
-
60
- test("Should create a random testnet wallet", async () => {
61
- const w = await TestNetWallet.newRandom();
62
- const result = w.getDepositAddress();
63
- expect(result.slice(0, 9)).toBe("bchtest:q");
64
- });
65
-
66
- test("Should create mainnet wallet", async () => {
67
- const w = await Wallet.newRandom();
68
- const result = w.getDepositAddress();
69
- expect(result.slice(0, 13)).toBe("bitcoincash:q");
70
- });
71
-
72
- test("Should get an empty balance from a mainnet wallet", async () => {
73
- const w = await Wallet.newRandom();
74
- const result = await w.getBalance();
75
- expect(result).toBe(0n);
76
- });
77
-
78
- test("Should return deposit address from testnet wallet", async () => {
79
- const alice = await TestNetWallet.fromWIF(process.env.PRIVATE_WIF!);
80
- const result = alice.getDepositAddress();
81
- expect(result.slice(0, 9)).toBe("bchtest:q");
82
- });
83
-
84
- test("Should return watch testnet balance", async () => {
85
- if (process.env.ALICE_TESTNET_ADDRESS) {
86
- const alice = await TestNetWallet.watchOnly(
87
- process.env.ALICE_TESTNET_ADDRESS
88
- );
89
- const result = await alice.getBalance();
90
- expect(result).toBeGreaterThan(0n);
91
- }
92
- });
93
-
94
- test("Should return watch named balance", async () => {
95
- if (process.env.ALICE_TESTNET_ADDRESS) {
96
- const alice = await TestNetWallet.named("alice");
97
- const result = await alice.getBalance();
98
- expect(result).toBe(0n);
99
- }
100
- });
101
-
102
- test("Should retrieve a named wallet", async () => {
103
- const alice = await TestNetWallet.named("alice");
104
- const alice2 = await TestNetWallet.named("alice");
105
- expect(alice.cashaddr).toBe(alice2.cashaddr);
106
- });
107
-
108
- test("Should return testnet balance in usd", async () => {
109
- if (process.env.ALICE_TESTNET_ADDRESS) {
110
- const alice = await TestNetWallet.watchOnly(
111
- process.env.ALICE_TESTNET_ADDRESS
112
- );
113
- const result = await alice.getBalance();
114
- expect(result).toBeGreaterThan(0);
115
- }
116
- });
117
-
118
- test("Should convert bch to sat", async () => {
119
- const result = await Mainnet.convert(1, "bch", "sat");
120
- expect(result).toBe(100000000);
121
- });
122
-
123
- test("Should sign a message and verify it", async () => {
124
- const alice = await walletFromId(`wif:regtest:${process.env.PRIVATE_WIF}`);
125
- const result = await alice.sign("test");
126
- const verifyResult = await alice.verify("test", result.signature);
127
- expect(result.signature).toBe(
128
- "IOEEiqRXRVK9gPUNpXuBjJUK47Y8XpseZejgwu59CoNSVv+3K1NkHdT64RXHP7cw4PZ6usRQ4ULrP/p5CJnrg9U="
129
- );
130
- expect(verifyResult.valid).toBe(true);
131
- });
132
-
133
- test("Should send to Bob; sendMax all of Bob's funds back", async () => {
134
- const alice = await walletFromId(`wif:regtest:${process.env.PRIVATE_WIF}`);
135
- const bob = await createWallet({
136
- type: WalletTypeEnum.Wif,
137
- network: "regtest",
138
- name: "Bob's random wallet",
139
- });
140
- await alice.send([{ cashaddr: bob.cashaddr!, value: 3000n }]);
141
- const result = await bob.sendMax(alice.cashaddr!);
142
- expect(result.balance).toBe(0n);
143
- });
144
-
145
- test("Store and replace a Regtest wallet", async () => {
146
- const name = `storereplace ${Math.random()}`;
147
-
148
- const check1 = await RegTestWallet.namedExists(name);
149
- const w1 = await RegTestWallet.named(name);
150
- const check2 = await RegTestWallet.namedExists(name);
151
-
152
- const seedId = (
153
- await RegTestWallet.fromSeed(
154
- "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about"
155
- )
156
- ).toDbString();
157
- const w3 = await RegTestWallet.replaceNamed(name, seedId);
158
- const w4 = await RegTestWallet.named(name);
159
-
160
- const w5 = await RegTestWallet.replaceNamed(`${name}_nonexistent`, seedId);
161
- const w6 = await RegTestWallet.named(`${name}_nonexistent`);
162
-
163
- expect(check1).toBe(false);
164
- expect(check2).toBe(true);
165
- expect(w4.toDbString()).not.toBe(w1.toDbString());
166
- expect(w4.toDbString()).toBe(seedId);
167
- expect(w6.toDbString()).toBe(w5.toDbString());
168
- });
169
-
170
- test("Test waiting and watching", async () => {
171
- const alice = await RegTestWallet.fromId(process.env.ALICE_ID!);
172
- const bob = await RegTestWallet.newRandom();
173
-
174
- let waitTxResult = false;
175
- setTimeout(async () => {
176
- const result = await alice.waitForTransaction({
177
- getBalance: true,
178
- getTransactionInfo: true,
179
- });
180
- expect(result.balance).toBeGreaterThan(0n);
181
- expect(result.transactionInfo!.hash.length).toBe(64);
182
- waitTxResult = true;
183
- }, 0);
184
-
185
- let waitBalanceResult = false;
186
- setTimeout(async () => {
187
- const result = await alice.waitForBalance(100000n);
188
- expect(result).toBeGreaterThan(0n);
189
- waitBalanceResult = true;
190
- }, 0);
191
-
192
- let bobBalanceWatchResult = false;
193
- const bobBalanceWatchCancel = await bob.watchBalance(
194
- async (balance: bigint) => {
195
- if (!balance) return;
196
- expect(balance).toBeGreaterThanOrEqual(100000n);
197
- await bobBalanceWatchCancel();
198
- bobBalanceWatchResult = true;
199
- }
200
- );
201
-
202
- await alice.send({
203
- cashaddr: bob.getDepositAddress(),
204
- value: 100000n,
205
- });
206
-
207
- await new Promise((resolve) => setTimeout(resolve, 5000));
208
- expect(waitTxResult).toBe(true);
209
- expect(waitBalanceResult).toBe(true);
210
- expect(bobBalanceWatchResult).toBe(true);
211
- });
212
-
213
- test("Should use localStorage cache for transactions", async () => {
214
- const aliceWallet = await RegTestWallet.fromId(process.env.ALICE_ID!);
215
- const txDecoded = await aliceWallet.getLastTransaction();
216
- expect(txDecoded === null).toBe(false);
217
- const txHash = txDecoded!.hash;
218
- expect(
219
- localStorage.getItem(`tx-${aliceWallet.provider!.network}-${txHash}`)
220
- ).toBe(null);
221
- Config.UseLocalStorageCache = true;
222
- await aliceWallet.provider!.getRawTransaction(txHash);
223
- await aliceWallet.provider!.getRawTransaction(txHash, true);
224
-
225
- expect(
226
- localStorage.getItem(
227
- `txraw-${aliceWallet.provider!.network}-${txHash}`
228
- ) === null
229
- ).toBe(false);
230
- expect(
231
- typeof localStorage.getItem(
232
- `txraw-${aliceWallet.provider!.network}-${txHash}`
233
- ) === "string"
234
- ).toBe(true);
235
- expect(typeof (await aliceWallet.provider!.getRawTransaction(txHash))).toBe(
236
- "string"
237
- );
238
-
239
- expect(
240
- localStorage.getItem(`tx-${aliceWallet.provider!.network}-${txHash}`) ===
241
- null
242
- ).toBe(false);
243
- expect(
244
- typeof (await aliceWallet.provider!.getRawTransaction(txHash, true))
245
- ).toBe("object");
246
-
247
- Config.UseLocalStorageCache = false;
248
- });
249
-
250
- test("Should use localStorage cache for block headers", async () => {
251
- const aliceWallet = await Wallet.newRandom();
252
- const height = 854724;
253
- await aliceWallet.provider!.getHeader(854724);
254
- expect(
255
- localStorage.getItem(
256
- `header-${aliceWallet.provider!.network}-${height}-${false}`
257
- )
258
- ).toBe(null);
259
- Config.UseLocalStorageCache = true;
260
- await aliceWallet.provider!.getHeader(854724);
261
- await aliceWallet.provider!.getHeader(854724, true);
262
-
263
- expect(
264
- localStorage.getItem(
265
- `header-${aliceWallet.provider!.network}-${height}-${false}`
266
- ) === null
267
- ).toBe(false);
268
- expect(typeof (await aliceWallet.provider!.getHeader(854724))).toBe(
269
- "object"
270
- );
271
-
272
- Config.UseLocalStorageCache = false;
273
- });
274
- });
@@ -1,32 +0,0 @@
1
- import { BaseWallet, TestNetWallet, Wallet } from "mainnet-js";
2
- import { IndexedDBProvider } from "./index";
3
-
4
- describe("WalletDatabase should handle indexeddb", () => {
5
- beforeAll(() => {
6
- BaseWallet.StorageProvider = IndexedDBProvider;
7
- });
8
-
9
- test("Should store and recall a testnet wallet", async () => {
10
- let w1 = await TestNetWallet.newRandom("Testnet Wallet 1");
11
- let w1Again = await TestNetWallet.named("Testnet Wallet 1");
12
- expect(w1.name).toBe("Testnet Wallet 1");
13
- expect(w1.cashaddr!.slice(0, 9)).toBe("bchtest:q");
14
- expect(w1.privateKeyWif!.startsWith("c")).toBeTruthy();
15
- expect(w1.network).toBe("testnet");
16
- expect(w1.name).toBe(w1Again.name);
17
- expect(w1.privateKeyWif).toBe(w1Again.privateKeyWif);
18
- });
19
-
20
- test("Should store and recall a mainnet wallet", async () => {
21
- let w1 = await Wallet.named("Mainnet Wallet 1");
22
- let w1Again = await Wallet.named("Mainnet Wallet 1");
23
- expect(w1.name!.startsWith("Mainnet Wallet 1")).toBeTruthy();
24
- expect(w1.cashaddr!.startsWith("bitcoincash:q")).toBeTruthy();
25
- expect(w1.network).toBe("mainnet");
26
- expect(
27
- w1.privateKeyWif![0] == "K" || w1.privateKeyWif![0] == "L"
28
- ).toBeTruthy();
29
- expect(w1.name).toBe(w1Again.name);
30
- expect(w1.privateKeyWif).toBe(w1Again.privateKeyWif);
31
- });
32
- });
package/src/index.ts DELETED
@@ -1 +0,0 @@
1
- export { default as IndexedDBProvider } from "./IndexedDBProvider.js";
@@ -1,11 +0,0 @@
1
- {
2
- "extends": "./tsconfig",
3
- "compilerOptions": {},
4
- "include": ["src/**/*.ts"],
5
- "exclude": [
6
- "node_modules/**",
7
- "dist/**",
8
- "src/**/*test.ts",
9
- "src/**/*test.browser.ts"
10
- ]
11
- }
package/tsconfig.json DELETED
@@ -1,32 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "rootDir": "src",
5
- "skipLibCheck": true,
6
- "esModuleInterop": true,
7
- "allowSyntheticDefaultImports": true,
8
- "strict": true,
9
- "forceConsistentCasingInFileNames": true,
10
- "downlevelIteration": true,
11
- "composite": true,
12
- "module": "esnext",
13
- "target": "esnext",
14
- "outDir": "./dist/module",
15
- "moduleResolution": "node",
16
- "resolveJsonModule": true,
17
- "lib": ["es2020", "es2020.bigint", "dom"],
18
- "typeRoots": [
19
- "node_modules/@types",
20
- "../../node_modules/@types",
21
- "./src/types"
22
- ]
23
- },
24
- "include": ["src/**/*.ts", "../../test/vitest-globals.d.ts"],
25
- "exclude": ["node_modules/**"],
26
- "references": [
27
- {
28
- "path": "../mainnet-js/"
29
- }
30
- ],
31
- "compileOnSave": false
32
- }
@@ -1,105 +0,0 @@
1
- const { merge } = require("webpack-merge");
2
- const packageJson = require("./package.json");
3
- const HtmlWebpackPlugin = require("html-webpack-plugin");
4
- const InjectBodyPlugin = require("inject-body-webpack-plugin").default;
5
- const __basedir = require("path").resolve(__dirname, "../../");
6
- const fs = require("fs");
7
-
8
- fs.mkdirSync(__basedir + "/test/playwright/indexeddb-storage", {
9
- recursive: true,
10
- });
11
- fs.copyFileSync(
12
- __basedir + "/test/playwright/mainnet.js",
13
- __basedir + "/test/playwright/indexeddb-storage/mainnet.js"
14
- );
15
-
16
- const baseConfig = {
17
- mode: "development",
18
- module: {
19
- rules: [
20
- {
21
- test: /\.tsx?$/,
22
- use: [
23
- {
24
- loader: "ts-loader",
25
- options: {
26
- configFile: "tsconfig.browser.json",
27
- },
28
- },
29
- ],
30
- exclude: [/node_modules/],
31
- },
32
- ],
33
- },
34
- resolve: {
35
- extensions: [".ts", ".tsx", ".js", ".wasm"],
36
- extensionAlias: {
37
- ".js": [".ts", ".js"],
38
- },
39
- },
40
- optimization: {
41
- minimize: false,
42
- mangleWasmImports: true,
43
- usedExports: true,
44
- },
45
- experiments: { topLevelAwait: true },
46
- };
47
-
48
- const prodConfig = {
49
- mode: "production",
50
- optimization: {
51
- minimize: true,
52
- },
53
- };
54
-
55
- const browserConfig = {
56
- target: "web",
57
- entry: {
58
- "indexeddb-storage": {
59
- import: "./src/index.ts",
60
- },
61
- },
62
- output: {
63
- filename: `[name]-${packageJson.version}.js`,
64
- path: __dirname + "/dist",
65
- crossOriginLoading: "anonymous",
66
- libraryTarget: "umd",
67
- },
68
- plugins: [
69
- //new BundleAnalyzerPlugin(),
70
- new HtmlWebpackPlugin({
71
- title: "The Empty Mainnet App",
72
- }),
73
- new InjectBodyPlugin({
74
- content: `<script defer src="mainnet.js"></script><script>document.addEventListener("DOMContentLoaded", async (event) => Object.assign(globalThis, await __mainnetPromise))</script>`,
75
- }),
76
- ],
77
- resolve: {
78
- alias: {
79
- crypto: false,
80
- child_process: false,
81
- },
82
- fallback: {},
83
- },
84
- };
85
-
86
- const browserTestDiff = {
87
- output: {
88
- filename: "[name].js",
89
- path: __basedir + "/test/playwright/indexeddb-storage/",
90
- },
91
- };
92
-
93
- const browserTestConfig = merge(browserConfig, browserTestDiff);
94
-
95
- let config = baseConfig;
96
-
97
- if (process.env.NODE_ENV == "production") {
98
- console.log("Running webpack in production mode");
99
- config = merge(baseConfig, prodConfig);
100
- }
101
-
102
- // Join configurations with the base configuration
103
- module.exports = [browserConfig, browserTestConfig].map((c) =>
104
- merge(config, c)
105
- );