@bitgo-beta/utxo-lib 8.0.3-beta.466 → 8.0.3-beta.468
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.
|
@@ -14,4 +14,13 @@ export declare function privateKeyBufferToECPair(buffer: Buffer, network?: Netwo
|
|
|
14
14
|
* @return Buffer 32 bytes
|
|
15
15
|
*/
|
|
16
16
|
export declare function privateKeyBufferFromECPair(ecPair: ECPairInterface): Buffer;
|
|
17
|
+
/**
|
|
18
|
+
* Converts an extended key from one network to another by updating its version bytes.
|
|
19
|
+
*
|
|
20
|
+
* Handles both public and private keys, allowing conversion between networks like
|
|
21
|
+
* Bitcoin Mainnet and Testnet.
|
|
22
|
+
*
|
|
23
|
+
* @returns The extended key with the updated network version.
|
|
24
|
+
*/
|
|
25
|
+
export declare function convertExtendedKeyNetwork(extendedKey: string, fromNetwork: Network, targetNetwork: Network): string;
|
|
17
26
|
//# sourceMappingURL=keyutil.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyutil.d.ts","sourceRoot":"","sources":["../../../src/bitgo/keyutil.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"keyutil.d.ts","sourceRoot":"","sources":["../../../src/bitgo/keyutil.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,CAM3F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAc1E;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM,CAWnH"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.privateKeyBufferFromECPair = exports.privateKeyBufferToECPair = void 0;
|
|
3
|
+
exports.convertExtendedKeyNetwork = exports.privateKeyBufferFromECPair = exports.privateKeyBufferToECPair = void 0;
|
|
4
|
+
const bs58check = require("bs58check");
|
|
4
5
|
const noble_ecc_1 = require("../noble_ecc");
|
|
5
6
|
/**
|
|
6
7
|
* Create an ECPair from the raw private key bytes
|
|
@@ -34,4 +35,25 @@ function privateKeyBufferFromECPair(ecPair) {
|
|
|
34
35
|
return privkey;
|
|
35
36
|
}
|
|
36
37
|
exports.privateKeyBufferFromECPair = privateKeyBufferFromECPair;
|
|
37
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Converts an extended key from one network to another by updating its version bytes.
|
|
40
|
+
*
|
|
41
|
+
* Handles both public and private keys, allowing conversion between networks like
|
|
42
|
+
* Bitcoin Mainnet and Testnet.
|
|
43
|
+
*
|
|
44
|
+
* @returns The extended key with the updated network version.
|
|
45
|
+
*/
|
|
46
|
+
function convertExtendedKeyNetwork(extendedKey, fromNetwork, targetNetwork) {
|
|
47
|
+
if (fromNetwork === targetNetwork) {
|
|
48
|
+
return extendedKey;
|
|
49
|
+
}
|
|
50
|
+
const decodedData = bs58check.decode(extendedKey);
|
|
51
|
+
const hdNode = noble_ecc_1.bip32.fromBase58(extendedKey, fromNetwork);
|
|
52
|
+
const targetVersionBytes = hdNode.isNeutered() ? targetNetwork.bip32.public : targetNetwork.bip32.private;
|
|
53
|
+
const versionBuffer = Buffer.alloc(4);
|
|
54
|
+
versionBuffer.writeUInt32BE(targetVersionBytes, 0);
|
|
55
|
+
versionBuffer.copy(decodedData, 0, 0, 4);
|
|
56
|
+
return bs58check.encode(decodedData);
|
|
57
|
+
}
|
|
58
|
+
exports.convertExtendedKeyNetwork = convertExtendedKeyNetwork;
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5dXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaXRnby9rZXl1dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVDQUF1QztBQUV2Qyw0Q0FBNkM7QUFFN0M7Ozs7O0dBS0c7QUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxNQUFjLEVBQUUsT0FBaUI7SUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7UUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0tBQy9DO0lBRUQsT0FBTyxrQkFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBTkQsNERBTUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsMEJBQTBCLENBQUMsTUFBdUI7SUFDaEUsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDeEMsTUFBTSxJQUFJLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBQ2hEO0lBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7S0FDNUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQUM5QztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFkRCxnRUFjQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQix5QkFBeUIsQ0FBQyxXQUFtQixFQUFFLFdBQW9CLEVBQUUsYUFBc0I7SUFDekcsSUFBSSxXQUFXLEtBQUssYUFBYSxFQUFFO1FBQ2pDLE9BQU8sV0FBVyxDQUFDO0tBQ3BCO0lBQ0QsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxNQUFNLE1BQU0sR0FBRyxpQkFBSyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUQsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUMxRyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLGFBQWEsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6QyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQVhELDhEQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRUNQYWlySW50ZXJmYWNlIH0gZnJvbSAnZWNwYWlyJztcbmltcG9ydCAqIGFzIGJzNThjaGVjayBmcm9tICdiczU4Y2hlY2snO1xuaW1wb3J0IHsgTmV0d29yayB9IGZyb20gJy4uL25ldHdvcmtzJztcbmltcG9ydCB7IGJpcDMyLCBFQ1BhaXIgfSBmcm9tICcuLi9ub2JsZV9lY2MnO1xuXG4vKipcbiAqIENyZWF0ZSBhbiBFQ1BhaXIgZnJvbSB0aGUgcmF3IHByaXZhdGUga2V5IGJ5dGVzXG4gKiBAcGFyYW0ge0J1ZmZlcn0gYnVmZmVyIC0gUHJpdmF0ZSBrZXkgZm9yIHRoZSBFQ1BhaXIuIE11c3QgYmUgZXhhY3RseSAzMiBieXRlcy5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbbmV0d29ya10gLSBOZXR3b3JrIGZvciB0aGUgRUNQYWlyLiBEZWZhdWx0cyB0byBiaXRjb2luLlxuICogQHJldHVybiB7RUNQYWlyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJpdmF0ZUtleUJ1ZmZlclRvRUNQYWlyKGJ1ZmZlcjogQnVmZmVyLCBuZXR3b3JrPzogTmV0d29yayk6IEVDUGFpckludGVyZmFjZSB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZmZlcikgfHwgYnVmZmVyLmxlbmd0aCAhPT0gMzIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcHJpdmF0ZSBrZXkgYnVmZmVyJyk7XG4gIH1cblxuICByZXR1cm4gRUNQYWlyLmZyb21Qcml2YXRlS2V5KGJ1ZmZlcik7XG59XG5cbi8qKlxuICogR2V0IHRoZSBwcml2YXRlIGtleSBhcyBhIDMyIGJ5dGVzIGJ1ZmZlci4gSWYgaXQgaXMgc21hbGxlciB0aGFuIDMyIGJ5dGVzLCBwYWQgaXQgd2l0aCB6ZXJvc1xuICogQHBhcmFtIHtFQ1BhaXJ9IGVjUGFpclxuICogQHJldHVybiBCdWZmZXIgMzIgYnl0ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByaXZhdGVLZXlCdWZmZXJGcm9tRUNQYWlyKGVjUGFpcjogRUNQYWlySW50ZXJmYWNlKTogQnVmZmVyIHtcbiAgaWYgKGVjUGFpci5jb25zdHJ1Y3Rvci5uYW1lICE9PSAnRUNQYWlyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYGludmFsaWQgYXJndW1lbnQgZWNwYWlyYCk7XG4gIH1cblxuICBjb25zdCBwcml2a2V5ID0gZWNQYWlyLnByaXZhdGVLZXk7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHByaXZrZXkpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB1bmV4cGVjdGVkIHByaXZrZXkgdHlwZWApO1xuICB9XG4gIGlmIChwcml2a2V5Lmxlbmd0aCAhPT0gMzIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgcHJpdmtleSBsZW5ndGhgKTtcbiAgfVxuXG4gIHJldHVybiBwcml2a2V5O1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIGV4dGVuZGVkIGtleSBmcm9tIG9uZSBuZXR3b3JrIHRvIGFub3RoZXIgYnkgdXBkYXRpbmcgaXRzIHZlcnNpb24gYnl0ZXMuXG4gKlxuICogSGFuZGxlcyBib3RoIHB1YmxpYyBhbmQgcHJpdmF0ZSBrZXlzLCBhbGxvd2luZyBjb252ZXJzaW9uIGJldHdlZW4gbmV0d29ya3MgbGlrZVxuICogQml0Y29pbiBNYWlubmV0IGFuZCBUZXN0bmV0LlxuICpcbiAqIEByZXR1cm5zIFRoZSBleHRlbmRlZCBrZXkgd2l0aCB0aGUgdXBkYXRlZCBuZXR3b3JrIHZlcnNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0RXh0ZW5kZWRLZXlOZXR3b3JrKGV4dGVuZGVkS2V5OiBzdHJpbmcsIGZyb21OZXR3b3JrOiBOZXR3b3JrLCB0YXJnZXROZXR3b3JrOiBOZXR3b3JrKTogc3RyaW5nIHtcbiAgaWYgKGZyb21OZXR3b3JrID09PSB0YXJnZXROZXR3b3JrKSB7XG4gICAgcmV0dXJuIGV4dGVuZGVkS2V5O1xuICB9XG4gIGNvbnN0IGRlY29kZWREYXRhID0gYnM1OGNoZWNrLmRlY29kZShleHRlbmRlZEtleSk7XG4gIGNvbnN0IGhkTm9kZSA9IGJpcDMyLmZyb21CYXNlNTgoZXh0ZW5kZWRLZXksIGZyb21OZXR3b3JrKTtcbiAgY29uc3QgdGFyZ2V0VmVyc2lvbkJ5dGVzID0gaGROb2RlLmlzTmV1dGVyZWQoKSA/IHRhcmdldE5ldHdvcmsuYmlwMzIucHVibGljIDogdGFyZ2V0TmV0d29yay5iaXAzMi5wcml2YXRlO1xuICBjb25zdCB2ZXJzaW9uQnVmZmVyID0gQnVmZmVyLmFsbG9jKDQpO1xuICB2ZXJzaW9uQnVmZmVyLndyaXRlVUludDMyQkUodGFyZ2V0VmVyc2lvbkJ5dGVzLCAwKTtcbiAgdmVyc2lvbkJ1ZmZlci5jb3B5KGRlY29kZWREYXRhLCAwLCAwLCA0KTtcbiAgcmV0dXJuIGJzNThjaGVjay5lbmNvZGUoZGVjb2RlZERhdGEpO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/utxo-lib",
|
|
3
|
-
"version": "8.0.3-beta.
|
|
3
|
+
"version": "8.0.3-beta.468",
|
|
4
4
|
"description": "Client-side Bitcoin JavaScript library",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"engines": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"dist/src"
|
|
47
47
|
],
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@bitgo-beta/blake2b": "3.0.4-beta.
|
|
49
|
+
"@bitgo-beta/blake2b": "3.0.4-beta.704",
|
|
50
50
|
"@brandonblack/musig": "^0.0.1-alpha.0",
|
|
51
51
|
"@noble/secp256k1": "1.6.3",
|
|
52
52
|
"bech32": "^2.0.0",
|
|
@@ -84,5 +84,5 @@
|
|
|
84
84
|
},
|
|
85
85
|
"author": "BitGo SDK Team <sdkteam@bitgo.com>",
|
|
86
86
|
"license": "MIT",
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "4571a82d1cc99557c8e99500f21731012164780b"
|
|
88
88
|
}
|