@bitgo/abstract-utxo 11.5.0 → 11.6.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/cjs/src/abstractUtxoCoin.d.ts +4 -0
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/cjs/src/abstractUtxoCoin.js +7 -1
- package/dist/cjs/src/transaction/fixedScript/verifyTransaction.js +2 -2
- package/dist/cjs/src/verifyKey.d.ts +6 -1
- package/dist/cjs/src/verifyKey.d.ts.map +1 -1
- package/dist/cjs/src/verifyKey.js +38 -21
- package/dist/cjs/test/unit/keychains.js +2 -2
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/abstractUtxoCoin.d.ts +4 -0
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/esm/abstractUtxoCoin.js +8 -2
- package/dist/esm/transaction/fixedScript/verifyTransaction.js +3 -3
- package/dist/esm/verifyKey.d.ts +6 -1
- package/dist/esm/verifyKey.d.ts.map +1 -1
- package/dist/esm/verifyKey.js +38 -22
- package/package.json +11 -11
package/dist/esm/verifyKey.d.ts
CHANGED
|
@@ -15,7 +15,12 @@ export declare function verifyKeySignature(params: VerifyKeySignaturesOptions):
|
|
|
15
15
|
*/
|
|
16
16
|
export declare function verifyCustomChangeKeySignatures<TNumber extends number | bigint>(tx: ParsedTransaction<TNumber>, userKeychain: UtxoKeychain): boolean;
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
18
|
+
* TODO: Deprecate in favor of verifyUserPublicKeyAsync once v2 encryption is default.
|
|
19
|
+
* Decrypt the wallet's user private key and verify that the claimed public key matches (sync, v1 only).
|
|
19
20
|
*/
|
|
20
21
|
export declare function verifyUserPublicKey(bitgo: BitGoBase, params: VerifyUserPublicKeyOptions): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Async version of verifyUserPublicKey with v2 encrypt/decrypt support.
|
|
24
|
+
*/
|
|
25
|
+
export declare function verifyUserPublicKeyAsync(bitgo: BitGoBase, params: VerifyUserPublicKeyOptions): Promise<boolean>;
|
|
21
26
|
//# sourceMappingURL=verifyKey.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyKey.d.ts","sourceRoot":"","sources":["../../src/verifyKey.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"verifyKey.d.ts","sourceRoot":"","sources":["../../src/verifyKey.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAyE,MAAM,iBAAiB,CAAC;AAEnH,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAwB9E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAC7E,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAC9B,YAAY,EAAE,YAAY,GACzB,OAAO,CAyBT;AA8BD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAYjG;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,OAAO,CAAC,CAYrH"}
|
package/dist/esm/verifyKey.js
CHANGED
|
@@ -6,7 +6,7 @@ These are actually not utxo-specific and belong in a more general module.
|
|
|
6
6
|
import assert from 'assert';
|
|
7
7
|
import buildDebug from 'debug';
|
|
8
8
|
import { BIP32, message } from '@bitgo/wasm-utxo';
|
|
9
|
-
import { decryptKeychainPrivateKey, KeyIndices } from '@bitgo/sdk-core';
|
|
9
|
+
import { decryptKeychainPrivateKey, decryptKeychainPrivateKeyAsync, KeyIndices } from '@bitgo/sdk-core';
|
|
10
10
|
const debug = buildDebug('bitgo:abstract-utxo:verifyKey');
|
|
11
11
|
/**
|
|
12
12
|
* Verify signatures produced by the user key over the backup and bitgo keys.
|
|
@@ -63,19 +63,8 @@ export function verifyCustomChangeKeySignatures(tx, userKeychain) {
|
|
|
63
63
|
}
|
|
64
64
|
return true;
|
|
65
65
|
}
|
|
66
|
-
|
|
67
|
-
* Decrypt the wallet's user private key and verify that the claimed public key matches
|
|
68
|
-
*/
|
|
69
|
-
export function verifyUserPublicKey(bitgo, params) {
|
|
70
|
-
const { userKeychain, txParams, disableNetworking } = params;
|
|
71
|
-
if (!userKeychain) {
|
|
72
|
-
throw new Error('user keychain is required');
|
|
73
|
-
}
|
|
66
|
+
function verifyUserPublicKeyWithPrv(userKeychain, userPrv, disableNetworking) {
|
|
74
67
|
const userPub = userKeychain.pub;
|
|
75
|
-
let userPrv = userKeychain.prv;
|
|
76
|
-
if (!userPrv && txParams.walletPassphrase) {
|
|
77
|
-
userPrv = decryptKeychainPrivateKey(bitgo, userKeychain, txParams.walletPassphrase);
|
|
78
|
-
}
|
|
79
68
|
if (!userPrv) {
|
|
80
69
|
const errorMessage = 'user private key unavailable for verification';
|
|
81
70
|
if (disableNetworking) {
|
|
@@ -86,15 +75,42 @@ export function verifyUserPublicKey(bitgo, params) {
|
|
|
86
75
|
throw new Error(errorMessage);
|
|
87
76
|
}
|
|
88
77
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
throw new Error('user private key does not match public key');
|
|
96
|
-
}
|
|
78
|
+
const userPrivateKey = BIP32.fromBase58(userPrv);
|
|
79
|
+
if (userPrivateKey.toBase58() === userPrivateKey.neutered().toBase58()) {
|
|
80
|
+
throw new Error('user private key is only public');
|
|
81
|
+
}
|
|
82
|
+
if (userPrivateKey.neutered().toBase58() !== userPub) {
|
|
83
|
+
throw new Error('user private key does not match public key');
|
|
97
84
|
}
|
|
98
85
|
return true;
|
|
99
86
|
}
|
|
100
|
-
|
|
87
|
+
/**
|
|
88
|
+
* TODO: Deprecate in favor of verifyUserPublicKeyAsync once v2 encryption is default.
|
|
89
|
+
* Decrypt the wallet's user private key and verify that the claimed public key matches (sync, v1 only).
|
|
90
|
+
*/
|
|
91
|
+
export function verifyUserPublicKey(bitgo, params) {
|
|
92
|
+
const { userKeychain, txParams, disableNetworking } = params;
|
|
93
|
+
if (!userKeychain) {
|
|
94
|
+
throw new Error('user keychain is required');
|
|
95
|
+
}
|
|
96
|
+
let userPrv = userKeychain.prv;
|
|
97
|
+
if (!userPrv && txParams.walletPassphrase) {
|
|
98
|
+
userPrv = decryptKeychainPrivateKey(bitgo, userKeychain, txParams.walletPassphrase);
|
|
99
|
+
}
|
|
100
|
+
return verifyUserPublicKeyWithPrv(userKeychain, userPrv, disableNetworking);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Async version of verifyUserPublicKey with v2 encrypt/decrypt support.
|
|
104
|
+
*/
|
|
105
|
+
export async function verifyUserPublicKeyAsync(bitgo, params) {
|
|
106
|
+
const { userKeychain, txParams, disableNetworking } = params;
|
|
107
|
+
if (!userKeychain) {
|
|
108
|
+
throw new Error('user keychain is required');
|
|
109
|
+
}
|
|
110
|
+
let userPrv = userKeychain.prv;
|
|
111
|
+
if (!userPrv && txParams.walletPassphrase) {
|
|
112
|
+
userPrv = await decryptKeychainPrivateKeyAsync(bitgo, userKeychain, txParams.walletPassphrase);
|
|
113
|
+
}
|
|
114
|
+
return verifyUserPublicKeyWithPrv(userKeychain, userPrv, disableNetworking);
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5S2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZlcmlmeUtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sVUFBVSxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBYSx5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQU1uSCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsK0JBQStCLENBQUMsQ0FBQztBQUUxRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBa0M7SUFDbkUsTUFBTSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDaEUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUUvRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsSUFBSSxDQUFDO1FBQ0gs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LENBQUM7UUFDMUMsT0FBTyxHQUFHLE1BQU0sOEJBQThCLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsT0FBTywwQkFBMEIsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5cblRoZXNlIGFyZSBhY3R1YWxseSBub3QgdXR4by1zcGVjaWZpYyBhbmQgYmVsb25nIGluIGEgbW9yZSBnZW5lcmFsIG1vZHVsZS5cblxuICovXG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IEJJUDMyLCBtZXNzYWdlIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UsIGRlY3J5cHRLZXljaGFpblByaXZhdGVLZXksIGRlY3J5cHRLZXljaGFpblByaXZhdGVLZXlBc3luYywgS2V5SW5kaWNlcyB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmltcG9ydCB7IFZlcmlmeUtleVNpZ25hdHVyZXNPcHRpb25zLCBWZXJpZnlVc2VyUHVibGljS2V5T3B0aW9ucyB9IGZyb20gJy4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBQYXJzZWRUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHlwZXMnO1xuaW1wb3J0IHsgVXR4b0tleWNoYWluIH0gZnJvbSAnLi9rZXljaGFpbnMnO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ2JpdGdvOmFic3RyYWN0LXV0eG86dmVyaWZ5S2V5Jyk7XG5cbi8qKlxuICogVmVyaWZ5IHNpZ25hdHVyZXMgcHJvZHVjZWQgYnkgdGhlIHVzZXIga2V5IG92ZXIgdGhlIGJhY2t1cCBhbmQgYml0Z28ga2V5cy5cbiAqXG4gKiBJZiBzZXQsIHRoZXNlIHNpZ25hdHVyZXMgZW5zdXJlIHRoYXQgdGhlIHdhbGxldCBrZXlzIGNhbm5vdCBiZSBjaGFuZ2VkIGFmdGVyIHRoZSB3YWxsZXQgaGFzIGJlZW4gY3JlYXRlZC5cbiAqIEBwYXJhbSB7VmVyaWZ5S2V5U2lnbmF0dXJlc09wdGlvbnN9IHBhcmFtc1xuICogQHJldHVybiB7e2JhY2t1cDogYm9vbGVhbiwgYml0Z286IGJvb2xlYW59fVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5S2V5U2lnbmF0dXJlKHBhcmFtczogVmVyaWZ5S2V5U2lnbmF0dXJlc09wdGlvbnMpOiBib29sZWFuIHtcbiAgY29uc3QgeyB1c2VyS2V5Y2hhaW4sIGtleWNoYWluVG9WZXJpZnksIGtleVNpZ25hdHVyZSB9ID0gcGFyYW1zO1xuICBpZiAoIXVzZXJLZXljaGFpbikge1xuICAgIHRocm93IG5ldyBFcnJvcigndXNlciBrZXljaGFpbiBpcyByZXF1aXJlZCcpO1xuICB9XG5cbiAgaWYgKCFrZXljaGFpblRvVmVyaWZ5KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdrZXljaGFpbiB0byB2ZXJpZnkgaXMgcmVxdWlyZWQnKTtcbiAgfVxuXG4gIGlmICgha2V5U2lnbmF0dXJlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdrZXkgc2lnbmF0dXJlIGlzIHJlcXVpcmVkJyk7XG4gIH1cblxuICBhc3NlcnQodXNlcktleWNoYWluLnB1Yik7XG4gIGNvbnN0IHB1YmxpY0tleSA9IEJJUDMyLmZyb21CYXNlNTgodXNlcktleWNoYWluLnB1YikucHVibGljS2V5O1xuXG4gIGFzc2VydChrZXljaGFpblRvVmVyaWZ5LnB1Yik7XG4gIHRyeSB7XG4gICAgcmV0dXJuIG1lc3NhZ2UudmVyaWZ5TWVzc2FnZShrZXljaGFpblRvVmVyaWZ5LnB1YiwgcHVibGljS2V5LCBCdWZmZXIuZnJvbShrZXlTaWduYXR1cmUsICdoZXgnKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBkZWJ1ZygnZXJyb3IgdGhyb3duIGZyb20gd2FzbS11dHhvIHdoaWxlIHZlcmlmeWluZyBrZXkgc2lnbmF0dXJlJywgZSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogVmVyaWZ5IHNpZ25hdHVyZXMgYWdhaW5zdCB0aGUgdXNlciBwcml2YXRlIGtleSBvdmVyIHRoZSBjaGFuZ2Ugd2FsbGV0IGV4dGVuZGVkIGtleXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeUN1c3RvbUNoYW5nZUtleVNpZ25hdHVyZXM8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIHR4OiBQYXJzZWRUcmFuc2FjdGlvbjxUTnVtYmVyPixcbiAgdXNlcktleWNoYWluOiBVdHhvS2V5Y2hhaW5cbik6IGJvb2xlYW4ge1xuICBpZiAoIXR4LmN1c3RvbUNoYW5nZSkge1xuICAgIHRocm93IG5ldyBFcnJvcigncGFyc2VkIHRyYW5zYWN0aW9uIGlzIG1pc3NpbmcgcmVxdWlyZWQgY3VzdG9tIGNoYW5nZSB2ZXJpZmljYXRpb24gZGF0YScpO1xuICB9XG5cbiAgaWYgKCFBcnJheS5pc0FycmF5KHR4LmN1c3RvbUNoYW5nZS5rZXlzKSB8fCAhQXJyYXkuaXNBcnJheSh0eC5jdXN0b21DaGFuZ2Uuc2lnbmF0dXJlcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2N1c3RvbUNoYW5nZSBwcm9wZXJ0eSBpcyBtaXNzaW5nIGtleXMgb3Igc2lnbmF0dXJlcycpO1xuICB9XG5cbiAgZm9yIChjb25zdCBrZXlJbmRleCBvZiBbS2V5SW5kaWNlcy5VU0VSLCBLZXlJbmRpY2VzLkJBQ0tVUCwgS2V5SW5kaWNlcy5CSVRHT10pIHtcbiAgICBjb25zdCBrZXljaGFpblRvVmVyaWZ5ID0gdHguY3VzdG9tQ2hhbmdlLmtleXNba2V5SW5kZXhdO1xuICAgIGNvbnN0IGtleVNpZ25hdHVyZSA9IHR4LmN1c3RvbUNoYW5nZS5zaWduYXR1cmVzW2tleUluZGV4XTtcbiAgICBpZiAoIWtleWNoYWluVG9WZXJpZnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbWlzc2luZyByZXF1aXJlZCBjdXN0b20gY2hhbmdlICR7S2V5SW5kaWNlc1trZXlJbmRleF0udG9Mb3dlckNhc2UoKX0ga2V5Y2hhaW4gcHVibGljIGtleWApO1xuICAgIH1cbiAgICBpZiAoIWtleVNpZ25hdHVyZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBtaXNzaW5nIHJlcXVpcmVkIGN1c3RvbSBjaGFuZ2UgJHtLZXlJbmRpY2VzW2tleUluZGV4XS50b0xvd2VyQ2FzZSgpfSBrZXljaGFpbiBzaWduYXR1cmVgKTtcbiAgICB9XG4gICAgaWYgKCF2ZXJpZnlLZXlTaWduYXR1cmUoeyB1c2VyS2V5Y2hhaW4sIGtleWNoYWluVG9WZXJpZnksIGtleVNpZ25hdHVyZSB9KSkge1xuICAgICAgZGVidWcoJ2ZhaWxlZCB0byB2ZXJpZnkgY3VzdG9tIGNoYW5nZSAlcyBrZXkgc2lnbmF0dXJlIScsIEtleUluZGljZXNba2V5SW5kZXhdLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlVc2VyUHVibGljS2V5V2l0aFBydihcbiAgdXNlcktleWNoYWluOiBOb25OdWxsYWJsZTxWZXJpZnlVc2VyUHVibGljS2V5T3B0aW9uc1sndXNlcktleWNoYWluJ10+LFxuICB1c2VyUHJ2OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGRpc2FibGVOZXR3b3JraW5nOiBib29sZWFuIHwgdW5kZWZpbmVkXG4pOiBib29sZWFuIHtcbiAgY29uc3QgdXNlclB1YiA9IHVzZXJLZXljaGFpbi5wdWI7XG5cbiAgaWYgKCF1c2VyUHJ2KSB7XG4gICAgY29uc3QgZXJyb3JNZXNzYWdlID0gJ3VzZXIgcHJpdmF0ZSBrZXkgdW5hdmFpbGFibGUgZm9yIHZlcmlmaWNhdGlvbic7XG4gICAgaWYgKGRpc2FibGVOZXR3b3JraW5nKSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvck1lc3NhZ2UpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCB1c2VyUHJpdmF0ZUtleSA9IEJJUDMyLmZyb21CYXNlNTgodXNlclBydik7XG4gIGlmICh1c2VyUHJpdmF0ZUtleS50b0Jhc2U1OCgpID09PSB1c2VyUHJpdmF0ZUtleS5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZXIgcHJpdmF0ZSBrZXkgaXMgb25seSBwdWJsaWMnKTtcbiAgfVxuICBpZiAodXNlclByaXZhdGVLZXkubmV1dGVyZWQoKS50b0Jhc2U1OCgpICE9PSB1c2VyUHViKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VyIHByaXZhdGUga2V5IGRvZXMgbm90IG1hdGNoIHB1YmxpYyBrZXknKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIFRPRE86IERlcHJlY2F0ZSBpbiBmYXZvciBvZiB2ZXJpZnlVc2VyUHVibGljS2V5QXN5bmMgb25jZSB2MiBlbmNyeXB0aW9uIGlzIGRlZmF1bHQuXG4gKiBEZWNyeXB0IHRoZSB3YWxsZXQncyB1c2VyIHByaXZhdGUga2V5IGFuZCB2ZXJpZnkgdGhhdCB0aGUgY2xhaW1lZCBwdWJsaWMga2V5IG1hdGNoZXMgKHN5bmMsIHYxIG9ubHkpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5VXNlclB1YmxpY0tleShiaXRnbzogQml0R29CYXNlLCBwYXJhbXM6IFZlcmlmeVVzZXJQdWJsaWNLZXlPcHRpb25zKTogYm9vbGVhbiB7XG4gIGNvbnN0IHsgdXNlcktleWNoYWluLCB0eFBhcmFtcywgZGlzYWJsZU5ldHdvcmtpbmcgfSA9IHBhcmFtcztcbiAgaWYgKCF1c2VyS2V5Y2hhaW4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZXIga2V5Y2hhaW4gaXMgcmVxdWlyZWQnKTtcbiAgfVxuXG4gIGxldCB1c2VyUHJ2ID0gdXNlcktleWNoYWluLnBydjtcbiAgaWYgKCF1c2VyUHJ2ICYmIHR4UGFyYW1zLndhbGxldFBhc3NwaHJhc2UpIHtcbiAgICB1c2VyUHJ2ID0gZGVjcnlwdEtleWNoYWluUHJpdmF0ZUtleShiaXRnbywgdXNlcktleWNoYWluLCB0eFBhcmFtcy53YWxsZXRQYXNzcGhyYXNlKTtcbiAgfVxuXG4gIHJldHVybiB2ZXJpZnlVc2VyUHVibGljS2V5V2l0aFBydih1c2VyS2V5Y2hhaW4sIHVzZXJQcnYsIGRpc2FibGVOZXR3b3JraW5nKTtcbn1cblxuLyoqXG4gKiBBc3luYyB2ZXJzaW9uIG9mIHZlcmlmeVVzZXJQdWJsaWNLZXkgd2l0aCB2MiBlbmNyeXB0L2RlY3J5cHQgc3VwcG9ydC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeVVzZXJQdWJsaWNLZXlBc3luYyhiaXRnbzogQml0R29CYXNlLCBwYXJhbXM6IFZlcmlmeVVzZXJQdWJsaWNLZXlPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHsgdXNlcktleWNoYWluLCB0eFBhcmFtcywgZGlzYWJsZU5ldHdvcmtpbmcgfSA9IHBhcmFtcztcbiAgaWYgKCF1c2VyS2V5Y2hhaW4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZXIga2V5Y2hhaW4gaXMgcmVxdWlyZWQnKTtcbiAgfVxuXG4gIGxldCB1c2VyUHJ2ID0gdXNlcktleWNoYWluLnBydjtcbiAgaWYgKCF1c2VyUHJ2ICYmIHR4UGFyYW1zLndhbGxldFBhc3NwaHJhc2UpIHtcbiAgICB1c2VyUHJ2ID0gYXdhaXQgZGVjcnlwdEtleWNoYWluUHJpdmF0ZUtleUFzeW5jKGJpdGdvLCB1c2VyS2V5Y2hhaW4sIHR4UGFyYW1zLndhbGxldFBhc3NwaHJhc2UpO1xuICB9XG5cbiAgcmV0dXJuIHZlcmlmeVVzZXJQdWJsaWNLZXlXaXRoUHJ2KHVzZXJLZXljaGFpbiwgdXNlclBydiwgZGlzYWJsZU5ldHdvcmtpbmcpO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo/abstract-utxo",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.6.0",
|
|
4
4
|
"description": "BitGo SDK coin library for UTXO base implementation",
|
|
5
5
|
"main": "./dist/cjs/src/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -60,14 +60,14 @@
|
|
|
60
60
|
]
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@bitgo/blockapis": "^1.13.
|
|
64
|
-
"@bitgo/sdk-api": "^1.
|
|
65
|
-
"@bitgo/sdk-core": "^37.
|
|
66
|
-
"@bitgo/utxo-core": "^1.39.
|
|
67
|
-
"@bitgo/utxo-descriptors": "^1.3.
|
|
68
|
-
"@bitgo/utxo-lib": "^11.
|
|
69
|
-
"@bitgo/utxo-ord": "^1.32.
|
|
70
|
-
"@bitgo/wasm-utxo": "^4.
|
|
63
|
+
"@bitgo/blockapis": "^1.13.7",
|
|
64
|
+
"@bitgo/sdk-api": "^1.84.0",
|
|
65
|
+
"@bitgo/sdk-core": "^37.5.0",
|
|
66
|
+
"@bitgo/utxo-core": "^1.39.2",
|
|
67
|
+
"@bitgo/utxo-descriptors": "^1.3.2",
|
|
68
|
+
"@bitgo/utxo-lib": "^11.24.0",
|
|
69
|
+
"@bitgo/utxo-ord": "^1.32.2",
|
|
70
|
+
"@bitgo/wasm-utxo": "^4.16.0",
|
|
71
71
|
"@types/lodash": "^4.14.121",
|
|
72
72
|
"@types/superagent": "4.1.15",
|
|
73
73
|
"bignumber.js": "^9.0.2",
|
|
@@ -77,8 +77,8 @@
|
|
|
77
77
|
"superagent": "^9.0.1"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
|
-
"@bitgo/sdk-test": "^9.1.
|
|
80
|
+
"@bitgo/sdk-test": "^9.1.49",
|
|
81
81
|
"mocha": "^10.2.0"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "d69204f7c3e6e496d0ca50505d968ff7b19ffbd5"
|
|
84
84
|
}
|