From 3292c70208db6a06ffaa7ea0af38d78039172c92 Mon Sep 17 00:00:00 2001 From: Rygoatei Date: Fri, 8 Nov 2024 20:46:49 +0800 Subject: [PATCH 1/4] feat: pre deposit change --- lib/covenantV1/locking.d.ts | 1 + lib/covenantV1/locking.js | 44 +++++++++++------------------ lib/covenantV1/locking.script.d.ts | 10 +++++++ lib/covenantV1/locking.script.js | 38 +++++++++++++++++++++++++ lib/tsconfig.tsbuildinfo | 2 +- lib/utils/feeV1/index.d.ts | 3 +- lib/utils/feeV1/index.js | 8 ++++-- scripts/lockingV1.demo.ts | 2 +- src/covenantV1/bridge.ts | 4 +-- src/covenantV1/locking.script.ts | 45 ++++++++++++++++++++++++++++++ src/covenantV1/locking.ts | 25 ++++++++++++----- src/utils/feeV1/index.ts | 8 ++++-- 12 files changed, 146 insertions(+), 44 deletions(-) diff --git a/lib/covenantV1/locking.d.ts b/lib/covenantV1/locking.d.ts index 090fa71..5611fdf 100644 --- a/lib/covenantV1/locking.d.ts +++ b/lib/covenantV1/locking.d.ts @@ -13,6 +13,7 @@ export declare function withdrawalTimeLockTransaction(scripts: { }; export declare function withdrawalUnbondingTransaction(scripts: { lockingScript: Buffer; + dataEmbedScript?: Buffer; }, lockingTransaction: Transaction, withdrawalAddress: string, feeRate: number, network: networks.Network, outputIndex?: number): { psbt: Psbt; }; diff --git a/lib/covenantV1/locking.js b/lib/covenantV1/locking.js index bf1955b..dfa0fa4 100644 --- a/lib/covenantV1/locking.js +++ b/lib/covenantV1/locking.js @@ -1,27 +1,4 @@ "use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildLockingScript = void 0; exports.lockingTransaction = lockingTransaction; @@ -33,8 +10,6 @@ Object.defineProperty(exports, "buildLockingScript", { enumerable: true, get: fu const fee_1 = require("../utils/fee"); const constants_1 = require("../constants"); const feeV1_1 = require("../utils/feeV1"); -const ecc = __importStar(require("@bitcoin-js/tiny-secp256k1-asmjs")); -(0, bitcoinjs_lib_1.initEccLib)(ecc); function lockingTransaction(scripts, amount, changeAddress, inputUTXOs, network, feeRate, publicKeyNoCoord, lockHeight) { // Check that amount and fee rate are non-negative integers greater than 0 if (!Number.isInteger(amount) || amount <= 0 || !Number.isInteger(feeRate) || feeRate <= 0) { @@ -61,7 +36,7 @@ function lockingTransaction(scripts, amount, changeAddress, inputUTXOs, network, ]; const { selectedUTXOs, fee } = (0, feeV1_1.getSpendTxInputUTXOsAndFees)(network, inputUTXOs, amount, feeRate, psbtOutputs); selectedUTXOs.forEach((input) => { - psbt.addInput({ + const newInput = { hash: input.txid, index: input.vout, witnessUtxo: { @@ -71,7 +46,14 @@ function lockingTransaction(scripts, amount, changeAddress, inputUTXOs, network, // this is needed only if the wallet is in taproot mode ...(publicKeyNoCoord && { tapInternalKey: publicKeyNoCoord }), sequence: 0xfffffffd // Enable locktime by setting the sequence value to (RBF-able) - }); + }; + if (input.redeemScript) { + newInput.redeemScript = input.redeemScript; + } + if (input.rawTransaction) { + newInput.nonWitnessUtxo = Buffer.from(input.rawTransaction, "hex"); + } + psbt.addInput(newInput); }); // Add the locking output to the transaction psbt.addOutputs(psbtOutputs); @@ -171,7 +153,7 @@ function withdrawalUnbondingTransaction(scripts, lockingTransaction, withdrawalA }, witnessScript: scripts.lockingScript // Adding witnessScript here }); - const estimatedFee = (0, feeV1_1.getWithdrawTxFee)(feeRate, lockingTransaction.outs[outputIndex].script); + const estimatedFee = (0, feeV1_1.getWithdrawTxFee)(feeRate, lockingTransaction.outs[outputIndex].script, scripts.dataEmbedScript); const outputValue = lockingTransaction.outs[outputIndex].value - estimatedFee; if (outputValue < constants_1.BTC_DUST_SAT) { throw new Error("Output value is smaller than dust"); @@ -180,5 +162,11 @@ function withdrawalUnbondingTransaction(scripts, lockingTransaction, withdrawalA address: withdrawalAddress, value: outputValue }); + if (scripts.dataEmbedScript) { + psbt.addOutput({ + script: scripts.dataEmbedScript, + value: 0 + }); + } return { psbt }; } diff --git a/lib/covenantV1/locking.script.d.ts b/lib/covenantV1/locking.script.d.ts index e6c0128..80db969 100644 --- a/lib/covenantV1/locking.script.d.ts +++ b/lib/covenantV1/locking.script.d.ts @@ -9,3 +9,13 @@ * @return {Buffer} */ export declare function buildLockingScript(evmAddress: Buffer, delegatorKey: Buffer, validatorKey: Buffer, transferTimeLock: number, validatorIndex: Buffer, nonce: Buffer): Buffer; +/** + * Script to validate pre-deposit transactions. + * This version only requires validator signature in the ELSE path. + * @param {Buffer} evmAddress - The owner's EVM address. + * @param {Buffer} lockerKey - The public key of the locker (user). + * @param {Buffer} posKey - The public key of the PoS validator. + * @param {number} transferTimeLock - The block count for the sequence verification. + * @return {Buffer} + */ +export declare function buildPreDepositLockingScript(evmAddress: Buffer, lockerKey: Buffer, posKey: Buffer, transferTimeLock: number): Buffer; diff --git a/lib/covenantV1/locking.script.js b/lib/covenantV1/locking.script.js index 4f092d0..c052f6e 100644 --- a/lib/covenantV1/locking.script.js +++ b/lib/covenantV1/locking.script.js @@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildLockingScript = buildLockingScript; +exports.buildPreDepositLockingScript = buildPreDepositLockingScript; const bitcoinjs_lib_1 = require("bitcoinjs-lib"); const constants_1 = require("../constants"); // @ts-ignore @@ -62,3 +63,40 @@ function buildLockingScript(evmAddress, delegatorKey, validatorKey, transferTime bitcoinjs_lib_1.opcodes.OP_ENDIF ]); } +/** + * Script to validate pre-deposit transactions. + * This version only requires validator signature in the ELSE path. + * @param {Buffer} evmAddress - The owner's EVM address. + * @param {Buffer} lockerKey - The public key of the locker (user). + * @param {Buffer} posKey - The public key of the PoS validator. + * @param {number} transferTimeLock - The block count for the sequence verification. + * @return {Buffer} + */ +function buildPreDepositLockingScript(evmAddress, lockerKey, posKey, transferTimeLock) { + if (!Buffer.isBuffer(evmAddress) || !Buffer.isBuffer(lockerKey) || !Buffer.isBuffer(posKey)) { + throw new Error("Invalid input types"); + } + if (evmAddress.length !== constants_1.ETH_PK_LENGTH || lockerKey.length !== constants_1.PK_LENGTH || posKey.length !== constants_1.PK_LENGTH) { + throw new Error("Invalid input lengths"); + } + if (typeof transferTimeLock !== "number" || transferTimeLock < 0 || transferTimeLock > 65535) { + throw new Error("Invalid numeric inputs"); + } + const sequence = bip68_1.default.encode({ blocks: transferTimeLock }); + return bitcoinjs_lib_1.script.compile([ + bitcoinjs_lib_1.opcodes.OP_DUP, + evmAddress, + bitcoinjs_lib_1.opcodes.OP_EQUAL, + bitcoinjs_lib_1.opcodes.OP_IF, + bitcoinjs_lib_1.opcodes.OP_DROP, + bitcoinjs_lib_1.script.number.encode(sequence), + bitcoinjs_lib_1.opcodes.OP_CHECKSEQUENCEVERIFY, + bitcoinjs_lib_1.opcodes.OP_DROP, + lockerKey, + bitcoinjs_lib_1.opcodes.OP_CHECKSIG, + bitcoinjs_lib_1.opcodes.OP_ELSE, + posKey, + bitcoinjs_lib_1.opcodes.OP_CHECKSIG, + bitcoinjs_lib_1.opcodes.OP_ENDIF + ]); +} diff --git a/lib/tsconfig.tsbuildinfo b/lib/tsconfig.tsbuildinfo index 5c3a0ca..1f5d487 100644 --- a/lib/tsconfig.tsbuildinfo +++ b/lib/tsconfig.tsbuildinfo @@ -1 +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.dom.iterable.d.ts","../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.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.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.es2020.full.d.ts","../src/constants/index.ts","../src/constants/internalpubkey.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.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/sea.d.ts","../node_modules/@types/node/sqlite.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/ts5.6/index.d.ts","../node_modules/bitcoinjs-lib/src/networks.d.ts","../node_modules/bitcoinjs-lib/src/address.d.ts","../node_modules/bitcoinjs-lib/src/crypto.d.ts","../node_modules/bitcoinjs-lib/src/types.d.ts","../node_modules/bitcoinjs-lib/src/payments/embed.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2ms.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2pk.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2pkh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2sh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2wpkh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2wsh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2tr.d.ts","../node_modules/bitcoinjs-lib/src/payments/index.d.ts","../node_modules/bitcoinjs-lib/src/ops.d.ts","../node_modules/bitcoinjs-lib/src/script_number.d.ts","../node_modules/bitcoinjs-lib/src/script_signature.d.ts","../node_modules/bitcoinjs-lib/src/script.d.ts","../node_modules/bitcoinjs-lib/src/transaction.d.ts","../node_modules/bitcoinjs-lib/src/block.d.ts","../node_modules/bip174/src/lib/interfaces.d.ts","../node_modules/bip174/src/lib/psbt.d.ts","../node_modules/bitcoinjs-lib/src/psbt.d.ts","../node_modules/bitcoinjs-lib/src/ecc_lib.d.ts","../node_modules/bitcoinjs-lib/src/index.d.ts","../src/covenantv1/bridge.script.ts","../src/types/utxo.ts","../src/utils/fee.ts","../src/types/psbtoutputs.ts","../src/utils/feev1/utils.ts","../src/utils/feev1/index.ts","../src/covenantv1/bridge.ts","../src/covenantv1/locking.script.ts","../src/types/transaction.ts","../node_modules/@bitcoin-js/tiny-secp256k1-asmjs/lib/index.d.ts","../src/covenantv1/locking.ts","../src/types/bridgescripts.ts","../src/slashable/bridge/script.ts","../src/slashable/bridge/index.ts","../src/types/lockingscripts.ts","../src/slashable/locking/script.ts","../src/slashable/locking/index.ts","../src/utils/curve.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[58,100,193],[58,100],[58,100,205],[58,100,193,194,195,196,197],[58,100,193,195],[58,100,113,150],[58,100,200],[58,100,201],[58,100,207,210],[58,97,100],[58,99,100],[58,100,105,135],[58,100,101,106,112,113,120,132,143],[58,100,101,102,112,120],[53,54,55,58,100],[58,100,103,144],[58,100,104,105,113,121],[58,100,105,132,140],[58,100,106,108,112,120],[58,99,100,107],[58,100,108,109],[58,100,112],[58,100,110,112],[58,99,100,112],[58,100,112,113,114,132,143],[58,100,112,113,114,127,132,135],[58,95,100,148],[58,95,100,108,112,115,120,132,143],[58,100,112,113,115,116,120,132,140,143],[58,100,115,117,132,140,143],[58,100,112,118],[58,100,119,143,148],[58,100,108,112,120,132],[58,100,121],[58,100,122],[58,99,100,123],[58,97,98,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[58,100,125],[58,100,126],[58,100,112,127,128],[58,100,127,129,144,146],[58,100,112,132,133,134,135],[58,100,132,134],[58,100,132,133],[58,100,135],[58,100,136],[58,97,100,132],[58,100,112,138,139],[58,100,138,139],[58,100,105,120,132,140],[58,100,141],[100],[56,57,58,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[58,100,120,142],[58,100,115,126,143],[58,100,105,144],[58,100,132,145],[58,100,119,146],[58,100,147],[58,100,105,112,114,123,132,143,146,148],[58,100,132,149],[58,100,213,252],[58,100,213,237,252],[58,100,252],[58,100,213],[58,100,213,238,252],[58,100,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251],[58,100,238,252],[58,100,254],[58,100,150],[58,100,150,170],[58,100,150,151],[58,100,150,168],[58,100,154],[58,100,151,152,153,163,164,167,168,169,172,173],[58,100,163],[58,100,150,151,154,155,156,157,158,159,160,161,162],[58,100,150,151,168,170,171],[58,100,150,163,164,165,166],[58,100,203,209],[58,100,207],[58,100,204,208],[58,100,206],[58,67,71,100,143],[58,67,100,132,143],[58,62,100],[58,64,67,100,140,143],[58,100,120,140],[58,62,100,150],[58,64,67,100,120,143],[58,59,60,63,66,100,112,132,143],[58,67,74,100],[58,59,65,100],[58,67,88,89,100],[58,63,67,100,135,143,150],[58,88,100,150],[58,61,62,100,150],[58,67,100],[58,61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,100],[58,67,82,100],[58,67,74,75,100],[58,65,67,75,76,100],[58,66,100],[58,59,62,67,100],[58,67,71,75,76,100],[58,71,100],[58,65,67,70,100,143],[58,59,64,67,74,100],[58,100,132],[58,62,67,88,100,148,150],[51,58,100,174],[51,58,100,174,175,176,177,180],[51,58,100,174,176,177,180,182,183,184],[51,52,58,100,154,174,176,177,183,187],[58,100,174,186],[51,52,58,100,154,174,176,177,183,189,190],[58,100,174,189],[58,100,170],[58,100,174],[58,100,174,184],[58,100,176],[51,58,100,174,176,178,179],[51,58,100,174,176]],"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":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","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":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8","impliedFormat":1},{"version":"7af4b31bfe5040264bdc6ce41b5500452cad55b52b82898ca556430ca939e2ec","signature":"c62a8e41b2d65d5ca9f1ba63eb599514317e55dd3b25ecb4ca9e08c98895be20"},{"version":"3dab9f49d7541c5c6c3122bc8c6e5874f939a27b832bfb1611f6eeed41a06167","signature":"99d38919b24993c22f5b414804e477a0ba201cbd2fd3c7bbf3604c8be7b40436"},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"81184fe8e67d78ac4e5374650f0892d547d665d77da2b2f544b5d84729c4a15d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f52e8dacc97d71dcc96af29e49584353f9c54cb916d132e3e768d8b8129c928d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"46e07db372dd75edc1a26e68f16d1b7ffb34b7ab3db5cdb3e391a3604ad7bb7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"875928df2f3e9a3aed4019539a15d04ff6140a06df6cd1b2feb836d22a81eaca","affectsGlobalScope":true,"impliedFormat":1},{"version":"20b97c3368b1a63d2156deea35d03b125bb07908906eb35e0438042a3bbb3e71","impliedFormat":1},{"version":"02e73584132025781e9ffa7beef9d58ee563954c592eb563dc724ebbfb7424eb","impliedFormat":1},{"version":"ad05f01340829d96e2d85506eaab585ca7a5b20d687448d35f97e2b0855399d8","impliedFormat":1},{"version":"fa56be9b96f747e93b895d8dc2aa4fb9f0816743e6e2abb9d60705e88d4743a2","impliedFormat":1},{"version":"8257c55ff6bff6169142a35fce6811b511d857b4ae4f522cdb6ce20fd2116b2c","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"3a9e5dddbd6ca9507d0c06a557535ba2224a94a2b0f3e146e8215f93b7e5b3a8","affectsGlobalScope":true,"impliedFormat":1},{"version":"94c4187083503a74f4544503b5a30e2bd7af0032dc739b0c9a7ce87f8bddc7b9","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"3c36ab47df4668254ccc170fc42e7d5116fd86a7e408d8dc220e559837cd2bbb","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f6abdaf8764ef01a552a958f45e795b5e79153b87ddad3af5264b86d2681b72","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"4de73e132bf47437c56b1e8416c60d9d517c8ba3822e7c623b54d4300834dd37","impliedFormat":1},{"version":"e432b0e3761ca9ba734bdd41e19a75fec1454ca8e9769bfdf8b31011854cf06a","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"a8f06c2382a30b7cb89ad2dfc48fc3b2b490f3dafcd839dadc008e4e5d57031d","impliedFormat":1},{"version":"553870e516f8c772b89f3820576152ebc70181d7994d96917bb943e37da7f8a7","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"cca97c55398b8699fa3a96ef261b01d200ed2a44d2983586ab1a81d7d7b23cd9","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"f59493f68eade5200559e5016b5855f7d12e6381eb6cab9ad8a379af367b3b2d","impliedFormat":1},{"version":"125e3472965f529de239d2bc85b54579fed8e0b060d1d04de6576fb910a6ec7f","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"6512c499b32226c5a686ab98f5b33ae15bdebd6b9f3b60f80eeadd95e358f02c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a5c09990a37469b0311a92ce8feeb8682e83918723aedbd445bd7a0f510eaaa3","impliedFormat":1},{"version":"6b29aea17044029b257e5bd4e3e4f765cd72b8d3c11c753f363ab92cc3f9f947","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"d008cf1330c86b37a8128265c80795397c287cecff273bc3ce3a4883405f5112","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"171fd8807643c46a9d17e843959abdf10480d57d60d38d061fb44a4c8d4a8cc4","impliedFormat":1},{"version":"692cce8a36696e9df80910c05ae3b34340c278bbba03701a9ae92ae038663824","impliedFormat":1},{"version":"035fd4564409153531cc683821b48048fd01982a8522c120b5a17f9a6320a229","impliedFormat":1},{"version":"8e30c31e1f95057c95fad8af9d7cfa916d09a9ae5f805ccd1ebd76c0158c5021","impliedFormat":1},{"version":"b86e99a2002acb78c3c5edfc219053cad18c2e0086d848d50086be8198e81c3b","impliedFormat":1},{"version":"a29a7b9ade7876d0f527b716a5bc5c7bc84554d155577020441f2d3c735589be","impliedFormat":1},{"version":"9cd42ff83837551961fa8788f14bd3498306fb2c1d35358f2b6bf3af05bf0890","impliedFormat":1},{"version":"5e51773d5624b8c871d8d140c88f944466338673fbc60ac4bf409eb60e6665cf","impliedFormat":1},{"version":"39b10cd95b70bbdc1cf8c832002618c3f81cd980438fe5e3694d99286ef90911","impliedFormat":1},{"version":"95244212208717085038a74378ea2a03e49c06a3a195b2826c01c978f14684c2","impliedFormat":1},{"version":"7362eeca79ce50eb72b2a0149e323f6d64daf4fbc8067592310859622c3dbcfe","impliedFormat":1},{"version":"8c0a305a7b10513d9d07bf739456bf9845bd4336027c85442b674a417facb57a","impliedFormat":1},{"version":"c91084ba90468037b6d266f3cae698aaa76c0864cf076aa099d981d847b74c2d","impliedFormat":1},{"version":"08c89f85121be91dd79dc42e1fdb0eef4336dd4f7c23710d05268accf1a65220","impliedFormat":1},{"version":"0f3fa7383d3f2ebed173ff59c102b4a68d10acdff5db4a009b73429ddaa15768","impliedFormat":1},{"version":"973d36af083ce019e3c38b99ca43cb6815b47082cf1e07215387df336192f447","impliedFormat":1},{"version":"617012176a8cb5be290ae89040aac88ec74321c2a8b984f01a7ba6eb9a2eddc2","impliedFormat":1},{"version":"111dae916025fd483a9be521111a10c3e7e9ed35eeb325ba34108433cc07aa19","impliedFormat":1},{"version":"fc2aced12725e81bbdb9e55a0efe1060cd4b6bbb6d1a5a23a09236a18c2d2323","impliedFormat":1},{"version":"7340d9ad1f3f55e7be3a85a151ef25d7a8c0205904519940c9dcea0f61cb3292","impliedFormat":1},{"version":"b6c3995be1adb84b6f81cbf9dfdecaa0da5cc71c5a61b5fc0e4a5a31765d8257","impliedFormat":1},{"version":"3da723823982206178406b7c2b8570152c6347a047fa7e59fa46011d10ac26b6","impliedFormat":1},{"version":"faba33b564a39dcb577490c3db303e692b745453fc50adb57860e8014e3247a2","impliedFormat":1},{"version":"72b83ee0bee9e2bec77a2a1666c6933da383075af254348e4c72e7e0b69e16dd","impliedFormat":1},{"version":"ad50fd05c6869671a429ce6581c052720d067f79d59a8eada7bc3a17e323728a","impliedFormat":1},{"version":"d3ba9bcd18af14b5a9a41e1e95e52d2abc7545742ac10f95eba9b8fc86a5ba36","signature":"a61c2daeacc381d1877bfada4bcf469cb087d68d6065121e34fc8e58d5ab2912"},{"version":"54d36ef842de2ac6220323c62f695efd6e7ecaa2ac883cc98e4396930261975d","signature":"aed6cd506458a9e5c8ec2e5923a5fce83a9c5d54a6ab9788482345262f49c862"},{"version":"3bcb4e05e05a92be2163136d641cf00862b0d68b43ce409602f0913d20af4f21","signature":"b2f7feec3cc6cc320902d83120b88bc752bd1ccc92f76f79a2682901ed3fd7db"},{"version":"a3235f7145661df7ea9f68c2219328d9c0381caeb82e60f58007bca4980dc88c","signature":"3e062c4474550c90b3684d29aa7b78bd422f5c1b10eb344d2cbe7cb2004f9a56"},{"version":"ad00acc3986cfe117d34af74ca40c154f91c000e51fb5cbaf109d496ddd5d8b0","signature":"a7c630949e204aeb225cb406bd637221930a46c08408bf59627d5324e7746b04"},{"version":"f9d4ea23599517f0d27d91878becff750fa02aa49801561bafd4c7c14e7329f0","signature":"5a5a5757d618cf0599fdfcdbcfbca2becc547468531484e9459f9153f09f3dc4"},{"version":"7acce7825a2e64fb45ee2399939b8e327599794c68c67dcb031f4c8d28c25f17","signature":"4a7e608b329367be78bd336a79f35083db12800416de6b4d26387cd7c3098d37"},{"version":"7d982f2af1bac0632bb72bc9b8232c6f09125021d9affc34206270d6b4df8eb9","signature":"ebf39dc45a49bfeaca65608fdba31e1c0a22b7e2df0be34db7ed592ea91561cd"},{"version":"f9544ee84d3ac193e80b75855889c54d657a781fa9ebc801e386f3623eef10ba","signature":"248123c911541fa29511934adaf30f9454709fa05e58a9ccfe210e29016a6a89"},{"version":"21a651efde14f50b4d04c5a746b113b981f4a45c7113d7ab9fbdaecc4972d086","impliedFormat":99},{"version":"e8b2959e9b2c897cf205be422b3a3743bad3fc3fc9358950ce0a9dad12054d48","signature":"e8917a4510ba276edaa25595bdf8fc0993b23f429d88e0fdcd5726d3c1f17960"},{"version":"689ddd17483acc4c9be2f747b1f9752b36e0131b7f1a78d3973d7b7fca89d349","signature":"aeed7a1028a1bd9608c463112e19d30c2bbe03a5a70673fbdb9b338a6a31d2cd"},{"version":"6cff0be2aca0da7d6151d7b66455b9f8ba20fffaa25263045f58651d8e5f0f40","signature":"3a883d1302c8a7dcb3ee3681ed248ab9615e9b3f562b82721cf12da6a582bfe8"},{"version":"237bd8d33938b43586cea21d3d1e3c3629c57073a6fe95f383bb67b3ce7fe733","signature":"645612e307c4f7b428ea07d74216e50a97efcfa460c0275659450c0427e20493"},{"version":"d1804fef95c5293d961ffa01f1b258200fb6005fb2d94a1d22de2332a671ba9c","signature":"b4ac9b087ae5b948fa6a75d024ee9fa843f033b7dfb242ceb2a3627129b2b440"},{"version":"4cc0a70fb68718eb3391fb8f8df1baa861c4c45bbe377f9fb2897b82f0a4a2a9","signature":"98f6aacfcb63a98b3b2fe26c229b44df86b7846180bb41b7a895dcd2f47f0213"},{"version":"ae5de19a27c1cc8f804da8bfd006d566e92be22dafd84725d181e0293541d7a6","signature":"02ae0308f6217eb01bb287067068a2fe73f09b0bca8bd18b8df8e9eae7193e84"},{"version":"d013c139a57532b59f951139b366efcad0ecc2b4a453796fa98cf375b338f753","signature":"0e5aecb6ef4d46ebed19b1b922e5b23a0b692c3f2359680e7f7518175f767f93"},{"version":"e74998d5cefc2f29d583c10b99c1478fb810f1e46fbb06535bfb0bbba3c84aa5","impliedFormat":1},{"version":"2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","impliedFormat":1},{"version":"43d058146b002d075f5d0033a6870321048297f1658eb0db559ba028383803a6","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"9e0cf651e8e2c5b9bebbabdff2f7c6f8cedd91b1d9afcc0a854cdff053a88f1b","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","impliedFormat":1},{"version":"a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","impliedFormat":1},{"version":"5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"e9b76bb505b61fdb2b4347398776a0c3d081877cee7669f7ca09846aeb325c63","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1}],"root":[51,52,[175,183],[185,192]],"options":{"allowJs":true,"declaration":true,"esModuleInterop":true,"jsx":1,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[195,1],[193,2],[184,2],[203,2],[206,3],[205,2],[198,4],[194,1],[196,5],[197,1],[199,6],[200,2],[201,7],[202,8],[211,9],[212,2],[97,10],[98,10],[99,11],[100,12],[101,13],[102,14],[53,2],[56,15],[54,2],[55,2],[103,16],[104,17],[105,18],[106,19],[107,20],[108,21],[109,21],[111,22],[110,23],[112,24],[113,25],[114,26],[96,27],[115,28],[116,29],[117,30],[118,31],[119,32],[120,33],[121,34],[122,35],[123,36],[124,37],[125,38],[126,39],[127,40],[128,40],[129,41],[130,2],[131,2],[132,42],[134,43],[133,44],[135,45],[136,46],[137,47],[138,48],[139,49],[140,50],[141,51],[58,52],[57,2],[150,53],[142,54],[143,55],[144,56],[145,57],[146,58],[147,59],[148,60],[149,61],[237,62],[238,63],[213,64],[216,64],[235,62],[236,62],[226,62],[225,65],[223,62],[218,62],[231,62],[229,62],[233,62],[217,62],[230,62],[234,62],[219,62],[220,62],[232,62],[214,62],[221,62],[222,62],[224,62],[228,62],[239,66],[227,62],[215,62],[252,67],[251,2],[246,66],[248,68],[247,66],[240,66],[241,66],[243,66],[245,66],[249,68],[250,68],[242,68],[244,68],[253,2],[254,2],[255,69],[170,70],[171,71],[152,72],[169,73],[153,70],[173,74],[174,75],[151,2],[164,2],[155,76],[163,77],[156,76],[157,76],[158,76],[159,76],[162,76],[160,76],[161,76],[172,78],[167,79],[165,70],[166,70],[168,70],[154,70],[204,2],[210,80],[208,81],[209,82],[207,83],[48,2],[49,2],[10,2],[8,2],[9,2],[14,2],[13,2],[2,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[3,2],[23,2],[4,2],[24,2],[28,2],[25,2],[26,2],[27,2],[29,2],[30,2],[31,2],[5,2],[32,2],[33,2],[34,2],[35,2],[6,2],[39,2],[36,2],[37,2],[38,2],[40,2],[7,2],[41,2],[50,2],[46,2],[47,2],[42,2],[43,2],[44,2],[45,2],[1,2],[12,2],[11,2],[74,84],[84,85],[73,84],[94,86],[65,87],[64,88],[93,70],[87,89],[92,90],[67,91],[81,92],[66,93],[90,94],[62,95],[61,70],[91,96],[63,97],[68,98],[69,2],[72,98],[59,2],[95,99],[85,100],[76,101],[77,102],[79,103],[75,104],[78,105],[88,70],[70,106],[71,107],[80,108],[60,109],[83,100],[82,98],[86,2],[89,110],[51,2],[52,2],[175,111],[181,112],[182,111],[185,113],[188,114],[187,115],[191,116],[190,117],[186,2],[189,2],[178,118],[183,119],[176,2],[192,120],[177,121],[180,122],[179,123]],"version":"5.6.2"} \ No newline at end of file +{"program":{"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.dom.iterable.d.ts","../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.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","../node_modules/typescript/lib/lib.es2020.full.d.ts","../src/constants/index.ts","../src/constants/internalpubkey.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.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/sea.d.ts","../node_modules/@types/node/sqlite.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/bitcoinjs-lib/src/networks.d.ts","../node_modules/bitcoinjs-lib/src/address.d.ts","../node_modules/bitcoinjs-lib/src/crypto.d.ts","../node_modules/bitcoinjs-lib/src/types.d.ts","../node_modules/bitcoinjs-lib/src/payments/embed.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2ms.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2pk.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2pkh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2sh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2wpkh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2wsh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2tr.d.ts","../node_modules/bitcoinjs-lib/src/payments/index.d.ts","../node_modules/bitcoinjs-lib/src/ops.d.ts","../node_modules/bitcoinjs-lib/src/script_number.d.ts","../node_modules/bitcoinjs-lib/src/script_signature.d.ts","../node_modules/bitcoinjs-lib/src/script.d.ts","../node_modules/bitcoinjs-lib/src/transaction.d.ts","../node_modules/bitcoinjs-lib/src/block.d.ts","../node_modules/bip174/src/lib/interfaces.d.ts","../node_modules/bip174/src/lib/psbt.d.ts","../node_modules/bitcoinjs-lib/src/psbt.d.ts","../node_modules/bitcoinjs-lib/src/ecc_lib.d.ts","../node_modules/bitcoinjs-lib/src/index.d.ts","../src/covenantv1/bridge.script.ts","../src/types/utxo.ts","../src/utils/fee.ts","../src/types/psbtoutputs.ts","../src/utils/feev1/utils.ts","../src/utils/feev1/index.ts","../src/covenantv1/bridge.ts","../src/covenantv1/locking.script.ts","../src/types/transaction.ts","../src/covenantv1/locking.ts","../src/types/bridgescripts.ts","../src/slashable/bridge/script.ts","../src/slashable/bridge/index.ts","../src/types/lockingscripts.ts","../src/slashable/locking/script.ts","../src/slashable/locking/index.ts","../node_modules/@bitcoin-js/tiny-secp256k1-asmjs/lib/index.d.ts","../src/utils/curve.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"4af6b0c727b7a2896463d512fafd23634229adf69ac7c00e2ae15a09cb084fad","affectsGlobalScope":true},{"version":"9c00a480825408b6a24c63c1b71362232927247595d7c97659bc24dc68ae0757","affectsGlobalScope":true},{"version":"0c9e4447ddca10e8097a736ce41bb37ac3389ede46e419ee78c1161a14e9e8ba","affectsGlobalScope":true},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8",{"version":"7af4b31bfe5040264bdc6ce41b5500452cad55b52b82898ca556430ca939e2ec","signature":"c62a8e41b2d65d5ca9f1ba63eb599514317e55dd3b25ecb4ca9e08c98895be20"},{"version":"3dab9f49d7541c5c6c3122bc8c6e5874f939a27b832bfb1611f6eeed41a06167","signature":"99d38919b24993c22f5b414804e477a0ba201cbd2fd3c7bbf3604c8be7b40436"},"e142fda89ed689ea53d6f2c93693898464c7d29a0ae71c6dc8cdfe5a1d76c775","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107",{"version":"964f307d249df0d7e8eb16d594536c0ac6cc63c8d467edf635d05542821dec8e","affectsGlobalScope":true},"db3ec8993b7596a4ef47f309c7b25ee2505b519c13050424d9c34701e5973315",{"version":"6a1ebd564896d530364f67b3257c62555b61d60494a73dfe8893274878c6589d","affectsGlobalScope":true},"af49b066a76ce26673fe49d1885cc6b44153f1071ed2d952f2a90fccba1095c9","f22fd1dc2df53eaf5ce0ff9e0a3326fc66f880d6a652210d50563ae72625455f",{"version":"3ddbdb519e87a7827c4f0c4007013f3628ca0ebb9e2b018cf31e5b2f61c593f1","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"6d498d4fd8036ea02a4edcae10375854a0eb1df0496cf0b9d692577d3c0fd603","affectsGlobalScope":true},"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","fd09b892597ab93e7f79745ce725a3aaf6dd005e8db20f0c63a5d10984cba328","a3be878ff1e1964ab2dc8e0a3b67087cf838731c7f3d8f603337e7b712fdd558","5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","9be74296ee565af0c12d7071541fdd23260f53c3da7731fb6361f61150a791f6",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"f501a53b94ba382d9ba396a5c486969a3abc68309828fa67f916035f5d37fe2b","affectsGlobalScope":true},"aa658b5d765f630c312ac9202d110bbaf2b82d180376457f0a9d57b42629714a","312ac7cbd070107766a9886fd27f9faad997ef57d93fdfb4095df2c618ac8162","2e9b4e7f9942af902eb85bae6066d04ef1afee51d61554a62d144df3da7dec94","672ad3045f329e94002256f8ed460cfd06173a50c92cde41edaadfacffd16808","64da4965d1e0559e134d9c1621ae400279a216f87ed00c4cce4f2c7c78021712","2205527b976f4f1844adc46a3f0528729fb68cac70027a5fb13c49ca23593797",{"version":"0166fce1204d520fdfd6b5febb3cda3deee438bcbf8ce9ffeb2b1bcde7155346","affectsGlobalScope":true},"d8b13eab85b532285031b06a971fa051bf0175d8fff68065a24a6da9c1c986cf","50c382ba1827988c59aa9cc9d046e386d55d70f762e9e352e95ee8cb7337cdb8","bb9627ab9d078c79bb5623de4ac8e5d08f806ec9b970962dfc83b3211373690d",{"version":"21d7e87f271e72d02f8d167edc902f90b04525edc7918f00f01dd0bd00599f7e","affectsGlobalScope":true},{"version":"6f6abdaf8764ef01a552a958f45e795b5e79153b87ddad3af5264b86d2681b72","affectsGlobalScope":true},"a215554477f7629e3dcbc8cde104bec036b78673650272f5ffdc5a2cee399a0a","c3497fc242aabfedcd430b5932412f94f157b5906568e737f6a18cc77b36a954","cdc1de3b672f9ef03ff15c443aa1b631edca35b6ae6970a7da6400647ff74d95","139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","bf01fdd3b93cf633b3f7420718457af19c57ab8cbfea49268df60bae2e84d627","15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","5f461d6f5d9ff474f1121cc3fd86aa3cd67476c701f55c306d323c5112201207","65b39cc6b610a4a4aecc321f6efb436f10c0509d686124795b4c36a5e915b89e","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633",{"version":"83fe38aa2243059ea859325c006da3964ead69b773429fe049ebb0426e75424d","affectsGlobalScope":true},"d3edb86744e2c19f2c1503849ac7594a5e06024f2451bacae032390f2e20314a",{"version":"e501cbca25bd54f0bcb89c00f092d3cae227e970b93fd76207287fd8110b123d","affectsGlobalScope":true},{"version":"8a3e61347b8f80aa5af532094498bceb0c0b257b25a6aa8ab4880fd6ed57c95a","affectsGlobalScope":true},"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","950f6810f7c80e0cffefcf1bcc6ade3485c94394720e334c3c2be3c16b6922fb","5475df7cfc493a08483c9d7aa61cc04791aecba9d0a2efc213f23c4006d4d3cd","000720870b275764c65e9f28ac97cc9e4d9e4a36942d4750ca8603e416e9c57c",{"version":"54412c70bacb9ed547ed6caae8836f712a83ccf58d94466f3387447ec4e82dc3","affectsGlobalScope":true},{"version":"e74e7b0baa7a24f073080091427d36a75836d584b9393e6ac2b1daf1647fe65a","affectsGlobalScope":true},"4c48e931a72f6971b5add7fdb1136be1d617f124594e94595f7114af749395e0","478eb5c32250678a906d91e0529c70243fc4d75477a08f3da408e2615396f558","e686a88c9ee004c8ba12ffc9d674ca3192a4c50ed0ca6bd5b2825c289e2b2bfe",{"version":"0d27932df2fbc3728e78b98892540e24084424ce12d3bd32f62a23cf307f411f","affectsGlobalScope":true},"4423fb3d6abe6eefb8d7f79eb2df9510824a216ec1c6feee46718c9b18e6d89f",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"01c47d1c006b3a15b51d89d7764fff7e4fabc4e412b3a61ee5357bd74b822879","692cce8a36696e9df80910c05ae3b34340c278bbba03701a9ae92ae038663824","035fd4564409153531cc683821b48048fd01982a8522c120b5a17f9a6320a229","8e30c31e1f95057c95fad8af9d7cfa916d09a9ae5f805ccd1ebd76c0158c5021","b86e99a2002acb78c3c5edfc219053cad18c2e0086d848d50086be8198e81c3b","a29a7b9ade7876d0f527b716a5bc5c7bc84554d155577020441f2d3c735589be","9cd42ff83837551961fa8788f14bd3498306fb2c1d35358f2b6bf3af05bf0890","5e51773d5624b8c871d8d140c88f944466338673fbc60ac4bf409eb60e6665cf","39b10cd95b70bbdc1cf8c832002618c3f81cd980438fe5e3694d99286ef90911","95244212208717085038a74378ea2a03e49c06a3a195b2826c01c978f14684c2","7362eeca79ce50eb72b2a0149e323f6d64daf4fbc8067592310859622c3dbcfe","8c0a305a7b10513d9d07bf739456bf9845bd4336027c85442b674a417facb57a","c91084ba90468037b6d266f3cae698aaa76c0864cf076aa099d981d847b74c2d","08c89f85121be91dd79dc42e1fdb0eef4336dd4f7c23710d05268accf1a65220","0f3fa7383d3f2ebed173ff59c102b4a68d10acdff5db4a009b73429ddaa15768","973d36af083ce019e3c38b99ca43cb6815b47082cf1e07215387df336192f447","617012176a8cb5be290ae89040aac88ec74321c2a8b984f01a7ba6eb9a2eddc2","111dae916025fd483a9be521111a10c3e7e9ed35eeb325ba34108433cc07aa19","fc2aced12725e81bbdb9e55a0efe1060cd4b6bbb6d1a5a23a09236a18c2d2323","7340d9ad1f3f55e7be3a85a151ef25d7a8c0205904519940c9dcea0f61cb3292","b6c3995be1adb84b6f81cbf9dfdecaa0da5cc71c5a61b5fc0e4a5a31765d8257","3da723823982206178406b7c2b8570152c6347a047fa7e59fa46011d10ac26b6","faba33b564a39dcb577490c3db303e692b745453fc50adb57860e8014e3247a2","72b83ee0bee9e2bec77a2a1666c6933da383075af254348e4c72e7e0b69e16dd","ad50fd05c6869671a429ce6581c052720d067f79d59a8eada7bc3a17e323728a",{"version":"d3ba9bcd18af14b5a9a41e1e95e52d2abc7545742ac10f95eba9b8fc86a5ba36","signature":"a61c2daeacc381d1877bfada4bcf469cb087d68d6065121e34fc8e58d5ab2912"},{"version":"54d36ef842de2ac6220323c62f695efd6e7ecaa2ac883cc98e4396930261975d","signature":"aed6cd506458a9e5c8ec2e5923a5fce83a9c5d54a6ab9788482345262f49c862"},{"version":"3bcb4e05e05a92be2163136d641cf00862b0d68b43ce409602f0913d20af4f21","signature":"b2f7feec3cc6cc320902d83120b88bc752bd1ccc92f76f79a2682901ed3fd7db"},{"version":"a3235f7145661df7ea9f68c2219328d9c0381caeb82e60f58007bca4980dc88c","signature":"3e062c4474550c90b3684d29aa7b78bd422f5c1b10eb344d2cbe7cb2004f9a56"},{"version":"ad00acc3986cfe117d34af74ca40c154f91c000e51fb5cbaf109d496ddd5d8b0","signature":"a7c630949e204aeb225cb406bd637221930a46c08408bf59627d5324e7746b04"},{"version":"2ac1e82252f64fc33aa5f87a8a2254d07b88eedbc81010c5fa706a2fccacf6ce","signature":"f5e40d3f44147f2facbfa3fefc4789d67edce8be508ab176ef91e960595999e4"},{"version":"42178956b5376711baba2759ce8cd7f84015184bdcb206050456014476dcdc9c","signature":"4a7e608b329367be78bd336a79f35083db12800416de6b4d26387cd7c3098d37"},{"version":"a136a945bb70b5e90b696ace65f6e6c068fa26864cebeabd61f7554c6359802c","signature":"9255d777d9fc524279fb8c5ead11b4ddee092af0fe5345d3cfe807d8bba7aa8f"},{"version":"f9544ee84d3ac193e80b75855889c54d657a781fa9ebc801e386f3623eef10ba","signature":"248123c911541fa29511934adaf30f9454709fa05e58a9ccfe210e29016a6a89"},{"version":"7b3c8a7e006baa11046651ac55884dc7acc8a838df7cd20e1c262590f30b8e19","signature":"9ba7c02afb1f3b1a159935e68b27ca3188dff3b326970dbbb4e7ed71eead3d6a"},{"version":"689ddd17483acc4c9be2f747b1f9752b36e0131b7f1a78d3973d7b7fca89d349","signature":"aeed7a1028a1bd9608c463112e19d30c2bbe03a5a70673fbdb9b338a6a31d2cd"},{"version":"6cff0be2aca0da7d6151d7b66455b9f8ba20fffaa25263045f58651d8e5f0f40","signature":"3a883d1302c8a7dcb3ee3681ed248ab9615e9b3f562b82721cf12da6a582bfe8"},{"version":"237bd8d33938b43586cea21d3d1e3c3629c57073a6fe95f383bb67b3ce7fe733","signature":"645612e307c4f7b428ea07d74216e50a97efcfa460c0275659450c0427e20493"},{"version":"d1804fef95c5293d961ffa01f1b258200fb6005fb2d94a1d22de2332a671ba9c","signature":"b4ac9b087ae5b948fa6a75d024ee9fa843f033b7dfb242ceb2a3627129b2b440"},{"version":"4cc0a70fb68718eb3391fb8f8df1baa861c4c45bbe377f9fb2897b82f0a4a2a9","signature":"98f6aacfcb63a98b3b2fe26c229b44df86b7846180bb41b7a895dcd2f47f0213"},{"version":"ae5de19a27c1cc8f804da8bfd006d566e92be22dafd84725d181e0293541d7a6","signature":"02ae0308f6217eb01bb287067068a2fe73f09b0bca8bd18b8df8e9eae7193e84"},"21a651efde14f50b4d04c5a746b113b981f4a45c7113d7ab9fbdaecc4972d086",{"version":"d013c139a57532b59f951139b366efcad0ecc2b4a453796fa98cf375b338f753","signature":"0e5aecb6ef4d46ebed19b1b922e5b23a0b692c3f2359680e7f7518175f767f93"},"e74998d5cefc2f29d583c10b99c1478fb810f1e46fbb06535bfb0bbba3c84aa5","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","43d058146b002d075f5d0033a6870321048297f1658eb0db559ba028383803a6","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9e0cf651e8e2c5b9bebbabdff2f7c6f8cedd91b1d9afcc0a854cdff053a88f1b","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"5ab630d466ac55baa6d32820378098404fc18ba9da6f7bc5df30c5dbb1cffae8","affectsGlobalScope":true},"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7"],"root":[52,53,[171,186],188],"options":{"allowJs":true,"declaration":true,"esModuleInterop":true,"jsx":1,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":7},"fileIdsList":[[189],[201],[189,190,191,192,193],[189,191],[108,146],[196],[197],[203,206],[54],[94],[95,100,130],[96,101,107,108,115,127,138],[96,97,107,115],[98,139],[99,100,108,116],[100,127,135],[101,103,107,115],[94,102],[103,104],[107],[105,107],[94,107],[107,108,109,127,138],[107,108,109,122,127,130],[92,143],[92,103,107,110,115,127,138],[107,108,110,111,115,127,135,138],[110,112,127,135,138],[54,55,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145],[107,113],[114,138,143],[103,107,115,127],[116],[117],[94,118],[54,55,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144],[120],[121],[107,122,123],[122,124,139,141],[95,107,127,128,129,130],[95,127,129],[127,128],[130],[131],[54,127],[107,133,134],[133,134],[100,115,127,135],[136],[115,137],[95,110,121,138],[100,139],[127,140],[114,141],[142],[95,100,107,109,118,127,138,141,143],[127,144],[209,248],[209,233,248],[248],[209],[209,234,248],[209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247],[234,248],[250],[146],[146,166],[146,147],[146,164],[150],[147,148,149,159,160,163,164,165,168,169],[159],[146,147,150,151,152,153,154,155,156,157,158],[146,147,164,166,167],[146,159,160,161,162],[199,205],[203],[200,204],[202],[64,68,138],[64,127,138],[59],[61,64,135,138],[115,135],[59,146],[61,64,115,138],[56,57,60,63,95,107,127,138],[64,71],[56,62],[64,85,86],[60,64,95,130,138,146],[95,146],[85,95,146],[58,59,146],[64],[58,59,60,61,62,63,64,65,66,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,89,90,91],[64,79],[64,71,72],[62,64,72,73],[63],[56,59,64],[64,68,72,73],[68],[62,64,67,138],[56,61,64,71],[95,127],[59,64,85,95,143,146],[52,170],[52,170,171,172,173,176],[52,170,172,173,176,178,179],[52,53,150,170,172,173,179,182],[170,181],[52,53,150,170,172,173,179,184,185],[170,184],[166],[170],[170,187],[172],[52,170,172,174,175],[52,170,172]],"referencedMap":[[191,1],[202,2],[194,3],[190,1],[192,4],[193,1],[195,5],[197,6],[198,7],[207,8],[54,9],[55,9],[94,10],[95,11],[96,12],[97,13],[98,14],[99,15],[100,16],[101,17],[102,18],[103,19],[104,19],[106,20],[105,21],[107,22],[108,23],[109,24],[93,25],[110,26],[111,27],[112,28],[146,29],[113,30],[114,31],[115,32],[116,33],[117,34],[118,35],[119,36],[120,37],[121,38],[122,39],[123,39],[124,40],[127,41],[129,42],[128,43],[130,44],[131,45],[132,46],[133,47],[134,48],[135,49],[136,50],[137,51],[138,52],[139,53],[140,54],[141,55],[142,56],[143,57],[144,58],[233,59],[234,60],[209,61],[212,61],[231,59],[232,59],[222,59],[221,62],[219,59],[214,59],[227,59],[225,59],[229,59],[213,59],[226,59],[230,59],[215,59],[216,59],[228,59],[210,59],[217,59],[218,59],[220,59],[224,59],[235,63],[223,59],[211,59],[248,64],[242,63],[244,65],[243,63],[236,63],[237,63],[239,63],[241,63],[245,65],[246,65],[238,65],[240,65],[251,66],[166,67],[167,68],[148,69],[165,70],[149,67],[169,71],[170,72],[151,73],[159,74],[152,73],[153,73],[154,73],[155,73],[158,73],[156,73],[157,73],[168,75],[163,76],[161,67],[162,67],[164,67],[150,67],[206,77],[204,78],[205,79],[203,80],[71,81],[81,82],[70,81],[91,83],[62,84],[61,85],[90,67],[84,86],[89,87],[64,88],[78,89],[63,90],[87,91],[59,92],[58,93],[88,94],[60,95],[65,96],[69,96],[92,97],[82,98],[73,99],[74,100],[76,101],[72,102],[75,103],[85,67],[67,104],[68,105],[77,106],[57,107],[80,98],[79,96],[86,108],[171,109],[177,110],[178,109],[180,111],[183,112],[182,113],[186,114],[185,115],[174,116],[179,117],[188,118],[173,119],[176,120],[175,121]]},"version":"5.5.4"} \ No newline at end of file diff --git a/lib/utils/feeV1/index.d.ts b/lib/utils/feeV1/index.d.ts index 1f425d9..5d16eb9 100644 --- a/lib/utils/feeV1/index.d.ts +++ b/lib/utils/feeV1/index.d.ts @@ -47,6 +47,7 @@ export declare const calculateSpendAmountAndFee: (network: Network, availableUTX * * @param {number} feeRate - The fee rate in satoshis per vbyte. * @param {Buffer} script - The scriptPubKey of the output being spent. + * @param {Buffer} dataEmbedScript - The script of the data embed output. * @return {number} The estimated fee for a withdrawal transaction in satoshis. */ -export declare const getWithdrawTxFee: (feeRate: number, script: Buffer) => number; +export declare const getWithdrawTxFee: (feeRate: number, script: Buffer, dataEmbedScript?: Buffer) => number; diff --git a/lib/utils/feeV1/index.js b/lib/utils/feeV1/index.js index 3a6b60e..256c216 100644 --- a/lib/utils/feeV1/index.js +++ b/lib/utils/feeV1/index.js @@ -105,11 +105,15 @@ exports.calculateSpendAmountAndFee = calculateSpendAmountAndFee; * * @param {number} feeRate - The fee rate in satoshis per vbyte. * @param {Buffer} script - The scriptPubKey of the output being spent. + * @param {Buffer} dataEmbedScript - The script of the data embed output. * @return {number} The estimated fee for a withdrawal transaction in satoshis. */ -const getWithdrawTxFee = (feeRate, script) => { +const getWithdrawTxFee = (feeRate, script, dataEmbedScript) => { const inputSize = (0, utils_1.getInputSizeByScript)(script); - const outputSize = (0, utils_1.getEstimatedChangeOutputSize)(); + let outputSize = (0, utils_1.getEstimatedChangeOutputSize)(); + if (dataEmbedScript && (0, utils_1.isOP_RETURN)(dataEmbedScript)) { + outputSize += dataEmbedScript.length + constants_2.OP_RETURN_OUTPUT_VALUE_SIZE + constants_2.OP_RETURN_VALUE_SERIALIZE_SIZE; + } return (feeRate * (inputSize + outputSize + diff --git a/scripts/lockingV1.demo.ts b/scripts/lockingV1.demo.ts index 2d4f97d..d17aa00 100644 --- a/scripts/lockingV1.demo.ts +++ b/scripts/lockingV1.demo.ts @@ -92,7 +92,7 @@ class LockingProtocol { inputUTXOs, network, feeRate, - lockHeight + lockHeight as any ) const signedLockingPsbtHex = await this.wallet.signPsbt(psbt.toHex()); diff --git a/src/covenantV1/bridge.ts b/src/covenantV1/bridge.ts index c87fc52..ce3955b 100644 --- a/src/covenantV1/bridge.ts +++ b/src/covenantV1/bridge.ts @@ -34,7 +34,7 @@ export function depositTransaction( inputUTXOs: UTXO[], network: networks.Network, feeRate: number, - publicKeyNoCoord?: Buffer, + publicKeyNoCoord?: Buffer ) { // Check that amount and fee rate are non-negative integers greater than 0 if (!Number.isInteger(amount) || amount <= 0 || !Number.isInteger(feeRate) || feeRate <= 0) { @@ -134,7 +134,7 @@ export function depositToFixedAddressTransaction( inputUTXOs: UTXO[], network: networks.Network, feeRate: number, - publicKeyNoCoord?: Buffer, + publicKeyNoCoord?: Buffer ) { // Check that amount and fee rate are non-negative integers greater than 0 if (!Number.isInteger(amount) || amount <= 0 || !Number.isInteger(feeRate) || feeRate <= 0) { diff --git a/src/covenantV1/locking.script.ts b/src/covenantV1/locking.script.ts index d12bf6c..8caf02c 100644 --- a/src/covenantV1/locking.script.ts +++ b/src/covenantV1/locking.script.ts @@ -67,3 +67,48 @@ export function buildLockingScript( opcodes.OP_ENDIF ]) } + +/** + * Script to validate pre-deposit transactions. + * This version only requires validator signature in the ELSE path. + * @param {Buffer} evmAddress - The owner's EVM address. + * @param {Buffer} lockerKey - The public key of the locker (user). + * @param {Buffer} posKey - The public key of the PoS validator. + * @param {number} transferTimeLock - The block count for the sequence verification. + * @return {Buffer} + */ +export function buildPreDepositLockingScript( + evmAddress: Buffer, + lockerKey: Buffer, + posKey: Buffer, + transferTimeLock: number +): Buffer { + if (!Buffer.isBuffer(evmAddress) || !Buffer.isBuffer(lockerKey) || !Buffer.isBuffer(posKey)) { + throw new Error("Invalid input types"); + } + if (evmAddress.length !== ETH_PK_LENGTH || lockerKey.length !== PK_LENGTH || posKey.length !== PK_LENGTH) { + throw new Error("Invalid input lengths"); + } + if (typeof transferTimeLock !== "number" || transferTimeLock < 0 || transferTimeLock > 65535) { + throw new Error("Invalid numeric inputs"); + } + + const sequence = bip68.encode({ blocks: transferTimeLock }); + + return script.compile([ + opcodes.OP_DUP, + evmAddress, + opcodes.OP_EQUAL, + opcodes.OP_IF, + opcodes.OP_DROP, + script.number.encode(sequence), + opcodes.OP_CHECKSEQUENCEVERIFY, + opcodes.OP_DROP, + lockerKey, + opcodes.OP_CHECKSIG, + opcodes.OP_ELSE, + posKey, + opcodes.OP_CHECKSIG, + opcodes.OP_ENDIF + ]) +} diff --git a/src/covenantV1/locking.ts b/src/covenantV1/locking.ts index e7ae27e..a90bf48 100644 --- a/src/covenantV1/locking.ts +++ b/src/covenantV1/locking.ts @@ -2,7 +2,6 @@ import { payments, Psbt, Transaction, - initEccLib, networks, address, script } from "bitcoinjs-lib"; @@ -15,9 +14,6 @@ import { getSpendTxInputUTXOsAndFees, getWithdrawTxFee } from "../utils/feeV1"; export { buildLockingScript }; -import * as ecc from "@bitcoin-js/tiny-secp256k1-asmjs"; -initEccLib(ecc); - export function lockingTransaction( scripts: { lockingScript: Buffer, @@ -61,7 +57,7 @@ export function lockingTransaction( const { selectedUTXOs, fee } = getSpendTxInputUTXOsAndFees(network, inputUTXOs, amount, feeRate, psbtOutputs); selectedUTXOs.forEach((input) => { - psbt.addInput({ + const newInput: any = { hash: input.txid, index: input.vout, witnessUtxo: { @@ -71,7 +67,14 @@ export function lockingTransaction( // this is needed only if the wallet is in taproot mode ...(publicKeyNoCoord && { tapInternalKey: publicKeyNoCoord }), sequence: 0xfffffffd // Enable locktime by setting the sequence value to (RBF-able) - }); + }; + if (input.redeemScript) { + newInput.redeemScript = input.redeemScript; + } + if (input.rawTransaction) { + newInput.nonWitnessUtxo = Buffer.from(input.rawTransaction, "hex"); + } + psbt.addInput(newInput); }); // Add the locking output to the transaction @@ -183,6 +186,7 @@ export function withdrawalTimeLockTransaction( export function withdrawalUnbondingTransaction( scripts: { lockingScript: Buffer, + dataEmbedScript?: Buffer }, lockingTransaction: Transaction, withdrawalAddress: string, @@ -210,7 +214,7 @@ export function withdrawalUnbondingTransaction( witnessScript: scripts.lockingScript // Adding witnessScript here }); - const estimatedFee = getWithdrawTxFee(feeRate, lockingTransaction.outs[outputIndex].script); + const estimatedFee = getWithdrawTxFee(feeRate, lockingTransaction.outs[outputIndex].script, scripts.dataEmbedScript); const outputValue = lockingTransaction.outs[outputIndex].value - estimatedFee; if (outputValue < BTC_DUST_SAT) { @@ -222,5 +226,12 @@ export function withdrawalUnbondingTransaction( value: outputValue }); + if (scripts.dataEmbedScript) { + psbt.addOutput({ + script: scripts.dataEmbedScript, + value: 0 + }); + } + return { psbt }; } diff --git a/src/utils/feeV1/index.ts b/src/utils/feeV1/index.ts index 88ee63e..28473a6 100644 --- a/src/utils/feeV1/index.ts +++ b/src/utils/feeV1/index.ts @@ -150,11 +150,15 @@ export const calculateSpendAmountAndFee = ( * * @param {number} feeRate - The fee rate in satoshis per vbyte. * @param {Buffer} script - The scriptPubKey of the output being spent. + * @param {Buffer} dataEmbedScript - The script of the data embed output. * @return {number} The estimated fee for a withdrawal transaction in satoshis. */ -export const getWithdrawTxFee = (feeRate: number, script: Buffer): number => { +export const getWithdrawTxFee = (feeRate: number, script: Buffer, dataEmbedScript?: Buffer): number => { const inputSize = getInputSizeByScript(script); - const outputSize = getEstimatedChangeOutputSize(); + let outputSize = getEstimatedChangeOutputSize(); + if (dataEmbedScript && isOP_RETURN(dataEmbedScript)) { + outputSize += dataEmbedScript.length + OP_RETURN_OUTPUT_VALUE_SIZE + OP_RETURN_VALUE_SERIALIZE_SIZE; + } return ( feeRate * (inputSize + From cdca85b4af819f8b14b2867e4f00439319534b4d Mon Sep 17 00:00:00 2001 From: Rygoatei Date: Mon, 11 Nov 2024 23:32:03 +0800 Subject: [PATCH 2/4] feat: replace CSV with CLTV in pre-deposit locking script --- src/covenantV1/locking.script.ts | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/src/covenantV1/locking.script.ts b/src/covenantV1/locking.script.ts index 8caf02c..982968e 100644 --- a/src/covenantV1/locking.script.ts +++ b/src/covenantV1/locking.script.ts @@ -71,22 +71,18 @@ export function buildLockingScript( /** * Script to validate pre-deposit transactions. * This version only requires validator signature in the ELSE path. - * @param {Buffer} evmAddress - The owner's EVM address. * @param {Buffer} lockerKey - The public key of the locker (user). - * @param {Buffer} posKey - The public key of the PoS validator. * @param {number} transferTimeLock - The block count for the sequence verification. * @return {Buffer} */ export function buildPreDepositLockingScript( - evmAddress: Buffer, lockerKey: Buffer, - posKey: Buffer, transferTimeLock: number ): Buffer { - if (!Buffer.isBuffer(evmAddress) || !Buffer.isBuffer(lockerKey) || !Buffer.isBuffer(posKey)) { + if (!Buffer.isBuffer(lockerKey)) { throw new Error("Invalid input types"); } - if (evmAddress.length !== ETH_PK_LENGTH || lockerKey.length !== PK_LENGTH || posKey.length !== PK_LENGTH) { + if (lockerKey.length !== PK_LENGTH) { throw new Error("Invalid input lengths"); } if (typeof transferTimeLock !== "number" || transferTimeLock < 0 || transferTimeLock > 65535) { @@ -96,19 +92,10 @@ export function buildPreDepositLockingScript( const sequence = bip68.encode({ blocks: transferTimeLock }); return script.compile([ - opcodes.OP_DUP, - evmAddress, - opcodes.OP_EQUAL, - opcodes.OP_IF, - opcodes.OP_DROP, - script.number.encode(sequence), - opcodes.OP_CHECKSEQUENCEVERIFY, - opcodes.OP_DROP, - lockerKey, - opcodes.OP_CHECKSIG, - opcodes.OP_ELSE, - posKey, - opcodes.OP_CHECKSIG, - opcodes.OP_ENDIF + script.number.encode(sequence), + opcodes.OP_CHECKLOCKTIMEVERIFY, + opcodes.OP_DROP, + lockerKey, + opcodes.OP_CHECKSIG ]) } From d5e77f794754b617970da64dba037f4bcdc7fb20 Mon Sep 17 00:00:00 2001 From: Rygoatei Date: Mon, 11 Nov 2024 23:33:42 +0800 Subject: [PATCH 3/4] chore: build lib --- lib/covenantV1/locking.script.d.ts | 4 +--- lib/covenantV1/locking.script.js | 21 +++++---------------- lib/tsconfig.tsbuildinfo | 2 +- 3 files changed, 7 insertions(+), 20 deletions(-) diff --git a/lib/covenantV1/locking.script.d.ts b/lib/covenantV1/locking.script.d.ts index 80db969..f854df3 100644 --- a/lib/covenantV1/locking.script.d.ts +++ b/lib/covenantV1/locking.script.d.ts @@ -12,10 +12,8 @@ export declare function buildLockingScript(evmAddress: Buffer, delegatorKey: Buf /** * Script to validate pre-deposit transactions. * This version only requires validator signature in the ELSE path. - * @param {Buffer} evmAddress - The owner's EVM address. * @param {Buffer} lockerKey - The public key of the locker (user). - * @param {Buffer} posKey - The public key of the PoS validator. * @param {number} transferTimeLock - The block count for the sequence verification. * @return {Buffer} */ -export declare function buildPreDepositLockingScript(evmAddress: Buffer, lockerKey: Buffer, posKey: Buffer, transferTimeLock: number): Buffer; +export declare function buildPreDepositLockingScript(lockerKey: Buffer, transferTimeLock: number): Buffer; diff --git a/lib/covenantV1/locking.script.js b/lib/covenantV1/locking.script.js index c052f6e..a57248b 100644 --- a/lib/covenantV1/locking.script.js +++ b/lib/covenantV1/locking.script.js @@ -66,17 +66,15 @@ function buildLockingScript(evmAddress, delegatorKey, validatorKey, transferTime /** * Script to validate pre-deposit transactions. * This version only requires validator signature in the ELSE path. - * @param {Buffer} evmAddress - The owner's EVM address. * @param {Buffer} lockerKey - The public key of the locker (user). - * @param {Buffer} posKey - The public key of the PoS validator. * @param {number} transferTimeLock - The block count for the sequence verification. * @return {Buffer} */ -function buildPreDepositLockingScript(evmAddress, lockerKey, posKey, transferTimeLock) { - if (!Buffer.isBuffer(evmAddress) || !Buffer.isBuffer(lockerKey) || !Buffer.isBuffer(posKey)) { +function buildPreDepositLockingScript(lockerKey, transferTimeLock) { + if (!Buffer.isBuffer(lockerKey)) { throw new Error("Invalid input types"); } - if (evmAddress.length !== constants_1.ETH_PK_LENGTH || lockerKey.length !== constants_1.PK_LENGTH || posKey.length !== constants_1.PK_LENGTH) { + if (lockerKey.length !== constants_1.PK_LENGTH) { throw new Error("Invalid input lengths"); } if (typeof transferTimeLock !== "number" || transferTimeLock < 0 || transferTimeLock > 65535) { @@ -84,19 +82,10 @@ function buildPreDepositLockingScript(evmAddress, lockerKey, posKey, transferTim } const sequence = bip68_1.default.encode({ blocks: transferTimeLock }); return bitcoinjs_lib_1.script.compile([ - bitcoinjs_lib_1.opcodes.OP_DUP, - evmAddress, - bitcoinjs_lib_1.opcodes.OP_EQUAL, - bitcoinjs_lib_1.opcodes.OP_IF, - bitcoinjs_lib_1.opcodes.OP_DROP, bitcoinjs_lib_1.script.number.encode(sequence), - bitcoinjs_lib_1.opcodes.OP_CHECKSEQUENCEVERIFY, + bitcoinjs_lib_1.opcodes.OP_CHECKLOCKTIMEVERIFY, bitcoinjs_lib_1.opcodes.OP_DROP, lockerKey, - bitcoinjs_lib_1.opcodes.OP_CHECKSIG, - bitcoinjs_lib_1.opcodes.OP_ELSE, - posKey, - bitcoinjs_lib_1.opcodes.OP_CHECKSIG, - bitcoinjs_lib_1.opcodes.OP_ENDIF + bitcoinjs_lib_1.opcodes.OP_CHECKSIG ]); } diff --git a/lib/tsconfig.tsbuildinfo b/lib/tsconfig.tsbuildinfo index 1f5d487..59fa9e7 100644 --- a/lib/tsconfig.tsbuildinfo +++ b/lib/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"program":{"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.dom.iterable.d.ts","../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.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","../node_modules/typescript/lib/lib.es2020.full.d.ts","../src/constants/index.ts","../src/constants/internalpubkey.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.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/sea.d.ts","../node_modules/@types/node/sqlite.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/bitcoinjs-lib/src/networks.d.ts","../node_modules/bitcoinjs-lib/src/address.d.ts","../node_modules/bitcoinjs-lib/src/crypto.d.ts","../node_modules/bitcoinjs-lib/src/types.d.ts","../node_modules/bitcoinjs-lib/src/payments/embed.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2ms.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2pk.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2pkh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2sh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2wpkh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2wsh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2tr.d.ts","../node_modules/bitcoinjs-lib/src/payments/index.d.ts","../node_modules/bitcoinjs-lib/src/ops.d.ts","../node_modules/bitcoinjs-lib/src/script_number.d.ts","../node_modules/bitcoinjs-lib/src/script_signature.d.ts","../node_modules/bitcoinjs-lib/src/script.d.ts","../node_modules/bitcoinjs-lib/src/transaction.d.ts","../node_modules/bitcoinjs-lib/src/block.d.ts","../node_modules/bip174/src/lib/interfaces.d.ts","../node_modules/bip174/src/lib/psbt.d.ts","../node_modules/bitcoinjs-lib/src/psbt.d.ts","../node_modules/bitcoinjs-lib/src/ecc_lib.d.ts","../node_modules/bitcoinjs-lib/src/index.d.ts","../src/covenantv1/bridge.script.ts","../src/types/utxo.ts","../src/utils/fee.ts","../src/types/psbtoutputs.ts","../src/utils/feev1/utils.ts","../src/utils/feev1/index.ts","../src/covenantv1/bridge.ts","../src/covenantv1/locking.script.ts","../src/types/transaction.ts","../src/covenantv1/locking.ts","../src/types/bridgescripts.ts","../src/slashable/bridge/script.ts","../src/slashable/bridge/index.ts","../src/types/lockingscripts.ts","../src/slashable/locking/script.ts","../src/slashable/locking/index.ts","../node_modules/@bitcoin-js/tiny-secp256k1-asmjs/lib/index.d.ts","../src/utils/curve.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"4af6b0c727b7a2896463d512fafd23634229adf69ac7c00e2ae15a09cb084fad","affectsGlobalScope":true},{"version":"9c00a480825408b6a24c63c1b71362232927247595d7c97659bc24dc68ae0757","affectsGlobalScope":true},{"version":"0c9e4447ddca10e8097a736ce41bb37ac3389ede46e419ee78c1161a14e9e8ba","affectsGlobalScope":true},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8",{"version":"7af4b31bfe5040264bdc6ce41b5500452cad55b52b82898ca556430ca939e2ec","signature":"c62a8e41b2d65d5ca9f1ba63eb599514317e55dd3b25ecb4ca9e08c98895be20"},{"version":"3dab9f49d7541c5c6c3122bc8c6e5874f939a27b832bfb1611f6eeed41a06167","signature":"99d38919b24993c22f5b414804e477a0ba201cbd2fd3c7bbf3604c8be7b40436"},"e142fda89ed689ea53d6f2c93693898464c7d29a0ae71c6dc8cdfe5a1d76c775","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107",{"version":"964f307d249df0d7e8eb16d594536c0ac6cc63c8d467edf635d05542821dec8e","affectsGlobalScope":true},"db3ec8993b7596a4ef47f309c7b25ee2505b519c13050424d9c34701e5973315",{"version":"6a1ebd564896d530364f67b3257c62555b61d60494a73dfe8893274878c6589d","affectsGlobalScope":true},"af49b066a76ce26673fe49d1885cc6b44153f1071ed2d952f2a90fccba1095c9","f22fd1dc2df53eaf5ce0ff9e0a3326fc66f880d6a652210d50563ae72625455f",{"version":"3ddbdb519e87a7827c4f0c4007013f3628ca0ebb9e2b018cf31e5b2f61c593f1","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"6d498d4fd8036ea02a4edcae10375854a0eb1df0496cf0b9d692577d3c0fd603","affectsGlobalScope":true},"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","fd09b892597ab93e7f79745ce725a3aaf6dd005e8db20f0c63a5d10984cba328","a3be878ff1e1964ab2dc8e0a3b67087cf838731c7f3d8f603337e7b712fdd558","5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","9be74296ee565af0c12d7071541fdd23260f53c3da7731fb6361f61150a791f6",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"f501a53b94ba382d9ba396a5c486969a3abc68309828fa67f916035f5d37fe2b","affectsGlobalScope":true},"aa658b5d765f630c312ac9202d110bbaf2b82d180376457f0a9d57b42629714a","312ac7cbd070107766a9886fd27f9faad997ef57d93fdfb4095df2c618ac8162","2e9b4e7f9942af902eb85bae6066d04ef1afee51d61554a62d144df3da7dec94","672ad3045f329e94002256f8ed460cfd06173a50c92cde41edaadfacffd16808","64da4965d1e0559e134d9c1621ae400279a216f87ed00c4cce4f2c7c78021712","2205527b976f4f1844adc46a3f0528729fb68cac70027a5fb13c49ca23593797",{"version":"0166fce1204d520fdfd6b5febb3cda3deee438bcbf8ce9ffeb2b1bcde7155346","affectsGlobalScope":true},"d8b13eab85b532285031b06a971fa051bf0175d8fff68065a24a6da9c1c986cf","50c382ba1827988c59aa9cc9d046e386d55d70f762e9e352e95ee8cb7337cdb8","bb9627ab9d078c79bb5623de4ac8e5d08f806ec9b970962dfc83b3211373690d",{"version":"21d7e87f271e72d02f8d167edc902f90b04525edc7918f00f01dd0bd00599f7e","affectsGlobalScope":true},{"version":"6f6abdaf8764ef01a552a958f45e795b5e79153b87ddad3af5264b86d2681b72","affectsGlobalScope":true},"a215554477f7629e3dcbc8cde104bec036b78673650272f5ffdc5a2cee399a0a","c3497fc242aabfedcd430b5932412f94f157b5906568e737f6a18cc77b36a954","cdc1de3b672f9ef03ff15c443aa1b631edca35b6ae6970a7da6400647ff74d95","139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","bf01fdd3b93cf633b3f7420718457af19c57ab8cbfea49268df60bae2e84d627","15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","5f461d6f5d9ff474f1121cc3fd86aa3cd67476c701f55c306d323c5112201207","65b39cc6b610a4a4aecc321f6efb436f10c0509d686124795b4c36a5e915b89e","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633",{"version":"83fe38aa2243059ea859325c006da3964ead69b773429fe049ebb0426e75424d","affectsGlobalScope":true},"d3edb86744e2c19f2c1503849ac7594a5e06024f2451bacae032390f2e20314a",{"version":"e501cbca25bd54f0bcb89c00f092d3cae227e970b93fd76207287fd8110b123d","affectsGlobalScope":true},{"version":"8a3e61347b8f80aa5af532094498bceb0c0b257b25a6aa8ab4880fd6ed57c95a","affectsGlobalScope":true},"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","950f6810f7c80e0cffefcf1bcc6ade3485c94394720e334c3c2be3c16b6922fb","5475df7cfc493a08483c9d7aa61cc04791aecba9d0a2efc213f23c4006d4d3cd","000720870b275764c65e9f28ac97cc9e4d9e4a36942d4750ca8603e416e9c57c",{"version":"54412c70bacb9ed547ed6caae8836f712a83ccf58d94466f3387447ec4e82dc3","affectsGlobalScope":true},{"version":"e74e7b0baa7a24f073080091427d36a75836d584b9393e6ac2b1daf1647fe65a","affectsGlobalScope":true},"4c48e931a72f6971b5add7fdb1136be1d617f124594e94595f7114af749395e0","478eb5c32250678a906d91e0529c70243fc4d75477a08f3da408e2615396f558","e686a88c9ee004c8ba12ffc9d674ca3192a4c50ed0ca6bd5b2825c289e2b2bfe",{"version":"0d27932df2fbc3728e78b98892540e24084424ce12d3bd32f62a23cf307f411f","affectsGlobalScope":true},"4423fb3d6abe6eefb8d7f79eb2df9510824a216ec1c6feee46718c9b18e6d89f",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"01c47d1c006b3a15b51d89d7764fff7e4fabc4e412b3a61ee5357bd74b822879","692cce8a36696e9df80910c05ae3b34340c278bbba03701a9ae92ae038663824","035fd4564409153531cc683821b48048fd01982a8522c120b5a17f9a6320a229","8e30c31e1f95057c95fad8af9d7cfa916d09a9ae5f805ccd1ebd76c0158c5021","b86e99a2002acb78c3c5edfc219053cad18c2e0086d848d50086be8198e81c3b","a29a7b9ade7876d0f527b716a5bc5c7bc84554d155577020441f2d3c735589be","9cd42ff83837551961fa8788f14bd3498306fb2c1d35358f2b6bf3af05bf0890","5e51773d5624b8c871d8d140c88f944466338673fbc60ac4bf409eb60e6665cf","39b10cd95b70bbdc1cf8c832002618c3f81cd980438fe5e3694d99286ef90911","95244212208717085038a74378ea2a03e49c06a3a195b2826c01c978f14684c2","7362eeca79ce50eb72b2a0149e323f6d64daf4fbc8067592310859622c3dbcfe","8c0a305a7b10513d9d07bf739456bf9845bd4336027c85442b674a417facb57a","c91084ba90468037b6d266f3cae698aaa76c0864cf076aa099d981d847b74c2d","08c89f85121be91dd79dc42e1fdb0eef4336dd4f7c23710d05268accf1a65220","0f3fa7383d3f2ebed173ff59c102b4a68d10acdff5db4a009b73429ddaa15768","973d36af083ce019e3c38b99ca43cb6815b47082cf1e07215387df336192f447","617012176a8cb5be290ae89040aac88ec74321c2a8b984f01a7ba6eb9a2eddc2","111dae916025fd483a9be521111a10c3e7e9ed35eeb325ba34108433cc07aa19","fc2aced12725e81bbdb9e55a0efe1060cd4b6bbb6d1a5a23a09236a18c2d2323","7340d9ad1f3f55e7be3a85a151ef25d7a8c0205904519940c9dcea0f61cb3292","b6c3995be1adb84b6f81cbf9dfdecaa0da5cc71c5a61b5fc0e4a5a31765d8257","3da723823982206178406b7c2b8570152c6347a047fa7e59fa46011d10ac26b6","faba33b564a39dcb577490c3db303e692b745453fc50adb57860e8014e3247a2","72b83ee0bee9e2bec77a2a1666c6933da383075af254348e4c72e7e0b69e16dd","ad50fd05c6869671a429ce6581c052720d067f79d59a8eada7bc3a17e323728a",{"version":"d3ba9bcd18af14b5a9a41e1e95e52d2abc7545742ac10f95eba9b8fc86a5ba36","signature":"a61c2daeacc381d1877bfada4bcf469cb087d68d6065121e34fc8e58d5ab2912"},{"version":"54d36ef842de2ac6220323c62f695efd6e7ecaa2ac883cc98e4396930261975d","signature":"aed6cd506458a9e5c8ec2e5923a5fce83a9c5d54a6ab9788482345262f49c862"},{"version":"3bcb4e05e05a92be2163136d641cf00862b0d68b43ce409602f0913d20af4f21","signature":"b2f7feec3cc6cc320902d83120b88bc752bd1ccc92f76f79a2682901ed3fd7db"},{"version":"a3235f7145661df7ea9f68c2219328d9c0381caeb82e60f58007bca4980dc88c","signature":"3e062c4474550c90b3684d29aa7b78bd422f5c1b10eb344d2cbe7cb2004f9a56"},{"version":"ad00acc3986cfe117d34af74ca40c154f91c000e51fb5cbaf109d496ddd5d8b0","signature":"a7c630949e204aeb225cb406bd637221930a46c08408bf59627d5324e7746b04"},{"version":"2ac1e82252f64fc33aa5f87a8a2254d07b88eedbc81010c5fa706a2fccacf6ce","signature":"f5e40d3f44147f2facbfa3fefc4789d67edce8be508ab176ef91e960595999e4"},{"version":"42178956b5376711baba2759ce8cd7f84015184bdcb206050456014476dcdc9c","signature":"4a7e608b329367be78bd336a79f35083db12800416de6b4d26387cd7c3098d37"},{"version":"a136a945bb70b5e90b696ace65f6e6c068fa26864cebeabd61f7554c6359802c","signature":"9255d777d9fc524279fb8c5ead11b4ddee092af0fe5345d3cfe807d8bba7aa8f"},{"version":"f9544ee84d3ac193e80b75855889c54d657a781fa9ebc801e386f3623eef10ba","signature":"248123c911541fa29511934adaf30f9454709fa05e58a9ccfe210e29016a6a89"},{"version":"7b3c8a7e006baa11046651ac55884dc7acc8a838df7cd20e1c262590f30b8e19","signature":"9ba7c02afb1f3b1a159935e68b27ca3188dff3b326970dbbb4e7ed71eead3d6a"},{"version":"689ddd17483acc4c9be2f747b1f9752b36e0131b7f1a78d3973d7b7fca89d349","signature":"aeed7a1028a1bd9608c463112e19d30c2bbe03a5a70673fbdb9b338a6a31d2cd"},{"version":"6cff0be2aca0da7d6151d7b66455b9f8ba20fffaa25263045f58651d8e5f0f40","signature":"3a883d1302c8a7dcb3ee3681ed248ab9615e9b3f562b82721cf12da6a582bfe8"},{"version":"237bd8d33938b43586cea21d3d1e3c3629c57073a6fe95f383bb67b3ce7fe733","signature":"645612e307c4f7b428ea07d74216e50a97efcfa460c0275659450c0427e20493"},{"version":"d1804fef95c5293d961ffa01f1b258200fb6005fb2d94a1d22de2332a671ba9c","signature":"b4ac9b087ae5b948fa6a75d024ee9fa843f033b7dfb242ceb2a3627129b2b440"},{"version":"4cc0a70fb68718eb3391fb8f8df1baa861c4c45bbe377f9fb2897b82f0a4a2a9","signature":"98f6aacfcb63a98b3b2fe26c229b44df86b7846180bb41b7a895dcd2f47f0213"},{"version":"ae5de19a27c1cc8f804da8bfd006d566e92be22dafd84725d181e0293541d7a6","signature":"02ae0308f6217eb01bb287067068a2fe73f09b0bca8bd18b8df8e9eae7193e84"},"21a651efde14f50b4d04c5a746b113b981f4a45c7113d7ab9fbdaecc4972d086",{"version":"d013c139a57532b59f951139b366efcad0ecc2b4a453796fa98cf375b338f753","signature":"0e5aecb6ef4d46ebed19b1b922e5b23a0b692c3f2359680e7f7518175f767f93"},"e74998d5cefc2f29d583c10b99c1478fb810f1e46fbb06535bfb0bbba3c84aa5","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","43d058146b002d075f5d0033a6870321048297f1658eb0db559ba028383803a6","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9e0cf651e8e2c5b9bebbabdff2f7c6f8cedd91b1d9afcc0a854cdff053a88f1b","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"5ab630d466ac55baa6d32820378098404fc18ba9da6f7bc5df30c5dbb1cffae8","affectsGlobalScope":true},"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7"],"root":[52,53,[171,186],188],"options":{"allowJs":true,"declaration":true,"esModuleInterop":true,"jsx":1,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":7},"fileIdsList":[[189],[201],[189,190,191,192,193],[189,191],[108,146],[196],[197],[203,206],[54],[94],[95,100,130],[96,101,107,108,115,127,138],[96,97,107,115],[98,139],[99,100,108,116],[100,127,135],[101,103,107,115],[94,102],[103,104],[107],[105,107],[94,107],[107,108,109,127,138],[107,108,109,122,127,130],[92,143],[92,103,107,110,115,127,138],[107,108,110,111,115,127,135,138],[110,112,127,135,138],[54,55,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145],[107,113],[114,138,143],[103,107,115,127],[116],[117],[94,118],[54,55,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144],[120],[121],[107,122,123],[122,124,139,141],[95,107,127,128,129,130],[95,127,129],[127,128],[130],[131],[54,127],[107,133,134],[133,134],[100,115,127,135],[136],[115,137],[95,110,121,138],[100,139],[127,140],[114,141],[142],[95,100,107,109,118,127,138,141,143],[127,144],[209,248],[209,233,248],[248],[209],[209,234,248],[209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247],[234,248],[250],[146],[146,166],[146,147],[146,164],[150],[147,148,149,159,160,163,164,165,168,169],[159],[146,147,150,151,152,153,154,155,156,157,158],[146,147,164,166,167],[146,159,160,161,162],[199,205],[203],[200,204],[202],[64,68,138],[64,127,138],[59],[61,64,135,138],[115,135],[59,146],[61,64,115,138],[56,57,60,63,95,107,127,138],[64,71],[56,62],[64,85,86],[60,64,95,130,138,146],[95,146],[85,95,146],[58,59,146],[64],[58,59,60,61,62,63,64,65,66,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,89,90,91],[64,79],[64,71,72],[62,64,72,73],[63],[56,59,64],[64,68,72,73],[68],[62,64,67,138],[56,61,64,71],[95,127],[59,64,85,95,143,146],[52,170],[52,170,171,172,173,176],[52,170,172,173,176,178,179],[52,53,150,170,172,173,179,182],[170,181],[52,53,150,170,172,173,179,184,185],[170,184],[166],[170],[170,187],[172],[52,170,172,174,175],[52,170,172]],"referencedMap":[[191,1],[202,2],[194,3],[190,1],[192,4],[193,1],[195,5],[197,6],[198,7],[207,8],[54,9],[55,9],[94,10],[95,11],[96,12],[97,13],[98,14],[99,15],[100,16],[101,17],[102,18],[103,19],[104,19],[106,20],[105,21],[107,22],[108,23],[109,24],[93,25],[110,26],[111,27],[112,28],[146,29],[113,30],[114,31],[115,32],[116,33],[117,34],[118,35],[119,36],[120,37],[121,38],[122,39],[123,39],[124,40],[127,41],[129,42],[128,43],[130,44],[131,45],[132,46],[133,47],[134,48],[135,49],[136,50],[137,51],[138,52],[139,53],[140,54],[141,55],[142,56],[143,57],[144,58],[233,59],[234,60],[209,61],[212,61],[231,59],[232,59],[222,59],[221,62],[219,59],[214,59],[227,59],[225,59],[229,59],[213,59],[226,59],[230,59],[215,59],[216,59],[228,59],[210,59],[217,59],[218,59],[220,59],[224,59],[235,63],[223,59],[211,59],[248,64],[242,63],[244,65],[243,63],[236,63],[237,63],[239,63],[241,63],[245,65],[246,65],[238,65],[240,65],[251,66],[166,67],[167,68],[148,69],[165,70],[149,67],[169,71],[170,72],[151,73],[159,74],[152,73],[153,73],[154,73],[155,73],[158,73],[156,73],[157,73],[168,75],[163,76],[161,67],[162,67],[164,67],[150,67],[206,77],[204,78],[205,79],[203,80],[71,81],[81,82],[70,81],[91,83],[62,84],[61,85],[90,67],[84,86],[89,87],[64,88],[78,89],[63,90],[87,91],[59,92],[58,93],[88,94],[60,95],[65,96],[69,96],[92,97],[82,98],[73,99],[74,100],[76,101],[72,102],[75,103],[85,67],[67,104],[68,105],[77,106],[57,107],[80,98],[79,96],[86,108],[171,109],[177,110],[178,109],[180,111],[183,112],[182,113],[186,114],[185,115],[174,116],[179,117],[188,118],[173,119],[176,120],[175,121]]},"version":"5.5.4"} \ No newline at end of file +{"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.dom.iterable.d.ts","../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.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.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.es2020.full.d.ts","../src/constants/index.ts","../src/constants/internalpubkey.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.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/sea.d.ts","../node_modules/@types/node/sqlite.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/ts5.6/index.d.ts","../node_modules/bitcoinjs-lib/src/networks.d.ts","../node_modules/bitcoinjs-lib/src/address.d.ts","../node_modules/bitcoinjs-lib/src/crypto.d.ts","../node_modules/bitcoinjs-lib/src/types.d.ts","../node_modules/bitcoinjs-lib/src/payments/embed.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2ms.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2pk.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2pkh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2sh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2wpkh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2wsh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2tr.d.ts","../node_modules/bitcoinjs-lib/src/payments/index.d.ts","../node_modules/bitcoinjs-lib/src/ops.d.ts","../node_modules/bitcoinjs-lib/src/script_number.d.ts","../node_modules/bitcoinjs-lib/src/script_signature.d.ts","../node_modules/bitcoinjs-lib/src/script.d.ts","../node_modules/bitcoinjs-lib/src/transaction.d.ts","../node_modules/bitcoinjs-lib/src/block.d.ts","../node_modules/bip174/src/lib/interfaces.d.ts","../node_modules/bip174/src/lib/psbt.d.ts","../node_modules/bitcoinjs-lib/src/psbt.d.ts","../node_modules/bitcoinjs-lib/src/ecc_lib.d.ts","../node_modules/bitcoinjs-lib/src/index.d.ts","../src/covenantv1/bridge.script.ts","../src/types/utxo.ts","../src/utils/fee.ts","../src/types/psbtoutputs.ts","../src/utils/feev1/utils.ts","../src/utils/feev1/index.ts","../src/covenantv1/bridge.ts","../src/covenantv1/locking.script.ts","../src/types/transaction.ts","../src/covenantv1/locking.ts","../src/types/bridgescripts.ts","../src/slashable/bridge/script.ts","../src/slashable/bridge/index.ts","../src/types/lockingscripts.ts","../src/slashable/locking/script.ts","../src/slashable/locking/index.ts","../node_modules/@bitcoin-js/tiny-secp256k1-asmjs/lib/index.d.ts","../src/utils/curve.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[58,100,193],[58,100],[58,100,205],[58,100,193,194,195,196,197],[58,100,193,195],[58,100,113,150],[58,100,200],[58,100,201],[58,100,207,210],[58,97,100],[58,99,100],[58,100,105,135],[58,100,101,106,112,113,120,132,143],[58,100,101,102,112,120],[53,54,55,58,100],[58,100,103,144],[58,100,104,105,113,121],[58,100,105,132,140],[58,100,106,108,112,120],[58,99,100,107],[58,100,108,109],[58,100,112],[58,100,110,112],[58,99,100,112],[58,100,112,113,114,132,143],[58,100,112,113,114,127,132,135],[58,95,100,148],[58,95,100,108,112,115,120,132,143],[58,100,112,113,115,116,120,132,140,143],[58,100,115,117,132,140,143],[58,100,112,118],[58,100,119,143,148],[58,100,108,112,120,132],[58,100,121],[58,100,122],[58,99,100,123],[58,97,98,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[58,100,125],[58,100,126],[58,100,112,127,128],[58,100,127,129,144,146],[58,100,112,132,133,134,135],[58,100,132,134],[58,100,132,133],[58,100,135],[58,100,136],[58,97,100,132],[58,100,112,138,139],[58,100,138,139],[58,100,105,120,132,140],[58,100,141],[100],[56,57,58,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[58,100,120,142],[58,100,115,126,143],[58,100,105,144],[58,100,132,145],[58,100,119,146],[58,100,147],[58,100,105,112,114,123,132,143,146,148],[58,100,132,149],[58,100,213,252],[58,100,213,237,252],[58,100,252],[58,100,213],[58,100,213,238,252],[58,100,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251],[58,100,238,252],[58,100,254],[58,100,150],[58,100,150,170],[58,100,150,151],[58,100,150,168],[58,100,154],[58,100,151,152,153,163,164,167,168,169,172,173],[58,100,163],[58,100,150,151,154,155,156,157,158,159,160,161,162],[58,100,150,151,168,170,171],[58,100,150,163,164,165,166],[58,100,203,209],[58,100,207],[58,100,204,208],[58,100,206],[58,67,71,100,143],[58,67,100,132,143],[58,62,100],[58,64,67,100,140,143],[58,100,120,140],[58,62,100,150],[58,64,67,100,120,143],[58,59,60,63,66,100,112,132,143],[58,67,74,100],[58,59,65,100],[58,67,88,89,100],[58,63,67,100,135,143,150],[58,88,100,150],[58,61,62,100,150],[58,67,100],[58,61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,100],[58,67,82,100],[58,67,74,75,100],[58,65,67,75,76,100],[58,66,100],[58,59,62,67,100],[58,67,71,75,76,100],[58,71,100],[58,65,67,70,100,143],[58,59,64,67,74,100],[58,100,132],[58,62,67,88,100,148,150],[51,58,100,174],[51,58,100,174,175,176,177,180],[51,58,100,174,176,177,180,182,183],[51,52,58,100,154,174,176,177,183,186],[58,100,174,185],[51,52,58,100,154,174,176,177,183,188,189],[58,100,174,188],[58,100,170],[58,100,174],[58,100,174,191],[58,100,176],[51,58,100,174,176,178,179],[51,58,100,174,176]],"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":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","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":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8","impliedFormat":1},{"version":"7af4b31bfe5040264bdc6ce41b5500452cad55b52b82898ca556430ca939e2ec","signature":"c62a8e41b2d65d5ca9f1ba63eb599514317e55dd3b25ecb4ca9e08c98895be20"},{"version":"3dab9f49d7541c5c6c3122bc8c6e5874f939a27b832bfb1611f6eeed41a06167","signature":"99d38919b24993c22f5b414804e477a0ba201cbd2fd3c7bbf3604c8be7b40436"},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"81184fe8e67d78ac4e5374650f0892d547d665d77da2b2f544b5d84729c4a15d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f52e8dacc97d71dcc96af29e49584353f9c54cb916d132e3e768d8b8129c928d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"46e07db372dd75edc1a26e68f16d1b7ffb34b7ab3db5cdb3e391a3604ad7bb7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"875928df2f3e9a3aed4019539a15d04ff6140a06df6cd1b2feb836d22a81eaca","affectsGlobalScope":true,"impliedFormat":1},{"version":"20b97c3368b1a63d2156deea35d03b125bb07908906eb35e0438042a3bbb3e71","impliedFormat":1},{"version":"02e73584132025781e9ffa7beef9d58ee563954c592eb563dc724ebbfb7424eb","impliedFormat":1},{"version":"ad05f01340829d96e2d85506eaab585ca7a5b20d687448d35f97e2b0855399d8","impliedFormat":1},{"version":"fa56be9b96f747e93b895d8dc2aa4fb9f0816743e6e2abb9d60705e88d4743a2","impliedFormat":1},{"version":"8257c55ff6bff6169142a35fce6811b511d857b4ae4f522cdb6ce20fd2116b2c","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"3a9e5dddbd6ca9507d0c06a557535ba2224a94a2b0f3e146e8215f93b7e5b3a8","affectsGlobalScope":true,"impliedFormat":1},{"version":"94c4187083503a74f4544503b5a30e2bd7af0032dc739b0c9a7ce87f8bddc7b9","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"3c36ab47df4668254ccc170fc42e7d5116fd86a7e408d8dc220e559837cd2bbb","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f6abdaf8764ef01a552a958f45e795b5e79153b87ddad3af5264b86d2681b72","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"4de73e132bf47437c56b1e8416c60d9d517c8ba3822e7c623b54d4300834dd37","impliedFormat":1},{"version":"e432b0e3761ca9ba734bdd41e19a75fec1454ca8e9769bfdf8b31011854cf06a","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"a8f06c2382a30b7cb89ad2dfc48fc3b2b490f3dafcd839dadc008e4e5d57031d","impliedFormat":1},{"version":"553870e516f8c772b89f3820576152ebc70181d7994d96917bb943e37da7f8a7","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"cca97c55398b8699fa3a96ef261b01d200ed2a44d2983586ab1a81d7d7b23cd9","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"f59493f68eade5200559e5016b5855f7d12e6381eb6cab9ad8a379af367b3b2d","impliedFormat":1},{"version":"125e3472965f529de239d2bc85b54579fed8e0b060d1d04de6576fb910a6ec7f","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"6512c499b32226c5a686ab98f5b33ae15bdebd6b9f3b60f80eeadd95e358f02c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a5c09990a37469b0311a92ce8feeb8682e83918723aedbd445bd7a0f510eaaa3","impliedFormat":1},{"version":"6b29aea17044029b257e5bd4e3e4f765cd72b8d3c11c753f363ab92cc3f9f947","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"d008cf1330c86b37a8128265c80795397c287cecff273bc3ce3a4883405f5112","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"171fd8807643c46a9d17e843959abdf10480d57d60d38d061fb44a4c8d4a8cc4","impliedFormat":1},{"version":"692cce8a36696e9df80910c05ae3b34340c278bbba03701a9ae92ae038663824","impliedFormat":1},{"version":"035fd4564409153531cc683821b48048fd01982a8522c120b5a17f9a6320a229","impliedFormat":1},{"version":"8e30c31e1f95057c95fad8af9d7cfa916d09a9ae5f805ccd1ebd76c0158c5021","impliedFormat":1},{"version":"b86e99a2002acb78c3c5edfc219053cad18c2e0086d848d50086be8198e81c3b","impliedFormat":1},{"version":"a29a7b9ade7876d0f527b716a5bc5c7bc84554d155577020441f2d3c735589be","impliedFormat":1},{"version":"9cd42ff83837551961fa8788f14bd3498306fb2c1d35358f2b6bf3af05bf0890","impliedFormat":1},{"version":"5e51773d5624b8c871d8d140c88f944466338673fbc60ac4bf409eb60e6665cf","impliedFormat":1},{"version":"39b10cd95b70bbdc1cf8c832002618c3f81cd980438fe5e3694d99286ef90911","impliedFormat":1},{"version":"95244212208717085038a74378ea2a03e49c06a3a195b2826c01c978f14684c2","impliedFormat":1},{"version":"7362eeca79ce50eb72b2a0149e323f6d64daf4fbc8067592310859622c3dbcfe","impliedFormat":1},{"version":"8c0a305a7b10513d9d07bf739456bf9845bd4336027c85442b674a417facb57a","impliedFormat":1},{"version":"c91084ba90468037b6d266f3cae698aaa76c0864cf076aa099d981d847b74c2d","impliedFormat":1},{"version":"08c89f85121be91dd79dc42e1fdb0eef4336dd4f7c23710d05268accf1a65220","impliedFormat":1},{"version":"0f3fa7383d3f2ebed173ff59c102b4a68d10acdff5db4a009b73429ddaa15768","impliedFormat":1},{"version":"973d36af083ce019e3c38b99ca43cb6815b47082cf1e07215387df336192f447","impliedFormat":1},{"version":"617012176a8cb5be290ae89040aac88ec74321c2a8b984f01a7ba6eb9a2eddc2","impliedFormat":1},{"version":"111dae916025fd483a9be521111a10c3e7e9ed35eeb325ba34108433cc07aa19","impliedFormat":1},{"version":"fc2aced12725e81bbdb9e55a0efe1060cd4b6bbb6d1a5a23a09236a18c2d2323","impliedFormat":1},{"version":"7340d9ad1f3f55e7be3a85a151ef25d7a8c0205904519940c9dcea0f61cb3292","impliedFormat":1},{"version":"b6c3995be1adb84b6f81cbf9dfdecaa0da5cc71c5a61b5fc0e4a5a31765d8257","impliedFormat":1},{"version":"3da723823982206178406b7c2b8570152c6347a047fa7e59fa46011d10ac26b6","impliedFormat":1},{"version":"faba33b564a39dcb577490c3db303e692b745453fc50adb57860e8014e3247a2","impliedFormat":1},{"version":"72b83ee0bee9e2bec77a2a1666c6933da383075af254348e4c72e7e0b69e16dd","impliedFormat":1},{"version":"ad50fd05c6869671a429ce6581c052720d067f79d59a8eada7bc3a17e323728a","impliedFormat":1},{"version":"d3ba9bcd18af14b5a9a41e1e95e52d2abc7545742ac10f95eba9b8fc86a5ba36","signature":"a61c2daeacc381d1877bfada4bcf469cb087d68d6065121e34fc8e58d5ab2912"},{"version":"54d36ef842de2ac6220323c62f695efd6e7ecaa2ac883cc98e4396930261975d","signature":"aed6cd506458a9e5c8ec2e5923a5fce83a9c5d54a6ab9788482345262f49c862"},{"version":"3bcb4e05e05a92be2163136d641cf00862b0d68b43ce409602f0913d20af4f21","signature":"b2f7feec3cc6cc320902d83120b88bc752bd1ccc92f76f79a2682901ed3fd7db"},{"version":"a3235f7145661df7ea9f68c2219328d9c0381caeb82e60f58007bca4980dc88c","signature":"3e062c4474550c90b3684d29aa7b78bd422f5c1b10eb344d2cbe7cb2004f9a56"},{"version":"ad00acc3986cfe117d34af74ca40c154f91c000e51fb5cbaf109d496ddd5d8b0","signature":"a7c630949e204aeb225cb406bd637221930a46c08408bf59627d5324e7746b04"},{"version":"2ac1e82252f64fc33aa5f87a8a2254d07b88eedbc81010c5fa706a2fccacf6ce","signature":"f5e40d3f44147f2facbfa3fefc4789d67edce8be508ab176ef91e960595999e4"},{"version":"42178956b5376711baba2759ce8cd7f84015184bdcb206050456014476dcdc9c","signature":"4a7e608b329367be78bd336a79f35083db12800416de6b4d26387cd7c3098d37"},{"version":"b8eca80fd411a6065a616681ec25cb7aeacefe9c2294dc251384d08c1198b97c","signature":"50eab4f7d024f2e0fd07906f766b3b8bef0f301eae91e7afa7d304d6a67dd2bb"},{"version":"f9544ee84d3ac193e80b75855889c54d657a781fa9ebc801e386f3623eef10ba","signature":"248123c911541fa29511934adaf30f9454709fa05e58a9ccfe210e29016a6a89"},{"version":"7b3c8a7e006baa11046651ac55884dc7acc8a838df7cd20e1c262590f30b8e19","signature":"9ba7c02afb1f3b1a159935e68b27ca3188dff3b326970dbbb4e7ed71eead3d6a"},{"version":"689ddd17483acc4c9be2f747b1f9752b36e0131b7f1a78d3973d7b7fca89d349","signature":"aeed7a1028a1bd9608c463112e19d30c2bbe03a5a70673fbdb9b338a6a31d2cd"},{"version":"6cff0be2aca0da7d6151d7b66455b9f8ba20fffaa25263045f58651d8e5f0f40","signature":"3a883d1302c8a7dcb3ee3681ed248ab9615e9b3f562b82721cf12da6a582bfe8"},{"version":"237bd8d33938b43586cea21d3d1e3c3629c57073a6fe95f383bb67b3ce7fe733","signature":"645612e307c4f7b428ea07d74216e50a97efcfa460c0275659450c0427e20493"},{"version":"d1804fef95c5293d961ffa01f1b258200fb6005fb2d94a1d22de2332a671ba9c","signature":"b4ac9b087ae5b948fa6a75d024ee9fa843f033b7dfb242ceb2a3627129b2b440"},{"version":"4cc0a70fb68718eb3391fb8f8df1baa861c4c45bbe377f9fb2897b82f0a4a2a9","signature":"98f6aacfcb63a98b3b2fe26c229b44df86b7846180bb41b7a895dcd2f47f0213"},{"version":"ae5de19a27c1cc8f804da8bfd006d566e92be22dafd84725d181e0293541d7a6","signature":"02ae0308f6217eb01bb287067068a2fe73f09b0bca8bd18b8df8e9eae7193e84"},{"version":"21a651efde14f50b4d04c5a746b113b981f4a45c7113d7ab9fbdaecc4972d086","impliedFormat":99},{"version":"d013c139a57532b59f951139b366efcad0ecc2b4a453796fa98cf375b338f753","signature":"0e5aecb6ef4d46ebed19b1b922e5b23a0b692c3f2359680e7f7518175f767f93"},{"version":"e74998d5cefc2f29d583c10b99c1478fb810f1e46fbb06535bfb0bbba3c84aa5","impliedFormat":1},{"version":"2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","impliedFormat":1},{"version":"43d058146b002d075f5d0033a6870321048297f1658eb0db559ba028383803a6","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"9e0cf651e8e2c5b9bebbabdff2f7c6f8cedd91b1d9afcc0a854cdff053a88f1b","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","impliedFormat":1},{"version":"a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","impliedFormat":1},{"version":"5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"e9b76bb505b61fdb2b4347398776a0c3d081877cee7669f7ca09846aeb325c63","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1}],"root":[51,52,[175,190],192],"options":{"allowJs":true,"declaration":true,"esModuleInterop":true,"jsx":1,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[195,1],[193,2],[191,2],[203,2],[206,3],[205,2],[198,4],[194,1],[196,5],[197,1],[199,6],[200,2],[201,7],[202,8],[211,9],[212,2],[97,10],[98,10],[99,11],[100,12],[101,13],[102,14],[53,2],[56,15],[54,2],[55,2],[103,16],[104,17],[105,18],[106,19],[107,20],[108,21],[109,21],[111,22],[110,23],[112,24],[113,25],[114,26],[96,27],[115,28],[116,29],[117,30],[118,31],[119,32],[120,33],[121,34],[122,35],[123,36],[124,37],[125,38],[126,39],[127,40],[128,40],[129,41],[130,2],[131,2],[132,42],[134,43],[133,44],[135,45],[136,46],[137,47],[138,48],[139,49],[140,50],[141,51],[58,52],[57,2],[150,53],[142,54],[143,55],[144,56],[145,57],[146,58],[147,59],[148,60],[149,61],[237,62],[238,63],[213,64],[216,64],[235,62],[236,62],[226,62],[225,65],[223,62],[218,62],[231,62],[229,62],[233,62],[217,62],[230,62],[234,62],[219,62],[220,62],[232,62],[214,62],[221,62],[222,62],[224,62],[228,62],[239,66],[227,62],[215,62],[252,67],[251,2],[246,66],[248,68],[247,66],[240,66],[241,66],[243,66],[245,66],[249,68],[250,68],[242,68],[244,68],[253,2],[254,2],[255,69],[170,70],[171,71],[152,72],[169,73],[153,70],[173,74],[174,75],[151,2],[164,2],[155,76],[163,77],[156,76],[157,76],[158,76],[159,76],[162,76],[160,76],[161,76],[172,78],[167,79],[165,70],[166,70],[168,70],[154,70],[204,2],[210,80],[208,81],[209,82],[207,83],[48,2],[49,2],[10,2],[8,2],[9,2],[14,2],[13,2],[2,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[3,2],[23,2],[4,2],[24,2],[28,2],[25,2],[26,2],[27,2],[29,2],[30,2],[31,2],[5,2],[32,2],[33,2],[34,2],[35,2],[6,2],[39,2],[36,2],[37,2],[38,2],[40,2],[7,2],[41,2],[50,2],[46,2],[47,2],[42,2],[43,2],[44,2],[45,2],[1,2],[12,2],[11,2],[74,84],[84,85],[73,84],[94,86],[65,87],[64,88],[93,70],[87,89],[92,90],[67,91],[81,92],[66,93],[90,94],[62,95],[61,70],[91,96],[63,97],[68,98],[69,2],[72,98],[59,2],[95,99],[85,100],[76,101],[77,102],[79,103],[75,104],[78,105],[88,70],[70,106],[71,107],[80,108],[60,109],[83,100],[82,98],[86,2],[89,110],[51,2],[52,2],[175,111],[181,112],[182,111],[184,113],[187,114],[186,115],[190,116],[189,117],[185,2],[188,2],[178,118],[183,119],[176,2],[192,120],[177,121],[180,122],[179,123]],"version":"5.6.2"} \ No newline at end of file From 41c4c504681319355253948a9ba9283e3a193f04 Mon Sep 17 00:00:00 2001 From: Rygoatei Date: Tue, 12 Nov 2024 20:31:21 +0800 Subject: [PATCH 4/4] feat: pre deposit implement --- jest.setup.js | 16 +- lib/covenantV1/locking.d.ts | 2 +- lib/covenantV1/locking.js | 15 +- lib/covenantV1/locking.script.js | 3 +- lib/tsconfig.tsbuildinfo | 2 +- scripts/pre_deposit.demo.ts | 279 +++++++++++++++++++++++++++++++ src/covenantV1/locking.script.ts | 4 +- src/covenantV1/locking.ts | 21 ++- 8 files changed, 320 insertions(+), 22 deletions(-) create mode 100644 scripts/pre_deposit.demo.ts diff --git a/jest.setup.js b/jest.setup.js index 42756c4..d81a35d 100644 --- a/jest.setup.js +++ b/jest.setup.js @@ -2,15 +2,23 @@ const originalTest = global.test; const NUM_ITERATIONS = 10; global.test = (name, fn, timeout) => { - for (let i = 0; i < NUM_ITERATIONS; i++) { - originalTest(`${name} (iteration ${i + 1})`, fn, timeout); + if (name.includes("@once")) { + originalTest(name, fn, timeout); + } else { + for (let i = 0; i < NUM_ITERATIONS; i++) { + originalTest(`${name} (iteration ${i + 1})`, fn, timeout); + } } }; const originalIt = global.it; global.it = (name, fn, timeout) => { - for (let i = 0; i < NUM_ITERATIONS; i++) { - originalIt(`${name} (iteration ${i + 1})`, fn, timeout); + if (name.includes("@once")) { + originalIt(name, fn, timeout); + } else { + for (let i = 0; i < NUM_ITERATIONS; i++) { + originalIt(`${name} (iteration ${i + 1})`, fn, timeout); + } } }; diff --git a/lib/covenantV1/locking.d.ts b/lib/covenantV1/locking.d.ts index 5611fdf..d2a01a5 100644 --- a/lib/covenantV1/locking.d.ts +++ b/lib/covenantV1/locking.d.ts @@ -8,7 +8,7 @@ export declare function lockingTransaction(scripts: { }, amount: number, changeAddress: string, inputUTXOs: UTXO[], network: networks.Network, feeRate: number, publicKeyNoCoord?: Buffer, lockHeight?: number): PsbtTransactionResult; export declare function withdrawalTimeLockTransaction(scripts: { lockingScript: Buffer; -}, lockingTransaction: Transaction, withdrawalAddress: string, feeRate: number, network: networks.Network, outputIndex?: number): { +}, lockingTransaction: Transaction, withdrawalAddress: string, feeRate: number, network: networks.Network, outputIndex?: number, timePosition?: number, currentHeight?: number): { psbt: Psbt; }; export declare function withdrawalUnbondingTransaction(scripts: { diff --git a/lib/covenantV1/locking.js b/lib/covenantV1/locking.js index dfa0fa4..cda8ecb 100644 --- a/lib/covenantV1/locking.js +++ b/lib/covenantV1/locking.js @@ -88,7 +88,7 @@ function lockingTransaction(scripts, amount, changeAddress, inputUTXOs, network, fee }; } -function withdrawalTimeLockTransaction(scripts, lockingTransaction, withdrawalAddress, feeRate, network, outputIndex = 0) { +function withdrawalTimeLockTransaction(scripts, lockingTransaction, withdrawalAddress, feeRate, network, outputIndex = 0, timePosition = 5, currentHeight) { if (feeRate <= 0) { throw new Error("fee rate must be bigger than 0"); } @@ -96,8 +96,7 @@ function withdrawalTimeLockTransaction(scripts, lockingTransaction, withdrawalAd if (!decompiled) { throw new Error("Timelock script is not valid"); } - // position of time in the timelock script - const timePosition = 5; + const isAbsoluteTimelock = decompiled.includes(bitcoinjs_lib_1.script.OPS.OP_CHECKLOCKTIMEVERIFY); let timelock = 0; if (Buffer.isBuffer(decompiled[timePosition])) { const timeBuffer = decompiled[timePosition]; @@ -119,8 +118,8 @@ function withdrawalTimeLockTransaction(scripts, lockingTransaction, withdrawalAd value: lockingTransaction.outs[outputIndex].value, script: lockingTransaction.outs[outputIndex].script }, - witnessScript: scripts.lockingScript, // Adding witnessScript here - sequence: timelock + witnessScript: scripts.lockingScript, + sequence: isAbsoluteTimelock ? 0xfffffffe : timelock }); const estimatedFee = (0, feeV1_1.getWithdrawTxFee)(feeRate, lockingTransaction.outs[outputIndex].script); const outputValue = lockingTransaction.outs[outputIndex].value - estimatedFee; @@ -134,6 +133,12 @@ function withdrawalTimeLockTransaction(scripts, lockingTransaction, withdrawalAd address: withdrawalAddress, value: outputValue }); + if (isAbsoluteTimelock) { + if (!currentHeight) { + throw new Error("Current height is required for absolute timelock"); + } + psbt.setLocktime(currentHeight); + } return { psbt }; } function withdrawalUnbondingTransaction(scripts, lockingTransaction, withdrawalAddress, feeRate, network, outputIndex = 0) { diff --git a/lib/covenantV1/locking.script.js b/lib/covenantV1/locking.script.js index a57248b..56b0cc4 100644 --- a/lib/covenantV1/locking.script.js +++ b/lib/covenantV1/locking.script.js @@ -80,9 +80,8 @@ function buildPreDepositLockingScript(lockerKey, transferTimeLock) { if (typeof transferTimeLock !== "number" || transferTimeLock < 0 || transferTimeLock > 65535) { throw new Error("Invalid numeric inputs"); } - const sequence = bip68_1.default.encode({ blocks: transferTimeLock }); return bitcoinjs_lib_1.script.compile([ - bitcoinjs_lib_1.script.number.encode(sequence), + bitcoinjs_lib_1.script.number.encode(transferTimeLock), bitcoinjs_lib_1.opcodes.OP_CHECKLOCKTIMEVERIFY, bitcoinjs_lib_1.opcodes.OP_DROP, lockerKey, diff --git a/lib/tsconfig.tsbuildinfo b/lib/tsconfig.tsbuildinfo index 59fa9e7..1d1293e 100644 --- a/lib/tsconfig.tsbuildinfo +++ b/lib/tsconfig.tsbuildinfo @@ -1 +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.dom.iterable.d.ts","../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.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.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.es2020.full.d.ts","../src/constants/index.ts","../src/constants/internalpubkey.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.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/sea.d.ts","../node_modules/@types/node/sqlite.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/ts5.6/index.d.ts","../node_modules/bitcoinjs-lib/src/networks.d.ts","../node_modules/bitcoinjs-lib/src/address.d.ts","../node_modules/bitcoinjs-lib/src/crypto.d.ts","../node_modules/bitcoinjs-lib/src/types.d.ts","../node_modules/bitcoinjs-lib/src/payments/embed.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2ms.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2pk.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2pkh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2sh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2wpkh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2wsh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2tr.d.ts","../node_modules/bitcoinjs-lib/src/payments/index.d.ts","../node_modules/bitcoinjs-lib/src/ops.d.ts","../node_modules/bitcoinjs-lib/src/script_number.d.ts","../node_modules/bitcoinjs-lib/src/script_signature.d.ts","../node_modules/bitcoinjs-lib/src/script.d.ts","../node_modules/bitcoinjs-lib/src/transaction.d.ts","../node_modules/bitcoinjs-lib/src/block.d.ts","../node_modules/bip174/src/lib/interfaces.d.ts","../node_modules/bip174/src/lib/psbt.d.ts","../node_modules/bitcoinjs-lib/src/psbt.d.ts","../node_modules/bitcoinjs-lib/src/ecc_lib.d.ts","../node_modules/bitcoinjs-lib/src/index.d.ts","../src/covenantv1/bridge.script.ts","../src/types/utxo.ts","../src/utils/fee.ts","../src/types/psbtoutputs.ts","../src/utils/feev1/utils.ts","../src/utils/feev1/index.ts","../src/covenantv1/bridge.ts","../src/covenantv1/locking.script.ts","../src/types/transaction.ts","../src/covenantv1/locking.ts","../src/types/bridgescripts.ts","../src/slashable/bridge/script.ts","../src/slashable/bridge/index.ts","../src/types/lockingscripts.ts","../src/slashable/locking/script.ts","../src/slashable/locking/index.ts","../node_modules/@bitcoin-js/tiny-secp256k1-asmjs/lib/index.d.ts","../src/utils/curve.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[58,100,193],[58,100],[58,100,205],[58,100,193,194,195,196,197],[58,100,193,195],[58,100,113,150],[58,100,200],[58,100,201],[58,100,207,210],[58,97,100],[58,99,100],[58,100,105,135],[58,100,101,106,112,113,120,132,143],[58,100,101,102,112,120],[53,54,55,58,100],[58,100,103,144],[58,100,104,105,113,121],[58,100,105,132,140],[58,100,106,108,112,120],[58,99,100,107],[58,100,108,109],[58,100,112],[58,100,110,112],[58,99,100,112],[58,100,112,113,114,132,143],[58,100,112,113,114,127,132,135],[58,95,100,148],[58,95,100,108,112,115,120,132,143],[58,100,112,113,115,116,120,132,140,143],[58,100,115,117,132,140,143],[58,100,112,118],[58,100,119,143,148],[58,100,108,112,120,132],[58,100,121],[58,100,122],[58,99,100,123],[58,97,98,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[58,100,125],[58,100,126],[58,100,112,127,128],[58,100,127,129,144,146],[58,100,112,132,133,134,135],[58,100,132,134],[58,100,132,133],[58,100,135],[58,100,136],[58,97,100,132],[58,100,112,138,139],[58,100,138,139],[58,100,105,120,132,140],[58,100,141],[100],[56,57,58,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[58,100,120,142],[58,100,115,126,143],[58,100,105,144],[58,100,132,145],[58,100,119,146],[58,100,147],[58,100,105,112,114,123,132,143,146,148],[58,100,132,149],[58,100,213,252],[58,100,213,237,252],[58,100,252],[58,100,213],[58,100,213,238,252],[58,100,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251],[58,100,238,252],[58,100,254],[58,100,150],[58,100,150,170],[58,100,150,151],[58,100,150,168],[58,100,154],[58,100,151,152,153,163,164,167,168,169,172,173],[58,100,163],[58,100,150,151,154,155,156,157,158,159,160,161,162],[58,100,150,151,168,170,171],[58,100,150,163,164,165,166],[58,100,203,209],[58,100,207],[58,100,204,208],[58,100,206],[58,67,71,100,143],[58,67,100,132,143],[58,62,100],[58,64,67,100,140,143],[58,100,120,140],[58,62,100,150],[58,64,67,100,120,143],[58,59,60,63,66,100,112,132,143],[58,67,74,100],[58,59,65,100],[58,67,88,89,100],[58,63,67,100,135,143,150],[58,88,100,150],[58,61,62,100,150],[58,67,100],[58,61,62,63,64,65,66,67,68,69,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,100],[58,67,82,100],[58,67,74,75,100],[58,65,67,75,76,100],[58,66,100],[58,59,62,67,100],[58,67,71,75,76,100],[58,71,100],[58,65,67,70,100,143],[58,59,64,67,74,100],[58,100,132],[58,62,67,88,100,148,150],[51,58,100,174],[51,58,100,174,175,176,177,180],[51,58,100,174,176,177,180,182,183],[51,52,58,100,154,174,176,177,183,186],[58,100,174,185],[51,52,58,100,154,174,176,177,183,188,189],[58,100,174,188],[58,100,170],[58,100,174],[58,100,174,191],[58,100,176],[51,58,100,174,176,178,179],[51,58,100,174,176]],"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":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","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":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8","impliedFormat":1},{"version":"7af4b31bfe5040264bdc6ce41b5500452cad55b52b82898ca556430ca939e2ec","signature":"c62a8e41b2d65d5ca9f1ba63eb599514317e55dd3b25ecb4ca9e08c98895be20"},{"version":"3dab9f49d7541c5c6c3122bc8c6e5874f939a27b832bfb1611f6eeed41a06167","signature":"99d38919b24993c22f5b414804e477a0ba201cbd2fd3c7bbf3604c8be7b40436"},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"81184fe8e67d78ac4e5374650f0892d547d665d77da2b2f544b5d84729c4a15d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f52e8dacc97d71dcc96af29e49584353f9c54cb916d132e3e768d8b8129c928d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"46e07db372dd75edc1a26e68f16d1b7ffb34b7ab3db5cdb3e391a3604ad7bb7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"875928df2f3e9a3aed4019539a15d04ff6140a06df6cd1b2feb836d22a81eaca","affectsGlobalScope":true,"impliedFormat":1},{"version":"20b97c3368b1a63d2156deea35d03b125bb07908906eb35e0438042a3bbb3e71","impliedFormat":1},{"version":"02e73584132025781e9ffa7beef9d58ee563954c592eb563dc724ebbfb7424eb","impliedFormat":1},{"version":"ad05f01340829d96e2d85506eaab585ca7a5b20d687448d35f97e2b0855399d8","impliedFormat":1},{"version":"fa56be9b96f747e93b895d8dc2aa4fb9f0816743e6e2abb9d60705e88d4743a2","impliedFormat":1},{"version":"8257c55ff6bff6169142a35fce6811b511d857b4ae4f522cdb6ce20fd2116b2c","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"3a9e5dddbd6ca9507d0c06a557535ba2224a94a2b0f3e146e8215f93b7e5b3a8","affectsGlobalScope":true,"impliedFormat":1},{"version":"94c4187083503a74f4544503b5a30e2bd7af0032dc739b0c9a7ce87f8bddc7b9","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"3c36ab47df4668254ccc170fc42e7d5116fd86a7e408d8dc220e559837cd2bbb","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f6abdaf8764ef01a552a958f45e795b5e79153b87ddad3af5264b86d2681b72","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"4de73e132bf47437c56b1e8416c60d9d517c8ba3822e7c623b54d4300834dd37","impliedFormat":1},{"version":"e432b0e3761ca9ba734bdd41e19a75fec1454ca8e9769bfdf8b31011854cf06a","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"a8f06c2382a30b7cb89ad2dfc48fc3b2b490f3dafcd839dadc008e4e5d57031d","impliedFormat":1},{"version":"553870e516f8c772b89f3820576152ebc70181d7994d96917bb943e37da7f8a7","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"cca97c55398b8699fa3a96ef261b01d200ed2a44d2983586ab1a81d7d7b23cd9","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"f59493f68eade5200559e5016b5855f7d12e6381eb6cab9ad8a379af367b3b2d","impliedFormat":1},{"version":"125e3472965f529de239d2bc85b54579fed8e0b060d1d04de6576fb910a6ec7f","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"6512c499b32226c5a686ab98f5b33ae15bdebd6b9f3b60f80eeadd95e358f02c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a5c09990a37469b0311a92ce8feeb8682e83918723aedbd445bd7a0f510eaaa3","impliedFormat":1},{"version":"6b29aea17044029b257e5bd4e3e4f765cd72b8d3c11c753f363ab92cc3f9f947","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"d008cf1330c86b37a8128265c80795397c287cecff273bc3ce3a4883405f5112","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"171fd8807643c46a9d17e843959abdf10480d57d60d38d061fb44a4c8d4a8cc4","impliedFormat":1},{"version":"692cce8a36696e9df80910c05ae3b34340c278bbba03701a9ae92ae038663824","impliedFormat":1},{"version":"035fd4564409153531cc683821b48048fd01982a8522c120b5a17f9a6320a229","impliedFormat":1},{"version":"8e30c31e1f95057c95fad8af9d7cfa916d09a9ae5f805ccd1ebd76c0158c5021","impliedFormat":1},{"version":"b86e99a2002acb78c3c5edfc219053cad18c2e0086d848d50086be8198e81c3b","impliedFormat":1},{"version":"a29a7b9ade7876d0f527b716a5bc5c7bc84554d155577020441f2d3c735589be","impliedFormat":1},{"version":"9cd42ff83837551961fa8788f14bd3498306fb2c1d35358f2b6bf3af05bf0890","impliedFormat":1},{"version":"5e51773d5624b8c871d8d140c88f944466338673fbc60ac4bf409eb60e6665cf","impliedFormat":1},{"version":"39b10cd95b70bbdc1cf8c832002618c3f81cd980438fe5e3694d99286ef90911","impliedFormat":1},{"version":"95244212208717085038a74378ea2a03e49c06a3a195b2826c01c978f14684c2","impliedFormat":1},{"version":"7362eeca79ce50eb72b2a0149e323f6d64daf4fbc8067592310859622c3dbcfe","impliedFormat":1},{"version":"8c0a305a7b10513d9d07bf739456bf9845bd4336027c85442b674a417facb57a","impliedFormat":1},{"version":"c91084ba90468037b6d266f3cae698aaa76c0864cf076aa099d981d847b74c2d","impliedFormat":1},{"version":"08c89f85121be91dd79dc42e1fdb0eef4336dd4f7c23710d05268accf1a65220","impliedFormat":1},{"version":"0f3fa7383d3f2ebed173ff59c102b4a68d10acdff5db4a009b73429ddaa15768","impliedFormat":1},{"version":"973d36af083ce019e3c38b99ca43cb6815b47082cf1e07215387df336192f447","impliedFormat":1},{"version":"617012176a8cb5be290ae89040aac88ec74321c2a8b984f01a7ba6eb9a2eddc2","impliedFormat":1},{"version":"111dae916025fd483a9be521111a10c3e7e9ed35eeb325ba34108433cc07aa19","impliedFormat":1},{"version":"fc2aced12725e81bbdb9e55a0efe1060cd4b6bbb6d1a5a23a09236a18c2d2323","impliedFormat":1},{"version":"7340d9ad1f3f55e7be3a85a151ef25d7a8c0205904519940c9dcea0f61cb3292","impliedFormat":1},{"version":"b6c3995be1adb84b6f81cbf9dfdecaa0da5cc71c5a61b5fc0e4a5a31765d8257","impliedFormat":1},{"version":"3da723823982206178406b7c2b8570152c6347a047fa7e59fa46011d10ac26b6","impliedFormat":1},{"version":"faba33b564a39dcb577490c3db303e692b745453fc50adb57860e8014e3247a2","impliedFormat":1},{"version":"72b83ee0bee9e2bec77a2a1666c6933da383075af254348e4c72e7e0b69e16dd","impliedFormat":1},{"version":"ad50fd05c6869671a429ce6581c052720d067f79d59a8eada7bc3a17e323728a","impliedFormat":1},{"version":"d3ba9bcd18af14b5a9a41e1e95e52d2abc7545742ac10f95eba9b8fc86a5ba36","signature":"a61c2daeacc381d1877bfada4bcf469cb087d68d6065121e34fc8e58d5ab2912"},{"version":"54d36ef842de2ac6220323c62f695efd6e7ecaa2ac883cc98e4396930261975d","signature":"aed6cd506458a9e5c8ec2e5923a5fce83a9c5d54a6ab9788482345262f49c862"},{"version":"3bcb4e05e05a92be2163136d641cf00862b0d68b43ce409602f0913d20af4f21","signature":"b2f7feec3cc6cc320902d83120b88bc752bd1ccc92f76f79a2682901ed3fd7db"},{"version":"a3235f7145661df7ea9f68c2219328d9c0381caeb82e60f58007bca4980dc88c","signature":"3e062c4474550c90b3684d29aa7b78bd422f5c1b10eb344d2cbe7cb2004f9a56"},{"version":"ad00acc3986cfe117d34af74ca40c154f91c000e51fb5cbaf109d496ddd5d8b0","signature":"a7c630949e204aeb225cb406bd637221930a46c08408bf59627d5324e7746b04"},{"version":"2ac1e82252f64fc33aa5f87a8a2254d07b88eedbc81010c5fa706a2fccacf6ce","signature":"f5e40d3f44147f2facbfa3fefc4789d67edce8be508ab176ef91e960595999e4"},{"version":"42178956b5376711baba2759ce8cd7f84015184bdcb206050456014476dcdc9c","signature":"4a7e608b329367be78bd336a79f35083db12800416de6b4d26387cd7c3098d37"},{"version":"b8eca80fd411a6065a616681ec25cb7aeacefe9c2294dc251384d08c1198b97c","signature":"50eab4f7d024f2e0fd07906f766b3b8bef0f301eae91e7afa7d304d6a67dd2bb"},{"version":"f9544ee84d3ac193e80b75855889c54d657a781fa9ebc801e386f3623eef10ba","signature":"248123c911541fa29511934adaf30f9454709fa05e58a9ccfe210e29016a6a89"},{"version":"7b3c8a7e006baa11046651ac55884dc7acc8a838df7cd20e1c262590f30b8e19","signature":"9ba7c02afb1f3b1a159935e68b27ca3188dff3b326970dbbb4e7ed71eead3d6a"},{"version":"689ddd17483acc4c9be2f747b1f9752b36e0131b7f1a78d3973d7b7fca89d349","signature":"aeed7a1028a1bd9608c463112e19d30c2bbe03a5a70673fbdb9b338a6a31d2cd"},{"version":"6cff0be2aca0da7d6151d7b66455b9f8ba20fffaa25263045f58651d8e5f0f40","signature":"3a883d1302c8a7dcb3ee3681ed248ab9615e9b3f562b82721cf12da6a582bfe8"},{"version":"237bd8d33938b43586cea21d3d1e3c3629c57073a6fe95f383bb67b3ce7fe733","signature":"645612e307c4f7b428ea07d74216e50a97efcfa460c0275659450c0427e20493"},{"version":"d1804fef95c5293d961ffa01f1b258200fb6005fb2d94a1d22de2332a671ba9c","signature":"b4ac9b087ae5b948fa6a75d024ee9fa843f033b7dfb242ceb2a3627129b2b440"},{"version":"4cc0a70fb68718eb3391fb8f8df1baa861c4c45bbe377f9fb2897b82f0a4a2a9","signature":"98f6aacfcb63a98b3b2fe26c229b44df86b7846180bb41b7a895dcd2f47f0213"},{"version":"ae5de19a27c1cc8f804da8bfd006d566e92be22dafd84725d181e0293541d7a6","signature":"02ae0308f6217eb01bb287067068a2fe73f09b0bca8bd18b8df8e9eae7193e84"},{"version":"21a651efde14f50b4d04c5a746b113b981f4a45c7113d7ab9fbdaecc4972d086","impliedFormat":99},{"version":"d013c139a57532b59f951139b366efcad0ecc2b4a453796fa98cf375b338f753","signature":"0e5aecb6ef4d46ebed19b1b922e5b23a0b692c3f2359680e7f7518175f767f93"},{"version":"e74998d5cefc2f29d583c10b99c1478fb810f1e46fbb06535bfb0bbba3c84aa5","impliedFormat":1},{"version":"2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","impliedFormat":1},{"version":"43d058146b002d075f5d0033a6870321048297f1658eb0db559ba028383803a6","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"9e0cf651e8e2c5b9bebbabdff2f7c6f8cedd91b1d9afcc0a854cdff053a88f1b","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","impliedFormat":1},{"version":"a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","impliedFormat":1},{"version":"5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"e9b76bb505b61fdb2b4347398776a0c3d081877cee7669f7ca09846aeb325c63","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1}],"root":[51,52,[175,190],192],"options":{"allowJs":true,"declaration":true,"esModuleInterop":true,"jsx":1,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[195,1],[193,2],[191,2],[203,2],[206,3],[205,2],[198,4],[194,1],[196,5],[197,1],[199,6],[200,2],[201,7],[202,8],[211,9],[212,2],[97,10],[98,10],[99,11],[100,12],[101,13],[102,14],[53,2],[56,15],[54,2],[55,2],[103,16],[104,17],[105,18],[106,19],[107,20],[108,21],[109,21],[111,22],[110,23],[112,24],[113,25],[114,26],[96,27],[115,28],[116,29],[117,30],[118,31],[119,32],[120,33],[121,34],[122,35],[123,36],[124,37],[125,38],[126,39],[127,40],[128,40],[129,41],[130,2],[131,2],[132,42],[134,43],[133,44],[135,45],[136,46],[137,47],[138,48],[139,49],[140,50],[141,51],[58,52],[57,2],[150,53],[142,54],[143,55],[144,56],[145,57],[146,58],[147,59],[148,60],[149,61],[237,62],[238,63],[213,64],[216,64],[235,62],[236,62],[226,62],[225,65],[223,62],[218,62],[231,62],[229,62],[233,62],[217,62],[230,62],[234,62],[219,62],[220,62],[232,62],[214,62],[221,62],[222,62],[224,62],[228,62],[239,66],[227,62],[215,62],[252,67],[251,2],[246,66],[248,68],[247,66],[240,66],[241,66],[243,66],[245,66],[249,68],[250,68],[242,68],[244,68],[253,2],[254,2],[255,69],[170,70],[171,71],[152,72],[169,73],[153,70],[173,74],[174,75],[151,2],[164,2],[155,76],[163,77],[156,76],[157,76],[158,76],[159,76],[162,76],[160,76],[161,76],[172,78],[167,79],[165,70],[166,70],[168,70],[154,70],[204,2],[210,80],[208,81],[209,82],[207,83],[48,2],[49,2],[10,2],[8,2],[9,2],[14,2],[13,2],[2,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[3,2],[23,2],[4,2],[24,2],[28,2],[25,2],[26,2],[27,2],[29,2],[30,2],[31,2],[5,2],[32,2],[33,2],[34,2],[35,2],[6,2],[39,2],[36,2],[37,2],[38,2],[40,2],[7,2],[41,2],[50,2],[46,2],[47,2],[42,2],[43,2],[44,2],[45,2],[1,2],[12,2],[11,2],[74,84],[84,85],[73,84],[94,86],[65,87],[64,88],[93,70],[87,89],[92,90],[67,91],[81,92],[66,93],[90,94],[62,95],[61,70],[91,96],[63,97],[68,98],[69,2],[72,98],[59,2],[95,99],[85,100],[76,101],[77,102],[79,103],[75,104],[78,105],[88,70],[70,106],[71,107],[80,108],[60,109],[83,100],[82,98],[86,2],[89,110],[51,2],[52,2],[175,111],[181,112],[182,111],[184,113],[187,114],[186,115],[190,116],[189,117],[185,2],[188,2],[178,118],[183,119],[176,2],[192,120],[177,121],[180,122],[179,123]],"version":"5.6.2"} \ No newline at end of file +{"program":{"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.dom.iterable.d.ts","../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.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","../node_modules/typescript/lib/lib.es2020.full.d.ts","../src/constants/index.ts","../src/constants/internalpubkey.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.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/sea.d.ts","../node_modules/@types/node/sqlite.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/bitcoinjs-lib/src/networks.d.ts","../node_modules/bitcoinjs-lib/src/address.d.ts","../node_modules/bitcoinjs-lib/src/crypto.d.ts","../node_modules/bitcoinjs-lib/src/types.d.ts","../node_modules/bitcoinjs-lib/src/payments/embed.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2ms.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2pk.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2pkh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2sh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2wpkh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2wsh.d.ts","../node_modules/bitcoinjs-lib/src/payments/p2tr.d.ts","../node_modules/bitcoinjs-lib/src/payments/index.d.ts","../node_modules/bitcoinjs-lib/src/ops.d.ts","../node_modules/bitcoinjs-lib/src/script_number.d.ts","../node_modules/bitcoinjs-lib/src/script_signature.d.ts","../node_modules/bitcoinjs-lib/src/script.d.ts","../node_modules/bitcoinjs-lib/src/transaction.d.ts","../node_modules/bitcoinjs-lib/src/block.d.ts","../node_modules/bip174/src/lib/interfaces.d.ts","../node_modules/bip174/src/lib/psbt.d.ts","../node_modules/bitcoinjs-lib/src/psbt.d.ts","../node_modules/bitcoinjs-lib/src/ecc_lib.d.ts","../node_modules/bitcoinjs-lib/src/index.d.ts","../src/covenantv1/bridge.script.ts","../src/types/utxo.ts","../src/utils/fee.ts","../src/types/psbtoutputs.ts","../src/utils/feev1/utils.ts","../src/utils/feev1/index.ts","../src/covenantv1/bridge.ts","../src/covenantv1/locking.script.ts","../src/types/transaction.ts","../src/covenantv1/locking.ts","../src/types/bridgescripts.ts","../src/slashable/bridge/script.ts","../src/slashable/bridge/index.ts","../src/types/lockingscripts.ts","../src/slashable/locking/script.ts","../src/slashable/locking/index.ts","../node_modules/@bitcoin-js/tiny-secp256k1-asmjs/lib/index.d.ts","../src/utils/curve.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"4af6b0c727b7a2896463d512fafd23634229adf69ac7c00e2ae15a09cb084fad","affectsGlobalScope":true},{"version":"9c00a480825408b6a24c63c1b71362232927247595d7c97659bc24dc68ae0757","affectsGlobalScope":true},{"version":"0c9e4447ddca10e8097a736ce41bb37ac3389ede46e419ee78c1161a14e9e8ba","affectsGlobalScope":true},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8",{"version":"7af4b31bfe5040264bdc6ce41b5500452cad55b52b82898ca556430ca939e2ec","signature":"c62a8e41b2d65d5ca9f1ba63eb599514317e55dd3b25ecb4ca9e08c98895be20"},{"version":"3dab9f49d7541c5c6c3122bc8c6e5874f939a27b832bfb1611f6eeed41a06167","signature":"99d38919b24993c22f5b414804e477a0ba201cbd2fd3c7bbf3604c8be7b40436"},"e142fda89ed689ea53d6f2c93693898464c7d29a0ae71c6dc8cdfe5a1d76c775","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107",{"version":"964f307d249df0d7e8eb16d594536c0ac6cc63c8d467edf635d05542821dec8e","affectsGlobalScope":true},"db3ec8993b7596a4ef47f309c7b25ee2505b519c13050424d9c34701e5973315",{"version":"6a1ebd564896d530364f67b3257c62555b61d60494a73dfe8893274878c6589d","affectsGlobalScope":true},"af49b066a76ce26673fe49d1885cc6b44153f1071ed2d952f2a90fccba1095c9","f22fd1dc2df53eaf5ce0ff9e0a3326fc66f880d6a652210d50563ae72625455f",{"version":"3ddbdb519e87a7827c4f0c4007013f3628ca0ebb9e2b018cf31e5b2f61c593f1","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"6d498d4fd8036ea02a4edcae10375854a0eb1df0496cf0b9d692577d3c0fd603","affectsGlobalScope":true},"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","fd09b892597ab93e7f79745ce725a3aaf6dd005e8db20f0c63a5d10984cba328","a3be878ff1e1964ab2dc8e0a3b67087cf838731c7f3d8f603337e7b712fdd558","5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","9be74296ee565af0c12d7071541fdd23260f53c3da7731fb6361f61150a791f6",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"f501a53b94ba382d9ba396a5c486969a3abc68309828fa67f916035f5d37fe2b","affectsGlobalScope":true},"aa658b5d765f630c312ac9202d110bbaf2b82d180376457f0a9d57b42629714a","312ac7cbd070107766a9886fd27f9faad997ef57d93fdfb4095df2c618ac8162","2e9b4e7f9942af902eb85bae6066d04ef1afee51d61554a62d144df3da7dec94","672ad3045f329e94002256f8ed460cfd06173a50c92cde41edaadfacffd16808","64da4965d1e0559e134d9c1621ae400279a216f87ed00c4cce4f2c7c78021712","2205527b976f4f1844adc46a3f0528729fb68cac70027a5fb13c49ca23593797",{"version":"0166fce1204d520fdfd6b5febb3cda3deee438bcbf8ce9ffeb2b1bcde7155346","affectsGlobalScope":true},"d8b13eab85b532285031b06a971fa051bf0175d8fff68065a24a6da9c1c986cf","50c382ba1827988c59aa9cc9d046e386d55d70f762e9e352e95ee8cb7337cdb8","bb9627ab9d078c79bb5623de4ac8e5d08f806ec9b970962dfc83b3211373690d",{"version":"21d7e87f271e72d02f8d167edc902f90b04525edc7918f00f01dd0bd00599f7e","affectsGlobalScope":true},{"version":"6f6abdaf8764ef01a552a958f45e795b5e79153b87ddad3af5264b86d2681b72","affectsGlobalScope":true},"a215554477f7629e3dcbc8cde104bec036b78673650272f5ffdc5a2cee399a0a","c3497fc242aabfedcd430b5932412f94f157b5906568e737f6a18cc77b36a954","cdc1de3b672f9ef03ff15c443aa1b631edca35b6ae6970a7da6400647ff74d95","139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","bf01fdd3b93cf633b3f7420718457af19c57ab8cbfea49268df60bae2e84d627","15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","5f461d6f5d9ff474f1121cc3fd86aa3cd67476c701f55c306d323c5112201207","65b39cc6b610a4a4aecc321f6efb436f10c0509d686124795b4c36a5e915b89e","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633",{"version":"83fe38aa2243059ea859325c006da3964ead69b773429fe049ebb0426e75424d","affectsGlobalScope":true},"d3edb86744e2c19f2c1503849ac7594a5e06024f2451bacae032390f2e20314a",{"version":"e501cbca25bd54f0bcb89c00f092d3cae227e970b93fd76207287fd8110b123d","affectsGlobalScope":true},{"version":"8a3e61347b8f80aa5af532094498bceb0c0b257b25a6aa8ab4880fd6ed57c95a","affectsGlobalScope":true},"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","950f6810f7c80e0cffefcf1bcc6ade3485c94394720e334c3c2be3c16b6922fb","5475df7cfc493a08483c9d7aa61cc04791aecba9d0a2efc213f23c4006d4d3cd","000720870b275764c65e9f28ac97cc9e4d9e4a36942d4750ca8603e416e9c57c",{"version":"54412c70bacb9ed547ed6caae8836f712a83ccf58d94466f3387447ec4e82dc3","affectsGlobalScope":true},{"version":"e74e7b0baa7a24f073080091427d36a75836d584b9393e6ac2b1daf1647fe65a","affectsGlobalScope":true},"4c48e931a72f6971b5add7fdb1136be1d617f124594e94595f7114af749395e0","478eb5c32250678a906d91e0529c70243fc4d75477a08f3da408e2615396f558","e686a88c9ee004c8ba12ffc9d674ca3192a4c50ed0ca6bd5b2825c289e2b2bfe",{"version":"0d27932df2fbc3728e78b98892540e24084424ce12d3bd32f62a23cf307f411f","affectsGlobalScope":true},"4423fb3d6abe6eefb8d7f79eb2df9510824a216ec1c6feee46718c9b18e6d89f",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"01c47d1c006b3a15b51d89d7764fff7e4fabc4e412b3a61ee5357bd74b822879","692cce8a36696e9df80910c05ae3b34340c278bbba03701a9ae92ae038663824","035fd4564409153531cc683821b48048fd01982a8522c120b5a17f9a6320a229","8e30c31e1f95057c95fad8af9d7cfa916d09a9ae5f805ccd1ebd76c0158c5021","b86e99a2002acb78c3c5edfc219053cad18c2e0086d848d50086be8198e81c3b","a29a7b9ade7876d0f527b716a5bc5c7bc84554d155577020441f2d3c735589be","9cd42ff83837551961fa8788f14bd3498306fb2c1d35358f2b6bf3af05bf0890","5e51773d5624b8c871d8d140c88f944466338673fbc60ac4bf409eb60e6665cf","39b10cd95b70bbdc1cf8c832002618c3f81cd980438fe5e3694d99286ef90911","95244212208717085038a74378ea2a03e49c06a3a195b2826c01c978f14684c2","7362eeca79ce50eb72b2a0149e323f6d64daf4fbc8067592310859622c3dbcfe","8c0a305a7b10513d9d07bf739456bf9845bd4336027c85442b674a417facb57a","c91084ba90468037b6d266f3cae698aaa76c0864cf076aa099d981d847b74c2d","08c89f85121be91dd79dc42e1fdb0eef4336dd4f7c23710d05268accf1a65220","0f3fa7383d3f2ebed173ff59c102b4a68d10acdff5db4a009b73429ddaa15768","973d36af083ce019e3c38b99ca43cb6815b47082cf1e07215387df336192f447","617012176a8cb5be290ae89040aac88ec74321c2a8b984f01a7ba6eb9a2eddc2","111dae916025fd483a9be521111a10c3e7e9ed35eeb325ba34108433cc07aa19","fc2aced12725e81bbdb9e55a0efe1060cd4b6bbb6d1a5a23a09236a18c2d2323","7340d9ad1f3f55e7be3a85a151ef25d7a8c0205904519940c9dcea0f61cb3292","b6c3995be1adb84b6f81cbf9dfdecaa0da5cc71c5a61b5fc0e4a5a31765d8257","3da723823982206178406b7c2b8570152c6347a047fa7e59fa46011d10ac26b6","faba33b564a39dcb577490c3db303e692b745453fc50adb57860e8014e3247a2","72b83ee0bee9e2bec77a2a1666c6933da383075af254348e4c72e7e0b69e16dd","ad50fd05c6869671a429ce6581c052720d067f79d59a8eada7bc3a17e323728a",{"version":"d3ba9bcd18af14b5a9a41e1e95e52d2abc7545742ac10f95eba9b8fc86a5ba36","signature":"a61c2daeacc381d1877bfada4bcf469cb087d68d6065121e34fc8e58d5ab2912"},{"version":"54d36ef842de2ac6220323c62f695efd6e7ecaa2ac883cc98e4396930261975d","signature":"aed6cd506458a9e5c8ec2e5923a5fce83a9c5d54a6ab9788482345262f49c862"},{"version":"3bcb4e05e05a92be2163136d641cf00862b0d68b43ce409602f0913d20af4f21","signature":"b2f7feec3cc6cc320902d83120b88bc752bd1ccc92f76f79a2682901ed3fd7db"},{"version":"a3235f7145661df7ea9f68c2219328d9c0381caeb82e60f58007bca4980dc88c","signature":"3e062c4474550c90b3684d29aa7b78bd422f5c1b10eb344d2cbe7cb2004f9a56"},{"version":"ad00acc3986cfe117d34af74ca40c154f91c000e51fb5cbaf109d496ddd5d8b0","signature":"a7c630949e204aeb225cb406bd637221930a46c08408bf59627d5324e7746b04"},{"version":"2ac1e82252f64fc33aa5f87a8a2254d07b88eedbc81010c5fa706a2fccacf6ce","signature":"f5e40d3f44147f2facbfa3fefc4789d67edce8be508ab176ef91e960595999e4"},{"version":"42178956b5376711baba2759ce8cd7f84015184bdcb206050456014476dcdc9c","signature":"4a7e608b329367be78bd336a79f35083db12800416de6b4d26387cd7c3098d37"},{"version":"0f937a3b2210818164183bb4880f54f9ed5994e8fff0d9c6599b976a210494cb","signature":"50eab4f7d024f2e0fd07906f766b3b8bef0f301eae91e7afa7d304d6a67dd2bb"},{"version":"f9544ee84d3ac193e80b75855889c54d657a781fa9ebc801e386f3623eef10ba","signature":"248123c911541fa29511934adaf30f9454709fa05e58a9ccfe210e29016a6a89"},{"version":"567d90945e68819aff75af36c119d0bfc0c01456d83cb33134b5e494582addea","signature":"e53f529272e8c8501830c64953f1386c33d73e1404347307fb8f7995e3eb12d2"},{"version":"689ddd17483acc4c9be2f747b1f9752b36e0131b7f1a78d3973d7b7fca89d349","signature":"aeed7a1028a1bd9608c463112e19d30c2bbe03a5a70673fbdb9b338a6a31d2cd"},{"version":"6cff0be2aca0da7d6151d7b66455b9f8ba20fffaa25263045f58651d8e5f0f40","signature":"3a883d1302c8a7dcb3ee3681ed248ab9615e9b3f562b82721cf12da6a582bfe8"},{"version":"237bd8d33938b43586cea21d3d1e3c3629c57073a6fe95f383bb67b3ce7fe733","signature":"645612e307c4f7b428ea07d74216e50a97efcfa460c0275659450c0427e20493"},{"version":"d1804fef95c5293d961ffa01f1b258200fb6005fb2d94a1d22de2332a671ba9c","signature":"b4ac9b087ae5b948fa6a75d024ee9fa843f033b7dfb242ceb2a3627129b2b440"},{"version":"4cc0a70fb68718eb3391fb8f8df1baa861c4c45bbe377f9fb2897b82f0a4a2a9","signature":"98f6aacfcb63a98b3b2fe26c229b44df86b7846180bb41b7a895dcd2f47f0213"},{"version":"ae5de19a27c1cc8f804da8bfd006d566e92be22dafd84725d181e0293541d7a6","signature":"02ae0308f6217eb01bb287067068a2fe73f09b0bca8bd18b8df8e9eae7193e84"},"21a651efde14f50b4d04c5a746b113b981f4a45c7113d7ab9fbdaecc4972d086",{"version":"d013c139a57532b59f951139b366efcad0ecc2b4a453796fa98cf375b338f753","signature":"0e5aecb6ef4d46ebed19b1b922e5b23a0b692c3f2359680e7f7518175f767f93"},"e74998d5cefc2f29d583c10b99c1478fb810f1e46fbb06535bfb0bbba3c84aa5","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","43d058146b002d075f5d0033a6870321048297f1658eb0db559ba028383803a6","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9e0cf651e8e2c5b9bebbabdff2f7c6f8cedd91b1d9afcc0a854cdff053a88f1b","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"5ab630d466ac55baa6d32820378098404fc18ba9da6f7bc5df30c5dbb1cffae8","affectsGlobalScope":true},"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7"],"root":[52,53,[171,186],188],"options":{"allowJs":true,"declaration":true,"esModuleInterop":true,"jsx":1,"module":1,"outDir":"./","skipLibCheck":true,"strict":true,"target":7},"fileIdsList":[[189],[201],[189,190,191,192,193],[189,191],[108,146],[196],[197],[203,206],[54],[94],[95,100,130],[96,101,107,108,115,127,138],[96,97,107,115],[98,139],[99,100,108,116],[100,127,135],[101,103,107,115],[94,102],[103,104],[107],[105,107],[94,107],[107,108,109,127,138],[107,108,109,122,127,130],[92,143],[92,103,107,110,115,127,138],[107,108,110,111,115,127,135,138],[110,112,127,135,138],[54,55,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145],[107,113],[114,138,143],[103,107,115,127],[116],[117],[94,118],[54,55,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144],[120],[121],[107,122,123],[122,124,139,141],[95,107,127,128,129,130],[95,127,129],[127,128],[130],[131],[54,127],[107,133,134],[133,134],[100,115,127,135],[136],[115,137],[95,110,121,138],[100,139],[127,140],[114,141],[142],[95,100,107,109,118,127,138,141,143],[127,144],[209,248],[209,233,248],[248],[209],[209,234,248],[209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247],[234,248],[250],[146],[146,166],[146,147],[146,164],[150],[147,148,149,159,160,163,164,165,168,169],[159],[146,147,150,151,152,153,154,155,156,157,158],[146,147,164,166,167],[146,159,160,161,162],[199,205],[203],[200,204],[202],[64,68,138],[64,127,138],[59],[61,64,135,138],[115,135],[59,146],[61,64,115,138],[56,57,60,63,95,107,127,138],[64,71],[56,62],[64,85,86],[60,64,95,130,138,146],[95,146],[85,95,146],[58,59,146],[64],[58,59,60,61,62,63,64,65,66,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,89,90,91],[64,79],[64,71,72],[62,64,72,73],[63],[56,59,64],[64,68,72,73],[68],[62,64,67,138],[56,61,64,71],[95,127],[59,64,85,95,143,146],[52,170],[52,170,171,172,173,176],[52,170,172,173,176,178,179],[52,53,150,170,172,173,179,182],[170,181],[52,53,150,170,172,173,179,184,185],[170,184],[166],[170],[170,187],[172],[52,170,172,174,175],[52,170,172]],"referencedMap":[[191,1],[202,2],[194,3],[190,1],[192,4],[193,1],[195,5],[197,6],[198,7],[207,8],[54,9],[55,9],[94,10],[95,11],[96,12],[97,13],[98,14],[99,15],[100,16],[101,17],[102,18],[103,19],[104,19],[106,20],[105,21],[107,22],[108,23],[109,24],[93,25],[110,26],[111,27],[112,28],[146,29],[113,30],[114,31],[115,32],[116,33],[117,34],[118,35],[119,36],[120,37],[121,38],[122,39],[123,39],[124,40],[127,41],[129,42],[128,43],[130,44],[131,45],[132,46],[133,47],[134,48],[135,49],[136,50],[137,51],[138,52],[139,53],[140,54],[141,55],[142,56],[143,57],[144,58],[233,59],[234,60],[209,61],[212,61],[231,59],[232,59],[222,59],[221,62],[219,59],[214,59],[227,59],[225,59],[229,59],[213,59],[226,59],[230,59],[215,59],[216,59],[228,59],[210,59],[217,59],[218,59],[220,59],[224,59],[235,63],[223,59],[211,59],[248,64],[242,63],[244,65],[243,63],[236,63],[237,63],[239,63],[241,63],[245,65],[246,65],[238,65],[240,65],[251,66],[166,67],[167,68],[148,69],[165,70],[149,67],[169,71],[170,72],[151,73],[159,74],[152,73],[153,73],[154,73],[155,73],[158,73],[156,73],[157,73],[168,75],[163,76],[161,67],[162,67],[164,67],[150,67],[206,77],[204,78],[205,79],[203,80],[71,81],[81,82],[70,81],[91,83],[62,84],[61,85],[90,67],[84,86],[89,87],[64,88],[78,89],[63,90],[87,91],[59,92],[58,93],[88,94],[60,95],[65,96],[69,96],[92,97],[82,98],[73,99],[74,100],[76,101],[72,102],[75,103],[85,67],[67,104],[68,105],[77,106],[57,107],[80,98],[79,96],[86,108],[171,109],[177,110],[178,109],[180,111],[183,112],[182,113],[186,114],[185,115],[174,116],[179,117],[188,118],[173,119],[176,120],[175,121]]},"version":"5.5.4"} \ No newline at end of file diff --git a/scripts/pre_deposit.demo.ts b/scripts/pre_deposit.demo.ts new file mode 100644 index 0000000..8fc581d --- /dev/null +++ b/scripts/pre_deposit.demo.ts @@ -0,0 +1,279 @@ +/* eslint-disable max-len */ +import * as ecc from "@bitcoin-js/tiny-secp256k1-asmjs"; +import { initEccLib, networks, payments, Psbt, Transaction, script as bitcoinScript } from "bitcoinjs-lib"; +import { BitcoinCoreWallet } from "walletprovider-ts/lib/providers/bitcoin_core_wallet"; +import { buildDefaultBitcoinCoreWallet } from "./wallet.setting" +import { buildPreDepositLockingScript } from "../src/covenantV1/locking.script"; +import { lockingTransaction, withdrawalTimeLockTransaction } from "../src/covenantV1/locking"; +import { witnessStackToScriptWitness } from "bitcoinjs-lib/src/psbt/psbtutils"; + +const network = networks.regtest; +initEccLib(ecc); + +const LOCKING_HEIGHT = 20; +const NUM_TRANSACTIONS = 1; // Number of transactions to lock + +// const txHex = ""; + +class LockingProtocol { + wallet: BitcoinCoreWallet; + lockingTxs: Transaction[]; // Store multiple locking transactions + scripts: any; + targetWithdrawAddress: string; // Unified withdrawal address + + constructor() { + this.wallet = buildDefaultBitcoinCoreWallet(); + this.lockingTxs = [ + // Transaction.fromHex(txHex) + ]; + this.scripts = {}; + this.targetWithdrawAddress = ""; // TODO: Set unified withdrawal address + } + + async getCurrentBlockHeight(): Promise { + // Get current block height + const blockCount = await this.wallet.getBTCTipHeight(); + console.log("Current block height:", blockCount); + return blockCount; + } + + async batchLocking() { + console.log("Batch locking transactions..."); + + // 1. Get current height and calculate target lock height + const currentHeight = await this.getCurrentBlockHeight(); + const targetLockHeight = currentHeight + LOCKING_HEIGHT; + console.log(`Target lock height: ${targetLockHeight}`); + + // 2. Create multiple locking transactions + for (let i = 0; i < NUM_TRANSACTIONS; i++) { + try { + // Get wallet public key + const walletAddress = await this.wallet.getAddress(); + const pubKey = await this.wallet.getPublicKey(walletAddress); + const lockerPk = Buffer.from(pubKey, "hex").subarray(0, 33); + + // Create locking script + const lockingScript = buildPreDepositLockingScript( + lockerPk, + targetLockHeight + ); + this.scripts = { lockingScript }; + + // Build locking transaction + const amount = 1e6; // 0.01 BTC + const feeRate = 15; + const changeAddress = await this.wallet.getAddress(); + const inputUTXOs = await this.wallet.getUtxos(changeAddress, amount + 5e6); + + console.log(`Creating locking tx ${i + 1}/${NUM_TRANSACTIONS}`); + + const { psbt } = lockingTransaction( + this.scripts, + amount, + changeAddress, + inputUTXOs, + network, + feeRate, + undefined, + undefined + ); + + // Sign transaction + const signedPsbtHex = await this.wallet.signPsbt(psbt.toHex()); + const signedPsbt = Psbt.fromHex(signedPsbtHex); + const tx = signedPsbt.extractTransaction(); + + console.log(`tx: ${tx.toHex()}`); + // Broadcast transaction + const txid = await this.wallet.pushTx(tx.toHex()); + console.log(`Locking transaction ${i + 1} broadcast: ${txid}`); + + // Save transaction info + this.lockingTxs.push(tx); + } catch (error) { + console.error(`Failed to create locking transaction ${i + 1}:`, error); + throw error; + } + } + + console.log(`Successfully created ${this.lockingTxs.length} locking transactions`); + } + + async mineToTargetHeight() { + await this.wallet.mine(LOCKING_HEIGHT, await this.wallet.getAddress()); + const currentHeight = await this.getCurrentBlockHeight(); + console.log(`Mining to target height: ${currentHeight + LOCKING_HEIGHT}`); + } + + async rebuildLockingScript(tx: Transaction, targetLockHeight: number): Promise { + // Get wallet public key + const walletAddress = await this.wallet.getAddress(); + const pubKey = await this.wallet.getPublicKey(walletAddress); + const lockerPk = Buffer.from(pubKey, "hex").subarray(0, 33); + + // Rebuild script with specified lock height + const lockingScript = buildPreDepositLockingScript( + lockerPk, + targetLockHeight + ); + + // Verify script matches + const outputScript = tx.outs[0].script; + const p2wshCheck = payments.p2wsh({ + redeem: { output: lockingScript, network }, + network + }); + + if (!p2wshCheck.output?.equals(outputScript)) { + throw new Error("Rebuilt script does not match transaction output"); + } + + return lockingScript; + } + + async batchWithdraw() { + console.log("Batch withdrawing all locked transactions..."); + + // Get current height + const currentHeight = await this.getCurrentBlockHeight(); + console.log("Current block height:", currentHeight); + + // Get unified withdrawal address + const withdrawalAddress = await this.wallet.getAddress(); + console.log("Withdrawal address:", withdrawalAddress); + + // Process all locked transactions + for (let i = 0; i < this.lockingTxs.length; i++) { + try { + const lockingTx = this.lockingTxs[i]; + console.log(`Processing withdrawal ${i + 1}/${this.lockingTxs.length}`); + console.log(`Locking txid: ${lockingTx.getId()}`); + + // Build withdrawal transaction + const feeRate = 15; + const outputIndex = 0; + + const { psbt } = withdrawalTimeLockTransaction( + this.scripts, + lockingTx, + withdrawalAddress, + feeRate, + network, + outputIndex, + 0, + currentHeight + ); + + // Set nLocktime + psbt.setLocktime(currentHeight); + + // Sign transaction + const lockrKeyPair = await this.wallet.dumpPrivKey(); + psbt.signInput(0, lockrKeyPair); + + // Finalize transaction + psbt.finalizeInput(0, ( + inputIndex: number, + input: any, + script: Buffer) => { + const payment = payments.p2wsh({ + network, + redeem: { + network, + input: bitcoinScript.compile([ + input.partialSig![0].signature + ]), + output: script + } + }); + + return { + finalScriptSig: Buffer.from(""), + finalScriptWitness: witnessStackToScriptWitness(payment.witness!) + }; + }); + + // Extract and broadcast transaction + const tx = psbt.extractTransaction(); + const txHex = tx.toHex(); + const txid = await this.wallet.pushTx(txHex); + + console.log(`Withdrawal transaction ${i + 1} broadcast: ${txid}`); + } catch (error) { + console.error(`Failed to withdraw transaction ${i + 1}:`, error); + throw error; + } + } + + console.log(`Successfully processed ${this.lockingTxs.length} withdrawals`); + } + + async check_balance() { + console.log("Wallet balance: ", await this.wallet.getBalance()); + } + + async getHeight() { + const height = await this.wallet.getBTCTipHeight(); + console.log("Current height: ", height); + } + + async getLockHeightFromTx(tx: Transaction): Promise { + // Get P2WSH output + const outputScript = tx.outs[0].script; + const p2wsh = payments.p2wsh({ output: outputScript, network }); + console.log("Lock address:", p2wsh.address); + + // If transaction is unspent, rebuild locking script + const walletAddress = await this.wallet.getAddress(); + const pubKey = await this.wallet.getPublicKey(walletAddress); + const lockerPk = Buffer.from(pubKey, "hex").subarray(0, 33); + + // Current height + 20 is the lock height + const currentHeight = await this.getCurrentBlockHeight(); + const expectedLockHeight = currentHeight + 20; + + const lockingScript = buildPreDepositLockingScript( + lockerPk, + expectedLockHeight + ); + + // Verify rebuilt script matches + const p2wshCheck = payments.p2wsh({ + redeem: { output: lockingScript, network }, + network + }); + + if (p2wshCheck.output?.equals(outputScript)) { + console.log("Successfully reconstructed locking script"); + return expectedLockHeight; + } + + throw new Error("Could not determine lock height"); + } +} + +async function run() { + const lockingProtocol = new LockingProtocol(); + await lockingProtocol.wallet.walletPassphrase("btcstaker", 1000); + + await lockingProtocol.getHeight(); + await lockingProtocol.check_balance(); + + // 1. Batch create locking transactions + await lockingProtocol.batchLocking(); + await lockingProtocol.getHeight(); + await lockingProtocol.check_balance(); + + // 2. Mine to target height + await lockingProtocol.mineToTargetHeight(); + + // 3. Batch withdraw all transactions to unified address + await lockingProtocol.batchWithdraw(); + await lockingProtocol.check_balance(); +} + +run().then(() => { + console.log("Done"); + process.exit(); +}); diff --git a/src/covenantV1/locking.script.ts b/src/covenantV1/locking.script.ts index 982968e..7ea839b 100644 --- a/src/covenantV1/locking.script.ts +++ b/src/covenantV1/locking.script.ts @@ -89,10 +89,8 @@ export function buildPreDepositLockingScript( throw new Error("Invalid numeric inputs"); } - const sequence = bip68.encode({ blocks: transferTimeLock }); - return script.compile([ - script.number.encode(sequence), + script.number.encode(transferTimeLock), opcodes.OP_CHECKLOCKTIMEVERIFY, opcodes.OP_DROP, lockerKey, diff --git a/src/covenantV1/locking.ts b/src/covenantV1/locking.ts index a90bf48..af956f0 100644 --- a/src/covenantV1/locking.ts +++ b/src/covenantV1/locking.ts @@ -122,7 +122,9 @@ export function withdrawalTimeLockTransaction( withdrawalAddress: string, feeRate: number, network: networks.Network, - outputIndex = 0 + outputIndex = 0, + timePosition = 5, + currentHeight?: number ) { if (feeRate <= 0) { throw new Error("fee rate must be bigger than 0"); @@ -134,8 +136,8 @@ export function withdrawalTimeLockTransaction( throw new Error("Timelock script is not valid"); } - // position of time in the timelock script - const timePosition = 5; + const isAbsoluteTimelock = decompiled.includes(script.OPS.OP_CHECKLOCKTIMEVERIFY); + let timelock = 0; if (Buffer.isBuffer(decompiled[timePosition])) { @@ -160,12 +162,12 @@ export function withdrawalTimeLockTransaction( value: lockingTransaction.outs[outputIndex].value, script: lockingTransaction.outs[outputIndex].script }, - witnessScript: scripts.lockingScript, // Adding witnessScript here - sequence: timelock + witnessScript: scripts.lockingScript, + sequence: isAbsoluteTimelock ? 0xfffffffe : timelock }); const estimatedFee = getWithdrawTxFee(feeRate, lockingTransaction.outs[outputIndex].script); - const outputValue = lockingTransaction.outs[outputIndex].value - estimatedFee + const outputValue = lockingTransaction.outs[outputIndex].value - estimatedFee; if (outputValue < 0) { throw new Error("Output value is smaller than minimum fee"); @@ -180,6 +182,13 @@ export function withdrawalTimeLockTransaction( value: outputValue }); + if (isAbsoluteTimelock) { + if (!currentHeight) { + throw new Error("Current height is required for absolute timelock"); + } + psbt.setLocktime(currentHeight); + } + return { psbt }; }