@bitgo/utxo-staking 1.23.2 → 1.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/babylon/delegationMessage.d.ts +1 -1
- package/dist/src/babylon/delegationMessage.d.ts.map +1 -1
- package/dist/src/babylon/delegationMessage.js +1 -1
- package/dist/src/babylon/descriptor.d.ts +1 -1
- package/dist/src/babylon/descriptor.d.ts.map +1 -1
- package/dist/src/babylon/descriptor.js +3 -3
- package/dist/src/babylon/parseDescriptor.d.ts +1 -1
- package/dist/src/babylon/parseDescriptor.d.ts.map +1 -1
- package/dist/src/babylon/parseDescriptor.js +4 -4
- package/dist/src/babylon/undelegation/unbonding.d.ts +1 -1
- package/dist/src/babylon/undelegation/unbonding.d.ts.map +1 -1
- package/dist/src/babylon/undelegation/unbonding.js +3 -3
- package/dist/src/coreDao/descriptor.js +5 -5
- package/dist/src/coreDao/transaction.d.ts +1 -1
- package/dist/src/coreDao/transaction.d.ts.map +1 -1
- package/dist/src/coreDao/transaction.js +1 -1
- package/package.json +5 -5
|
@@ -2,7 +2,7 @@ import * as vendor from '@bitgo/babylonlabs-io-btc-staking-ts';
|
|
|
2
2
|
import * as babylonProtobuf from '@babylonlabs-io/babylon-proto-ts';
|
|
3
3
|
import * as bitcoinjslib from 'bitcoinjs-lib';
|
|
4
4
|
import * as utxolib from '@bitgo/utxo-lib';
|
|
5
|
-
import { Descriptor } from '@bitgo/wasm-
|
|
5
|
+
import { Descriptor } from '@bitgo/wasm-utxo';
|
|
6
6
|
import { BabylonDescriptorBuilder } from './descriptor';
|
|
7
7
|
import { BabylonNetworkLike } from './network';
|
|
8
8
|
export type ValueWithTypeUrl<T> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegationMessage.d.ts","sourceRoot":"","sources":["../../../src/babylon/delegationMessage.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,sCAAsC,CAAC;AAC/D,OAAO,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"delegationMessage.d.ts","sourceRoot":"","sources":["../../../src/babylon/delegationMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -282,4 +282,4 @@ async function createUnsignedPreStakeRegistrationBabylonTransactionWithBtcProvid
|
|
|
282
282
|
const unsignedDelegationMsg = await createDelegationMessageWithTransaction(channel, manager, staking, stakingInput.stakingAmountSat, transaction, babylonAddress);
|
|
283
283
|
return { unsignedDelegationMsg, stakingTx: transaction };
|
|
284
284
|
}
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGlvbk1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFieWxvbi9kZWxlZ2F0aW9uTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFEQSxzQ0F3QkM7QUFRRCw4Q0FjQztBQUVELHdEQW9GQztBQVVELG9DQWNDO0FBRUQsc0NBcUJDO0FBdUJELG9EQUtDO0FBd0JELHdGQWlDQztBQUVELGtKQTRCQztBQTNWRDs7R0FFRztBQUNILG9EQUE0QjtBQUU1Qix5Q0FBbUM7QUFDbkMsNkVBQStEO0FBRS9ELDREQUE4QztBQUM5Qyx5REFBMkM7QUFFM0MsZ0RBQW9EO0FBQ3BELDREQUF5RTtBQUd6RSxxREFBd0Q7QUFDeEQsbURBQW1EO0FBQ25ELHVDQUFtRTtBQUluRTs7OztHQUlHO0FBQ0gsU0FBUyxXQUFXLENBQUMsQ0FBUyxFQUFFLFFBQTBCO0lBQ3hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxRQUFRLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxRQUFRLENBQUMsQ0FBa0I7SUFDbEMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMxQixLQUFLLE1BQU0sUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBVSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDO2dCQUNILE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUs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LEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLElBQUEscUNBQW9CLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMxRSxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDeEcsc0NBQXNDO0lBQ3RDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNqSCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sc0NBQXNDLENBQ3hFLE9BQU8sRUFDUCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFlBQVksQ0FBQyxnQkFBZ0IsRUFDN0IsV0FBVyxFQUNYLGNBQWMsQ0FDZixDQUFDO0lBQ0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQztBQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYmFieWxvbmxhYnMtaW8vYmFieWxvbi9ibG9iL3YxLjk5LjAtc25hcHNob3QuMjUwMjExL3gvYnRjc3Rha2luZy90eXBlcy92YWxpZGF0ZV9wYXJzZWRfbWVzc2FnZS5nb1xuICovXG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IEJJUDMyMiB9IGZyb20gJ2JpcDMyMi1qcyc7XG5pbXBvcnQgKiBhcyB2ZW5kb3IgZnJvbSAnQGJpdGdvL2JhYnlsb25sYWJzLWlvLWJ0Yy1zdGFraW5nLXRzJztcbmltcG9ydCAqIGFzIGJhYnlsb25Qcm90b2J1ZiBmcm9tICdAYmFieWxvbmxhYnMtaW8vYmFieWxvbi1wcm90by10cyc7XG5pbXBvcnQgKiBhcyBiaXRjb2luanNsaWIgZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5pbXBvcnQgeyB0b1hPbmx5UHVibGljS2V5IH0gZnJvbSAnQGJpdGdvL3V0eG8tY29yZSc7XG5pbXBvcnQgeyBzaWduV2l0aEtleSwgdG9XcmFwcGVkUHNidCB9IGZyb20gJ0BiaXRnby91dHhvLWNvcmUvZGVzY3JpcHRvcic7XG5cbmltcG9ydCB7IEJhYnlsb25EZXNjcmlwdG9yQnVpbGRlciB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBjcmVhdGVTdGFraW5nTWFuYWdlciB9IGZyb20gJy4vc3Rha2luZ01hbmFnZXInO1xuaW1wb3J0IHsgZ2V0U3Rha2luZ1BhcmFtcyB9IGZyb20gJy4vc3Rha2luZ1BhcmFtcyc7XG5pbXBvcnQgeyBCYWJ5bG9uTmV0d29ya0xpa2UsIHRvQml0Y29pbkpzTmV0d29yayB9IGZyb20gJy4vbmV0d29yayc7XG5cbmV4cG9ydCB0eXBlIFZhbHVlV2l0aFR5cGVVcmw8VD4gPSB7IHR5cGVVcmw6IHN0cmluZzsgdmFsdWU6IFQgfTtcblxuLyoqXG4gKiBEZWNvZGUgYSBoZXggb3IgYmFzZTY0IGVuY29kZWQgc3RyaW5nIGFuZCBjaGVjayBpZiB0aGUgbGVuZ3RoIGlzIHZhbGlkLlxuICogQHBhcmFtIHZcbiAqIEBwYXJhbSBlbmNvZGluZ1xuICovXG5mdW5jdGlvbiBkZWNvZGVDaGVjayh2OiBzdHJpbmcsIGVuY29kaW5nOiAnaGV4JyB8ICdiYXNlNjQnKSB7XG4gIGNvbnN0IHJlc3VsdCA9IEJ1ZmZlci5mcm9tKHYsIGVuY29kaW5nKTtcbiAgaWYgKHJlc3VsdC50b1N0cmluZyhlbmNvZGluZykubGVuZ3RoICE9PSB2Lmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCAke2VuY29kaW5nfSBlbmNvZGluZ2ApO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ29udmVydCBhIEJ1ZmZlciBvciBzdHJpbmcgdG8gYSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcuXG4gKiBAcGFyYW0gdlxuICovXG5mdW5jdGlvbiB0b0Jhc2U2NCh2OiBCdWZmZXIgfCBzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiB2ID09PSAnc3RyaW5nJykge1xuICAgIGZvciAoY29uc3QgZW5jb2Rpbmcgb2YgWydiYXNlNjQnLCAnaGV4J10gYXMgY29uc3QpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB0b0Jhc2U2NChkZWNvZGVDaGVjayh2LCBlbmNvZGluZykpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyB0cnkgbmV4dFxuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYmFzZTY0IG9yIGhleCBlbmNvZGluZzogJHt2fWApO1xuICB9XG5cbiAgcmV0dXJuIHYudG9TdHJpbmcoJ2Jhc2U2NCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2lnbmVkUHNidChcbiAgcHNidDogYml0Y29pbmpzbGliLlBzYnQsXG4gIGRlc2NyaXB0b3I6IERlc2NyaXB0b3IsXG4gIHNpZ25lcnM6IHV0eG9saWIuRUNQYWlySW50ZXJmYWNlW10sXG4gIHsgZmluYWxpemUgPSBmYWxzZSB9XG4pOiBiaXRjb2luanNsaWIuUHNidCB7XG4gIGNvbnN0IHdyYXBwZWRQc2J0ID0gdG9XcmFwcGVkUHNidChwc2J0LnRvQnVmZmVyKCkpO1xuICBjb25zdCBzaWduZWRJbnB1dHMgPSBwc2J0LmRhdGEuaW5wdXRzLmZsYXRNYXAoKGlucHV0LCBpKSA9PiB7XG4gICAgYXNzZXJ0KGlucHV0LndpdG5lc3NVdHhvKTtcbiAgICBpZiAoQnVmZmVyLmZyb20oZGVzY3JpcHRvci5zY3JpcHRQdWJrZXkoKSkuZXF1YWxzKGlucHV0LndpdG5lc3NVdHhvLnNjcmlwdCkpIHtcbiAgICAgIHdyYXBwZWRQc2J0LnVwZGF0ZUlucHV0V2l0aERlc2NyaXB0b3IoaSwgZGVzY3JpcHRvcik7XG4gICAgICBjb25zdCBzaWduUmVzdWx0cyA9IHNpZ25lcnMubWFwKChzaWduZXIpID0+IHtcbiAgICAgICAgYXNzZXJ0KHNpZ25lci5wcml2YXRlS2V5KTtcbiAgICAgICAgcmV0dXJuIHdyYXBwZWRQc2J0LnNpZ25XaXRoUHJ2KHNpZ25lci5wcml2YXRlS2V5KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIFtbaSwgc2lnblJlc3VsdHNdXTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9KTtcbiAgYXNzZXJ0KHNpZ25lZElucHV0cy5sZW5ndGggPiAwKTtcbiAgaWYgKGZpbmFsaXplKSB7XG4gICAgd3JhcHBlZFBzYnQuZmluYWxpemUoKTtcbiAgfVxuICByZXR1cm4gYml0Y29pbmpzbGliLlBzYnQuZnJvbUJ1ZmZlcihCdWZmZXIuZnJvbSh3cmFwcGVkUHNidC5zZXJpYWxpemUoKSkpO1xufVxuXG4vKipcbiAqIFV0aWxpdHkgbWV0aG9kIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGluIGJ0Yy1zdGFraW5nLXRzXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYmFieWxvbmxhYnMtaW8vYnRjLXN0YWtpbmctdHMvaXNzdWVzLzcxXG4gKiBAcGFyYW0gdlxuICogQHBhcmFtIG5ldHdvcmtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcmNlRmluYWxpemVQc2J0KFxuICB2OiBCdWZmZXIgfCB1dHhvbGliLlBzYnQgfCBiaXRjb2luanNsaWIuUHNidCxcbiAgbmV0d29yazogQmFieWxvbk5ldHdvcmtMaWtlXG4pOiBiaXRjb2luanNsaWIuUHNidCB7XG4gIGlmICh2IGluc3RhbmNlb2YgdXR4b2xpYi5Qc2J0KSB7XG4gICAgdiA9IHYudG9CdWZmZXIoKTtcbiAgfVxuICBpZiAodiBpbnN0YW5jZW9mIGJpdGNvaW5qc2xpYi5Qc2J0KSB7XG4gICAgdiA9IHYudG9CdWZmZXIoKTtcbiAgfVxuICBjb25zdCBwc2J0ID0gYml0Y29pbmpzbGliLlBzYnQuZnJvbUJ1ZmZlcih2LCB7IG5ldHdvcms6IHRvQml0Y29pbkpzTmV0d29yayhuZXR3b3JrKSB9KTtcbiAgLy8gdGhpcyBvbmx5IHdvcmtzIHdpdGggY2VydGFpbiBiaXRjb2luanNsaWIgdmVyc2lvbnNcbiAgcHNidC5maW5hbGl6ZUFsbElucHV0cygpO1xuICByZXR1cm4gcHNidDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ0Y1Byb3ZpZGVyRm9yRUNLZXkoXG4gIGRlc2NyaXB0b3JCdWlsZGVyOiBCYWJ5bG9uRGVzY3JpcHRvckJ1aWxkZXIsXG4gIHN0YWtlcktleTogdXR4b2xpYi5FQ1BhaXJJbnRlcmZhY2Vcbik6IHZlbmRvci5CdGNQcm92aWRlciB7XG4gIGZ1bmN0aW9uIHNpZ25XaXRoRGVzY3JpcHRvcihcbiAgICBwc2J0OiBiaXRjb2luanNsaWIuUHNidCxcbiAgICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yLFxuICAgIGtleTogdXR4b2xpYi5FQ1BhaXJJbnRlcmZhY2VcbiAgKTogYml0Y29pbmpzbGliLlBzYnQge1xuICAgIHBzYnQgPSBnZXRTaWduZWRQc2J0KHBzYnQsIGRlc2NyaXB0b3IsIFtrZXldLCB7IGZpbmFsaXplOiBmYWxzZSB9KTtcbiAgICAvLyBCVUc6IHdlIG5lZWQgdG8gYmxpbmRseSBmaW5hbGl6ZSBoZXJlIGV2ZW4gdGhvdWdoIHdlIGhhdmUgbm90IGZ1bGx5IHNpZ25lZFxuICAgIHBzYnQuZmluYWxpemVBbGxJbnB1dHMoKTtcbiAgICByZXR1cm4gcHNidDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHNpZ25CaXAzMjJTaW1wbGUobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBHZXQgdGhlIHNjcmlwdCBwdWJsaWMga2V5IGZyb20gdGhlIHN0YWtpbmcgZGVzY3JpcHRvclxuICAgIGNvbnN0IHNjcmlwdFB1YktleSA9IEJ1ZmZlci5mcm9tKGRlc2NyaXB0b3JCdWlsZGVyLmdldFN0YWtpbmdEZXNjcmlwdG9yKCkuc2NyaXB0UHVia2V5KCkpO1xuICAgIGNvbnN0IHRvU3BlbmRUeCA9IEJJUDMyMi5idWlsZFRvU3BlbmRUeChtZXNzYWdlLCBzY3JpcHRQdWJLZXkpO1xuXG4gICAgLy8gR2V0IHRoZSB0b19zcGVuZCB0eGlkXG4gICAgY29uc3QgdG9TcGVuZFR4SWQgPSB0b1NwZW5kVHguZ2V0SWQoKTtcblxuICAgIC8vIENyZWF0ZSBQU0JUIG9iamVjdCBmb3IgY29uc3RydWN0aW5nIHRoZSB0cmFuc2FjdGlvblxuICAgIGNvbnN0IHRvU2lnblBzYnQgPSBuZXcgYml0Y29pbmpzbGliLlBzYnQoKTtcbiAgICB0b1NpZ25Qc2J0LnNldFZlcnNpb24oMik7IC8vIG5WZXJzaW9uID0gMFxuICAgIHRvU2lnblBzYnQuc2V0TG9ja3RpbWUoMCk7IC8vIG5Mb2NrVGltZSA9IDBcbiAgICB0b1NpZ25Qc2J0LmFkZElucHV0KHtcbiAgICAgIGhhc2g6IHRvU3BlbmRUeElkLFxuICAgICAgaW5kZXg6IDAsXG4gICAgICBzZXF1ZW5jZTogZGVzY3JpcHRvckJ1aWxkZXIuc3Rha2luZ1RpbWVMb2NrLFxuICAgICAgd2l0bmVzc1V0eG86IHtcbiAgICAgICAgc2NyaXB0OiBzY3JpcHRQdWJLZXksXG4gICAgICAgIHZhbHVlOiAwLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIFNpZ24gdGhlIFBTQlQgd2l0aCB0aGUgc3Rha2VyIGtleVxuICAgIGNvbnN0IHdyYXBwZWRQc2J0ID0gdG9XcmFwcGVkUHNidCh0b1NpZ25Qc2J0LnRvQnVmZmVyKCkpO1xuICAgIHdyYXBwZWRQc2J0LnVwZGF0ZUlucHV0V2l0aERlc2NyaXB0b3IoMCwgZGVzY3JpcHRvckJ1aWxkZXIuZ2V0U3Rha2luZ0Rlc2NyaXB0b3IoKSk7XG4gICAgc2lnbldpdGhLZXkod3JhcHBlZFBzYnQsIHN0YWtlcktleSk7XG4gICAgd3JhcHBlZFBzYnQuZmluYWxpemUoKTtcblxuICAgIC8vIEVuY29kZSB0aGUgd2l0bmVzcyBkYXRhIGFuZCByZXR1cm5cbiAgICByZXR1cm4gQklQMzIyLmVuY29kZVdpdG5lc3MoYml0Y29pbmpzbGliLlBzYnQuZnJvbUJ1ZmZlcihCdWZmZXIuZnJvbSh3cmFwcGVkUHNidC5zZXJpYWxpemUoKSkpKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gdHlwZVxuICAgICAqIEByZXR1cm5zIEJhc2U2NCBlbmNvZGVkIHN0cmluZ1xuICAgICAqL1xuICAgIGFzeW5jIHNpZ25NZXNzYWdlKG1lc3NhZ2U6IHN0cmluZywgdHlwZTogJ2VjZHNhJyB8ICdiaXAzMjItc2ltcGxlJyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSAnZWNkc2EnOlxuICAgICAgICAgIHJldHVybiB0b0Jhc2U2NChzdGFrZXJLZXkuc2lnbihCdWZmZXIuZnJvbShtZXNzYWdlLCAnaGV4JykpKTtcbiAgICAgICAgY2FzZSAnYmlwMzIyLXNpbXBsZSc6XG4gICAgICAgICAgcmV0dXJuIHRvQmFzZTY0KHNpZ25CaXAzMjJTaW1wbGUobWVzc2FnZSkpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgdW5leHBlY3RlZCB0eXBlOiAke3R5cGV9YCk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIGFzeW5jIHNpZ25Qc2J0KHBzYnRIZXg6IHN0cmluZywgb3B0aW9uczogdmVuZG9yLlNpZ25Qc2J0T3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICBjb25zdCBwc2J0ID0gYml0Y29pbmpzbGliLlBzYnQuZnJvbUhleChwc2J0SGV4KTtcbiAgICAgIHN3aXRjaCAob3B0aW9ucy5hY3Rpb24ubmFtZSkge1xuICAgICAgICBjYXNlICdzaWduLWJ0Yy1zbGFzaGluZy10cmFuc2FjdGlvbic6XG4gICAgICAgICAgcmV0dXJuIHNpZ25XaXRoRGVzY3JpcHRvcihwc2J0LCBkZXNjcmlwdG9yQnVpbGRlci5nZXRTdGFraW5nRGVzY3JpcHRvcigpLCBzdGFrZXJLZXkpLnRvSGV4KCk7XG4gICAgICAgIGNhc2UgJ3NpZ24tYnRjLXVuYm9uZGluZy1zbGFzaGluZy10cmFuc2FjdGlvbic6XG4gICAgICAgICAgcmV0dXJuIHNpZ25XaXRoRGVzY3JpcHRvcihwc2J0LCBkZXNjcmlwdG9yQnVpbGRlci5nZXRVbmJvbmRpbmdEZXNjcmlwdG9yKCksIHN0YWtlcktleSkudG9IZXgoKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgc2lnbmluZyBzdGVwOiAke29wdGlvbnMuYWN0aW9uLm5hbWV9YCk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgb25seSB1c2VkIGJ5IGJ0Yy1zdGFraW5nLXRzIHRvIGNyZWF0ZSBhIHN0YWtpbmcgZXhwYW5zaW9uIHJlZ2lzdHJhdGlvblxuICAgICAqIHRyYW5zYWN0aW9uLCB3aGljaCB3ZSBkbyBub3QgY3VycmVudGx5IHN1cHBvcnQuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0VHJhbnNhY3Rpb25IZXgodHhpZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgb3BlcmF0aW9uIGdldFRyYW5zYWN0aW9uSGV4ICh0eGlkPSR7dHhpZH0pYCk7XG4gICAgfSxcbiAgfTtcbn1cbnR5cGUgUmVzdWx0ID0ge1xuICB1bnNpZ25lZERlbGVnYXRpb25Nc2c6IFZhbHVlV2l0aFR5cGVVcmw8YmFieWxvblByb3RvYnVmLmJ0Y3N0YWtpbmd0eC5Nc2dDcmVhdGVCVENEZWxlZ2F0aW9uPjtcbiAgc3Rha2luZ1R4OiBiaXRjb2luanNsaWIuVHJhbnNhY3Rpb247XG59O1xuXG4vKipcbiAqIEBwYXJhbSBzdGFraW5nS2V5IC0gdGhpcyBpcyB0aGUgc2luZ2xlLXNpZyBrZXkgdGhhdCBpcyB1c2VkIGZvciBjby1zaWduaW5nIHRoZSBzdGFraW5nIG91dHB1dFxuICogQHBhcmFtIGNoYW5nZUFkZHJlc3MgLSB0aGlzIGlzIHVucmVsYXRlZCB0byB0aGUgc3Rha2luZyBrZXkgYW5kIGlzIHVzZWQgZm9yIHRoZSBjaGFuZ2Ugb3V0cHV0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1N0YWtlckluZm8oXG4gIHN0YWtpbmdLZXk6IHV0eG9saWIuRUNQYWlySW50ZXJmYWNlIHwgQnVmZmVyIHwgc3RyaW5nLFxuICBjaGFuZ2VBZGRyZXNzOiBzdHJpbmdcbik6IHZlbmRvci5TdGFrZXJJbmZvIHtcbiAgaWYgKHR5cGVvZiBzdGFraW5nS2V5ID09PSAnb2JqZWN0JyAmJiAncHVibGljS2V5JyBpbiBzdGFraW5nS2V5KSB7XG4gICAgc3Rha2luZ0tleSA9IHN0YWtpbmdLZXkucHVibGljS2V5O1xuICB9XG4gIGlmICh0eXBlb2Ygc3Rha2luZ0tleSA9PT0gJ3N0cmluZycpIHtcbiAgICBzdGFraW5nS2V5ID0gQnVmZmVyLmZyb20oc3Rha2luZ0tleSwgJ2hleCcpO1xuICB9XG4gIHJldHVybiB7XG4gICAgcHVibGljS2V5Tm9Db29yZEhleDogdG9YT25seVB1YmxpY0tleShzdGFraW5nS2V5KS50b1N0cmluZygnaGV4JyksXG4gICAgYWRkcmVzczogY2hhbmdlQWRkcmVzcyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0YWtpbmcoXG4gIG5ldHdvcms6IEJhYnlsb25OZXR3b3JrTGlrZSxcbiAgYmxvY2tIZWlnaHQ6IG51bWJlcixcbiAgc3Rha2VyQnRjSW5mbzogdmVuZG9yLlN0YWtlckluZm8sXG4gIHN0YWtpbmdJbnB1dDogdmVuZG9yLlN0YWtpbmdJbnB1dHMsXG4gIHZlcnNpb25lZFBhcmFtczogdmVuZG9yLlZlcnNpb25lZFN0YWtpbmdQYXJhbXNbXSA9IGdldFN0YWtpbmdQYXJhbXMobmV0d29yaylcbik6IHZlbmRvci5TdGFraW5nIHtcbiAgaWYgKGJsb2NrSGVpZ2h0ID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdCYWJ5bG9uIEJUQyB0aXAgaGVpZ2h0IGNhbm5vdCBiZSAwJyk7XG4gIH1cblxuICAvLyBHZXQgdGhlIEJhYnlsb24gcGFyYW1zIGJhc2VkIG9uIHRoZSBCVEMgdGlwIGhlaWdodCBmcm9tIEJhYnlsb24gY2hhaW5cbiAgY29uc3QgcGFyYW1zID0gdmVuZG9yLmdldEJhYnlsb25QYXJhbUJ5QnRjSGVpZ2h0KGJsb2NrSGVpZ2h0LCB2ZXJzaW9uZWRQYXJhbXMpO1xuXG4gIHJldHVybiBuZXcgdmVuZG9yLlN0YWtpbmcoXG4gICAgdG9CaXRjb2luSnNOZXR3b3JrKG5ldHdvcmspLFxuICAgIHN0YWtlckJ0Y0luZm8sXG4gICAgcGFyYW1zLFxuICAgIHN0YWtpbmdJbnB1dC5maW5hbGl0eVByb3ZpZGVyUGtzTm9Db29yZEhleCxcbiAgICBzdGFraW5nSW5wdXQuc3Rha2luZ1RpbWVsb2NrXG4gICk7XG59XG5cbnR5cGUgVHJhbnNhY3Rpb25MaWtlID1cbiAgfCBiaXRjb2luanNsaWIuUHNidFxuICB8IGJpdGNvaW5qc2xpYi5UcmFuc2FjdGlvblxuICB8IHV0eG9saWIuVHJhbnNhY3Rpb25cbiAgfCB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxiaWdpbnQgfCBudW1iZXI+XG4gIHwgdXR4b2xpYi5Qc2J0XG4gIHwgdXR4b2xpYi5iaXRnby5VdHhvUHNidDtcblxuZnVuY3Rpb24gdG9TdGFraW5nVHJhbnNhY3Rpb25Gcm9tUHNidChcbiAgcHNidDogYml0Y29pbmpzbGliLlBzYnQgfCB1dHhvbGliLlBzYnQgfCB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0XG4pOiBiaXRjb2luanNsaWIuVHJhbnNhY3Rpb24ge1xuICBpZiAoIShwc2J0IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvUHNidCkpIHtcbiAgICBwc2J0ID0gdXR4b2xpYi5iaXRnby5jcmVhdGVQc2J0RnJvbUJ1ZmZlcihwc2J0LnRvQnVmZmVyKCksIHV0eG9saWIubmV0d29ya3MuYml0Y29pbik7XG4gIH1cbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgLy8gb25seSB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IGhhcyB0aGUgZ2V0VW5zaWduZWRUeCBtZXRob2RcbiAgICByZXR1cm4gYml0Y29pbmpzbGliLlRyYW5zYWN0aW9uLmZyb21IZXgocHNidC5nZXRVbnNpZ25lZFR4KCkudG9IZXgoKSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdpbGxlZ2FsIHN0YXRlJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1N0YWtpbmdUcmFuc2FjdGlvbih0eDogVHJhbnNhY3Rpb25MaWtlKTogYml0Y29pbmpzbGliLlRyYW5zYWN0aW9uIHtcbiAgaWYgKHR4IGluc3RhbmNlb2YgYml0Y29pbmpzbGliLlBzYnQgfHwgdHggaW5zdGFuY2VvZiB1dHhvbGliLlBzYnQpIHtcbiAgICByZXR1cm4gdG9TdGFraW5nVHJhbnNhY3Rpb25Gcm9tUHNidCh0eCk7XG4gIH1cbiAgcmV0dXJuIGJpdGNvaW5qc2xpYi5UcmFuc2FjdGlvbi5mcm9tSGV4KHR4LnRvSGV4KCkpO1xufVxuXG4vKipcbiAqIEFzIG9mIGJhYnlsb25sYWJzLWlvL2J0Yy1zdGFraW5nLXRzIHYxLjUuNywgdGhlIEJUQyBkZWxlZ2F0aW9uIG1lc3NhZ2UgY3JlYXRpb24gZnVuY3Rpb25zIHN1cHBvcnQgdHdvIG1lc3NhZ2UgdHlwZXM6XG4gKiAtIE1zZ0NyZWF0ZUJUQ0RlbGVnYXRpb25cbiAqIC0gTXNnQnRjU3Rha2VFeHBhbmRcbiAqXG4gKiBCaXRHbyBzdGlsbCBvbmx5IHN1cHBvcnRzIE1zZ0NyZWF0ZUJUQ0RlbGVnYXRpb24sIHNvIHdlIG5lZWQgdG8gY2hlY2sgdGhlIG1lc3NhZ2UgdHlwZSBoZXJlLlxuICpcbiAqIEBwYXJhbSBtc2cgLSB0aGUgbWVzc2FnZSB0byBjaGVja1xuICogQHJldHVybiBgdHJ1ZWAgaWYgdGhlIG1lc3NhZ2UgaXMgb2YgdHlwZSBNc2dDcmVhdGVCVENEZWxlZ2F0aW9uXG4gKi9cbmZ1bmN0aW9uIGlzTXNnQnRjU3Rha2VFeHBhbmQoXG4gIG1zZzogYmFieWxvblByb3RvYnVmLmJ0Y3N0YWtpbmd0eC5Nc2dDcmVhdGVCVENEZWxlZ2F0aW9uIHwgYmFieWxvblByb3RvYnVmLmJ0Y3N0YWtpbmd0eC5Nc2dCdGNTdGFrZUV4cGFuZFxuKSB7XG4gIHJldHVybiAncHJldmlvdXNTdGFraW5nVHhIYXNoJyBpbiBtc2c7XG59XG5cbi8qXG4gKiBUaGlzIGlzIG1vc3RseSBsaWZ0ZWQgZnJvbVxuICogaHR0cHM6Ly9naXRodWIuY29tL2JhYnlsb25sYWJzLWlvL2J0Yy1zdGFraW5nLXRzL2Jsb2IvdjAuNC4wLXJjLjIvc3JjL3N0YWtpbmcvbWFuYWdlci50cyNMMTAwLUwxNzJcbiAqXG4gKiBUaGUgZGlmZmVyZW5jZSBpcyB0aGF0IGhlcmUgd2UgYXJlIHJldHVybmluZyBhbiBfdW5zaWduZWRfIGRlbGVnYXRpb24gbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZURlbGVnYXRpb25NZXNzYWdlV2l0aFRyYW5zYWN0aW9uKFxuICBjaGFubmVsOiAnZGVsZWdhdGlvbjpjcmVhdGUnIHwgJ2RlbGVnYXRpb246cmVnaXN0ZXInLFxuICBtYW5hZ2VyOiB2ZW5kb3IuQmFieWxvbkJ0Y1N0YWtpbmdNYW5hZ2VyLFxuICBzdGFraW5nOiB2ZW5kb3IuU3Rha2luZyxcbiAgc3Rha2luZ0Ftb3VudFNhdDogbnVtYmVyLFxuICB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25MaWtlLFxuICBiYWJ5bG9uQWRkcmVzczogc3RyaW5nXG4pOiBQcm9taXNlPFZhbHVlV2l0aFR5cGVVcmw8YmFieWxvblByb3RvYnVmLmJ0Y3N0YWtpbmd0eC5Nc2dDcmVhdGVCVENEZWxlZ2F0aW9uPj4ge1xuICBpZiAoIXZlbmRvci5pc1ZhbGlkQmFieWxvbkFkZHJlc3MoYmFieWxvbkFkZHJlc3MpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIEJhYnlsb24gYWRkcmVzcycpO1xuICB9XG4gIC8vIENyZWF0ZSBkZWxlZ2F0aW9uIG1lc3NhZ2Ugd2l0aG91dCBpbmNsdWRpbmcgaW5jbHVzaW9uIHByb29mXG4gIGNvbnN0IG1zZyA9IGF3YWl0IG1hbmFnZXIuY3JlYXRlQnRjRGVsZWdhdGlvbk1zZyhcbiAgICBjaGFubmVsLFxuICAgIHN0YWtpbmcsXG4gICAge1xuICAgICAgc3Rha2luZ1RpbWVsb2NrOiBzdGFraW5nLnN0YWtpbmdUaW1lbG9jayxcbiAgICAgIGZpbmFsaXR5UHJvdmlkZXJQa3NOb0Nvb3JkSGV4OiBzdGFraW5nLmZpbmFsaXR5UHJvdmlkZXJQa3NOb0Nvb3JkSGV4LFxuICAgICAgc3Rha2luZ0Ftb3VudFNhdCxcbiAgICB9LFxuICAgIHRvU3Rha2luZ1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKSxcbiAgICBiYWJ5bG9uQWRkcmVzcyxcbiAgICBzdGFraW5nLnN0YWtlckluZm8sXG4gICAgc3Rha2luZy5wYXJhbXNcbiAgKTtcblxuICAvLyBJdCBzaG91bGRuJ3QgYmUgcG9zc2libGUgZm9yIHVzIHRvIGNyZWF0ZSBhIE1zZ0J0Y1N0YWtlRXhwYW5kIGhlcmUgYmVjYXVzZSB0aGF0IG9ubHkgZ2V0cyBjcmVhdGVkIHdoZW5cbiAgLy8gd2UgcGFzcyBjaGFubmVsID0gZGVsZWdhdGlvbjpleHBhbmQgaW50byBjcmVhdGVCdGNEZWxlZ2F0aW9uTXNnLCB3aGljaCB3ZSBjYW5ub3QgZG8uXG4gIGlmIChpc01zZ0J0Y1N0YWtlRXhwYW5kKG1zZy52YWx1ZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01zZ0J0Y1N0YWtlRXhwYW5kIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgfVxuXG4gIHJldHVybiB7IC4uLm1zZywgdmFsdWU6IG1zZy52YWx1ZSBhcyBiYWJ5bG9uUHJvdG9idWYuYnRjc3Rha2luZ3R4Lk1zZ0NyZWF0ZUJUQ0RlbGVnYXRpb24gfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVVuc2lnbmVkUHJlU3Rha2VSZWdpc3RyYXRpb25CYWJ5bG9uVHJhbnNhY3Rpb25XaXRoQnRjUHJvdmlkZXIoXG4gIGJ0Y1Byb3ZpZGVyOiB2ZW5kb3IuQnRjUHJvdmlkZXIsXG4gIG5ldHdvcms6IGJpdGNvaW5qc2xpYi5OZXR3b3JrLFxuICBzdGFrZXJCdGNJbmZvOiB2ZW5kb3IuU3Rha2VySW5mbyxcbiAgc3Rha2luZ0lucHV0OiB2ZW5kb3IuU3Rha2luZ0lucHV0cyxcbiAgYmFieWxvbkJ0Y1RpcEhlaWdodDogbnVtYmVyLFxuICBpbnB1dFVUWE9zOiB2ZW5kb3IuVVRYT1tdLFxuICBmZWVSYXRlU2F0QjogbnVtYmVyLFxuICBiYWJ5bG9uQWRkcmVzczogc3RyaW5nLFxuICBjaGFubmVsOiAnZGVsZWdhdGlvbjpjcmVhdGUnIHwgJ2RlbGVnYXRpb246cmVnaXN0ZXInLFxuICBzdGFraW5nUGFyYW1zOiB2ZW5kb3IuVmVyc2lvbmVkU3Rha2luZ1BhcmFtc1tdID0gZ2V0U3Rha2luZ1BhcmFtcyhuZXR3b3JrKVxuKTogUHJvbWlzZTxSZXN1bHQ+IHtcbiAgaWYgKGlucHV0VVRYT3MubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBpbnB1dCBVVFhPcyBwcm92aWRlZCcpO1xuICB9XG4gIGNvbnN0IG1hbmFnZXIgPSBjcmVhdGVTdGFraW5nTWFuYWdlcihuZXR3b3JrLCBidGNQcm92aWRlciwgc3Rha2luZ1BhcmFtcyk7XG4gIGNvbnN0IHN0YWtpbmcgPSBjcmVhdGVTdGFraW5nKG5ldHdvcmssIGJhYnlsb25CdGNUaXBIZWlnaHQsIHN0YWtlckJ0Y0luZm8sIHN0YWtpbmdJbnB1dCwgc3Rha2luZ1BhcmFtcyk7XG4gIC8vIENyZWF0ZSB1bnNpZ25lZCBzdGFraW5nIHRyYW5zYWN0aW9uXG4gIGNvbnN0IHsgdHJhbnNhY3Rpb24gfSA9IHN0YWtpbmcuY3JlYXRlU3Rha2luZ1RyYW5zYWN0aW9uKHN0YWtpbmdJbnB1dC5zdGFraW5nQW1vdW50U2F0LCBpbnB1dFVUWE9zLCBmZWVSYXRlU2F0Qik7XG4gIGNvbnN0IHVuc2lnbmVkRGVsZWdhdGlvbk1zZyA9IGF3YWl0IGNyZWF0ZURlbGVnYXRpb25NZXNzYWdlV2l0aFRyYW5zYWN0aW9uKFxuICAgIGNoYW5uZWwsXG4gICAgbWFuYWdlcixcbiAgICBzdGFraW5nLFxuICAgIHN0YWtpbmdJbnB1dC5zdGFraW5nQW1vdW50U2F0LFxuICAgIHRyYW5zYWN0aW9uLFxuICAgIGJhYnlsb25BZGRyZXNzXG4gICk7XG4gIHJldHVybiB7IHVuc2lnbmVkRGVsZWdhdGlvbk1zZywgc3Rha2luZ1R4OiB0cmFuc2FjdGlvbiB9O1xufVxuIl19
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGlvbk1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFieWxvbi9kZWxlZ2F0aW9uTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFEQSxzQ0F3QkM7QUFRRCw4Q0FjQztBQUVELHdEQW9GQztBQVVELG9DQWNDO0FBRUQsc0NBcUJDO0FBdUJELG9EQUtDO0FBd0JELHdGQWlDQztBQUVELGtKQTRCQztBQTNWRDs7R0FFRztBQUNILG9EQUE0QjtBQUU1Qix5Q0FBbUM7QUFDbkMsNkVBQStEO0FBRS9ELDREQUE4QztBQUM5Qyx5REFBMkM7QUFFM0MsZ0RBQW9EO0FBQ3BELDREQUF5RTtBQUd6RSxxREFBd0Q7QUFDeEQsbURBQW1EO0FBQ25ELHVDQUFtRTtBQUluRTs7OztHQUlHO0FBQ0gsU0FBUyxXQUFXLENBQUMsQ0FBUyxFQUFFLFFBQTBCO0lBQ3hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxRQUFRLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxRQUFRLENBQUMsQ0FBa0I7SUFDbEMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMxQixLQUFLLE1BQU0sUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBVSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDO2dCQUNILE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUs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LEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLElBQUEscUNBQW9CLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMxRSxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDeEcsc0NBQXNDO0lBQ3RDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNqSCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sc0NBQXNDLENBQ3hFLE9BQU8sRUFDUCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFlBQVksQ0FBQyxnQkFBZ0IsRUFDN0IsV0FBVyxFQUNYLGNBQWMsQ0FDZixDQUFDO0lBQ0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQztBQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYmFieWxvbmxhYnMtaW8vYmFieWxvbi9ibG9iL3YxLjk5LjAtc25hcHNob3QuMjUwMjExL3gvYnRjc3Rha2luZy90eXBlcy92YWxpZGF0ZV9wYXJzZWRfbWVzc2FnZS5nb1xuICovXG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IEJJUDMyMiB9IGZyb20gJ2JpcDMyMi1qcyc7XG5pbXBvcnQgKiBhcyB2ZW5kb3IgZnJvbSAnQGJpdGdvL2JhYnlsb25sYWJzLWlvLWJ0Yy1zdGFraW5nLXRzJztcbmltcG9ydCAqIGFzIGJhYnlsb25Qcm90b2J1ZiBmcm9tICdAYmFieWxvbmxhYnMtaW8vYmFieWxvbi1wcm90by10cyc7XG5pbXBvcnQgKiBhcyBiaXRjb2luanNsaWIgZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5pbXBvcnQgeyB0b1hPbmx5UHVibGljS2V5IH0gZnJvbSAnQGJpdGdvL3V0eG8tY29yZSc7XG5pbXBvcnQgeyBzaWduV2l0aEtleSwgdG9XcmFwcGVkUHNidCB9IGZyb20gJ0BiaXRnby91dHhvLWNvcmUvZGVzY3JpcHRvcic7XG5cbmltcG9ydCB7IEJhYnlsb25EZXNjcmlwdG9yQnVpbGRlciB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBjcmVhdGVTdGFraW5nTWFuYWdlciB9IGZyb20gJy4vc3Rha2luZ01hbmFnZXInO1xuaW1wb3J0IHsgZ2V0U3Rha2luZ1BhcmFtcyB9IGZyb20gJy4vc3Rha2luZ1BhcmFtcyc7XG5pbXBvcnQgeyBCYWJ5bG9uTmV0d29ya0xpa2UsIHRvQml0Y29pbkpzTmV0d29yayB9IGZyb20gJy4vbmV0d29yayc7XG5cbmV4cG9ydCB0eXBlIFZhbHVlV2l0aFR5cGVVcmw8VD4gPSB7IHR5cGVVcmw6IHN0cmluZzsgdmFsdWU6IFQgfTtcblxuLyoqXG4gKiBEZWNvZGUgYSBoZXggb3IgYmFzZTY0IGVuY29kZWQgc3RyaW5nIGFuZCBjaGVjayBpZiB0aGUgbGVuZ3RoIGlzIHZhbGlkLlxuICogQHBhcmFtIHZcbiAqIEBwYXJhbSBlbmNvZGluZ1xuICovXG5mdW5jdGlvbiBkZWNvZGVDaGVjayh2OiBzdHJpbmcsIGVuY29kaW5nOiAnaGV4JyB8ICdiYXNlNjQnKSB7XG4gIGNvbnN0IHJlc3VsdCA9IEJ1ZmZlci5mcm9tKHYsIGVuY29kaW5nKTtcbiAgaWYgKHJlc3VsdC50b1N0cmluZyhlbmNvZGluZykubGVuZ3RoICE9PSB2Lmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCAke2VuY29kaW5nfSBlbmNvZGluZ2ApO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ29udmVydCBhIEJ1ZmZlciBvciBzdHJpbmcgdG8gYSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcuXG4gKiBAcGFyYW0gdlxuICovXG5mdW5jdGlvbiB0b0Jhc2U2NCh2OiBCdWZmZXIgfCBzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiB2ID09PSAnc3RyaW5nJykge1xuICAgIGZvciAoY29uc3QgZW5jb2Rpbmcgb2YgWydiYXNlNjQnLCAnaGV4J10gYXMgY29uc3QpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB0b0Jhc2U2NChkZWNvZGVDaGVjayh2LCBlbmNvZGluZykpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyB0cnkgbmV4dFxuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYmFzZTY0IG9yIGhleCBlbmNvZGluZzogJHt2fWApO1xuICB9XG5cbiAgcmV0dXJuIHYudG9TdHJpbmcoJ2Jhc2U2NCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2lnbmVkUHNidChcbiAgcHNidDogYml0Y29pbmpzbGliLlBzYnQsXG4gIGRlc2NyaXB0b3I6IERlc2NyaXB0b3IsXG4gIHNpZ25lcnM6IHV0eG9saWIuRUNQYWlySW50ZXJmYWNlW10sXG4gIHsgZmluYWxpemUgPSBmYWxzZSB9XG4pOiBiaXRjb2luanNsaWIuUHNidCB7XG4gIGNvbnN0IHdyYXBwZWRQc2J0ID0gdG9XcmFwcGVkUHNidChwc2J0LnRvQnVmZmVyKCkpO1xuICBjb25zdCBzaWduZWRJbnB1dHMgPSBwc2J0LmRhdGEuaW5wdXRzLmZsYXRNYXAoKGlucHV0LCBpKSA9PiB7XG4gICAgYXNzZXJ0KGlucHV0LndpdG5lc3NVdHhvKTtcbiAgICBpZiAoQnVmZmVyLmZyb20oZGVzY3JpcHRvci5zY3JpcHRQdWJrZXkoKSkuZXF1YWxzKGlucHV0LndpdG5lc3NVdHhvLnNjcmlwdCkpIHtcbiAgICAgIHdyYXBwZWRQc2J0LnVwZGF0ZUlucHV0V2l0aERlc2NyaXB0b3IoaSwgZGVzY3JpcHRvcik7XG4gICAgICBjb25zdCBzaWduUmVzdWx0cyA9IHNpZ25lcnMubWFwKChzaWduZXIpID0+IHtcbiAgICAgICAgYXNzZXJ0KHNpZ25lci5wcml2YXRlS2V5KTtcbiAgICAgICAgcmV0dXJuIHdyYXBwZWRQc2J0LnNpZ25XaXRoUHJ2KHNpZ25lci5wcml2YXRlS2V5KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIFtbaSwgc2lnblJlc3VsdHNdXTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9KTtcbiAgYXNzZXJ0KHNpZ25lZElucHV0cy5sZW5ndGggPiAwKTtcbiAgaWYgKGZpbmFsaXplKSB7XG4gICAgd3JhcHBlZFBzYnQuZmluYWxpemUoKTtcbiAgfVxuICByZXR1cm4gYml0Y29pbmpzbGliLlBzYnQuZnJvbUJ1ZmZlcihCdWZmZXIuZnJvbSh3cmFwcGVkUHNidC5zZXJpYWxpemUoKSkpO1xufVxuXG4vKipcbiAqIFV0aWxpdHkgbWV0aG9kIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGluIGJ0Yy1zdGFraW5nLXRzXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYmFieWxvbmxhYnMtaW8vYnRjLXN0YWtpbmctdHMvaXNzdWVzLzcxXG4gKiBAcGFyYW0gdlxuICogQHBhcmFtIG5ldHdvcmtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcmNlRmluYWxpemVQc2J0KFxuICB2OiBCdWZmZXIgfCB1dHhvbGliLlBzYnQgfCBiaXRjb2luanNsaWIuUHNidCxcbiAgbmV0d29yazogQmFieWxvbk5ldHdvcmtMaWtlXG4pOiBiaXRjb2luanNsaWIuUHNidCB7XG4gIGlmICh2IGluc3RhbmNlb2YgdXR4b2xpYi5Qc2J0KSB7XG4gICAgdiA9IHYudG9CdWZmZXIoKTtcbiAgfVxuICBpZiAodiBpbnN0YW5jZW9mIGJpdGNvaW5qc2xpYi5Qc2J0KSB7XG4gICAgdiA9IHYudG9CdWZmZXIoKTtcbiAgfVxuICBjb25zdCBwc2J0ID0gYml0Y29pbmpzbGliLlBzYnQuZnJvbUJ1ZmZlcih2LCB7IG5ldHdvcms6IHRvQml0Y29pbkpzTmV0d29yayhuZXR3b3JrKSB9KTtcbiAgLy8gdGhpcyBvbmx5IHdvcmtzIHdpdGggY2VydGFpbiBiaXRjb2luanNsaWIgdmVyc2lvbnNcbiAgcHNidC5maW5hbGl6ZUFsbElucHV0cygpO1xuICByZXR1cm4gcHNidDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ0Y1Byb3ZpZGVyRm9yRUNLZXkoXG4gIGRlc2NyaXB0b3JCdWlsZGVyOiBCYWJ5bG9uRGVzY3JpcHRvckJ1aWxkZXIsXG4gIHN0YWtlcktleTogdXR4b2xpYi5FQ1BhaXJJbnRlcmZhY2Vcbik6IHZlbmRvci5CdGNQcm92aWRlciB7XG4gIGZ1bmN0aW9uIHNpZ25XaXRoRGVzY3JpcHRvcihcbiAgICBwc2J0OiBiaXRjb2luanNsaWIuUHNidCxcbiAgICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yLFxuICAgIGtleTogdXR4b2xpYi5FQ1BhaXJJbnRlcmZhY2VcbiAgKTogYml0Y29pbmpzbGliLlBzYnQge1xuICAgIHBzYnQgPSBnZXRTaWduZWRQc2J0KHBzYnQsIGRlc2NyaXB0b3IsIFtrZXldLCB7IGZpbmFsaXplOiBmYWxzZSB9KTtcbiAgICAvLyBCVUc6IHdlIG5lZWQgdG8gYmxpbmRseSBmaW5hbGl6ZSBoZXJlIGV2ZW4gdGhvdWdoIHdlIGhhdmUgbm90IGZ1bGx5IHNpZ25lZFxuICAgIHBzYnQuZmluYWxpemVBbGxJbnB1dHMoKTtcbiAgICByZXR1cm4gcHNidDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHNpZ25CaXAzMjJTaW1wbGUobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBHZXQgdGhlIHNjcmlwdCBwdWJsaWMga2V5IGZyb20gdGhlIHN0YWtpbmcgZGVzY3JpcHRvclxuICAgIGNvbnN0IHNjcmlwdFB1YktleSA9IEJ1ZmZlci5mcm9tKGRlc2NyaXB0b3JCdWlsZGVyLmdldFN0YWtpbmdEZXNjcmlwdG9yKCkuc2NyaXB0UHVia2V5KCkpO1xuICAgIGNvbnN0IHRvU3BlbmRUeCA9IEJJUDMyMi5idWlsZFRvU3BlbmRUeChtZXNzYWdlLCBzY3JpcHRQdWJLZXkpO1xuXG4gICAgLy8gR2V0IHRoZSB0b19zcGVuZCB0eGlkXG4gICAgY29uc3QgdG9TcGVuZFR4SWQgPSB0b1NwZW5kVHguZ2V0SWQoKTtcblxuICAgIC8vIENyZWF0ZSBQU0JUIG9iamVjdCBmb3IgY29uc3RydWN0aW5nIHRoZSB0cmFuc2FjdGlvblxuICAgIGNvbnN0IHRvU2lnblBzYnQgPSBuZXcgYml0Y29pbmpzbGliLlBzYnQoKTtcbiAgICB0b1NpZ25Qc2J0LnNldFZlcnNpb24oMik7IC8vIG5WZXJzaW9uID0gMFxuICAgIHRvU2lnblBzYnQuc2V0TG9ja3RpbWUoMCk7IC8vIG5Mb2NrVGltZSA9IDBcbiAgICB0b1NpZ25Qc2J0LmFkZElucHV0KHtcbiAgICAgIGhhc2g6IHRvU3BlbmRUeElkLFxuICAgICAgaW5kZXg6IDAsXG4gICAgICBzZXF1ZW5jZTogZGVzY3JpcHRvckJ1aWxkZXIuc3Rha2luZ1RpbWVMb2NrLFxuICAgICAgd2l0bmVzc1V0eG86IHtcbiAgICAgICAgc2NyaXB0OiBzY3JpcHRQdWJLZXksXG4gICAgICAgIHZhbHVlOiAwLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIFNpZ24gdGhlIFBTQlQgd2l0aCB0aGUgc3Rha2VyIGtleVxuICAgIGNvbnN0IHdyYXBwZWRQc2J0ID0gdG9XcmFwcGVkUHNidCh0b1NpZ25Qc2J0LnRvQnVmZmVyKCkpO1xuICAgIHdyYXBwZWRQc2J0LnVwZGF0ZUlucHV0V2l0aERlc2NyaXB0b3IoMCwgZGVzY3JpcHRvckJ1aWxkZXIuZ2V0U3Rha2luZ0Rlc2NyaXB0b3IoKSk7XG4gICAgc2lnbldpdGhLZXkod3JhcHBlZFBzYnQsIHN0YWtlcktleSk7XG4gICAgd3JhcHBlZFBzYnQuZmluYWxpemUoKTtcblxuICAgIC8vIEVuY29kZSB0aGUgd2l0bmVzcyBkYXRhIGFuZCByZXR1cm5cbiAgICByZXR1cm4gQklQMzIyLmVuY29kZVdpdG5lc3MoYml0Y29pbmpzbGliLlBzYnQuZnJvbUJ1ZmZlcihCdWZmZXIuZnJvbSh3cmFwcGVkUHNidC5zZXJpYWxpemUoKSkpKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICAgKiBAcGFyYW0gdHlwZVxuICAgICAqIEByZXR1cm5zIEJhc2U2NCBlbmNvZGVkIHN0cmluZ1xuICAgICAqL1xuICAgIGFzeW5jIHNpZ25NZXNzYWdlKG1lc3NhZ2U6IHN0cmluZywgdHlwZTogJ2VjZHNhJyB8ICdiaXAzMjItc2ltcGxlJyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSAnZWNkc2EnOlxuICAgICAgICAgIHJldHVybiB0b0Jhc2U2NChzdGFrZXJLZXkuc2lnbihCdWZmZXIuZnJvbShtZXNzYWdlLCAnaGV4JykpKTtcbiAgICAgICAgY2FzZSAnYmlwMzIyLXNpbXBsZSc6XG4gICAgICAgICAgcmV0dXJuIHRvQmFzZTY0KHNpZ25CaXAzMjJTaW1wbGUobWVzc2FnZSkpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgdW5leHBlY3RlZCB0eXBlOiAke3R5cGV9YCk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIGFzeW5jIHNpZ25Qc2J0KHBzYnRIZXg6IHN0cmluZywgb3B0aW9uczogdmVuZG9yLlNpZ25Qc2J0T3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICBjb25zdCBwc2J0ID0gYml0Y29pbmpzbGliLlBzYnQuZnJvbUhleChwc2J0SGV4KTtcbiAgICAgIHN3aXRjaCAob3B0aW9ucy5hY3Rpb24ubmFtZSkge1xuICAgICAgICBjYXNlICdzaWduLWJ0Yy1zbGFzaGluZy10cmFuc2FjdGlvbic6XG4gICAgICAgICAgcmV0dXJuIHNpZ25XaXRoRGVzY3JpcHRvcihwc2J0LCBkZXNjcmlwdG9yQnVpbGRlci5nZXRTdGFraW5nRGVzY3JpcHRvcigpLCBzdGFrZXJLZXkpLnRvSGV4KCk7XG4gICAgICAgIGNhc2UgJ3NpZ24tYnRjLXVuYm9uZGluZy1zbGFzaGluZy10cmFuc2FjdGlvbic6XG4gICAgICAgICAgcmV0dXJuIHNpZ25XaXRoRGVzY3JpcHRvcihwc2J0LCBkZXNjcmlwdG9yQnVpbGRlci5nZXRVbmJvbmRpbmdEZXNjcmlwdG9yKCksIHN0YWtlcktleSkudG9IZXgoKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgc2lnbmluZyBzdGVwOiAke29wdGlvbnMuYWN0aW9uLm5hbWV9YCk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgb25seSB1c2VkIGJ5IGJ0Yy1zdGFraW5nLXRzIHRvIGNyZWF0ZSBhIHN0YWtpbmcgZXhwYW5zaW9uIHJlZ2lzdHJhdGlvblxuICAgICAqIHRyYW5zYWN0aW9uLCB3aGljaCB3ZSBkbyBub3QgY3VycmVudGx5IHN1cHBvcnQuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0VHJhbnNhY3Rpb25IZXgodHhpZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgb3BlcmF0aW9uIGdldFRyYW5zYWN0aW9uSGV4ICh0eGlkPSR7dHhpZH0pYCk7XG4gICAgfSxcbiAgfTtcbn1cbnR5cGUgUmVzdWx0ID0ge1xuICB1bnNpZ25lZERlbGVnYXRpb25Nc2c6IFZhbHVlV2l0aFR5cGVVcmw8YmFieWxvblByb3RvYnVmLmJ0Y3N0YWtpbmd0eC5Nc2dDcmVhdGVCVENEZWxlZ2F0aW9uPjtcbiAgc3Rha2luZ1R4OiBiaXRjb2luanNsaWIuVHJhbnNhY3Rpb247XG59O1xuXG4vKipcbiAqIEBwYXJhbSBzdGFraW5nS2V5IC0gdGhpcyBpcyB0aGUgc2luZ2xlLXNpZyBrZXkgdGhhdCBpcyB1c2VkIGZvciBjby1zaWduaW5nIHRoZSBzdGFraW5nIG91dHB1dFxuICogQHBhcmFtIGNoYW5nZUFkZHJlc3MgLSB0aGlzIGlzIHVucmVsYXRlZCB0byB0aGUgc3Rha2luZyBrZXkgYW5kIGlzIHVzZWQgZm9yIHRoZSBjaGFuZ2Ugb3V0cHV0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1N0YWtlckluZm8oXG4gIHN0YWtpbmdLZXk6IHV0eG9saWIuRUNQYWlySW50ZXJmYWNlIHwgQnVmZmVyIHwgc3RyaW5nLFxuICBjaGFuZ2VBZGRyZXNzOiBzdHJpbmdcbik6IHZlbmRvci5TdGFrZXJJbmZvIHtcbiAgaWYgKHR5cGVvZiBzdGFraW5nS2V5ID09PSAnb2JqZWN0JyAmJiAncHVibGljS2V5JyBpbiBzdGFraW5nS2V5KSB7XG4gICAgc3Rha2luZ0tleSA9IHN0YWtpbmdLZXkucHVibGljS2V5O1xuICB9XG4gIGlmICh0eXBlb2Ygc3Rha2luZ0tleSA9PT0gJ3N0cmluZycpIHtcbiAgICBzdGFraW5nS2V5ID0gQnVmZmVyLmZyb20oc3Rha2luZ0tleSwgJ2hleCcpO1xuICB9XG4gIHJldHVybiB7XG4gICAgcHVibGljS2V5Tm9Db29yZEhleDogdG9YT25seVB1YmxpY0tleShzdGFraW5nS2V5KS50b1N0cmluZygnaGV4JyksXG4gICAgYWRkcmVzczogY2hhbmdlQWRkcmVzcyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0YWtpbmcoXG4gIG5ldHdvcms6IEJhYnlsb25OZXR3b3JrTGlrZSxcbiAgYmxvY2tIZWlnaHQ6IG51bWJlcixcbiAgc3Rha2VyQnRjSW5mbzogdmVuZG9yLlN0YWtlckluZm8sXG4gIHN0YWtpbmdJbnB1dDogdmVuZG9yLlN0YWtpbmdJbnB1dHMsXG4gIHZlcnNpb25lZFBhcmFtczogdmVuZG9yLlZlcnNpb25lZFN0YWtpbmdQYXJhbXNbXSA9IGdldFN0YWtpbmdQYXJhbXMobmV0d29yaylcbik6IHZlbmRvci5TdGFraW5nIHtcbiAgaWYgKGJsb2NrSGVpZ2h0ID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdCYWJ5bG9uIEJUQyB0aXAgaGVpZ2h0IGNhbm5vdCBiZSAwJyk7XG4gIH1cblxuICAvLyBHZXQgdGhlIEJhYnlsb24gcGFyYW1zIGJhc2VkIG9uIHRoZSBCVEMgdGlwIGhlaWdodCBmcm9tIEJhYnlsb24gY2hhaW5cbiAgY29uc3QgcGFyYW1zID0gdmVuZG9yLmdldEJhYnlsb25QYXJhbUJ5QnRjSGVpZ2h0KGJsb2NrSGVpZ2h0LCB2ZXJzaW9uZWRQYXJhbXMpO1xuXG4gIHJldHVybiBuZXcgdmVuZG9yLlN0YWtpbmcoXG4gICAgdG9CaXRjb2luSnNOZXR3b3JrKG5ldHdvcmspLFxuICAgIHN0YWtlckJ0Y0luZm8sXG4gICAgcGFyYW1zLFxuICAgIHN0YWtpbmdJbnB1dC5maW5hbGl0eVByb3ZpZGVyUGtzTm9Db29yZEhleCxcbiAgICBzdGFraW5nSW5wdXQuc3Rha2luZ1RpbWVsb2NrXG4gICk7XG59XG5cbnR5cGUgVHJhbnNhY3Rpb25MaWtlID1cbiAgfCBiaXRjb2luanNsaWIuUHNidFxuICB8IGJpdGNvaW5qc2xpYi5UcmFuc2FjdGlvblxuICB8IHV0eG9saWIuVHJhbnNhY3Rpb25cbiAgfCB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxiaWdpbnQgfCBudW1iZXI+XG4gIHwgdXR4b2xpYi5Qc2J0XG4gIHwgdXR4b2xpYi5iaXRnby5VdHhvUHNidDtcblxuZnVuY3Rpb24gdG9TdGFraW5nVHJhbnNhY3Rpb25Gcm9tUHNidChcbiAgcHNidDogYml0Y29pbmpzbGliLlBzYnQgfCB1dHhvbGliLlBzYnQgfCB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0XG4pOiBiaXRjb2luanNsaWIuVHJhbnNhY3Rpb24ge1xuICBpZiAoIShwc2J0IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvUHNidCkpIHtcbiAgICBwc2J0ID0gdXR4b2xpYi5iaXRnby5jcmVhdGVQc2J0RnJvbUJ1ZmZlcihwc2J0LnRvQnVmZmVyKCksIHV0eG9saWIubmV0d29ya3MuYml0Y29pbik7XG4gIH1cbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgLy8gb25seSB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IGhhcyB0aGUgZ2V0VW5zaWduZWRUeCBtZXRob2RcbiAgICByZXR1cm4gYml0Y29pbmpzbGliLlRyYW5zYWN0aW9uLmZyb21IZXgocHNidC5nZXRVbnNpZ25lZFR4KCkudG9IZXgoKSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdpbGxlZ2FsIHN0YXRlJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1N0YWtpbmdUcmFuc2FjdGlvbih0eDogVHJhbnNhY3Rpb25MaWtlKTogYml0Y29pbmpzbGliLlRyYW5zYWN0aW9uIHtcbiAgaWYgKHR4IGluc3RhbmNlb2YgYml0Y29pbmpzbGliLlBzYnQgfHwgdHggaW5zdGFuY2VvZiB1dHhvbGliLlBzYnQpIHtcbiAgICByZXR1cm4gdG9TdGFraW5nVHJhbnNhY3Rpb25Gcm9tUHNidCh0eCk7XG4gIH1cbiAgcmV0dXJuIGJpdGNvaW5qc2xpYi5UcmFuc2FjdGlvbi5mcm9tSGV4KHR4LnRvSGV4KCkpO1xufVxuXG4vKipcbiAqIEFzIG9mIGJhYnlsb25sYWJzLWlvL2J0Yy1zdGFraW5nLXRzIHYxLjUuNywgdGhlIEJUQyBkZWxlZ2F0aW9uIG1lc3NhZ2UgY3JlYXRpb24gZnVuY3Rpb25zIHN1cHBvcnQgdHdvIG1lc3NhZ2UgdHlwZXM6XG4gKiAtIE1zZ0NyZWF0ZUJUQ0RlbGVnYXRpb25cbiAqIC0gTXNnQnRjU3Rha2VFeHBhbmRcbiAqXG4gKiBCaXRHbyBzdGlsbCBvbmx5IHN1cHBvcnRzIE1zZ0NyZWF0ZUJUQ0RlbGVnYXRpb24sIHNvIHdlIG5lZWQgdG8gY2hlY2sgdGhlIG1lc3NhZ2UgdHlwZSBoZXJlLlxuICpcbiAqIEBwYXJhbSBtc2cgLSB0aGUgbWVzc2FnZSB0byBjaGVja1xuICogQHJldHVybiBgdHJ1ZWAgaWYgdGhlIG1lc3NhZ2UgaXMgb2YgdHlwZSBNc2dDcmVhdGVCVENEZWxlZ2F0aW9uXG4gKi9cbmZ1bmN0aW9uIGlzTXNnQnRjU3Rha2VFeHBhbmQoXG4gIG1zZzogYmFieWxvblByb3RvYnVmLmJ0Y3N0YWtpbmd0eC5Nc2dDcmVhdGVCVENEZWxlZ2F0aW9uIHwgYmFieWxvblByb3RvYnVmLmJ0Y3N0YWtpbmd0eC5Nc2dCdGNTdGFrZUV4cGFuZFxuKSB7XG4gIHJldHVybiAncHJldmlvdXNTdGFraW5nVHhIYXNoJyBpbiBtc2c7XG59XG5cbi8qXG4gKiBUaGlzIGlzIG1vc3RseSBsaWZ0ZWQgZnJvbVxuICogaHR0cHM6Ly9naXRodWIuY29tL2JhYnlsb25sYWJzLWlvL2J0Yy1zdGFraW5nLXRzL2Jsb2IvdjAuNC4wLXJjLjIvc3JjL3N0YWtpbmcvbWFuYWdlci50cyNMMTAwLUwxNzJcbiAqXG4gKiBUaGUgZGlmZmVyZW5jZSBpcyB0aGF0IGhlcmUgd2UgYXJlIHJldHVybmluZyBhbiBfdW5zaWduZWRfIGRlbGVnYXRpb24gbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZURlbGVnYXRpb25NZXNzYWdlV2l0aFRyYW5zYWN0aW9uKFxuICBjaGFubmVsOiAnZGVsZWdhdGlvbjpjcmVhdGUnIHwgJ2RlbGVnYXRpb246cmVnaXN0ZXInLFxuICBtYW5hZ2VyOiB2ZW5kb3IuQmFieWxvbkJ0Y1N0YWtpbmdNYW5hZ2VyLFxuICBzdGFraW5nOiB2ZW5kb3IuU3Rha2luZyxcbiAgc3Rha2luZ0Ftb3VudFNhdDogbnVtYmVyLFxuICB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25MaWtlLFxuICBiYWJ5bG9uQWRkcmVzczogc3RyaW5nXG4pOiBQcm9taXNlPFZhbHVlV2l0aFR5cGVVcmw8YmFieWxvblByb3RvYnVmLmJ0Y3N0YWtpbmd0eC5Nc2dDcmVhdGVCVENEZWxlZ2F0aW9uPj4ge1xuICBpZiAoIXZlbmRvci5pc1ZhbGlkQmFieWxvbkFkZHJlc3MoYmFieWxvbkFkZHJlc3MpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIEJhYnlsb24gYWRkcmVzcycpO1xuICB9XG4gIC8vIENyZWF0ZSBkZWxlZ2F0aW9uIG1lc3NhZ2Ugd2l0aG91dCBpbmNsdWRpbmcgaW5jbHVzaW9uIHByb29mXG4gIGNvbnN0IG1zZyA9IGF3YWl0IG1hbmFnZXIuY3JlYXRlQnRjRGVsZWdhdGlvbk1zZyhcbiAgICBjaGFubmVsLFxuICAgIHN0YWtpbmcsXG4gICAge1xuICAgICAgc3Rha2luZ1RpbWVsb2NrOiBzdGFraW5nLnN0YWtpbmdUaW1lbG9jayxcbiAgICAgIGZpbmFsaXR5UHJvdmlkZXJQa3NOb0Nvb3JkSGV4OiBzdGFraW5nLmZpbmFsaXR5UHJvdmlkZXJQa3NOb0Nvb3JkSGV4LFxuICAgICAgc3Rha2luZ0Ftb3VudFNhdCxcbiAgICB9LFxuICAgIHRvU3Rha2luZ1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKSxcbiAgICBiYWJ5bG9uQWRkcmVzcyxcbiAgICBzdGFraW5nLnN0YWtlckluZm8sXG4gICAgc3Rha2luZy5wYXJhbXNcbiAgKTtcblxuICAvLyBJdCBzaG91bGRuJ3QgYmUgcG9zc2libGUgZm9yIHVzIHRvIGNyZWF0ZSBhIE1zZ0J0Y1N0YWtlRXhwYW5kIGhlcmUgYmVjYXVzZSB0aGF0IG9ubHkgZ2V0cyBjcmVhdGVkIHdoZW5cbiAgLy8gd2UgcGFzcyBjaGFubmVsID0gZGVsZWdhdGlvbjpleHBhbmQgaW50byBjcmVhdGVCdGNEZWxlZ2F0aW9uTXNnLCB3aGljaCB3ZSBjYW5ub3QgZG8uXG4gIGlmIChpc01zZ0J0Y1N0YWtlRXhwYW5kKG1zZy52YWx1ZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01zZ0J0Y1N0YWtlRXhwYW5kIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgfVxuXG4gIHJldHVybiB7IC4uLm1zZywgdmFsdWU6IG1zZy52YWx1ZSBhcyBiYWJ5bG9uUHJvdG9idWYuYnRjc3Rha2luZ3R4Lk1zZ0NyZWF0ZUJUQ0RlbGVnYXRpb24gfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVVuc2lnbmVkUHJlU3Rha2VSZWdpc3RyYXRpb25CYWJ5bG9uVHJhbnNhY3Rpb25XaXRoQnRjUHJvdmlkZXIoXG4gIGJ0Y1Byb3ZpZGVyOiB2ZW5kb3IuQnRjUHJvdmlkZXIsXG4gIG5ldHdvcms6IGJpdGNvaW5qc2xpYi5OZXR3b3JrLFxuICBzdGFrZXJCdGNJbmZvOiB2ZW5kb3IuU3Rha2VySW5mbyxcbiAgc3Rha2luZ0lucHV0OiB2ZW5kb3IuU3Rha2luZ0lucHV0cyxcbiAgYmFieWxvbkJ0Y1RpcEhlaWdodDogbnVtYmVyLFxuICBpbnB1dFVUWE9zOiB2ZW5kb3IuVVRYT1tdLFxuICBmZWVSYXRlU2F0QjogbnVtYmVyLFxuICBiYWJ5bG9uQWRkcmVzczogc3RyaW5nLFxuICBjaGFubmVsOiAnZGVsZWdhdGlvbjpjcmVhdGUnIHwgJ2RlbGVnYXRpb246cmVnaXN0ZXInLFxuICBzdGFraW5nUGFyYW1zOiB2ZW5kb3IuVmVyc2lvbmVkU3Rha2luZ1BhcmFtc1tdID0gZ2V0U3Rha2luZ1BhcmFtcyhuZXR3b3JrKVxuKTogUHJvbWlzZTxSZXN1bHQ+IHtcbiAgaWYgKGlucHV0VVRYT3MubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBpbnB1dCBVVFhPcyBwcm92aWRlZCcpO1xuICB9XG4gIGNvbnN0IG1hbmFnZXIgPSBjcmVhdGVTdGFraW5nTWFuYWdlcihuZXR3b3JrLCBidGNQcm92aWRlciwgc3Rha2luZ1BhcmFtcyk7XG4gIGNvbnN0IHN0YWtpbmcgPSBjcmVhdGVTdGFraW5nKG5ldHdvcmssIGJhYnlsb25CdGNUaXBIZWlnaHQsIHN0YWtlckJ0Y0luZm8sIHN0YWtpbmdJbnB1dCwgc3Rha2luZ1BhcmFtcyk7XG4gIC8vIENyZWF0ZSB1bnNpZ25lZCBzdGFraW5nIHRyYW5zYWN0aW9uXG4gIGNvbnN0IHsgdHJhbnNhY3Rpb24gfSA9IHN0YWtpbmcuY3JlYXRlU3Rha2luZ1RyYW5zYWN0aW9uKHN0YWtpbmdJbnB1dC5zdGFraW5nQW1vdW50U2F0LCBpbnB1dFVUWE9zLCBmZWVSYXRlU2F0Qik7XG4gIGNvbnN0IHVuc2lnbmVkRGVsZWdhdGlvbk1zZyA9IGF3YWl0IGNyZWF0ZURlbGVnYXRpb25NZXNzYWdlV2l0aFRyYW5zYWN0aW9uKFxuICAgIGNoYW5uZWwsXG4gICAgbWFuYWdlcixcbiAgICBzdGFraW5nLFxuICAgIHN0YWtpbmdJbnB1dC5zdGFraW5nQW1vdW50U2F0LFxuICAgIHRyYW5zYWN0aW9uLFxuICAgIGJhYnlsb25BZGRyZXNzXG4gICk7XG4gIHJldHVybiB7IHVuc2lnbmVkRGVsZWdhdGlvbk1zZywgc3Rha2luZ1R4OiB0cmFuc2FjdGlvbiB9O1xufVxuIl19
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* https://github.com/babylonlabs-io/babylon/blob/main/docs/staking-script.md
|
|
4
4
|
* https://github.com/babylonlabs-io/babylon/blob/v1.99.0-snapshot.250211/btcstaking/staking.go
|
|
5
5
|
*/
|
|
6
|
-
import { Descriptor, ast } from '@bitgo/wasm-
|
|
6
|
+
import { Descriptor, ast } from '@bitgo/wasm-utxo';
|
|
7
7
|
import { StakingParams } from '@bitgo/babylonlabs-io-btc-staking-ts';
|
|
8
8
|
export declare function getUnspendableKey(): string;
|
|
9
9
|
export declare function sortedKeys(keys: Buffer[]): Buffer[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../src/babylon/descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../src/babylon/descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAOD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEnD;AAUD,qBAAa,wBAAwB;IAE1B,SAAS,EAAE,MAAM;IACjB,oBAAoB,EAAE,MAAM,EAAE;IAC9B,YAAY,EAAE,MAAM,EAAE;IACtB,iBAAiB,EAAE,MAAM;IACzB,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;gBALzB,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,YAAY,EAAE,MAAM,EAAE,EACtB,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM;IAGlC,MAAM,CAAC,UAAU,CACf,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,oBAAoB,EAAE,MAAM,EAAE,CAAC;KAChC,GAAG,aAAa,GAChB,wBAAwB;IAW3B,8DAA8D;IAC9D,gCAAgC,IAAI,GAAG,CAAC,cAAc;IAItD,gEAAgE;IAChE,kCAAkC,IAAI,GAAG,CAAC,cAAc;IAIxD,2DAA2D;IAC3D,0BAA0B,IAAI,GAAG,CAAC,cAAc;IAIhD,uEAAuE;IACvE,yBAAyB,IAAI,GAAG,CAAC,cAAc;IAgB/C;;;;;;;OAOG;IACH,oBAAoB,IAAI,UAAU;IAOlC;;OAEG;IACH,8BAA8B,IAAI,UAAU;IAI5C;;OAEG;IACH,sBAAsB,IAAI,UAAU;CAGrC"}
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
exports.BabylonDescriptorBuilder = void 0;
|
|
9
9
|
exports.getUnspendableKey = getUnspendableKey;
|
|
10
10
|
exports.sortedKeys = sortedKeys;
|
|
11
|
-
const
|
|
11
|
+
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
12
12
|
function getUnspendableKey() {
|
|
13
13
|
// https://github.com/babylonlabs-io/btc-staking-ts/blob/v0.4.0-rc.2/src/constants/internalPubkey.ts
|
|
14
14
|
return '50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0';
|
|
@@ -24,7 +24,7 @@ function multiArgs(threshold, keys) {
|
|
|
24
24
|
return [threshold, ...sortedKeys(keys).map((k) => k.toString('hex'))];
|
|
25
25
|
}
|
|
26
26
|
function taprootScriptOnlyFromAst(n) {
|
|
27
|
-
return
|
|
27
|
+
return wasm_utxo_1.Descriptor.fromString(wasm_utxo_1.ast.formatNode({ tr: [getUnspendableKey(), n] }), 'definite');
|
|
28
28
|
}
|
|
29
29
|
class BabylonDescriptorBuilder {
|
|
30
30
|
constructor(stakerKey, finalityProviderKeys, covenantKeys, covenantThreshold, stakingTimeLock, unbondingTimeLock) {
|
|
@@ -94,4 +94,4 @@ class BabylonDescriptorBuilder {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
exports.BabylonDescriptorBuilder = BabylonDescriptorBuilder;
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWJ5bG9uL2Rlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7OztBQUtILDhDQUdDO0FBT0QsZ0NBRUM7QUFmRCxnREFBbUQ7QUFHbkQsU0FBZ0IsaUJBQWlCO0lBQy9CLG9HQUFvRztJQUNwRyxPQUFPLGtFQUFrRSxDQUFDO0FBQzVFLENBQUM7QUFFRCxpREFBaUQ7QUFDakQsU0FBUyxFQUFFLENBQUMsQ0FBUztJQUNuQixPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztBQUN2QyxDQUFDO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLElBQWM7SUFDdkMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxTQUFpQixFQUFFLElBQWM7SUFDbEQsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hFLENBQUM7QUFFRCxTQUFTLHdCQUF3QixDQUFDLENBQWtCO0lBQ2xELE9BQU8sc0JBQVUsQ0FBQyxVQUFVLENBQUMsZUFBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzdGLENBQUM7QUFFRCxNQUFhLHdCQUF3QjtJQUNuQyxZQUNTLFNBQWlCLEVBQ2pCLG9CQUE4QixFQUM5QixZQUFzQixFQUN0QixpQkFBeUIsRUFDekIsZUFBdUIsRUFDdkIsaUJBQXlCO1FBTHpCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFVO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQ3RCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUN6QixvQkFBZSxHQUFmLGVBQWUsQ0FBUTtRQUN2QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7SUFDL0IsQ0FBQztJQUVKLE1BQU0sQ0FBQyxVQUFVLENBQ2YsTUFHaUI7UUFFakIsT0FBTyxJQUFJLHdCQUF3QixDQUNqQyxNQUFNLENBQUMsU0FBUyxFQUNoQixNQUFNLENBQUMsb0JBQW9CLEVBQzNCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQzNELE1BQU0sQ0FBQyxjQUFjLEVBQ3JCLE1BQU0sQ0FBQyxvQkFBb0IsRUFDM0IsTUFBTSxDQUFDLGFBQWEsQ0FDckIsQ0FBQztJQUNKLENBQUM7SUFFRCw4REFBOEQ7SUFDOUQsZ0NBQWdDO1FBQzlCLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDMUUsQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxrQ0FBa0M7UUFDaEMsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsRUFBRSxDQUFDO0lBQzVFLENBQUM7SUFFRCwyREFBMkQ7SUFDM0QsMEJBQTBCO1FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQzVHLENBQUM7SUFFRCx1RUFBdUU7SUFDdkUseUJBQXlCO1FBQ3ZCLE9BQU87WUFDTCxLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsS0FBSyxFQUFFO3dCQUNMLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO3dCQUNsQixJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxLQUFLLENBQUM7NEJBQ3BDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFOzRCQUMxRCxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFBRTtxQkFDN0Q7aUJBQ0Y7Z0JBQ0QsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7YUFDbEU7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxvQkFBb0I7UUFDbEIsT0FBTyx3QkFBd0IsQ0FBQztZQUM5QixJQUFJLENBQUMseUJBQXlCLEVBQUU7WUFDaEMsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztTQUM3RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCw4QkFBOEI7UUFDNUIsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRDs7T0FFRztJQUNILHNCQUFzQjtRQUNwQixPQUFPLHdCQUF3QixDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pILENBQUM7Q0FDRjtBQXRGRCw0REFzRkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJ5bG9ubGFicy1pby9iYWJ5bG9uL3RyZWUvbWFpbi9kb2NzXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYmFieWxvbmxhYnMtaW8vYmFieWxvbi9ibG9iL21haW4vZG9jcy9zdGFraW5nLXNjcmlwdC5tZFxuICogaHR0cHM6Ly9naXRodWIuY29tL2JhYnlsb25sYWJzLWlvL2JhYnlsb24vYmxvYi92MS45OS4wLXNuYXBzaG90LjI1MDIxMS9idGNzdGFraW5nL3N0YWtpbmcuZ29cbiAqL1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yLCBhc3QgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7IFN0YWtpbmdQYXJhbXMgfSBmcm9tICdAYml0Z28vYmFieWxvbmxhYnMtaW8tYnRjLXN0YWtpbmctdHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VW5zcGVuZGFibGVLZXkoKTogc3RyaW5nIHtcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2JhYnlsb25sYWJzLWlvL2J0Yy1zdGFraW5nLXRzL2Jsb2IvdjAuNC4wLXJjLjIvc3JjL2NvbnN0YW50cy9pbnRlcm5hbFB1YmtleS50c1xuICByZXR1cm4gJzUwOTI5Yjc0YzFhMDQ5NTRiNzhiNGI2MDM1ZTk3YTVlMDc4YTVhMGYyOGVjOTZkNTQ3YmZlZTlhY2U4MDNhYzAnO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb25zIGZvciBjcmVhdGluZyBtaW5pc2NyaXB0IG5vZGVzXG5mdW5jdGlvbiBwayhiOiBCdWZmZXIpOiBhc3QuTWluaXNjcmlwdE5vZGUge1xuICByZXR1cm4geyAndjpwayc6IGIudG9TdHJpbmcoJ2hleCcpIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0ZWRLZXlzKGtleXM6IEJ1ZmZlcltdKTogQnVmZmVyW10ge1xuICByZXR1cm4gWy4uLmtleXNdLnNvcnQoKGEsIGIpID0+IGEuY29tcGFyZShiKSk7XG59XG5cbmZ1bmN0aW9uIG11bHRpQXJncyh0aHJlc2hvbGQ6IG51bWJlciwga2V5czogQnVmZmVyW10pOiBbbnVtYmVyLCAuLi5zdHJpbmdbXV0ge1xuICByZXR1cm4gW3RocmVzaG9sZCwgLi4uc29ydGVkS2V5cyhrZXlzKS5tYXAoKGspID0+IGsudG9TdHJpbmcoJ2hleCcpKV07XG59XG5cbmZ1bmN0aW9uIHRhcHJvb3RTY3JpcHRPbmx5RnJvbUFzdChuOiBhc3QuVGFwVHJlZU5vZGUpOiBEZXNjcmlwdG9yIHtcbiAgcmV0dXJuIERlc2NyaXB0b3IuZnJvbVN0cmluZyhhc3QuZm9ybWF0Tm9kZSh7IHRyOiBbZ2V0VW5zcGVuZGFibGVLZXkoKSwgbl0gfSksICdkZWZpbml0ZScpO1xufVxuXG5leHBvcnQgY2xhc3MgQmFieWxvbkRlc2NyaXB0b3JCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHN0YWtlcktleTogQnVmZmVyLFxuICAgIHB1YmxpYyBmaW5hbGl0eVByb3ZpZGVyS2V5czogQnVmZmVyW10sXG4gICAgcHVibGljIGNvdmVuYW50S2V5czogQnVmZmVyW10sXG4gICAgcHVibGljIGNvdmVuYW50VGhyZXNob2xkOiBudW1iZXIsXG4gICAgcHVibGljIHN0YWtpbmdUaW1lTG9jazogbnVtYmVyLFxuICAgIHB1YmxpYyB1bmJvbmRpbmdUaW1lTG9jazogbnVtYmVyXG4gICkge31cblxuICBzdGF0aWMgZnJvbVBhcmFtcyhcbiAgICBwYXJhbXM6IHtcbiAgICAgIHN0YWtlcktleTogQnVmZmVyO1xuICAgICAgZmluYWxpdHlQcm92aWRlcktleXM6IEJ1ZmZlcltdO1xuICAgIH0gJiBTdGFraW5nUGFyYW1zXG4gICk6IEJhYnlsb25EZXNjcmlwdG9yQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBCYWJ5bG9uRGVzY3JpcHRvckJ1aWxkZXIoXG4gICAgICBwYXJhbXMuc3Rha2VyS2V5LFxuICAgICAgcGFyYW1zLmZpbmFsaXR5UHJvdmlkZXJLZXlzLFxuICAgICAgcGFyYW1zLmNvdmVuYW50Tm9Db29yZFBrcy5tYXAoKGspID0+IEJ1ZmZlci5mcm9tKGssICdoZXgnKSksXG4gICAgICBwYXJhbXMuY292ZW5hbnRRdW9ydW0sXG4gICAgICBwYXJhbXMubWluU3Rha2luZ1RpbWVCbG9ja3MsXG4gICAgICBwYXJhbXMudW5ib25kaW5nVGltZVxuICAgICk7XG4gIH1cblxuICAvKiogU3BlbmQgcGF0aCB3aXRoIHRoZSBzdGFrZXIga2V5IGFuZCB0aGUgc3Rha2luZyB0aW1lbG9jayAqL1xuICBnZXRTdGFraW5nVGltZWxvY2tNaW5pc2NyaXB0Tm9kZSgpOiBhc3QuTWluaXNjcmlwdE5vZGUge1xuICAgIHJldHVybiB7IGFuZF92OiBbcGsodGhpcy5zdGFrZXJLZXkpLCB7IG9sZGVyOiB0aGlzLnN0YWtpbmdUaW1lTG9jayB9XSB9O1xuICB9XG5cbiAgLyoqIFNwZW5kIHBhdGggd2l0aCB0aGUgc3Rha2VyIGtleSBhbmQgdGhlIHVuYm9uZGluZyB0aW1lbG9jayAqL1xuICBnZXRVbmJvbmRpbmdUaW1lbG9ja01pbmlzY3JpcHROb2RlKCk6IGFzdC5NaW5pc2NyaXB0Tm9kZSB7XG4gICAgcmV0dXJuIHsgYW5kX3Y6IFtwayh0aGlzLnN0YWtlcktleSksIHsgb2xkZXI6IHRoaXMudW5ib25kaW5nVGltZUxvY2sgfV0gfTtcbiAgfVxuXG4gIC8qKiBTcGVuZCBwYXRoIHdpdGggdGhlIHN0YWtlciBrZXkgYW5kIHRoZSBjb3ZlbmFudCBrZXlzICovXG4gIGdldFVuYm9uZGluZ01pbmlzY3JpcHROb2RlKCk6IGFzdC5NaW5pc2NyaXB0Tm9kZSB7XG4gICAgcmV0dXJuIHsgYW5kX3Y6IFtwayh0aGlzLnN0YWtlcktleSksIHsgbXVsdGlfYTogbXVsdGlBcmdzKHRoaXMuY292ZW5hbnRUaHJlc2hvbGQsIHRoaXMuY292ZW5hbnRLZXlzKSB9XSB9O1xuICB9XG5cbiAgLyoqIFNwZW5kIHBhdGggd2l0aCB0aGUgZmluYWxpdHkgcHJvdmlkZXIga2V5cyBhbmQgdGhlIGNvdmVuYW50IGtleXMgKi9cbiAgZ2V0U2xhc2hpbmdNaW5pc2NyaXB0Tm9kZSgpOiBhc3QuTWluaXNjcmlwdE5vZGUge1xuICAgIHJldHVybiB7XG4gICAgICBhbmRfdjogW1xuICAgICAgICB7XG4gICAgICAgICAgYW5kX3Y6IFtcbiAgICAgICAgICAgIHBrKHRoaXMuc3Rha2VyS2V5KSxcbiAgICAgICAgICAgIHRoaXMuZmluYWxpdHlQcm92aWRlcktleXMubGVuZ3RoID09PSAxXG4gICAgICAgICAgICAgID8geyAndjpwayc6IHRoaXMuZmluYWxpdHlQcm92aWRlcktleXNbMF0udG9TdHJpbmcoJ2hleCcpIH1cbiAgICAgICAgICAgICAgOiB7ICd2Om11bHRpX2EnOiBtdWx0aUFyZ3MoMSwgdGhpcy5maW5hbGl0eVByb3ZpZGVyS2V5cykgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7IG11bHRpX2E6IG11bHRpQXJncyh0aGlzLmNvdmVuYW50VGhyZXNob2xkLCB0aGlzLmNvdmVuYW50S2V5cykgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZGVzY3JpcHRvciBmb3IgYSBzdGFraW5nIG91dHB1dC5cbiAgICpcbiAgICogVGhyZWUgc3BlbmQgcGF0aHM6XG4gICAqIC0gdGhlIHNsYXNoaW5nIHNjcmlwdCxcbiAgICogLSB0aGUgdW5ib25kaW5nIHNjcmlwdCxcbiAgICogLSB0aGUgdGltZWxvY2tlZCB1bnN0YWtpbmcgc2NyaXB0LlxuICAgKi9cbiAgZ2V0U3Rha2luZ0Rlc2NyaXB0b3IoKTogRGVzY3JpcHRvciB7XG4gICAgcmV0dXJuIHRhcHJvb3RTY3JpcHRPbmx5RnJvbUFzdChbXG4gICAgICB0aGlzLmdldFNsYXNoaW5nTWluaXNjcmlwdE5vZGUoKSxcbiAgICAgIFt0aGlzLmdldFVuYm9uZGluZ01pbmlzY3JpcHROb2RlKCksIHRoaXMuZ2V0U3Rha2luZ1RpbWVsb2NrTWluaXNjcmlwdE5vZGUoKV0sXG4gICAgXSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGRlc2NyaXB0b3IgZm9yIHRoZSB0aW1lbG9ja2VkIHVuYm9uZGluZyBzY3JpcHQuXG4gICAqL1xuICBnZXRVbmJvbmRpbmdUaW1lbG9ja0Rlc2NyaXB0b3IoKTogRGVzY3JpcHRvciB7XG4gICAgcmV0dXJuIHRhcHJvb3RTY3JpcHRPbmx5RnJvbUFzdCh0aGlzLmdldFVuYm9uZGluZ1RpbWVsb2NrTWluaXNjcmlwdE5vZGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGRlc2NyaXB0b3Igd2l0aCB0d28gc2NyaXB0IHBhdGhzOiB0aGUgc2xhc2hpbmcgc2NyaXB0IGFuZCB0aGUgdGltZWxvY2tlZCB1bmJvbmRpbmcgc2NyaXB0LlxuICAgKi9cbiAgZ2V0VW5ib25kaW5nRGVzY3JpcHRvcigpOiBEZXNjcmlwdG9yIHtcbiAgICByZXR1cm4gdGFwcm9vdFNjcmlwdE9ubHlGcm9tQXN0KFt0aGlzLmdldFNsYXNoaW5nTWluaXNjcmlwdE5vZGUoKSwgdGhpcy5nZXRVbmJvbmRpbmdUaW1lbG9ja01pbmlzY3JpcHROb2RlKCldKTtcbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseDescriptor.d.ts","sourceRoot":"","sources":["../../../src/babylon/parseDescriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"parseDescriptor.d.ts","sourceRoot":"","sources":["../../../src/babylon/parseDescriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAKnD,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,GAAG,CAAC,cAAc,CAAC;IAC3C,uBAAuB,EAAE,GAAG,CAAC,cAAc,CAAC;IAC5C,sBAAsB,EAAE,GAAG,CAAC,cAAc,CAAC;CAC5C,CAAC;AAwFF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,GAAG,CAAC,cAAc,GAAG,uBAAuB,GAAG,IAAI,CA+DlH;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,GAAG,CAAC,cAAc,CAAC;IAC3C,+BAA+B,EAAE,GAAG,CAAC,cAAc,CAAC;CACrD,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,GAAG,GAAG,CAAC,cAAc,GAC1C,yBAAyB,GAAG,IAAI,CA2ClC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseStakingDescriptor = parseStakingDescriptor;
|
|
4
4
|
exports.parseUnbondingDescriptor = parseUnbondingDescriptor;
|
|
5
|
-
const
|
|
5
|
+
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
6
6
|
const descriptor_1 = require("@bitgo/utxo-core/descriptor");
|
|
7
7
|
const descriptor_2 = require("./descriptor");
|
|
8
8
|
function parseMulti(multi) {
|
|
@@ -85,7 +85,7 @@ function parseStakingDescriptor(descriptor) {
|
|
|
85
85
|
],
|
|
86
86
|
};
|
|
87
87
|
const matcher = new descriptor_1.PatternMatcher();
|
|
88
|
-
const descriptorNode = descriptor instanceof
|
|
88
|
+
const descriptorNode = descriptor instanceof wasm_utxo_1.Descriptor ? wasm_utxo_1.ast.fromDescriptor(descriptor) : descriptor;
|
|
89
89
|
const result = matcher.match(descriptorNode, pattern);
|
|
90
90
|
if (!result) {
|
|
91
91
|
return null;
|
|
@@ -130,7 +130,7 @@ function parseUnbondingDescriptor(descriptor) {
|
|
|
130
130
|
tr: [(0, descriptor_2.getUnspendableKey)(), [{ $var: 'slashingMiniscriptNode' }, { $var: 'unbondingTimelockMiniscriptNode' }]],
|
|
131
131
|
};
|
|
132
132
|
const matcher = new descriptor_1.PatternMatcher();
|
|
133
|
-
const descriptorNode = descriptor instanceof
|
|
133
|
+
const descriptorNode = descriptor instanceof wasm_utxo_1.Descriptor ? wasm_utxo_1.ast.fromDescriptor(descriptor) : descriptor;
|
|
134
134
|
const result = matcher.match(descriptorNode, pattern);
|
|
135
135
|
if (!result) {
|
|
136
136
|
return null;
|
|
@@ -156,4 +156,4 @@ function parseUnbondingDescriptor(descriptor) {
|
|
|
156
156
|
unbondingTimelockMiniscriptNode: unbondingTimelockNode,
|
|
157
157
|
};
|
|
158
158
|
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VEZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhYnlsb24vcGFyc2VEZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBeUdBLHdEQStEQztBQVlELDREQTZDQztBQWpPRCw0REFBeUQ7QUFDekQsNERBQXNFO0FBRXRFLDZDQUFpRDtBQWFqRCxTQUFTLFVBQVUsQ0FBQyxLQUFjO0lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ25DLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQzlCLElBQXdCLEVBQ3hCLE9BQXVCO0lBRXZCLE1BQU0sT0FBTyxHQUFZO1FBQ3ZCLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQztL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QUFDO1FBQ3pDLG9CQUFvQjtRQUNwQixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixzQkFBc0IsRUFBRSxZQUFZO1FBQ3BDLCtCQUErQixFQUFFLHFCQUFxQjtLQUN2RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaXB0b3IsIGFzdCB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuaW1wb3J0IHsgUGF0dGVybk1hdGNoZXIsIFBhdHRlcm4gfSBmcm9tICdAYml0Z28vdXR4by1jb3JlL2Rlc2NyaXB0b3InO1xuXG5pbXBvcnQgeyBnZXRVbnNwZW5kYWJsZUtleSB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5cbmV4cG9ydCB0eXBlIFBhcnNlZFN0YWtpbmdEZXNjcmlwdG9yID0ge1xuICBzdGFrZXJLZXk6IEJ1ZmZlcjtcbiAgZmluYWxpdHlQcm92aWRlcktleXM6IEJ1ZmZlcltdO1xuICBjb3ZlbmFudEtleXM6IEJ1ZmZlcltdO1xuICBjb3ZlbmFudFRocmVzaG9sZDogbnVtYmVyO1xuICBzdGFraW5nVGltZUxvY2s6IG51bWJlcjtcbiAgc2xhc2hpbmdNaW5pc2NyaXB0Tm9kZTogYXN0Lk1pbmlzY3JpcHROb2RlO1xuICB1bmJvbmRpbmdNaW5pc2NyaXB0Tm9kZTogYXN0Lk1pbmlzY3JpcHROb2RlO1xuICB0aW1lbG9ja01pbmlzY3JpcHROb2RlOiBhc3QuTWluaXNjcmlwdE5vZGU7XG59O1xuXG5mdW5jdGlvbiBwYXJzZU11bHRpKG11bHRpOiB1bmtub3duKTogW251bWJlciwgc3RyaW5nW11dIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KG11bHRpKSB8fCBtdWx0aS5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG11bHRpIHN0cnVjdHVyZTogbm90IGFuIGFycmF5IG9yIGVtcHR5Jyk7XG4gIH1cbiAgY29uc3QgW3RocmVzaG9sZCwgLi4ua2V5c10gPSBtdWx0aTtcbiAgaWYgKHR5cGVvZiB0aHJlc2hvbGQgIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG11bHRpIHN0cnVjdHVyZTogdGhyZXNob2xkIGlzIG5vdCBhIG51bWJlcicpO1xuICB9XG4gIGlmICgha2V5cy5ldmVyeSgoaykgPT4gdHlwZW9mIGsgPT09ICdzdHJpbmcnKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtdWx0aSBzdHJ1Y3R1cmU6IG5vdCBhbGwga2V5cyBhcmUgc3RyaW5ncycpO1xuICB9XG4gIHJldHVybiBbdGhyZXNob2xkLCBrZXlzXTtcbn1cblxuZnVuY3Rpb24gcGFyc2VVbmlsYXRlcmFsVGltZWxvY2soXG4gIG5vZGU6IGFzdC5NaW5pc2NyaXB0Tm9kZSxcbiAgbWF0Y2hlcjogUGF0dGVybk1hdGNoZXJcbik6IHsga2V5OiBzdHJpbmc7IHRpbWVsb2NrOiBudW1iZXIgfSB8IG51bGwge1xuICBjb25zdCBwYXR0ZXJuOiBQYXR0ZXJuID0ge1xuICAgIGFuZF92OiBbeyAndjpwayc6IHsgJHZhcjogJ2tleScgfSB9LCB7IG9sZGVyOiB7ICR2YXI6ICd0aW1lbG9jaycgfSB9XSxcbiAgfTtcbiAgY29uc3QgbWF0Y2ggPSBtYXRjaGVyLm1hdGNoKG5vZGUsIHBhdHRlcm4pO1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaWYgKHR5cGVvZiBtYXRjaC5rZXkgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdrZXkgbXVzdCBiZSBhIHN0cmluZycpO1xuICB9XG4gIGlmICh0eXBlb2YgbWF0Y2gudGltZWxvY2sgIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0aW1lbG9jayBtdXN0IGJlIGEgbnVtYmVyJyk7XG4gIH1cbiAgcmV0dXJuIHsga2V5OiBtYXRjaC5rZXksIHRpbWVsb2NrOiBtYXRjaC50aW1lbG9jayB9O1xufVxuXG5mdW5jdGlvbiBwYXJzZVNsYXNoaW5nTm9kZShcbiAgc2xhc2hpbmdOb2RlOiBhc3QuTWluaXNjcmlwdE5vZGUsXG4gIG1hdGNoZXI6IFBhdHRlcm5NYXRjaGVyXG4pOiB7XG4gIHN0YWtlcktleTogc3RyaW5nO1xuICBmaW5hbGl0eVByb3ZpZGVyS2V5czogQnVmZmVyW107XG4gIGNvdmVuYW50S2V5czogQnVmZmVyW107XG4gIGNvdmVuYW50VGhyZXNob2xkOiBudW1iZXI7XG59IHtcbiAgY29uc3Qgc2xhc2hpbmdQYXR0ZXJuOiBQYXR0ZXJuID0ge1xuICAgIGFuZF92OiBbXG4gICAgICB7XG4gICAgICAgIGFuZF92OiBbeyAndjpwayc6IHsgJHZhcjogJ3N0YWtlcktleScgfSB9LCB7ICR2YXI6ICdmaW5hbGl0eVByb3ZpZGVyS2V5T3JNdWx0aScgfV0sXG4gICAgICB9LFxuICAgICAgeyBtdWx0aV9hOiB7ICR2YXI6ICdjb3ZlbmFudE11bHRpJyB9IH0sXG4gICAgXSxcbiAgfTtcblxuICBjb25zdCBzbGFzaGluZ01hdGNoID0gbWF0Y2hlci5tYXRjaChzbGFzaGluZ05vZGUsIHNsYXNoaW5nUGF0dGVybik7XG4gIGlmICghc2xhc2hpbmdNYXRjaCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU2xhc2hpbmcgbm9kZSBkb2VzIG5vdCBtYXRjaCBleHBlY3RlZCBwYXR0ZXJuJyk7XG4gIH1cblxuICBpZiAodHlwZW9mIHNsYXNoaW5nTWF0Y2guc3Rha2VyS2V5ICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignc3Rha2VyS2V5IG11c3QgYmUgYSBzdHJpbmcnKTtcbiAgfVxuXG4gIGNvbnN0IFtjb3ZlbmFudFRocmVzaG9sZCwgY292ZW5hbnRLZXlTdHJpbmdzXSA9IHBhcnNlTXVsdGkoc2xhc2hpbmdNYXRjaC5jb3ZlbmFudE11bHRpKTtcbiAgY29uc3QgY292ZW5hbnRLZXlzID0gY292ZW5hbnRLZXlTdHJpbmdzLm1hcCgoaykgPT4gQnVmZmVyLmZyb20oaywgJ2hleCcpKTtcblxuICBsZXQgZmluYWxpdHlQcm92aWRlcktleXM6IEJ1ZmZlcltdO1xuICBjb25zdCBmcEtleU9yTXVsdGkgPSBzbGFzaGluZ01hdGNoLmZpbmFsaXR5UHJvdmlkZXJLZXlPck11bHRpIGFzIGFzdC5NaW5pc2NyaXB0Tm9kZTtcbiAgaWYgKCd2OnBrJyBpbiBmcEtleU9yTXVsdGkpIHtcbiAgICBmaW5hbGl0eVByb3ZpZGVyS2V5cyA9IFtCdWZmZXIuZnJvbShmcEtleU9yTXVsdGlbJ3Y6cGsnXSwgJ2hleCcpXTtcbiAgfSBlbHNlIGlmICgndjptdWx0aV9hJyBpbiBmcEtleU9yTXVsdGkpIHtcbiAgICBjb25zdCBbdGhyZXNob2xkLCBrZXlTdHJpbmdzXSA9IHBhcnNlTXVsdGkoZnBLZXlPck11bHRpWyd2Om11bHRpX2EnXSk7XG4gICAgaWYgKHRocmVzaG9sZCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGaW5hbGl0eSBwcm92aWRlciBtdWx0aSB0aHJlc2hvbGQgbXVzdCBiZSAxJyk7XG4gICAgfVxuICAgIGZpbmFsaXR5UHJvdmlkZXJLZXlzID0ga2V5U3RyaW5ncy5tYXAoKGspID0+IEJ1ZmZlci5mcm9tKGssICdoZXgnKSk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGZpbmFsaXR5IHByb3ZpZGVyIGtleSBzdHJ1Y3R1cmUnKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc3Rha2VyS2V5OiBzbGFzaGluZ01hdGNoLnN0YWtlcktleSxcbiAgICBmaW5hbGl0eVByb3ZpZGVyS2V5cyxcbiAgICBjb3ZlbmFudEtleXMsXG4gICAgY292ZW5hbnRUaHJlc2hvbGQsXG4gIH07XG59XG5cbi8qKlxuICogQHJldHVybiBwYXJzZWQgc3Rha2luZyBkZXNjcmlwdG9yIGNvbXBvbmVudHMgb3IgbnVsbCBpZiB0aGUgZGVzY3JpcHRvciBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgc3Rha2luZyBwYXR0ZXJuLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTdGFraW5nRGVzY3JpcHRvcihkZXNjcmlwdG9yOiBEZXNjcmlwdG9yIHwgYXN0LkRlc2NyaXB0b3JOb2RlKTogUGFyc2VkU3Rha2luZ0Rlc2NyaXB0b3IgfCBudWxsIHtcbiAgY29uc3QgcGF0dGVybjogUGF0dGVybiA9IHtcbiAgICB0cjogW1xuICAgICAgZ2V0VW5zcGVuZGFibGVLZXkoKSxcbiAgICAgIFt7ICR2YXI6ICdzbGFzaGluZ01pbmlzY3JpcHROb2RlJyB9LCBbeyAkdmFyOiAndW5ib25kaW5nTWluaXNjcmlwdE5vZGUnIH0sIHsgJHZhcjogJ3RpbWVsb2NrTWluaXNjcmlwdE5vZGUnIH1dXSxcbiAgICBdLFxuICB9O1xuXG4gIGNvbnN0IG1hdGNoZXIgPSBuZXcgUGF0dGVybk1hdGNoZXIoKTtcbiAgY29uc3QgZGVzY3JpcHRvck5vZGUgPSBkZXNjcmlwdG9yIGluc3RhbmNlb2YgRGVzY3JpcHRvciA/IGFzdC5mcm9tRGVzY3JpcHRvcihkZXNjcmlwdG9yKSA6IGRlc2NyaXB0b3I7XG4gIGNvbnN0IHJlc3VsdCA9IG1hdGNoZXIubWF0Y2goZGVzY3JpcHRvck5vZGUsIHBhdHRlcm4pO1xuXG4gIGlmICghcmVzdWx0KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBzbGFzaGluZ05vZGUgPSByZXN1bHQuc2xhc2hpbmdNaW5pc2NyaXB0Tm9kZSBhcyBhc3QuTWluaXNjcmlwdE5vZGU7XG4gIGNvbnN0IHVuYm9uZGluZ05vZGUgPSByZXN1bHQudW5ib25kaW5nTWluaXNjcmlwdE5vZGUgYXMgYXN0Lk1pbmlzY3JpcHROb2RlO1xuICBjb25zdCB0aW1lbG9ja05vZGUgPSByZXN1bHQudGltZWxvY2tNaW5pc2NyaXB0Tm9kZSBhcyBhc3QuTWluaXNjcmlwdE5vZGU7XG5cbiAgLy8gVmVyaWZ5IHNsYXNoaW5nIG5vZGUgc2hhcGU6IGFuZF92KFthbmRfdihbcGssIHBrL211bHRpX2FdKSwgbXVsdGlfYV0pXG4gIGNvbnN0IHtcbiAgICBzdGFrZXJLZXk6IHN0YWtlcktleTEsXG4gICAgZmluYWxpdHlQcm92aWRlcktleXMsXG4gICAgY292ZW5hbnRLZXlzLFxuICAgIGNvdmVuYW50VGhyZXNob2xkLFxuICB9ID0gcGFyc2VTbGFzaGluZ05vZGUoc2xhc2hpbmdOb2RlLCBtYXRjaGVyKTtcblxuICAvLyBWZXJpZnkgdW5ib25kaW5nIG5vZGUgc2hhcGU6IGFuZF92KFtwaywgbXVsdGlfYV0pXG4gIGNvbnN0IHVuYm9uZGluZ1BhdHRlcm46IFBhdHRlcm4gPSB7XG4gICAgYW5kX3Y6IFt7ICd2OnBrJzogeyAkdmFyOiAnc3Rha2VyS2V5MicgfSB9LCB7IG11bHRpX2E6IHsgJHZhcjogJ2NvdmVuYW50TXVsdGkyJyB9IH1dLFxuICB9O1xuXG4gIGNvbnN0IHVuYm9uZGluZ01hdGNoID0gbWF0Y2hlci5tYXRjaCh1bmJvbmRpbmdOb2RlLCB1bmJvbmRpbmdQYXR0ZXJuKTtcbiAgaWYgKCF1bmJvbmRpbmdNYXRjaCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5ib25kaW5nIG5vZGUgZG9lcyBub3QgbWF0Y2ggZXhwZWN0ZWQgcGF0dGVybicpO1xuICB9XG5cbiAgLy8gVmVyaWZ5IHVuYm9uZGluZyB0aW1lbG9jayBub2RlIHNoYXBlOiBhbmRfdihbcGssIG9sZGVyXSlcbiAgY29uc3QgdW5pbGF0ZXJhbFRpbWVsb2NrID0gcGFyc2VVbmlsYXRlcmFsVGltZWxvY2sodGltZWxvY2tOb2RlLCBtYXRjaGVyKTtcbiAgaWYgKCF1bmlsYXRlcmFsVGltZWxvY2spIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHsga2V5OiBzdGFrZXJLZXkzLCB0aW1lbG9jazogc3Rha2luZ1RpbWVMb2NrIH0gPSB1bmlsYXRlcmFsVGltZWxvY2s7XG5cbiAgLy8gVmVyaWZ5IGFsbCBzdGFrZXIga2V5cyBhcmUgdGhlIHNhbWVcbiAgaWYgKHN0YWtlcktleTEgIT09IHVuYm9uZGluZ01hdGNoLnN0YWtlcktleTIgfHwgdW5ib25kaW5nTWF0Y2guc3Rha2VyS2V5MiAhPT0gc3Rha2VyS2V5Mykge1xuICAgIHRocm93IG5ldyBFcnJvcignU3Rha2VyIGtleXMgbXVzdCBiZSBpZGVudGljYWwgYWNyb3NzIGFsbCBub2RlcycpO1xuICB9XG5cbiAgY29uc3Qgc3Rha2VyS2V5ID0gQnVmZmVyLmZyb20oc3Rha2VyS2V5MSwgJ2hleCcpO1xuXG4gIHJldHVybiB7XG4gICAgc3Rha2VyS2V5LFxuICAgIGZpbmFsaXR5UHJvdmlkZXJLZXlzLFxuICAgIGNvdmVuYW50S2V5cyxcbiAgICBjb3ZlbmFudFRocmVzaG9sZCxcbiAgICBzdGFraW5nVGltZUxvY2ssXG4gICAgc2xhc2hpbmdNaW5pc2NyaXB0Tm9kZTogc2xhc2hpbmdOb2RlLFxuICAgIHVuYm9uZGluZ01pbmlzY3JpcHROb2RlOiB1bmJvbmRpbmdOb2RlLFxuICAgIHRpbWVsb2NrTWluaXNjcmlwdE5vZGU6IHRpbWVsb2NrTm9kZSxcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgUGFyc2VkVW5ib25kaW5nRGVzY3JpcHRvciA9IHtcbiAgc3Rha2VyS2V5OiBCdWZmZXI7XG4gIGZpbmFsaXR5UHJvdmlkZXJLZXlzOiBCdWZmZXJbXTtcbiAgY292ZW5hbnRLZXlzOiBCdWZmZXJbXTtcbiAgY292ZW5hbnRUaHJlc2hvbGQ6IG51bWJlcjtcbiAgdW5ib25kaW5nVGltZUxvY2s6IG51bWJlcjtcbiAgc2xhc2hpbmdNaW5pc2NyaXB0Tm9kZTogYXN0Lk1pbmlzY3JpcHROb2RlO1xuICB1bmJvbmRpbmdUaW1lbG9ja01pbmlzY3JpcHROb2RlOiBhc3QuTWluaXNjcmlwdE5vZGU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VVbmJvbmRpbmdEZXNjcmlwdG9yKFxuICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yIHwgYXN0LkRlc2NyaXB0b3JOb2RlXG4pOiBQYXJzZWRVbmJvbmRpbmdEZXNjcmlwdG9yIHwgbnVsbCB7XG4gIGNvbnN0IHBhdHRlcm46IFBhdHRlcm4gPSB7XG4gICAgdHI6IFtnZXRVbnNwZW5kYWJsZUtleSgpLCBbeyAkdmFyOiAnc2xhc2hpbmdNaW5pc2NyaXB0Tm9kZScgfSwgeyAkdmFyOiAndW5ib25kaW5nVGltZWxvY2tNaW5pc2NyaXB0Tm9kZScgfV1dLFxuICB9O1xuXG4gIGNvbnN0IG1hdGNoZXIgPSBuZXcgUGF0dGVybk1hdGNoZXIoKTtcbiAgY29uc3QgZGVzY3JpcHRvck5vZGUgPSBkZXNjcmlwdG9yIGluc3RhbmNlb2YgRGVzY3JpcHRvciA/IGFzdC5mcm9tRGVzY3JpcHRvcihkZXNjcmlwdG9yKSA6IGRlc2NyaXB0b3I7XG4gIGNvbnN0IHJlc3VsdCA9IG1hdGNoZXIubWF0Y2goZGVzY3JpcHRvck5vZGUsIHBhdHRlcm4pO1xuXG4gIGlmICghcmVzdWx0KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBzbGFzaGluZ05vZGUgPSByZXN1bHQuc2xhc2hpbmdNaW5pc2NyaXB0Tm9kZSBhcyBhc3QuTWluaXNjcmlwdE5vZGU7XG4gIGNvbnN0IHVuYm9uZGluZ1RpbWVsb2NrTm9kZSA9IHJlc3VsdC51bmJvbmRpbmdUaW1lbG9ja01pbmlzY3JpcHROb2RlIGFzIGFzdC5NaW5pc2NyaXB0Tm9kZTtcblxuICBjb25zdCB7XG4gICAgc3Rha2VyS2V5OiBzdGFrZXJLZXkxLFxuICAgIGZpbmFsaXR5UHJvdmlkZXJLZXlzLFxuICAgIGNvdmVuYW50S2V5cyxcbiAgICBjb3ZlbmFudFRocmVzaG9sZCxcbiAgfSA9IHBhcnNlU2xhc2hpbmdOb2RlKHNsYXNoaW5nTm9kZSwgbWF0Y2hlcik7XG5cbiAgY29uc3QgdW5pbGF0ZXJhbFRpbWVsb2NrID0gcGFyc2VVbmlsYXRlcmFsVGltZWxvY2sodW5ib25kaW5nVGltZWxvY2tOb2RlLCBtYXRjaGVyKTtcbiAgaWYgKCF1bmlsYXRlcmFsVGltZWxvY2spIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHsga2V5OiBzdGFrZXJLZXkyLCB0aW1lbG9jazogdW5ib25kaW5nVGltZUxvY2sgfSA9IHVuaWxhdGVyYWxUaW1lbG9jaztcblxuICBpZiAoc3Rha2VyS2V5MSAhPT0gc3Rha2VyS2V5Mikge1xuICAgIHRocm93IG5ldyBFcnJvcignU3Rha2VyIGtleXMgbXVzdCBiZSBpZGVudGljYWwgYWNyb3NzIGFsbCBub2RlcycpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzdGFrZXJLZXk6IEJ1ZmZlci5mcm9tKHN0YWtlcktleTEsICdoZXgnKSxcbiAgICBmaW5hbGl0eVByb3ZpZGVyS2V5cyxcbiAgICBjb3ZlbmFudEtleXMsXG4gICAgY292ZW5hbnRUaHJlc2hvbGQsXG4gICAgdW5ib25kaW5nVGltZUxvY2ssXG4gICAgc2xhc2hpbmdNaW5pc2NyaXB0Tm9kZTogc2xhc2hpbmdOb2RlLFxuICAgIHVuYm9uZGluZ1RpbWVsb2NrTWluaXNjcmlwdE5vZGU6IHVuYm9uZGluZ1RpbWVsb2NrTm9kZSxcbiAgfTtcbn1cbiJdfQ==
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VEZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhYnlsb24vcGFyc2VEZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBeUdBLHdEQStEQztBQVlELDREQTZDQztBQWpPRCxnREFBbUQ7QUFDbkQsNERBQXNFO0FBRXRFLDZDQUFpRDtBQWFqRCxTQUFTLFVBQVUsQ0FBQyxLQUFjO0lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ25DLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQzlCLElBQXdCLEVBQ3hCLE9BQXVCO0lBRXZCLE1BQU0sT0FBTyxHQUFZO1FBQ3ZCLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQztL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QztRQUN6QyxvQkFBb0I7UUFDcEIsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsc0JBQXNCLEVBQUUsWUFBWTtRQUNwQywrQkFBK0IsRUFBRSxxQkFBcUI7S0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNjcmlwdG9yLCBhc3QgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7IFBhdHRlcm5NYXRjaGVyLCBQYXR0ZXJuIH0gZnJvbSAnQGJpdGdvL3V0eG8tY29yZS9kZXNjcmlwdG9yJztcblxuaW1wb3J0IHsgZ2V0VW5zcGVuZGFibGVLZXkgfSBmcm9tICcuL2Rlc2NyaXB0b3InO1xuXG5leHBvcnQgdHlwZSBQYXJzZWRTdGFraW5nRGVzY3JpcHRvciA9IHtcbiAgc3Rha2VyS2V5OiBCdWZmZXI7XG4gIGZpbmFsaXR5UHJvdmlkZXJLZXlzOiBCdWZmZXJbXTtcbiAgY292ZW5hbnRLZXlzOiBCdWZmZXJbXTtcbiAgY292ZW5hbnRUaHJlc2hvbGQ6IG51bWJlcjtcbiAgc3Rha2luZ1RpbWVMb2NrOiBudW1iZXI7XG4gIHNsYXNoaW5nTWluaXNjcmlwdE5vZGU6IGFzdC5NaW5pc2NyaXB0Tm9kZTtcbiAgdW5ib25kaW5nTWluaXNjcmlwdE5vZGU6IGFzdC5NaW5pc2NyaXB0Tm9kZTtcbiAgdGltZWxvY2tNaW5pc2NyaXB0Tm9kZTogYXN0Lk1pbmlzY3JpcHROb2RlO1xufTtcblxuZnVuY3Rpb24gcGFyc2VNdWx0aShtdWx0aTogdW5rbm93bik6IFtudW1iZXIsIHN0cmluZ1tdXSB7XG4gIGlmICghQXJyYXkuaXNBcnJheShtdWx0aSkgfHwgbXVsdGkubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtdWx0aSBzdHJ1Y3R1cmU6IG5vdCBhbiBhcnJheSBvciBlbXB0eScpO1xuICB9XG4gIGNvbnN0IFt0aHJlc2hvbGQsIC4uLmtleXNdID0gbXVsdGk7XG4gIGlmICh0eXBlb2YgdGhyZXNob2xkICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtdWx0aSBzdHJ1Y3R1cmU6IHRocmVzaG9sZCBpcyBub3QgYSBudW1iZXInKTtcbiAgfVxuICBpZiAoIWtleXMuZXZlcnkoKGspID0+IHR5cGVvZiBrID09PSAnc3RyaW5nJykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbXVsdGkgc3RydWN0dXJlOiBub3QgYWxsIGtleXMgYXJlIHN0cmluZ3MnKTtcbiAgfVxuICByZXR1cm4gW3RocmVzaG9sZCwga2V5c107XG59XG5cbmZ1bmN0aW9uIHBhcnNlVW5pbGF0ZXJhbFRpbWVsb2NrKFxuICBub2RlOiBhc3QuTWluaXNjcmlwdE5vZGUsXG4gIG1hdGNoZXI6IFBhdHRlcm5NYXRjaGVyXG4pOiB7IGtleTogc3RyaW5nOyB0aW1lbG9jazogbnVtYmVyIH0gfCBudWxsIHtcbiAgY29uc3QgcGF0dGVybjogUGF0dGVybiA9IHtcbiAgICBhbmRfdjogW3sgJ3Y6cGsnOiB7ICR2YXI6ICdrZXknIH0gfSwgeyBvbGRlcjogeyAkdmFyOiAndGltZWxvY2snIH0gfV0sXG4gIH07XG4gIGNvbnN0IG1hdGNoID0gbWF0Y2hlci5tYXRjaChub2RlLCBwYXR0ZXJuKTtcbiAgaWYgKCFtYXRjaCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGlmICh0eXBlb2YgbWF0Y2gua2V5ICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcigna2V5IG11c3QgYmUgYSBzdHJpbmcnKTtcbiAgfVxuICBpZiAodHlwZW9mIG1hdGNoLnRpbWVsb2NrICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBFcnJvcigndGltZWxvY2sgbXVzdCBiZSBhIG51bWJlcicpO1xuICB9XG4gIHJldHVybiB7IGtleTogbWF0Y2gua2V5LCB0aW1lbG9jazogbWF0Y2gudGltZWxvY2sgfTtcbn1cblxuZnVuY3Rpb24gcGFyc2VTbGFzaGluZ05vZGUoXG4gIHNsYXNoaW5nTm9kZTogYXN0Lk1pbmlzY3JpcHROb2RlLFxuICBtYXRjaGVyOiBQYXR0ZXJuTWF0Y2hlclxuKToge1xuICBzdGFrZXJLZXk6IHN0cmluZztcbiAgZmluYWxpdHlQcm92aWRlcktleXM6IEJ1ZmZlcltdO1xuICBjb3ZlbmFudEtleXM6IEJ1ZmZlcltdO1xuICBjb3ZlbmFudFRocmVzaG9sZDogbnVtYmVyO1xufSB7XG4gIGNvbnN0IHNsYXNoaW5nUGF0dGVybjogUGF0dGVybiA9IHtcbiAgICBhbmRfdjogW1xuICAgICAge1xuICAgICAgICBhbmRfdjogW3sgJ3Y6cGsnOiB7ICR2YXI6ICdzdGFrZXJLZXknIH0gfSwgeyAkdmFyOiAnZmluYWxpdHlQcm92aWRlcktleU9yTXVsdGknIH1dLFxuICAgICAgfSxcbiAgICAgIHsgbXVsdGlfYTogeyAkdmFyOiAnY292ZW5hbnRNdWx0aScgfSB9LFxuICAgIF0sXG4gIH07XG5cbiAgY29uc3Qgc2xhc2hpbmdNYXRjaCA9IG1hdGNoZXIubWF0Y2goc2xhc2hpbmdOb2RlLCBzbGFzaGluZ1BhdHRlcm4pO1xuICBpZiAoIXNsYXNoaW5nTWF0Y2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1NsYXNoaW5nIG5vZGUgZG9lcyBub3QgbWF0Y2ggZXhwZWN0ZWQgcGF0dGVybicpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBzbGFzaGluZ01hdGNoLnN0YWtlcktleSAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3N0YWtlcktleSBtdXN0IGJlIGEgc3RyaW5nJyk7XG4gIH1cblxuICBjb25zdCBbY292ZW5hbnRUaHJlc2hvbGQsIGNvdmVuYW50S2V5U3RyaW5nc10gPSBwYXJzZU11bHRpKHNsYXNoaW5nTWF0Y2guY292ZW5hbnRNdWx0aSk7XG4gIGNvbnN0IGNvdmVuYW50S2V5cyA9IGNvdmVuYW50S2V5U3RyaW5ncy5tYXAoKGspID0+IEJ1ZmZlci5mcm9tKGssICdoZXgnKSk7XG5cbiAgbGV0IGZpbmFsaXR5UHJvdmlkZXJLZXlzOiBCdWZmZXJbXTtcbiAgY29uc3QgZnBLZXlPck11bHRpID0gc2xhc2hpbmdNYXRjaC5maW5hbGl0eVByb3ZpZGVyS2V5T3JNdWx0aSBhcyBhc3QuTWluaXNjcmlwdE5vZGU7XG4gIGlmICgndjpwaycgaW4gZnBLZXlPck11bHRpKSB7XG4gICAgZmluYWxpdHlQcm92aWRlcktleXMgPSBbQnVmZmVyLmZyb20oZnBLZXlPck11bHRpWyd2OnBrJ10sICdoZXgnKV07XG4gIH0gZWxzZSBpZiAoJ3Y6bXVsdGlfYScgaW4gZnBLZXlPck11bHRpKSB7XG4gICAgY29uc3QgW3RocmVzaG9sZCwga2V5U3RyaW5nc10gPSBwYXJzZU11bHRpKGZwS2V5T3JNdWx0aVsndjptdWx0aV9hJ10pO1xuICAgIGlmICh0aHJlc2hvbGQgIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmluYWxpdHkgcHJvdmlkZXIgbXVsdGkgdGhyZXNob2xkIG11c3QgYmUgMScpO1xuICAgIH1cbiAgICBmaW5hbGl0eVByb3ZpZGVyS2V5cyA9IGtleVN0cmluZ3MubWFwKChrKSA9PiBCdWZmZXIuZnJvbShrLCAnaGV4JykpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBmaW5hbGl0eSBwcm92aWRlciBrZXkgc3RydWN0dXJlJyk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHN0YWtlcktleTogc2xhc2hpbmdNYXRjaC5zdGFrZXJLZXksXG4gICAgZmluYWxpdHlQcm92aWRlcktleXMsXG4gICAgY292ZW5hbnRLZXlzLFxuICAgIGNvdmVuYW50VGhyZXNob2xkLFxuICB9O1xufVxuXG4vKipcbiAqIEByZXR1cm4gcGFyc2VkIHN0YWtpbmcgZGVzY3JpcHRvciBjb21wb25lbnRzIG9yIG51bGwgaWYgdGhlIGRlc2NyaXB0b3IgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHN0YWtpbmcgcGF0dGVybi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU3Rha2luZ0Rlc2NyaXB0b3IoZGVzY3JpcHRvcjogRGVzY3JpcHRvciB8IGFzdC5EZXNjcmlwdG9yTm9kZSk6IFBhcnNlZFN0YWtpbmdEZXNjcmlwdG9yIHwgbnVsbCB7XG4gIGNvbnN0IHBhdHRlcm46IFBhdHRlcm4gPSB7XG4gICAgdHI6IFtcbiAgICAgIGdldFVuc3BlbmRhYmxlS2V5KCksXG4gICAgICBbeyAkdmFyOiAnc2xhc2hpbmdNaW5pc2NyaXB0Tm9kZScgfSwgW3sgJHZhcjogJ3VuYm9uZGluZ01pbmlzY3JpcHROb2RlJyB9LCB7ICR2YXI6ICd0aW1lbG9ja01pbmlzY3JpcHROb2RlJyB9XV0sXG4gICAgXSxcbiAgfTtcblxuICBjb25zdCBtYXRjaGVyID0gbmV3IFBhdHRlcm5NYXRjaGVyKCk7XG4gIGNvbnN0IGRlc2NyaXB0b3JOb2RlID0gZGVzY3JpcHRvciBpbnN0YW5jZW9mIERlc2NyaXB0b3IgPyBhc3QuZnJvbURlc2NyaXB0b3IoZGVzY3JpcHRvcikgOiBkZXNjcmlwdG9yO1xuICBjb25zdCByZXN1bHQgPSBtYXRjaGVyLm1hdGNoKGRlc2NyaXB0b3JOb2RlLCBwYXR0ZXJuKTtcblxuICBpZiAoIXJlc3VsdCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgc2xhc2hpbmdOb2RlID0gcmVzdWx0LnNsYXNoaW5nTWluaXNjcmlwdE5vZGUgYXMgYXN0Lk1pbmlzY3JpcHROb2RlO1xuICBjb25zdCB1bmJvbmRpbmdOb2RlID0gcmVzdWx0LnVuYm9uZGluZ01pbmlzY3JpcHROb2RlIGFzIGFzdC5NaW5pc2NyaXB0Tm9kZTtcbiAgY29uc3QgdGltZWxvY2tOb2RlID0gcmVzdWx0LnRpbWVsb2NrTWluaXNjcmlwdE5vZGUgYXMgYXN0Lk1pbmlzY3JpcHROb2RlO1xuXG4gIC8vIFZlcmlmeSBzbGFzaGluZyBub2RlIHNoYXBlOiBhbmRfdihbYW5kX3YoW3BrLCBway9tdWx0aV9hXSksIG11bHRpX2FdKVxuICBjb25zdCB7XG4gICAgc3Rha2VyS2V5OiBzdGFrZXJLZXkxLFxuICAgIGZpbmFsaXR5UHJvdmlkZXJLZXlzLFxuICAgIGNvdmVuYW50S2V5cyxcbiAgICBjb3ZlbmFudFRocmVzaG9sZCxcbiAgfSA9IHBhcnNlU2xhc2hpbmdOb2RlKHNsYXNoaW5nTm9kZSwgbWF0Y2hlcik7XG5cbiAgLy8gVmVyaWZ5IHVuYm9uZGluZyBub2RlIHNoYXBlOiBhbmRfdihbcGssIG11bHRpX2FdKVxuICBjb25zdCB1bmJvbmRpbmdQYXR0ZXJuOiBQYXR0ZXJuID0ge1xuICAgIGFuZF92OiBbeyAndjpwayc6IHsgJHZhcjogJ3N0YWtlcktleTInIH0gfSwgeyBtdWx0aV9hOiB7ICR2YXI6ICdjb3ZlbmFudE11bHRpMicgfSB9XSxcbiAgfTtcblxuICBjb25zdCB1bmJvbmRpbmdNYXRjaCA9IG1hdGNoZXIubWF0Y2godW5ib25kaW5nTm9kZSwgdW5ib25kaW5nUGF0dGVybik7XG4gIGlmICghdW5ib25kaW5nTWF0Y2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYm9uZGluZyBub2RlIGRvZXMgbm90IG1hdGNoIGV4cGVjdGVkIHBhdHRlcm4nKTtcbiAgfVxuXG4gIC8vIFZlcmlmeSB1bmJvbmRpbmcgdGltZWxvY2sgbm9kZSBzaGFwZTogYW5kX3YoW3BrLCBvbGRlcl0pXG4gIGNvbnN0IHVuaWxhdGVyYWxUaW1lbG9jayA9IHBhcnNlVW5pbGF0ZXJhbFRpbWVsb2NrKHRpbWVsb2NrTm9kZSwgbWF0Y2hlcik7XG4gIGlmICghdW5pbGF0ZXJhbFRpbWVsb2NrKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB7IGtleTogc3Rha2VyS2V5MywgdGltZWxvY2s6IHN0YWtpbmdUaW1lTG9jayB9ID0gdW5pbGF0ZXJhbFRpbWVsb2NrO1xuXG4gIC8vIFZlcmlmeSBhbGwgc3Rha2VyIGtleXMgYXJlIHRoZSBzYW1lXG4gIGlmIChzdGFrZXJLZXkxICE9PSB1bmJvbmRpbmdNYXRjaC5zdGFrZXJLZXkyIHx8IHVuYm9uZGluZ01hdGNoLnN0YWtlcktleTIgIT09IHN0YWtlcktleTMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0YWtlciBrZXlzIG11c3QgYmUgaWRlbnRpY2FsIGFjcm9zcyBhbGwgbm9kZXMnKTtcbiAgfVxuXG4gIGNvbnN0IHN0YWtlcktleSA9IEJ1ZmZlci5mcm9tKHN0YWtlcktleTEsICdoZXgnKTtcblxuICByZXR1cm4ge1xuICAgIHN0YWtlcktleSxcbiAgICBmaW5hbGl0eVByb3ZpZGVyS2V5cyxcbiAgICBjb3ZlbmFudEtleXMsXG4gICAgY292ZW5hbnRUaHJlc2hvbGQsXG4gICAgc3Rha2luZ1RpbWVMb2NrLFxuICAgIHNsYXNoaW5nTWluaXNjcmlwdE5vZGU6IHNsYXNoaW5nTm9kZSxcbiAgICB1bmJvbmRpbmdNaW5pc2NyaXB0Tm9kZTogdW5ib25kaW5nTm9kZSxcbiAgICB0aW1lbG9ja01pbmlzY3JpcHROb2RlOiB0aW1lbG9ja05vZGUsXG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIFBhcnNlZFVuYm9uZGluZ0Rlc2NyaXB0b3IgPSB7XG4gIHN0YWtlcktleTogQnVmZmVyO1xuICBmaW5hbGl0eVByb3ZpZGVyS2V5czogQnVmZmVyW107XG4gIGNvdmVuYW50S2V5czogQnVmZmVyW107XG4gIGNvdmVuYW50VGhyZXNob2xkOiBudW1iZXI7XG4gIHVuYm9uZGluZ1RpbWVMb2NrOiBudW1iZXI7XG4gIHNsYXNoaW5nTWluaXNjcmlwdE5vZGU6IGFzdC5NaW5pc2NyaXB0Tm9kZTtcbiAgdW5ib25kaW5nVGltZWxvY2tNaW5pc2NyaXB0Tm9kZTogYXN0Lk1pbmlzY3JpcHROb2RlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVW5ib25kaW5nRGVzY3JpcHRvcihcbiAgZGVzY3JpcHRvcjogRGVzY3JpcHRvciB8IGFzdC5EZXNjcmlwdG9yTm9kZVxuKTogUGFyc2VkVW5ib25kaW5nRGVzY3JpcHRvciB8IG51bGwge1xuICBjb25zdCBwYXR0ZXJuOiBQYXR0ZXJuID0ge1xuICAgIHRyOiBbZ2V0VW5zcGVuZGFibGVLZXkoKSwgW3sgJHZhcjogJ3NsYXNoaW5nTWluaXNjcmlwdE5vZGUnIH0sIHsgJHZhcjogJ3VuYm9uZGluZ1RpbWVsb2NrTWluaXNjcmlwdE5vZGUnIH1dXSxcbiAgfTtcblxuICBjb25zdCBtYXRjaGVyID0gbmV3IFBhdHRlcm5NYXRjaGVyKCk7XG4gIGNvbnN0IGRlc2NyaXB0b3JOb2RlID0gZGVzY3JpcHRvciBpbnN0YW5jZW9mIERlc2NyaXB0b3IgPyBhc3QuZnJvbURlc2NyaXB0b3IoZGVzY3JpcHRvcikgOiBkZXNjcmlwdG9yO1xuICBjb25zdCByZXN1bHQgPSBtYXRjaGVyLm1hdGNoKGRlc2NyaXB0b3JOb2RlLCBwYXR0ZXJuKTtcblxuICBpZiAoIXJlc3VsdCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgc2xhc2hpbmdOb2RlID0gcmVzdWx0LnNsYXNoaW5nTWluaXNjcmlwdE5vZGUgYXMgYXN0Lk1pbmlzY3JpcHROb2RlO1xuICBjb25zdCB1bmJvbmRpbmdUaW1lbG9ja05vZGUgPSByZXN1bHQudW5ib25kaW5nVGltZWxvY2tNaW5pc2NyaXB0Tm9kZSBhcyBhc3QuTWluaXNjcmlwdE5vZGU7XG5cbiAgY29uc3Qge1xuICAgIHN0YWtlcktleTogc3Rha2VyS2V5MSxcbiAgICBmaW5hbGl0eVByb3ZpZGVyS2V5cyxcbiAgICBjb3ZlbmFudEtleXMsXG4gICAgY292ZW5hbnRUaHJlc2hvbGQsXG4gIH0gPSBwYXJzZVNsYXNoaW5nTm9kZShzbGFzaGluZ05vZGUsIG1hdGNoZXIpO1xuXG4gIGNvbnN0IHVuaWxhdGVyYWxUaW1lbG9jayA9IHBhcnNlVW5pbGF0ZXJhbFRpbWVsb2NrKHVuYm9uZGluZ1RpbWVsb2NrTm9kZSwgbWF0Y2hlcik7XG4gIGlmICghdW5pbGF0ZXJhbFRpbWVsb2NrKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB7IGtleTogc3Rha2VyS2V5MiwgdGltZWxvY2s6IHVuYm9uZGluZ1RpbWVMb2NrIH0gPSB1bmlsYXRlcmFsVGltZWxvY2s7XG5cbiAgaWYgKHN0YWtlcktleTEgIT09IHN0YWtlcktleTIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0YWtlciBrZXlzIG11c3QgYmUgaWRlbnRpY2FsIGFjcm9zcyBhbGwgbm9kZXMnKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc3Rha2VyS2V5OiBCdWZmZXIuZnJvbShzdGFrZXJLZXkxLCAnaGV4JyksXG4gICAgZmluYWxpdHlQcm92aWRlcktleXMsXG4gICAgY292ZW5hbnRLZXlzLFxuICAgIGNvdmVuYW50VGhyZXNob2xkLFxuICAgIHVuYm9uZGluZ1RpbWVMb2NrLFxuICAgIHNsYXNoaW5nTWluaXNjcmlwdE5vZGU6IHNsYXNoaW5nTm9kZSxcbiAgICB1bmJvbmRpbmdUaW1lbG9ja01pbmlzY3JpcHROb2RlOiB1bmJvbmRpbmdUaW1lbG9ja05vZGUsXG4gIH07XG59XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as utxolib from '@bitgo/utxo-lib';
|
|
2
2
|
import { PartialSig, WitnessUtxo } from 'bip174/src/lib/interfaces';
|
|
3
|
-
import { Descriptor } from '@bitgo/wasm-
|
|
3
|
+
import { Descriptor } from '@bitgo/wasm-utxo';
|
|
4
4
|
/**
|
|
5
5
|
* Asserts that the provided signatures are valid for the given PSBT input.
|
|
6
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unbonding.d.ts","sourceRoot":"","sources":["../../../../src/babylon/undelegation/unbonding.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAmB,MAAM,
|
|
1
|
+
{"version":3,"file":"unbonding.d.ts","sourceRoot":"","sources":["../../../../src/babylon/undelegation/unbonding.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAiB/D;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAC5B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI,CAON;AAQD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EACzC,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,UAAU,EAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,OAAO,CAAC,KAAK,CAAC,QAAQ,CA4BxB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EACzC,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,UAAU,EAC7B,UAAU,EAAE,UAAU,EAAE,EACxB,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAMxB"}
|
|
@@ -41,7 +41,7 @@ exports.toUnbondingPsbt = toUnbondingPsbt;
|
|
|
41
41
|
exports.toUnbondingPsbtWithSignatures = toUnbondingPsbtWithSignatures;
|
|
42
42
|
const assert_1 = __importDefault(require("assert"));
|
|
43
43
|
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
44
|
-
const
|
|
44
|
+
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
45
45
|
const descriptor_1 = require("@bitgo/utxo-core/descriptor");
|
|
46
46
|
const parseDescriptor_1 = require("../parseDescriptor");
|
|
47
47
|
/**
|
|
@@ -66,7 +66,7 @@ function assertValidSignatures(psbt, inputIndex, signatures) {
|
|
|
66
66
|
function getUnbondingScript(stakingDescriptor) {
|
|
67
67
|
const parsedDescriptor = (0, parseDescriptor_1.parseStakingDescriptor)(stakingDescriptor);
|
|
68
68
|
(0, assert_1.default)(parsedDescriptor, 'Invalid staking descriptor');
|
|
69
|
-
return
|
|
69
|
+
return wasm_utxo_1.Miniscript.fromString(wasm_utxo_1.ast.formatNode(parsedDescriptor.unbondingMiniscriptNode), 'tap');
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
72
|
* @return unsigned PSBT for an unbonding transaction
|
|
@@ -108,4 +108,4 @@ function toUnbondingPsbtWithSignatures(tx, witnessUtxo, stakingDescriptor, signa
|
|
|
108
108
|
assertValidSignatures(psbt, 0, signatures);
|
|
109
109
|
return psbt;
|
|
110
110
|
}
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5ib25kaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JhYnlsb24vdW5kZWxlZ2F0aW9uL3VuYm9uZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCQSxzREFXQztBQVdELDBDQWlDQztBQUtELHNFQVlDO0FBaEdELG9EQUE0QjtBQUU1Qix5REFBMkM7QUFFM0MsZ0RBQStEO0FBQy9ELDREQUEyRjtBQUUzRix3REFBNEQ7QUFFNUQ7O0dBRUc7QUFDSCxTQUFTLHFCQUFxQixDQUFDLElBQTRCLEVBQUUsVUFBa0IsRUFBRSxVQUF3QjtJQUN2RyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxJQUFBLGdCQUFNLEVBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO0lBQzdELElBQUEsZ0JBQU0sRUFBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsMkNBQTJDLENBQUMsQ0FBQztJQUN0RixNQUFNLENBQUMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQ3ZELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25GLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzlGLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLHFC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Q0gsU0FBZ0IsNkJBQTZCLENBQzNDLEVBQXlDLEVBQ3pDLFdBQXdCLEVBQ3hCLGlCQUE2QixFQUM3QixVQUF3QixFQUN4QixPQUF3QjtJQUV4QixNQUFNLElBQUksR0FBRyxlQUFlLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRSxJQUFBLGdCQUFNLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxtREFBbUQsQ0FBQyxDQUFDO0lBQzNGLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDM0MscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMzQyxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IFBhcnRpYWxTaWcsIFdpdG5lc3NVdHhvIH0gZnJvbSAnYmlwMTc0L3NyYy9saWIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBEZXNjcmlwdG9yLCBNaW5pc2NyaXB0LCBhc3QgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7IGZpbmRUYXBMZWFmU2NyaXB0LCB0b1V0eG9Qc2J0LCB0b1dyYXBwZWRQc2J0IH0gZnJvbSAnQGJpdGdvL3V0eG8tY29yZS9kZXNjcmlwdG9yJztcblxuaW1wb3J0IHsgcGFyc2VTdGFraW5nRGVzY3JpcHRvciB9IGZyb20gJy4uL3BhcnNlRGVzY3JpcHRvcic7XG5cbi8qKlxuICogQWRkcyBjb3ZlbmFudCBzaWduYXR1cmVzIHRvIGEgUFNCVCBpbnB1dC5cbiAqL1xuZnVuY3Rpb24gYWRkQ292ZW5hbnRTaWduYXR1cmVzKHBzYnQ6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQsIGlucHV0SW5kZXg6IG51bWJlciwgc2lnbmF0dXJlczogUGFydGlhbFNpZ1tdKTogdm9pZCB7XG4gIGNvbnN0IGlucHV0ID0gcHNidC5kYXRhLmlucHV0c1tpbnB1dEluZGV4XTtcbiAgYXNzZXJ0KGlucHV0LnRhcExlYWZTY3JpcHQsICdJbnB1dCBtdXN0IGhhdmUgdGFwTGVhZlNjcmlwdCcpO1xuICBhc3NlcnQoaW5wdXQudGFwTGVhZlNjcmlwdC5sZW5ndGggPT09IDEsICdJbnB1dCBtdXN0IGhhdmUgZXhhY3RseSBvbmUgdGFwTGVhZlNjcmlwdCcpO1xuICBjb25zdCBbeyBjb250cm9sQmxvY2ssIHNjcmlwdCB9XSA9IGlucHV0LnRhcExlYWZTY3JpcHQ7XG4gIGNvbnN0IGxlYWZIYXNoID0gdXR4b2xpYi50YXByb290LmdldFRhcGxlYWZIYXNoKHV0eG9saWIuZWNjLCBjb250cm9sQmxvY2ssIHNjcmlwdCk7XG4gIHBzYnQudXBkYXRlSW5wdXQoaW5wdXRJbmRleCwgeyB0YXBTY3JpcHRTaWc6IHNpZ25hdHVyZXMubWFwKChzKSA9PiAoeyAuLi5zLCBsZWFmSGFzaCB9KSkgfSk7XG59XG5cbi8qKlxuICogQXNzZXJ0cyB0aGF0IHRoZSBwcm92aWRlZCBzaWduYXR1cmVzIGFyZSB2YWxpZCBmb3IgdGhlIGdpdmVuIFBTQlQgaW5wdXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRWYWxpZFNpZ25hdHVyZXMoXG4gIHBzYnQ6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQsXG4gIGlucHV0SW5kZXg6IG51bWJlcixcbiAgc2lnbmF0dXJlczogUGFydGlhbFNpZ1tdXG4pOiB2b2lkIHtcbiAgc2lnbmF0dXJlcy5mb3JFYWNoKChzKSA9PiB7XG4gICAgYXNzZXJ0KFxuICAgICAgcHNidC52YWxpZGF0ZVRhcHJvb3RTaWduYXR1cmVzT2ZJbnB1dChpbnB1dEluZGV4LCBzLnB1YmtleSksXG4gICAgICBgU2lnbmF0dXJlIHZhbGlkYXRpb24gZmFpbGVkIGZvciAke3MucHVia2V5LnRvU3RyaW5nKCdoZXgnKX1gXG4gICAgKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFVuYm9uZGluZ1NjcmlwdChzdGFraW5nRGVzY3JpcHRvcjogRGVzY3JpcHRvcik6IE1pbmlzY3JpcHQge1xuICBjb25zdCBwYXJzZWREZXNjcmlwdG9yID0gcGFyc2VTdGFraW5nRGVzY3JpcHRvcihzdGFraW5nRGVzY3JpcHRvcik7XG4gIGFzc2VydChwYXJzZWREZXNjcmlwdG9yLCAnSW52YWxpZCBzdGFraW5nIGRlc2NyaXB0b3InKTtcbiAgcmV0dXJuIE1pbmlzY3JpcHQuZnJvbVN0cmluZyhhc3QuZm9ybWF0Tm9kZShwYXJzZWREZXNjcmlwdG9yLnVuYm9uZGluZ01pbmlzY3JpcHROb2RlKSwgJ3RhcCcpO1xufVxuXG4vKipcbiAqIEByZXR1cm4gdW5zaWduZWQgUFNCVCBmb3IgYW4gdW5ib25kaW5nIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1VuYm9uZGluZ1BzYnQoXG4gIHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxiaWdpbnQ+LFxuICB3aXRuZXNzVXR4bzogV2l0bmVzc1V0eG8sXG4gIHN0YWtpbmdEZXNjcmlwdG9yOiBEZXNjcmlwdG9yLFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmtcbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQge1xuICBjb25zdCB1bmJvbmRpbmdTY3JpcHQgPSBnZXRVbmJvbmRpbmdTY3JpcHQoc3Rha2luZ0Rlc2NyaXB0b3IpO1xuICBjb25zdCBwc2J0ID0gbmV3IHV0eG9saWIuUHNidCh7IG5ldHdvcmsgfSk7XG4gIHBzYnQuc2V0VmVyc2lvbih0eC52ZXJzaW9uKTtcbiAgcHNidC5zZXRMb2NrdGltZSh0eC5sb2NrdGltZSk7XG4gIHBzYnQuYWRkT3V0cHV0cyhcbiAgICB0eC5vdXRzLm1hcCgob3V0cHV0KSA9PiAoe1xuICAgICAgc2NyaXB0OiBvdXRwdXQuc2NyaXB0LFxuICAgICAgdmFsdWU6IEJpZ0ludChvdXRwdXQudmFsdWUpLFxuICAgIH0pKVxuICApO1xuICBhc3NlcnQodHguaW5zLmxlbmd0aCA9PT0gMSk7XG4gIGNvbnN0IGlucHV0ID0gdHguaW5zWzBdO1xuICBwc2J0LmFkZElucHV0KHtcbiAgICBoYXNoOiBpbnB1dC5oYXNoLFxuICAgIGluZGV4OiBpbnB1dC5pbmRleCxcbiAgICBzZXF1ZW5jZTogaW5wdXQuc2VxdWVuY2UsXG4gICAgd2l0bmVzc1V0eG8sXG4gIH0pO1xuICBjb25zdCB3cmFwcGVkUHNidCA9IHRvV3JhcHBlZFBzYnQocHNidCk7XG4gIHdyYXBwZWRQc2J0LnVwZGF0ZUlucHV0V2l0aERlc2NyaXB0b3IoMCwgc3Rha2luZ0Rlc2NyaXB0b3IpO1xuICBjb25zdCB1bndyYXBwZWQgPSB0b1V0eG9Qc2J0KHdyYXBwZWRQc2J0LCBuZXR3b3JrKTtcbiAgYXNzZXJ0KHVud3JhcHBlZC5kYXRhLmlucHV0cy5sZW5ndGggPT09IDEsICdVbmJvbmRpbmcgdHJhbnNhY3Rpb24gbXVzdCBoYXZlIGV4YWN0bHkgb25lIGlucHV0Jyk7XG4gIGNvbnN0IHVud3JhcHBlZElucHV0RGF0YSA9IHVud3JhcHBlZC5kYXRhLmlucHV0c1swXTtcbiAgYXNzZXJ0KHVud3JhcHBlZElucHV0RGF0YS50YXBMZWFmU2NyaXB0KTtcbiAgY29uc3QgdW53cmFwcGVkVW5ib25kID0gZmluZFRhcExlYWZTY3JpcHQodW53cmFwcGVkSW5wdXREYXRhLnRhcExlYWZTY3JpcHQsIHVuYm9uZGluZ1NjcmlwdCk7XG4gIHVud3JhcHBlZElucHV0RGF0YS50YXBMZWFmU2NyaXB0ID0gW3Vud3JhcHBlZFVuYm9uZF07XG4gIHJldHVybiB1bndyYXBwZWQ7XG59XG5cbi8qKlxuICogQHJldHVybiBQU0JUIGZvciBhbiB1bmJvbmRpbmcgdHJhbnNhY3Rpb24gd2l0aCBzaWduYXR1cmVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1VuYm9uZGluZ1BzYnRXaXRoU2lnbmF0dXJlcyhcbiAgdHg6IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPGJpZ2ludD4sXG4gIHdpdG5lc3NVdHhvOiBXaXRuZXNzVXR4byxcbiAgc3Rha2luZ0Rlc2NyaXB0b3I6IERlc2NyaXB0b3IsXG4gIHNpZ25hdHVyZXM6IFBhcnRpYWxTaWdbXSxcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrXG4pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHtcbiAgY29uc3QgcHNidCA9IHRvVW5ib25kaW5nUHNidCh0eCwgd2l0bmVzc1V0eG8sIHN0YWtpbmdEZXNjcmlwdG9yLCBuZXR3b3JrKTtcbiAgYXNzZXJ0KHBzYnQuZGF0YS5pbnB1dHMubGVuZ3RoID09PSAxLCAnVW5ib25kaW5nIHRyYW5zYWN0aW9uIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBpbnB1dCcpO1xuICBhZGRDb3ZlbmFudFNpZ25hdHVyZXMocHNidCwgMCwgc2lnbmF0dXJlcyk7XG4gIGFzc2VydFZhbGlkU2lnbmF0dXJlcyhwc2J0LCAwLCBzaWduYXR1cmVzKTtcbiAgcmV0dXJuIHBzYnQ7XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createMultiSigDescriptor = createMultiSigDescriptor;
|
|
4
|
-
const
|
|
4
|
+
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
5
5
|
function asDescriptorKey(key, neutered) {
|
|
6
6
|
if (Buffer.isBuffer(key)) {
|
|
7
7
|
return key.toString('hex');
|
|
@@ -28,11 +28,11 @@ function createMultiSigDescriptor(scriptType, locktime, m, orderedKeys, neutered
|
|
|
28
28
|
const inner = { and_v: [{ 'r:after': locktime }, { multi: [m, ...keys] }] };
|
|
29
29
|
switch (scriptType) {
|
|
30
30
|
case 'sh':
|
|
31
|
-
return
|
|
31
|
+
return wasm_utxo_1.ast.formatNode({ sh: inner });
|
|
32
32
|
case 'sh-wsh':
|
|
33
|
-
return
|
|
33
|
+
return wasm_utxo_1.ast.formatNode({ sh: { wsh: inner } });
|
|
34
34
|
case 'wsh':
|
|
35
|
-
return
|
|
35
|
+
return wasm_utxo_1.ast.formatNode({ wsh: inner });
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlRGFvL2Rlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUEwQkEsNERBeUJDO0FBbERELGdEQUF1QztBQVN2QyxTQUFTLGVBQWUsQ0FBQyxHQUE0QixFQUFFLFFBQWlCO0lBQ3RFLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFDN0QsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0Isd0JBQXdCLENBQ3RDLFVBQXNCLEVBQ3RCLFFBQWdCLEVBQ2hCLENBQVMsRUFDVCxXQUF3QyxFQUN4QyxRQUFRLEdBQUcsSUFBSTtJQUVmLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQ2IsTUFBTSxDQUFDLHVEQUF1RCxXQUFXLENBQUMsTUFBTSxzQkFBc0IsQ0FDdkcsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLFFBQVEsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsUUFBUSwwQkFBMEIsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDdEUsTUFBTSxLQUFLLEdBQXVCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNoRyxRQUFRLFVBQVUsRUFBRSxDQUFDO1FBQ25CLEtBQUssSUFBSTtZQUNQLE9BQU8sZUFBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssUUFBUTtZQUNYLE9BQU8sZUFBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEQsS0FBSyxLQUFLO1lBQ1IsT0FBTyxlQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCSVAzMkludGVyZmFjZSB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBhc3QgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuLyoqXG4gKiBTY3JpcHQgdHlwZSBmb3IgYSBkZXNjcmlwdG9yLlxuICpcbiAqIFNlZSBodHRwczovL2RvY3MuY29yZWRhby5vcmcvZG9jcy9MZWFybi9wcm9kdWN0cy9idGMtc3Rha2luZy9kZXNpZ24jcDJzaHAyd3NoLW91dHB1dFxuICovXG5leHBvcnQgdHlwZSBTY3JpcHRUeXBlID0gJ3NoJyB8ICdzaC13c2gnIHwgJ3dzaCc7XG5cbmZ1bmN0aW9uIGFzRGVzY3JpcHRvcktleShrZXk6IEJJUDMySW50ZXJmYWNlIHwgQnVmZmVyLCBuZXV0ZXJlZDogYm9vbGVhbik6IHN0cmluZyB7XG4gIGlmIChCdWZmZXIuaXNCdWZmZXIoa2V5KSkge1xuICAgIHJldHVybiBrZXkudG9TdHJpbmcoJ2hleCcpO1xuICB9XG4gIHJldHVybiAobmV1dGVyZWQgPyBrZXkubmV1dGVyZWQoKSA6IGtleSkudG9CYXNlNTgoKSArICcvKic7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgbXVsdGktc2lnIGRlc2NyaXB0b3IgdG8gcHJvZHVjZSBhIGNvcmVkYW8gc3Rha2luZyBhZGRyZXNzXG4gKiBAcGFyYW0gc2NyaXB0VHlwZSBzZWd3aXQgb3IgbGVnYWN5XG4gKiBAcGFyYW0gbG9ja3RpbWUgbG9ja3RpbWUgZm9yIENMVFZcbiAqIEBwYXJhbSBtIFRvdGFsIG51bWJlciBvZiBrZXlzIHJlcXVpcmVkIHRvIHVubG9ja1xuICogQHBhcmFtIG9yZGVyZWRLZXlzIElmIEJpcDMySW50ZXJmYWNlcywgdGhlc2UgYXJlIHhwcnZzIG9yIHhwdWJzIGFuZCBhcmUgZGVyaXZhYmxlLlxuICogICAgICAgICAgICAgICAgICAgIElmIHRoZXkgYXJlIGJ1ZmZlcnMsIHRoZW4gdGhleSBhcmUgcHViL3BydiBrZXlzIGFuZCBhcmUgbm90IGRlcml2YWJsZS5cbiAqIEBwYXJhbSBuZXV0ZXJlZCBJZiB0cnVlLCBuZXV0ZXIgdGhlIGtleXMuIERlZmF1bHQgdG8gdHJ1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTXVsdGlTaWdEZXNjcmlwdG9yKFxuICBzY3JpcHRUeXBlOiBTY3JpcHRUeXBlLFxuICBsb2NrdGltZTogbnVtYmVyLFxuICBtOiBudW1iZXIsXG4gIG9yZGVyZWRLZXlzOiAoQklQMzJJbnRlcmZhY2UgfCBCdWZmZXIpW10sXG4gIG5ldXRlcmVkID0gdHJ1ZVxuKTogc3RyaW5nIHtcbiAgaWYgKG0gPiBvcmRlcmVkS2V5cy5sZW5ndGggfHwgbSA8IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgbSAoJHttfSkgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIG51bWJlciBvZiBrZXlzICgke29yZGVyZWRLZXlzLmxlbmd0aH0pIGFuZCBncmVhdGVyIHRoYW4gMGBcbiAgICApO1xuICB9XG4gIGlmIChsb2NrdGltZSA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBsb2NrdGltZSAoJHtsb2NrdGltZX0pIG11c3QgYmUgZ3JlYXRlciB0aGFuIDBgKTtcbiAgfVxuICBjb25zdCBrZXlzID0gb3JkZXJlZEtleXMubWFwKChrZXkpID0+IGFzRGVzY3JpcHRvcktleShrZXksIG5ldXRlcmVkKSk7XG4gIGNvbnN0IGlubmVyOiBhc3QuTWluaXNjcmlwdE5vZGUgPSB7IGFuZF92OiBbeyAncjphZnRlcic6IGxvY2t0aW1lIH0sIHsgbXVsdGk6IFttLCAuLi5rZXlzXSB9XSB9O1xuICBzd2l0Y2ggKHNjcmlwdFR5cGUpIHtcbiAgICBjYXNlICdzaCc6XG4gICAgICByZXR1cm4gYXN0LmZvcm1hdE5vZGUoeyBzaDogaW5uZXIgfSk7XG4gICAgY2FzZSAnc2gtd3NoJzpcbiAgICAgIHJldHVybiBhc3QuZm9ybWF0Tm9kZSh7IHNoOiB7IHdzaDogaW5uZXIgfSB9KTtcbiAgICBjYXNlICd3c2gnOlxuICAgICAgcmV0dXJuIGFzdC5mb3JtYXROb2RlKHsgd3NoOiBpbm5lciB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/coreDao/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/coreDao/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAqC,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/E,KAAK,aAAa,GAAG;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,GAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAgBlB;AAED,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,GAAG,YAAY,EAAE,CAEjH"}
|
|
@@ -31,4 +31,4 @@ function createStakingOutputsCore(stakingParams, opReturnParams) {
|
|
|
31
31
|
function createStakingOutputs(stakingParams, opReturnParams) {
|
|
32
32
|
return createStakingOutputsCore(stakingParams, opReturnParams).map(({ value, ...o }) => ({ ...o, amount: value }));
|
|
33
33
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZURhby90cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1CQSw0REFtQkM7QUFXRCxvREFFQztBQWhERCx5Q0FBK0U7QUFRL0U7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLHdCQUF3QixDQUN0QyxhQUE0QixFQUM1QixjQUE4QjtJQUU5QixJQUFJLGFBQWEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLElBQUksYUFBYSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNoRixNQUFNLElBQUksS0FBSyxDQUFDLGtGQUFrRixDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQzlCLGFBQWEsQ0FBQyxLQUFLLEtBQUssU0FBUztRQUMvQixDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUU7UUFDekMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUNuRixDQUFDO0lBQ0YsTUFBTSxjQUFjLEdBQUcsSUFBQSw0Q0FBaUMsRUFBQyxjQUFjLENBQUMsQ0FBQztJQUV6RSxPQUFPO1FBQ0wsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsTUFBTSxFQUFFO1FBQ3JELEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO0tBQzdDLENBQUM7QUFDSixDQUFDO0FBT0Q7OztHQUdHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsYUFBNEIsRUFBRSxjQUE4QjtJQUMvRixPQUFPLHdCQUF3QixDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNySCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3V0cHV0IH0gZnJvbSAnQGJpdGdvL3V0eG8tY29yZSc7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IGNyZWF0ZUNvcmVEYW9PcFJldHVybk91dHB1dFNjcmlwdCwgT3BSZXR1cm5QYXJhbXMgfSBmcm9tICcuL29wUmV0dXJuJztcblxudHlwZSBTdGFraW5nUGFyYW1zID0ge1xuICBhbW91bnQ6IGJpZ2ludDtcbiAgZGVzY3JpcHRvcjogRGVzY3JpcHRvcjtcbiAgaW5kZXg/OiBudW1iZXI7XG59O1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgc3Rha2luZyBvdXRwdXRzIGZvciBhIENvcmVEQU8gc3Rha2luZyB0cmFuc2FjdGlvbi4gVGhpcyBpcyB0aGUgb3JkZXJpbmdcbiAqIGluIHdoaWNoIHRvIGFkZCBpbnRvIHRoZSB0cmFuc2FjdGlvbi5cbiAqIEBwYXJhbSBzdGFraW5nUGFyYW1zIGhvdyB0byBjcmVhdGUgdGhlIHRpbWVsb2NrZWQgc3Rha2Ugb3V0cHV0XG4gKiBAcGFyYW0gc3Rha2luZ1BhcmFtcy5kZXNjcmlwdG9yIGlmIHN0YWtpbmdQYXJhbXMuaW5kZXggaXMgbm90IHByb3ZpZGVkLCB0aGVuIHRoaXMgaXMgYXNzdW1lZCB0byBiZSBhIGBkZWZpbml0ZWAgZGVzY3JpcHRvci5cbiAqIElmIHN0YWtpbmdQYXJhbXMuaW5kZXggaXMgcHJvdmlkZWQsIHRoZW4gdGhpcyBpcyBhc3N1bWVkIHRvIGJlIGEgYGRlcml2YWJsZWAgZGVzY3JpcHRvci5cbiAqIEBwYXJhbSBvcFJldHVyblBhcmFtcyB0byBjcmVhdGUgdGhlIE9QX1JFVFVSTiBvdXRwdXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0YWtpbmdPdXRwdXRzQ29yZShcbiAgc3Rha2luZ1BhcmFtczogU3Rha2luZ1BhcmFtcyxcbiAgb3BSZXR1cm5QYXJhbXM6IE9wUmV0dXJuUGFyYW1zXG4pOiBPdXRwdXQ8YmlnaW50PltdIHtcbiAgaWYgKHN0YWtpbmdQYXJhbXMuZGVzY3JpcHRvci5oYXNXaWxkY2FyZCgpICYmIHN0YWtpbmdQYXJhbXMuaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGNyZWF0ZSBzdGFraW5nIG91dHB1dHMgd2l0aCBhIHdpbGRjYXJkIGRlc2NyaXB0b3IgYW5kIG5vIGRlcml2YXRpb24gaW5kZXgnKTtcbiAgfVxuXG4gIGNvbnN0IG91dHB1dFNjcmlwdCA9IEJ1ZmZlci5mcm9tKFxuICAgIHN0YWtpbmdQYXJhbXMuaW5kZXggPT09IHVuZGVmaW5lZFxuICAgICAgPyBzdGFraW5nUGFyYW1zLmRlc2NyaXB0b3Iuc2NyaXB0UHVia2V5KClcbiAgICAgIDogc3Rha2luZ1BhcmFtcy5kZXNjcmlwdG9yLmF0RGVyaXZhdGlvbkluZGV4KHN0YWtpbmdQYXJhbXMuaW5kZXgpLnNjcmlwdFB1YmtleSgpXG4gICk7XG4gIGNvbnN0IG9wUmV0dXJuU2NyaXB0ID0gY3JlYXRlQ29yZURhb09wUmV0dXJuT3V0cHV0U2NyaXB0KG9wUmV0dXJuUGFyYW1zKTtcblxuICByZXR1cm4gW1xuICAgIHsgc2NyaXB0OiBvdXRwdXRTY3JpcHQsIHZhbHVlOiBzdGFraW5nUGFyYW1zLmFtb3VudCB9LFxuICAgIHsgc2NyaXB0OiBvcFJldHVyblNjcmlwdCwgdmFsdWU6IEJpZ0ludCgwKSB9LFxuICBdO1xufVxuXG50eXBlIExlZ2FjeU91dHB1dCA9IHtcbiAgc2NyaXB0OiBCdWZmZXI7XG4gIGFtb3VudDogYmlnaW50O1xufTtcblxuLyoqXG4gKiBAc2VlIGNyZWF0ZVN0YWtpbmdPdXRwdXRzQ29yZVxuICogQGRlcHJlY2F0ZWQgLSB1c2UgY3JlYXRlU3Rha2luZ091dHB1dHNDb3JlIGluc3RlYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0YWtpbmdPdXRwdXRzKHN0YWtpbmdQYXJhbXM6IFN0YWtpbmdQYXJhbXMsIG9wUmV0dXJuUGFyYW1zOiBPcFJldHVyblBhcmFtcyk6IExlZ2FjeU91dHB1dFtdIHtcbiAgcmV0dXJuIGNyZWF0ZVN0YWtpbmdPdXRwdXRzQ29yZShzdGFraW5nUGFyYW1zLCBvcFJldHVyblBhcmFtcykubWFwKCh7IHZhbHVlLCAuLi5vIH0pID0+ICh7IC4uLm8sIGFtb3VudDogdmFsdWUgfSkpO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo/utxo-staking",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.24.0",
|
|
4
4
|
"description": "BitGo SDK for build UTXO staking transactions",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@babylonlabs-io/babylon-proto-ts": "1.7.2",
|
|
47
47
|
"@bitgo/babylonlabs-io-btc-staking-ts": "^3.1.0",
|
|
48
|
-
"@bitgo/utxo-core": "^1.
|
|
49
|
-
"@bitgo/utxo-lib": "^11.
|
|
50
|
-
"@bitgo/wasm-
|
|
48
|
+
"@bitgo/utxo-core": "^1.22.0",
|
|
49
|
+
"@bitgo/utxo-lib": "^11.15.0",
|
|
50
|
+
"@bitgo/wasm-utxo": "1.1.0",
|
|
51
51
|
"bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4",
|
|
52
52
|
"bip322-js": "^2.0.0",
|
|
53
53
|
"bitcoinjs-lib": "^6.1.7",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"yargs": "^17.7.2"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "0d5128f0e20473ae8a360a4421877122ef1c0646"
|
|
62
62
|
}
|