@bitgo/sdk-core 26.9.0 → 26.11.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/CHANGELOG.md +31 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +7 -13
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +7 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +8 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +4 -3
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
- package/dist/src/bitgo/keychain/iKeychains.d.ts +1 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/iKeychains.js +1 -1
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +8 -3
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/pendingApproval.js +8 -2
- package/dist/src/bitgo/trading/index.d.ts +1 -0
- package/dist/src/bitgo/trading/index.d.ts.map +1 -1
- package/dist/src/bitgo/trading/index.js +2 -1
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +9 -0
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +32 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.js +24 -0
- package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
- package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt.js +24 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +9 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +26 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +66 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.js +24 -0
- package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
- package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt.js +59 -0
- package/dist/src/bitgo/trading/network/index.d.ts +2 -0
- package/dist/src/bitgo/trading/network/index.d.ts.map +1 -1
- package/dist/src/bitgo/trading/network/index.js +3 -1
- package/dist/src/bitgo/trading/network/network.d.ts +2 -1
- package/dist/src/bitgo/trading/network/network.d.ts.map +1 -1
- package/dist/src/bitgo/trading/network/network.js +5 -1
- package/dist/src/bitgo/trading/network/types.d.ts +33 -4
- package/dist/src/bitgo/trading/network/types.d.ts.map +1 -1
- package/dist/src/bitgo/trading/network/types.js +1 -1
- package/dist/src/bitgo/trading/network/utils.d.ts +21 -0
- package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/utils.js +55 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +153 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/index.js +3 -2
- package/dist/src/bitgo/tss/index.d.ts +2 -2
- package/dist/src/bitgo/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/index.js +3 -2
- package/dist/src/bitgo/utils/mpcUtils.js +2 -2
- package/dist/src/bitgo/utils/opengpgUtils.d.ts +4 -1
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +5 -2
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +2 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +4 -3
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +1 -0
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +35 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.js +65 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +6 -29
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +5 -57
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +35 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +388 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +2 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/index.js +3 -1
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +106 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +45 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +4 -4
- package/dist/src/bitgo/wallet/iWallet.d.ts +3 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/wallet.d.ts +1 -0
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +15 -3
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +16 -5
- package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -6
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provided an X.509/ OpenSSL PEM private key, and a string of text to decrypt,
|
|
3
|
+
* This function will
|
|
4
|
+
* 1. Split the encrypted text into the encrypted key and the encrypted text
|
|
5
|
+
* 2. Decrypt the key using RSA-OAEP with the provided private key
|
|
6
|
+
* 3. Decrypt the text using AES-GCM with the decrypted key
|
|
7
|
+
* 4. Return the decrypted text
|
|
8
|
+
*
|
|
9
|
+
* @param {string} privateKey - The private key corresponding to the public key used for encryption
|
|
10
|
+
* @param {string} encryptedText - The encrypted text to decrypt
|
|
11
|
+
* @returns {string} The decrypted text
|
|
12
|
+
*/
|
|
13
|
+
export declare function decryptRsaWithAesGcm(privateKey: string, encryptedText: string): Promise<string>;
|
|
14
|
+
//# sourceMappingURL=decrypt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decrypt.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/decrypt.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMrG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decryptRsaWithAesGcm = void 0;
|
|
4
|
+
const decrypt_aes_gcm_1 = require("./decrypt-aes-gcm");
|
|
5
|
+
const decrypt_rsa_1 = require("./decrypt-rsa");
|
|
6
|
+
/**
|
|
7
|
+
* Provided an X.509/ OpenSSL PEM private key, and a string of text to decrypt,
|
|
8
|
+
* This function will
|
|
9
|
+
* 1. Split the encrypted text into the encrypted key and the encrypted text
|
|
10
|
+
* 2. Decrypt the key using RSA-OAEP with the provided private key
|
|
11
|
+
* 3. Decrypt the text using AES-GCM with the decrypted key
|
|
12
|
+
* 4. Return the decrypted text
|
|
13
|
+
*
|
|
14
|
+
* @param {string} privateKey - The private key corresponding to the public key used for encryption
|
|
15
|
+
* @param {string} encryptedText - The encrypted text to decrypt
|
|
16
|
+
* @returns {string} The decrypted text
|
|
17
|
+
*/
|
|
18
|
+
async function decryptRsaWithAesGcm(privateKey, encryptedText) {
|
|
19
|
+
const [encryptedKey, encrypted] = encryptedText.split('\n');
|
|
20
|
+
const gcmKey = await (0, decrypt_rsa_1._decryptRsa)(privateKey, encryptedKey);
|
|
21
|
+
return (0, decrypt_aes_gcm_1._decryptAesGcm)(Buffer.from(gcmKey, 'base64').toString(), encrypted);
|
|
22
|
+
}
|
|
23
|
+
exports.decryptRsaWithAesGcm = decryptRsaWithAesGcm;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL25ldHdvcmsvZGVjcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBbUQ7QUFDbkQsK0NBQTRDO0FBRTVDOzs7Ozs7Ozs7OztHQVdHO0FBQ0ksS0FBSyxVQUFVLG9CQUFvQixDQUFDLFVBQWtCLEVBQUUsYUFBcUI7SUFDbEYsTUFBTSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSx5QkFBVyxFQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUUzRCxPQUFPLElBQUEsZ0NBQWMsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBTkQsb0RBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfZGVjcnlwdEFlc0djbSB9IGZyb20gJy4vZGVjcnlwdC1hZXMtZ2NtJztcbmltcG9ydCB7IF9kZWNyeXB0UnNhIH0gZnJvbSAnLi9kZWNyeXB0LXJzYSc7XG5cbi8qKlxuICogUHJvdmlkZWQgYW4gWC41MDkvIE9wZW5TU0wgUEVNIHByaXZhdGUga2V5LCBhbmQgYSBzdHJpbmcgb2YgdGV4dCB0byBkZWNyeXB0LFxuICogVGhpcyBmdW5jdGlvbiB3aWxsXG4gKiAxLiBTcGxpdCB0aGUgZW5jcnlwdGVkIHRleHQgaW50byB0aGUgZW5jcnlwdGVkIGtleSBhbmQgdGhlIGVuY3J5cHRlZCB0ZXh0XG4gKiAyLiBEZWNyeXB0IHRoZSBrZXkgdXNpbmcgUlNBLU9BRVAgd2l0aCB0aGUgcHJvdmlkZWQgcHJpdmF0ZSBrZXlcbiAqIDMuIERlY3J5cHQgdGhlIHRleHQgdXNpbmcgQUVTLUdDTSB3aXRoIHRoZSBkZWNyeXB0ZWQga2V5XG4gKiA0LiBSZXR1cm4gdGhlIGRlY3J5cHRlZCB0ZXh0XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHByaXZhdGVLZXkgLSBUaGUgcHJpdmF0ZSBrZXkgY29ycmVzcG9uZGluZyB0byB0aGUgcHVibGljIGtleSB1c2VkIGZvciBlbmNyeXB0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ30gZW5jcnlwdGVkVGV4dCAtIFRoZSBlbmNyeXB0ZWQgdGV4dCB0byBkZWNyeXB0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZGVjcnlwdGVkIHRleHRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlY3J5cHRSc2FXaXRoQWVzR2NtKHByaXZhdGVLZXk6IHN0cmluZywgZW5jcnlwdGVkVGV4dDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgW2VuY3J5cHRlZEtleSwgZW5jcnlwdGVkXSA9IGVuY3J5cHRlZFRleHQuc3BsaXQoJ1xcbicpO1xuXG4gIGNvbnN0IGdjbUtleSA9IGF3YWl0IF9kZWNyeXB0UnNhKHByaXZhdGVLZXksIGVuY3J5cHRlZEtleSk7XG5cbiAgcmV0dXJuIF9kZWNyeXB0QWVzR2NtKEJ1ZmZlci5mcm9tKGdjbUtleSwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCksIGVuY3J5cHRlZCk7XG59XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/**
|
|
3
|
+
* Encrypts a string using AES-GCM
|
|
4
|
+
* @param {string | Buffer} secret The secret to use for encryption
|
|
5
|
+
* @param {string} text The text to encrypt
|
|
6
|
+
* @returns {string} The encrypted text
|
|
7
|
+
*/
|
|
8
|
+
export declare function _encryptAesGcm(secret: string | Buffer, text: string): Promise<string>;
|
|
9
|
+
//# sourceMappingURL=encrypt-aes-gcm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt-aes-gcm.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/encrypt-aes-gcm.ts"],"names":[],"mappings":";AAGA;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAc3F"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports._encryptAesGcm = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
const utils_1 = require("./utils");
|
|
9
|
+
/**
|
|
10
|
+
* Encrypts a string using AES-GCM
|
|
11
|
+
* @param {string | Buffer} secret The secret to use for encryption
|
|
12
|
+
* @param {string} text The text to encrypt
|
|
13
|
+
* @returns {string} The encrypted text
|
|
14
|
+
*/
|
|
15
|
+
async function _encryptAesGcm(secret, text) {
|
|
16
|
+
const version = Buffer.alloc(1, 1);
|
|
17
|
+
const salt = crypto_1.default.randomBytes(16);
|
|
18
|
+
const iv = crypto_1.default.randomBytes(12);
|
|
19
|
+
const key = await (0, utils_1.computeKey)(secret, salt);
|
|
20
|
+
const cipher = crypto_1.default.createCipheriv('aes-256-gcm', key, iv);
|
|
21
|
+
const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);
|
|
22
|
+
const authTag = cipher.getAuthTag();
|
|
23
|
+
return Buffer.concat([version, salt, iv, encrypted, authTag]).toString('base64');
|
|
24
|
+
}
|
|
25
|
+
exports._encryptAesGcm = _encryptAesGcm;
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC1hZXMtZ2NtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3RyYWRpbmcvbmV0d29yay9lbmNyeXB0LWFlcy1nY20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG1DQUFxQztBQUVyQzs7Ozs7R0FLRztBQUNJLEtBQUssVUFBVSxjQUFjLENBQUMsTUFBdUIsRUFBRSxJQUFZO0lBQ3hFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRW5DLE1BQU0sSUFBSSxHQUFHLGdCQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXBDLE1BQU0sRUFBRSxHQUFHLGdCQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBQSxrQkFBVSxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUUzQyxNQUFNLE1BQU0sR0FBRyxnQkFBTSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRS9FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVwQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbkYsQ0FBQztBQWRELHdDQWNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgY29tcHV0ZUtleSB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEVuY3J5cHRzIGEgc3RyaW5nIHVzaW5nIEFFUy1HQ01cbiAqIEBwYXJhbSB7c3RyaW5nIHwgQnVmZmVyfSBzZWNyZXQgVGhlIHNlY3JldCB0byB1c2UgZm9yIGVuY3J5cHRpb25cbiAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IFRoZSB0ZXh0IHRvIGVuY3J5cHRcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBlbmNyeXB0ZWQgdGV4dFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gX2VuY3J5cHRBZXNHY20oc2VjcmV0OiBzdHJpbmcgfCBCdWZmZXIsIHRleHQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHZlcnNpb24gPSBCdWZmZXIuYWxsb2MoMSwgMSk7XG5cbiAgY29uc3Qgc2FsdCA9IGNyeXB0by5yYW5kb21CeXRlcygxNik7XG5cbiAgY29uc3QgaXYgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMTIpO1xuICBjb25zdCBrZXkgPSBhd2FpdCBjb21wdXRlS2V5KHNlY3JldCwgc2FsdCk7XG5cbiAgY29uc3QgY2lwaGVyID0gY3J5cHRvLmNyZWF0ZUNpcGhlcml2KCdhZXMtMjU2LWdjbScsIGtleSwgaXYpO1xuICBjb25zdCBlbmNyeXB0ZWQgPSBCdWZmZXIuY29uY2F0KFtjaXBoZXIudXBkYXRlKHRleHQsICd1dGY4JyksIGNpcGhlci5maW5hbCgpXSk7XG5cbiAgY29uc3QgYXV0aFRhZyA9IGNpcGhlci5nZXRBdXRoVGFnKCk7XG5cbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW3ZlcnNpb24sIHNhbHQsIGl2LCBlbmNyeXB0ZWQsIGF1dGhUYWddKS50b1N0cmluZygnYmFzZTY0Jyk7XG59XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Import a public RSA key and encrypt a plaintext
|
|
3
|
+
* @param {string} publicKey PEM-formatted public RSA key
|
|
4
|
+
* @param {string} text The text to encrypt
|
|
5
|
+
* @returns {string} The encrypted text
|
|
6
|
+
*/
|
|
7
|
+
export declare function _encryptBrowserRsa(publicKey: string, text: string): Promise<string>;
|
|
8
|
+
//# sourceMappingURL=encrypt-rsa-browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt-rsa-browser.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/encrypt-rsa-browser.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIzF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports._encryptBrowserRsa = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
const utils_1 = require("./utils");
|
|
9
|
+
/**
|
|
10
|
+
* Import a public RSA key and encrypt a plaintext
|
|
11
|
+
* @param {string} publicKey PEM-formatted public RSA key
|
|
12
|
+
* @param {string} text The text to encrypt
|
|
13
|
+
* @returns {string} The encrypted text
|
|
14
|
+
*/
|
|
15
|
+
async function _encryptBrowserRsa(publicKey, text) {
|
|
16
|
+
const pub = await importPublicKey(publicKey);
|
|
17
|
+
const encrypted = await encryptRSA(pub, new TextEncoder().encode(text));
|
|
18
|
+
return btoa((0, utils_1.ab2str)(encrypted));
|
|
19
|
+
}
|
|
20
|
+
exports._encryptBrowserRsa = _encryptBrowserRsa;
|
|
21
|
+
/**
|
|
22
|
+
* Import a public RSA key from a PEM string
|
|
23
|
+
* @param {string} spkiPem
|
|
24
|
+
* @returns {CryptoKey}
|
|
25
|
+
*/
|
|
26
|
+
async function importPublicKey(spkiPem) {
|
|
27
|
+
// Pull from window.crypto when running in the browser.
|
|
28
|
+
// This is due to libraries like crypto-browserify overriding "crypto" while not supporting various crypto functions.
|
|
29
|
+
let cryptoJS = crypto_1.default;
|
|
30
|
+
if (typeof window !== 'undefined') {
|
|
31
|
+
cryptoJS = window.crypto;
|
|
32
|
+
}
|
|
33
|
+
return await cryptoJS.subtle.importKey('spki', getSpkiDer(spkiPem), {
|
|
34
|
+
name: 'RSA-OAEP',
|
|
35
|
+
hash: 'SHA-256',
|
|
36
|
+
}, true, ['encrypt']);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Encrypt a plaintext using RSA-OAEP
|
|
40
|
+
* @param {CryptoKey} key The public key to use for encryption
|
|
41
|
+
* @param {ArrayBuffer} plaintext The plaintext to encrypt
|
|
42
|
+
* @returns {ArrayBuffer} The encrypted text
|
|
43
|
+
*/
|
|
44
|
+
async function encryptRSA(key, plaintext) {
|
|
45
|
+
// Pull from window.crypto when running in the browser.
|
|
46
|
+
// This is due to libraries like crypto-browserify overriding "crypto" while not supporting various crypto functions.
|
|
47
|
+
let cryptoJS = crypto_1.default;
|
|
48
|
+
if (typeof window !== 'undefined') {
|
|
49
|
+
cryptoJS = window.crypto;
|
|
50
|
+
}
|
|
51
|
+
const encrypted = await cryptoJS.subtle.encrypt({
|
|
52
|
+
name: 'RSA-OAEP',
|
|
53
|
+
}, key, plaintext);
|
|
54
|
+
return encrypted;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Convert a PEM-formatted SPKI key to a DER-formatted ArrayBuffer
|
|
58
|
+
* @param {string} spkiPem PEM-formatted SPKI key
|
|
59
|
+
* @returns {ArrayBuffer} DER-formatted public key
|
|
60
|
+
*/
|
|
61
|
+
function getSpkiDer(spkiPem) {
|
|
62
|
+
spkiPem = spkiPem.replace(/-----[^-]+-----/g, '').replace(/\s+/g, '');
|
|
63
|
+
const binaryDerString = atob(spkiPem);
|
|
64
|
+
return (0, utils_1.str2ab)(binaryDerString);
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC1yc2EtYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL25ldHdvcmsvZW5jcnlwdC1yc2EtYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsbUNBQXlDO0FBRXpDOzs7OztHQUtHO0FBQ0ksS0FBSyxVQUFVLGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsSUFBWTtJQUN0RSxNQUFNLEdBQUcsR0FBRyxNQUFNLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QyxNQUFNLFNBQVMsR0FBRyxNQUFNLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RSxPQUFPLElBQUksQ0FBQyxJQUFBLGNBQU0sRUFBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFKRCxnREFJQztBQUVEOzs7O0dBSUc7QUFDSCxLQUFLLFVBQVUsZUFBZSxDQUFDLE9BQWU7SUFDNUMsdURBQXVEO0lBQ3ZELHFIQUFxSDtJQUNySCxJQUFJLFFBQVEsR0FBUSxnQkFBTSxDQUFDO0lBQzNCLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQ2pDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0tBQzFCO0lBRUQsT0FBTyxNQUFNLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUNwQyxNQUFNLEVBQ04sVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUNuQjtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLElBQUksRUFBRSxTQUFTO0tBQ2hCLEVBQ0QsSUFBSSxFQUNKLENBQUMsU0FBUyxDQUFDLENBQ1osQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILEtBQUssVUFBVSxVQUFVLENBQUMsR0FBYyxFQUFFLFNBQXNCO0lBQzlELHVEQUF1RDtJQUN2RCxxSEFBcUg7SUFDckgsSUFBSSxRQUFRLEdBQVEsZ0JBQU0sQ0FBQztJQUMzQixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtRQUNqQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztLQUMxQjtJQUVELE1BQU0sU0FBUyxHQUFHLE1BQU0sUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQzdDO1FBQ0UsSUFBSSxFQUFFLFVBQVU7S0FDakIsRUFDRCxHQUFHLEVBQ0gsU0FBUyxDQUNWLENBQUM7SUFDRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsVUFBVSxDQUFDLE9BQWU7SUFDakMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsT0FBTyxJQUFBLGNBQU0sRUFBQyxlQUFlLENBQUMsQ0FBQztBQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgYWIyc3RyLCBzdHIyYWIgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBJbXBvcnQgYSBwdWJsaWMgUlNBIGtleSBhbmQgZW5jcnlwdCBhIHBsYWludGV4dFxuICogQHBhcmFtIHtzdHJpbmd9IHB1YmxpY0tleSBQRU0tZm9ybWF0dGVkIHB1YmxpYyBSU0Ega2V5XG4gKiBAcGFyYW0ge3N0cmluZ30gdGV4dCBUaGUgdGV4dCB0byBlbmNyeXB0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZW5jcnlwdGVkIHRleHRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIF9lbmNyeXB0QnJvd3NlclJzYShwdWJsaWNLZXk6IHN0cmluZywgdGV4dDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcHViID0gYXdhaXQgaW1wb3J0UHVibGljS2V5KHB1YmxpY0tleSk7XG4gIGNvbnN0IGVuY3J5cHRlZCA9IGF3YWl0IGVuY3J5cHRSU0EocHViLCBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodGV4dCkpO1xuICByZXR1cm4gYnRvYShhYjJzdHIoZW5jcnlwdGVkKSk7XG59XG5cbi8qKlxuICogSW1wb3J0IGEgcHVibGljIFJTQSBrZXkgZnJvbSBhIFBFTSBzdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSBzcGtpUGVtXG4gKiBAcmV0dXJucyB7Q3J5cHRvS2V5fVxuICovXG5hc3luYyBmdW5jdGlvbiBpbXBvcnRQdWJsaWNLZXkoc3BraVBlbTogc3RyaW5nKSB7XG4gIC8vIFB1bGwgZnJvbSB3aW5kb3cuY3J5cHRvIHdoZW4gcnVubmluZyBpbiB0aGUgYnJvd3Nlci5cbiAgLy8gVGhpcyBpcyBkdWUgdG8gbGlicmFyaWVzIGxpa2UgY3J5cHRvLWJyb3dzZXJpZnkgb3ZlcnJpZGluZyBcImNyeXB0b1wiIHdoaWxlIG5vdCBzdXBwb3J0aW5nIHZhcmlvdXMgY3J5cHRvIGZ1bmN0aW9ucy5cbiAgbGV0IGNyeXB0b0pTOiBhbnkgPSBjcnlwdG87XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNyeXB0b0pTID0gd2luZG93LmNyeXB0bztcbiAgfVxuXG4gIHJldHVybiBhd2FpdCBjcnlwdG9KUy5zdWJ0bGUuaW1wb3J0S2V5KFxuICAgICdzcGtpJyxcbiAgICBnZXRTcGtpRGVyKHNwa2lQZW0pLFxuICAgIHtcbiAgICAgIG5hbWU6ICdSU0EtT0FFUCcsXG4gICAgICBoYXNoOiAnU0hBLTI1NicsXG4gICAgfSxcbiAgICB0cnVlLFxuICAgIFsnZW5jcnlwdCddXG4gICk7XG59XG5cbi8qKlxuICogRW5jcnlwdCBhIHBsYWludGV4dCB1c2luZyBSU0EtT0FFUFxuICogQHBhcmFtIHtDcnlwdG9LZXl9IGtleSBUaGUgcHVibGljIGtleSB0byB1c2UgZm9yIGVuY3J5cHRpb25cbiAqIEBwYXJhbSB7QXJyYXlCdWZmZXJ9IHBsYWludGV4dCBUaGUgcGxhaW50ZXh0IHRvIGVuY3J5cHRcbiAqIEByZXR1cm5zIHtBcnJheUJ1ZmZlcn0gVGhlIGVuY3J5cHRlZCB0ZXh0XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRSU0Eoa2V5OiBDcnlwdG9LZXksIHBsYWludGV4dDogQXJyYXlCdWZmZXIpIHtcbiAgLy8gUHVsbCBmcm9tIHdpbmRvdy5jcnlwdG8gd2hlbiBydW5uaW5nIGluIHRoZSBicm93c2VyLlxuICAvLyBUaGlzIGlzIGR1ZSB0byBsaWJyYXJpZXMgbGlrZSBjcnlwdG8tYnJvd3NlcmlmeSBvdmVycmlkaW5nIFwiY3J5cHRvXCIgd2hpbGUgbm90IHN1cHBvcnRpbmcgdmFyaW91cyBjcnlwdG8gZnVuY3Rpb25zLlxuICBsZXQgY3J5cHRvSlM6IGFueSA9IGNyeXB0bztcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgY3J5cHRvSlMgPSB3aW5kb3cuY3J5cHRvO1xuICB9XG5cbiAgY29uc3QgZW5jcnlwdGVkID0gYXdhaXQgY3J5cHRvSlMuc3VidGxlLmVuY3J5cHQoXG4gICAge1xuICAgICAgbmFtZTogJ1JTQS1PQUVQJyxcbiAgICB9LFxuICAgIGtleSxcbiAgICBwbGFpbnRleHRcbiAgKTtcbiAgcmV0dXJuIGVuY3J5cHRlZDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGEgUEVNLWZvcm1hdHRlZCBTUEtJIGtleSB0byBhIERFUi1mb3JtYXR0ZWQgQXJyYXlCdWZmZXJcbiAqIEBwYXJhbSB7c3RyaW5nfSBzcGtpUGVtIFBFTS1mb3JtYXR0ZWQgU1BLSSBrZXlcbiAqIEByZXR1cm5zIHtBcnJheUJ1ZmZlcn0gREVSLWZvcm1hdHRlZCBwdWJsaWMga2V5XG4gKi9cbmZ1bmN0aW9uIGdldFNwa2lEZXIoc3BraVBlbTogc3RyaW5nKSB7XG4gIHNwa2lQZW0gPSBzcGtpUGVtLnJlcGxhY2UoLy0tLS0tW14tXSstLS0tLS9nLCAnJykucmVwbGFjZSgvXFxzKy9nLCAnJyk7XG4gIGNvbnN0IGJpbmFyeURlclN0cmluZyA9IGF0b2Ioc3BraVBlbSk7XG4gIHJldHVybiBzdHIyYWIoYmluYXJ5RGVyU3RyaW5nKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encrypts a string using RSA
|
|
3
|
+
* @param {string} publicKey The public key to use for encryption
|
|
4
|
+
* @param {string} text The text to encrypt
|
|
5
|
+
* @returns {string} The encrypted text
|
|
6
|
+
*/
|
|
7
|
+
export declare function _encryptRsa(publicKey: string, text: string): string;
|
|
8
|
+
//# sourceMappingURL=encrypt-rsa.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt-rsa.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/encrypt-rsa.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYnE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports._encryptRsa = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
/**
|
|
9
|
+
* Encrypts a string using RSA
|
|
10
|
+
* @param {string} publicKey The public key to use for encryption
|
|
11
|
+
* @param {string} text The text to encrypt
|
|
12
|
+
* @returns {string} The encrypted text
|
|
13
|
+
*/
|
|
14
|
+
function _encryptRsa(publicKey, text) {
|
|
15
|
+
const key = crypto_1.default.createPublicKey(publicKey);
|
|
16
|
+
const encryptedData = crypto_1.default.publicEncrypt({
|
|
17
|
+
key,
|
|
18
|
+
padding: crypto_1.default.constants.RSA_PKCS1_OAEP_PADDING,
|
|
19
|
+
oaepHash: 'sha256',
|
|
20
|
+
}, Buffer.from(text));
|
|
21
|
+
return encryptedData.toString('base64');
|
|
22
|
+
}
|
|
23
|
+
exports._encryptRsa = _encryptRsa;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC1yc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy9uZXR3b3JrL2VuY3J5cHQtcnNhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUU1Qjs7Ozs7R0FLRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxTQUFpQixFQUFFLElBQVk7SUFDekQsTUFBTSxHQUFHLEdBQUcsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsTUFBTSxhQUFhLEdBQUcsZ0JBQU0sQ0FBQyxhQUFhLENBQ3hDO1FBQ0UsR0FBRztRQUNILE9BQU8sRUFBRSxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0I7UUFDaEQsUUFBUSxFQUFFLFFBQVE7S0FDbkIsRUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUNsQixDQUFDO0lBRUYsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFaRCxrQ0FZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuLyoqXG4gKiBFbmNyeXB0cyBhIHN0cmluZyB1c2luZyBSU0FcbiAqIEBwYXJhbSB7c3RyaW5nfSBwdWJsaWNLZXkgVGhlIHB1YmxpYyBrZXkgdG8gdXNlIGZvciBlbmNyeXB0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ30gdGV4dCBUaGUgdGV4dCB0byBlbmNyeXB0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZW5jcnlwdGVkIHRleHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIF9lbmNyeXB0UnNhKHB1YmxpY0tleTogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBrZXkgPSBjcnlwdG8uY3JlYXRlUHVibGljS2V5KHB1YmxpY0tleSk7XG4gIGNvbnN0IGVuY3J5cHRlZERhdGEgPSBjcnlwdG8ucHVibGljRW5jcnlwdChcbiAgICB7XG4gICAgICBrZXksXG4gICAgICBwYWRkaW5nOiBjcnlwdG8uY29uc3RhbnRzLlJTQV9QS0NTMV9PQUVQX1BBRERJTkcsXG4gICAgICBvYWVwSGFzaDogJ3NoYTI1NicsXG4gICAgfSxcbiAgICBCdWZmZXIuZnJvbSh0ZXh0KVxuICApO1xuXG4gIHJldHVybiBlbmNyeXB0ZWREYXRhLnRvU3RyaW5nKCdiYXNlNjQnKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provided an X.509/ OpenSSL PEM public key, and a string of text to encrypt,
|
|
3
|
+
* This function will
|
|
4
|
+
* 1. Generate a random 256-bit key
|
|
5
|
+
* 2. Encrypt the text using AES-GCM with the generated key
|
|
6
|
+
* 3. Encrypt the generated key using RSA-OAEP with the provided public key
|
|
7
|
+
* 4. Return the encrypted key and the encrypted text in the format `${encryptedKey}\n${encryptedText}`
|
|
8
|
+
*
|
|
9
|
+
* @param {string} publicKey - RSA Public Key
|
|
10
|
+
* @param {string} text - text to encrypt
|
|
11
|
+
* @returns {string} The encrypted text
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const publicKey = '-----BEGIN PUBLIC KEY-----\n.....\n-----END PUBLIC KEY-----';
|
|
15
|
+
* const text = 'This text contains sensitive information';
|
|
16
|
+
* const encrypted = await encryptRsaWithAesGcm(publicKey, text);
|
|
17
|
+
*/
|
|
18
|
+
export declare function encryptRsaWithAesGcm(publicKey: string, text: string): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Provided an X.509/ OpenSSL PEM public key, and a string of text to encrypt,
|
|
21
|
+
* This function will
|
|
22
|
+
* 1. Generate a random 256-bit key
|
|
23
|
+
* 2. Encrypt the text using AES-GCM with the generated key
|
|
24
|
+
* 3. Encrypt the generated key using RSA-OAEP with the provided public key
|
|
25
|
+
* 4. Return the encrypted key and the encrypted text in the format `${encryptedKey}\n${encryptedText}`
|
|
26
|
+
*
|
|
27
|
+
* @param {string} publicKey - RSA Public Key
|
|
28
|
+
* @param {string} text - text to encrypt
|
|
29
|
+
* @returns {string} The encrypted text
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* const publicKey = '-----BEGIN PUBLIC KEY-----\n.....\n-----END PUBLIC KEY-----';
|
|
33
|
+
* const text = 'This text contains sensitive information';
|
|
34
|
+
* const encrypted = await encryptBrowserRsaWithAesGcm(publicKey, text);
|
|
35
|
+
*/
|
|
36
|
+
export declare function encryptBrowserRsaWithAesGcm(publicKey: string, text: string): Promise<string>;
|
|
37
|
+
//# sourceMappingURL=encrypt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/encrypt.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO3F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOlG"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.encryptBrowserRsaWithAesGcm = exports.encryptRsaWithAesGcm = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
const encrypt_aes_gcm_1 = require("./encrypt-aes-gcm");
|
|
9
|
+
const encrypt_rsa_1 = require("./encrypt-rsa");
|
|
10
|
+
const encrypt_rsa_browser_1 = require("./encrypt-rsa-browser");
|
|
11
|
+
/**
|
|
12
|
+
* Provided an X.509/ OpenSSL PEM public key, and a string of text to encrypt,
|
|
13
|
+
* This function will
|
|
14
|
+
* 1. Generate a random 256-bit key
|
|
15
|
+
* 2. Encrypt the text using AES-GCM with the generated key
|
|
16
|
+
* 3. Encrypt the generated key using RSA-OAEP with the provided public key
|
|
17
|
+
* 4. Return the encrypted key and the encrypted text in the format `${encryptedKey}\n${encryptedText}`
|
|
18
|
+
*
|
|
19
|
+
* @param {string} publicKey - RSA Public Key
|
|
20
|
+
* @param {string} text - text to encrypt
|
|
21
|
+
* @returns {string} The encrypted text
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* const publicKey = '-----BEGIN PUBLIC KEY-----\n.....\n-----END PUBLIC KEY-----';
|
|
25
|
+
* const text = 'This text contains sensitive information';
|
|
26
|
+
* const encrypted = await encryptRsaWithAesGcm(publicKey, text);
|
|
27
|
+
*/
|
|
28
|
+
async function encryptRsaWithAesGcm(publicKey, text) {
|
|
29
|
+
const gcmKey = crypto_1.default.randomBytes(32).toString('base64');
|
|
30
|
+
const encrypted = await (0, encrypt_aes_gcm_1._encryptAesGcm)(gcmKey, text);
|
|
31
|
+
const encryptedRsa = await (0, encrypt_rsa_1._encryptRsa)(publicKey, Buffer.from(gcmKey).toString('base64'));
|
|
32
|
+
return `${encryptedRsa}\n${encrypted}`;
|
|
33
|
+
}
|
|
34
|
+
exports.encryptRsaWithAesGcm = encryptRsaWithAesGcm;
|
|
35
|
+
/**
|
|
36
|
+
* Provided an X.509/ OpenSSL PEM public key, and a string of text to encrypt,
|
|
37
|
+
* This function will
|
|
38
|
+
* 1. Generate a random 256-bit key
|
|
39
|
+
* 2. Encrypt the text using AES-GCM with the generated key
|
|
40
|
+
* 3. Encrypt the generated key using RSA-OAEP with the provided public key
|
|
41
|
+
* 4. Return the encrypted key and the encrypted text in the format `${encryptedKey}\n${encryptedText}`
|
|
42
|
+
*
|
|
43
|
+
* @param {string} publicKey - RSA Public Key
|
|
44
|
+
* @param {string} text - text to encrypt
|
|
45
|
+
* @returns {string} The encrypted text
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* const publicKey = '-----BEGIN PUBLIC KEY-----\n.....\n-----END PUBLIC KEY-----';
|
|
49
|
+
* const text = 'This text contains sensitive information';
|
|
50
|
+
* const encrypted = await encryptBrowserRsaWithAesGcm(publicKey, text);
|
|
51
|
+
*/
|
|
52
|
+
async function encryptBrowserRsaWithAesGcm(publicKey, text) {
|
|
53
|
+
const gcmKey = crypto_1.default.randomBytes(32).toString('base64');
|
|
54
|
+
const encrypted = await (0, encrypt_aes_gcm_1._encryptAesGcm)(gcmKey, text);
|
|
55
|
+
const encryptedRsa = await (0, encrypt_rsa_browser_1._encryptBrowserRsa)(publicKey, Buffer.from(gcmKey).toString('base64'));
|
|
56
|
+
return `${encryptedRsa}\n${encrypted}`;
|
|
57
|
+
}
|
|
58
|
+
exports.encryptBrowserRsaWithAesGcm = encryptBrowserRsaWithAesGcm;
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL25ldHdvcmsvZW5jcnlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsdURBQW1EO0FBQ25ELCtDQUE0QztBQUM1QywrREFBMkQ7QUFFM0Q7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSSxLQUFLLFVBQVUsb0JBQW9CLENBQUMsU0FBaUIsRUFBRSxJQUFZO0lBQ3hFLE1BQU0sTUFBTSxHQUFHLGdCQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV6RCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsZ0NBQWMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLHlCQUFXLEVBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFMUYsT0FBTyxHQUFHLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBUEQsb0RBT0M7QUFFRDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNJLEtBQUssVUFBVSwyQkFBMkIsQ0FBQyxTQUFpQixFQUFFLElBQVk7SUFDL0UsTUFBTSxNQUFNLEdBQUcsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXpELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSxnQ0FBYyxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRCxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUEsd0NBQWtCLEVBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFakcsT0FBTyxHQUFHLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBUEQsa0VBT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBfZW5jcnlwdEFlc0djbSB9IGZyb20gJy4vZW5jcnlwdC1hZXMtZ2NtJztcbmltcG9ydCB7IF9lbmNyeXB0UnNhIH0gZnJvbSAnLi9lbmNyeXB0LXJzYSc7XG5pbXBvcnQgeyBfZW5jcnlwdEJyb3dzZXJSc2EgfSBmcm9tICcuL2VuY3J5cHQtcnNhLWJyb3dzZXInO1xuXG4vKipcbiAqIFByb3ZpZGVkIGFuIFguNTA5LyBPcGVuU1NMIFBFTSBwdWJsaWMga2V5LCBhbmQgYSBzdHJpbmcgb2YgdGV4dCB0byBlbmNyeXB0LFxuICogVGhpcyBmdW5jdGlvbiB3aWxsXG4gKiAxLiBHZW5lcmF0ZSBhIHJhbmRvbSAyNTYtYml0IGtleVxuICogMi4gRW5jcnlwdCB0aGUgdGV4dCB1c2luZyBBRVMtR0NNIHdpdGggdGhlIGdlbmVyYXRlZCBrZXlcbiAqIDMuIEVuY3J5cHQgdGhlIGdlbmVyYXRlZCBrZXkgdXNpbmcgUlNBLU9BRVAgd2l0aCB0aGUgcHJvdmlkZWQgcHVibGljIGtleVxuICogNC4gUmV0dXJuIHRoZSBlbmNyeXB0ZWQga2V5IGFuZCB0aGUgZW5jcnlwdGVkIHRleHQgaW4gdGhlIGZvcm1hdCBgJHtlbmNyeXB0ZWRLZXl9XFxuJHtlbmNyeXB0ZWRUZXh0fWBcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHVibGljS2V5IC0gUlNBIFB1YmxpYyBLZXlcbiAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGV4dCB0byBlbmNyeXB0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZW5jcnlwdGVkIHRleHRcbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgcHVibGljS2V5ID0gJy0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tXFxuLi4uLi5cXG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0nO1xuICogY29uc3QgdGV4dCA9ICdUaGlzIHRleHQgY29udGFpbnMgc2Vuc2l0aXZlIGluZm9ybWF0aW9uJztcbiAqIGNvbnN0IGVuY3J5cHRlZCA9IGF3YWl0IGVuY3J5cHRSc2FXaXRoQWVzR2NtKHB1YmxpY0tleSwgdGV4dCk7XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbmNyeXB0UnNhV2l0aEFlc0djbShwdWJsaWNLZXk6IHN0cmluZywgdGV4dDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgZ2NtS2V5ID0gY3J5cHRvLnJhbmRvbUJ5dGVzKDMyKS50b1N0cmluZygnYmFzZTY0Jyk7XG5cbiAgY29uc3QgZW5jcnlwdGVkID0gYXdhaXQgX2VuY3J5cHRBZXNHY20oZ2NtS2V5LCB0ZXh0KTtcbiAgY29uc3QgZW5jcnlwdGVkUnNhID0gYXdhaXQgX2VuY3J5cHRSc2EocHVibGljS2V5LCBCdWZmZXIuZnJvbShnY21LZXkpLnRvU3RyaW5nKCdiYXNlNjQnKSk7XG5cbiAgcmV0dXJuIGAke2VuY3J5cHRlZFJzYX1cXG4ke2VuY3J5cHRlZH1gO1xufVxuXG4vKipcbiAqIFByb3ZpZGVkIGFuIFguNTA5LyBPcGVuU1NMIFBFTSBwdWJsaWMga2V5LCBhbmQgYSBzdHJpbmcgb2YgdGV4dCB0byBlbmNyeXB0LFxuICogVGhpcyBmdW5jdGlvbiB3aWxsXG4gKiAxLiBHZW5lcmF0ZSBhIHJhbmRvbSAyNTYtYml0IGtleVxuICogMi4gRW5jcnlwdCB0aGUgdGV4dCB1c2luZyBBRVMtR0NNIHdpdGggdGhlIGdlbmVyYXRlZCBrZXlcbiAqIDMuIEVuY3J5cHQgdGhlIGdlbmVyYXRlZCBrZXkgdXNpbmcgUlNBLU9BRVAgd2l0aCB0aGUgcHJvdmlkZWQgcHVibGljIGtleVxuICogNC4gUmV0dXJuIHRoZSBlbmNyeXB0ZWQga2V5IGFuZCB0aGUgZW5jcnlwdGVkIHRleHQgaW4gdGhlIGZvcm1hdCBgJHtlbmNyeXB0ZWRLZXl9XFxuJHtlbmNyeXB0ZWRUZXh0fWBcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcHVibGljS2V5IC0gUlNBIFB1YmxpYyBLZXlcbiAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGV4dCB0byBlbmNyeXB0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZW5jcnlwdGVkIHRleHRcbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgcHVibGljS2V5ID0gJy0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tXFxuLi4uLi5cXG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0nO1xuICogY29uc3QgdGV4dCA9ICdUaGlzIHRleHQgY29udGFpbnMgc2Vuc2l0aXZlIGluZm9ybWF0aW9uJztcbiAqIGNvbnN0IGVuY3J5cHRlZCA9IGF3YWl0IGVuY3J5cHRCcm93c2VyUnNhV2l0aEFlc0djbShwdWJsaWNLZXksIHRleHQpO1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5jcnlwdEJyb3dzZXJSc2FXaXRoQWVzR2NtKHB1YmxpY0tleTogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBnY21LZXkgPSBjcnlwdG8ucmFuZG9tQnl0ZXMoMzIpLnRvU3RyaW5nKCdiYXNlNjQnKTtcblxuICBjb25zdCBlbmNyeXB0ZWQgPSBhd2FpdCBfZW5jcnlwdEFlc0djbShnY21LZXksIHRleHQpO1xuICBjb25zdCBlbmNyeXB0ZWRSc2EgPSBhd2FpdCBfZW5jcnlwdEJyb3dzZXJSc2EocHVibGljS2V5LCBCdWZmZXIuZnJvbShnY21LZXkpLnRvU3RyaW5nKCdiYXNlNjQnKSk7XG5cbiAgcmV0dXJuIGAke2VuY3J5cHRlZFJzYX1cXG4ke2VuY3J5cHRlZH1gO1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
|
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./encrypt"), exports);
|
|
18
|
+
__exportStar(require("./decrypt"), exports);
|
|
17
19
|
__exportStar(require("./network"), exports);
|
|
18
20
|
__exportStar(require("./types"), exports);
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy9uZXR3b3JrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0Q0FBMEI7QUFDMUIsNENBQTBCO0FBQzFCLDRDQUEwQjtBQUMxQiwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VuY3J5cHQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNyeXB0JztcbmV4cG9ydCAqIGZyb20gJy4vbmV0d29yayc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbiJdfQ==
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { BitGoBase } from '../../bitgoBase';
|
|
2
2
|
import { IWallet } from '../../wallet';
|
|
3
|
-
import { CreateNetworkAllocationParams, CreateNetworkAllocationResponse, CreateNetworkConnectionParams, CreateNetworkConnectionResponse, CreateNetworkDeallocationParams, CreateNetworkDeallocationResponse, GetNetworkAllocationByIdParams, GetNetworkAllocationByIdResponse, GetNetworkAllocationsParams, GetNetworkAllocationsResponse, GetNetworkBalancesParams, GetNetworkBalancesResponse, GetNetworkConnectionByIdParams, GetNetworkConnectionByIdResponse, GetNetworkConnectionsParams, GetNetworkConnectionsResponse, GetNetworkSettlementByIdParams, GetNetworkSettlementByIdResponse, GetNetworkSettlementTransfersParams, GetNetworkSettlementTransfersResponse, GetNetworkSettlementsParams, GetNetworkSettlementsResponse, GetNetworkSupportedCurrenciesParams, GetNetworkSupportedCurrenciesResponse, ITradingNetwork, PrepareNetworkAllocationParams, UpdateNetworkConnectionParams, UpdateNetworkConnectionResponse } from './types';
|
|
3
|
+
import { CreateNetworkAllocationParams, CreateNetworkAllocationResponse, CreateNetworkConnectionParams, CreateNetworkConnectionResponse, CreateNetworkDeallocationParams, CreateNetworkDeallocationResponse, GetNetworkAllocationByIdParams, GetNetworkAllocationByIdResponse, GetNetworkAllocationsParams, GetNetworkAllocationsResponse, GetNetworkBalancesParams, GetNetworkBalancesResponse, GetNetworkConnectionByIdParams, GetNetworkConnectionByIdResponse, GetNetworkConnectionsParams, GetNetworkConnectionsResponse, GetNetworkPartnersParams, GetNetworkPartnersResponse, GetNetworkSettlementByIdParams, GetNetworkSettlementByIdResponse, GetNetworkSettlementTransfersParams, GetNetworkSettlementTransfersResponse, GetNetworkSettlementsParams, GetNetworkSettlementsResponse, GetNetworkSupportedCurrenciesParams, GetNetworkSupportedCurrenciesResponse, ITradingNetwork, PrepareNetworkAllocationParams, UpdateNetworkConnectionParams, UpdateNetworkConnectionResponse } from './types';
|
|
4
4
|
export declare class TradingNetwork implements ITradingNetwork {
|
|
5
5
|
private readonly bitgo;
|
|
6
6
|
private readonly enterpriseId;
|
|
7
7
|
wallet: IWallet;
|
|
8
8
|
constructor(enterpriseId: string, wallet: IWallet, bitgo: BitGoBase);
|
|
9
9
|
getBalances(params?: GetNetworkBalancesParams): Promise<GetNetworkBalancesResponse>;
|
|
10
|
+
getPartners(params?: GetNetworkPartnersParams): Promise<GetNetworkPartnersResponse>;
|
|
10
11
|
getSupportedCurrencies(params: GetNetworkSupportedCurrenciesParams): Promise<GetNetworkSupportedCurrenciesResponse>;
|
|
11
12
|
getConnections(params?: GetNetworkConnectionsParams): Promise<GetNetworkConnectionsResponse>;
|
|
12
13
|
getConnectionById({ connectionId, ...params }: GetNetworkConnectionByIdParams): Promise<GetNetworkConnectionByIdResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/network.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,iCAAiC,EACjC,8BAA8B,EAC9B,gCAAgC,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,gCAAgC,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,mCAAmC,EACnC,qCAAqC,EACrC,2BAA2B,EAC3B,6BAA6B,EAC7B,mCAAmC,EACnC,qCAAqC,EACrC,eAAe,EACf,8BAA8B,EAC9B,6BAA6B,EAC7B,+BAA+B,EAChC,MAAM,SAAS,CAAC;AAEjB,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAE/B,MAAM,EAAE,OAAO,CAAC;gBAEX,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;IAMnE,WAAW,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAKnF,sBAAsB,CAAC,MAAM,EAAE,mCAAmC,GAAG,OAAO,CAAC,qCAAqC,CAAC;IAKnH,cAAc,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAK5F,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,8BAA8B,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAO7E,gBAAgB,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAKjG,gBAAgB,CAAC,EACf,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,6BAA6B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAO3E,cAAc,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAK5F,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,8BAA8B,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAO7E;;;;;;;;;;OAUG;IACG,iBAAiB,CAAC,EACtB,gBAAgB,EAChB,GAAG,IAAI,EACR,EAAE,8BAA8B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAqB1E,gBAAgB,CAAC,EACf,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,6BAA6B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAO3E,kBAAkB,CAAC,EACjB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,+BAA+B,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAO/E,cAAc,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAK5F,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,8BAA8B,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAO7E,sBAAsB,CAAC,MAAM,CAAC,EAAE,mCAAmC,GAAG,OAAO,CAAC,qCAAqC,CAAC;CAMrH"}
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/network.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,iCAAiC,EACjC,8BAA8B,EAC9B,gCAAgC,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,gCAAgC,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,gCAAgC,EAChC,mCAAmC,EACnC,qCAAqC,EACrC,2BAA2B,EAC3B,6BAA6B,EAC7B,mCAAmC,EACnC,qCAAqC,EACrC,eAAe,EACf,8BAA8B,EAC9B,6BAA6B,EAC7B,+BAA+B,EAChC,MAAM,SAAS,CAAC;AAEjB,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAE/B,MAAM,EAAE,OAAO,CAAC;gBAEX,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;IAMnE,WAAW,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAKnF,WAAW,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAKnF,sBAAsB,CAAC,MAAM,EAAE,mCAAmC,GAAG,OAAO,CAAC,qCAAqC,CAAC;IAKnH,cAAc,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAK5F,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,8BAA8B,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAO7E,gBAAgB,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAKjG,gBAAgB,CAAC,EACf,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,6BAA6B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAO3E,cAAc,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAK5F,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,8BAA8B,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAO7E;;;;;;;;;;OAUG;IACG,iBAAiB,CAAC,EACtB,gBAAgB,EAChB,GAAG,IAAI,EACR,EAAE,8BAA8B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAqB1E,gBAAgB,CAAC,EACf,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,6BAA6B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAO3E,kBAAkB,CAAC,EACjB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,+BAA+B,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAO/E,cAAc,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAK5F,iBAAiB,CAAC,EAChB,YAAY,EACZ,GAAG,MAAM,EACV,EAAE,8BAA8B,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAO7E,sBAAsB,CAAC,MAAM,CAAC,EAAE,mCAAmC,GAAG,OAAO,CAAC,qCAAqC,CAAC;CAMrH"}
|
|
@@ -16,6 +16,10 @@ class TradingNetwork {
|
|
|
16
16
|
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/clients/balances`);
|
|
17
17
|
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
18
18
|
}
|
|
19
|
+
getPartners(params) {
|
|
20
|
+
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/partners`);
|
|
21
|
+
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
22
|
+
}
|
|
19
23
|
getSupportedCurrencies(params) {
|
|
20
24
|
const url = this.bitgo.microservicesUrl(`/api/network/v1/enterprises/${this.enterpriseId}/supportedCurrencies`);
|
|
21
25
|
return this.bitgo.get(url).set('enterprise-id', this.enterpriseId).send(params).result();
|
|
@@ -94,4 +98,4 @@ class TradingNetwork {
|
|
|
94
98
|
}
|
|
95
99
|
}
|
|
96
100
|
exports.TradingNetwork = TradingNetwork;
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL25ldHdvcmsvbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQkFBb0M7QUFDcEMsb0RBQTRCO0FBa0M1QixNQUFhLGNBQWM7SUFNekIsWUFBWSxZQUFvQixFQUFFLE1BQWUsRUFBRSxLQUFnQjtRQUNqRSxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWlDO1FBQzNDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsK0JBQStCLElBQUksQ0FBQyxZQUFZLG1CQUFtQixDQUFDLENBQUM7UUFDN0csT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVELHNCQUFzQixDQUFDLE1BQTJDO1FBQ2hFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsK0JBQStCLElBQUksQ0FBQyxZQUFZLHNCQUFzQixDQUFDLENBQUM7UUFDaEgsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFvQztRQUNq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QkFBK0IsSUFBSSxDQUFDLFlBQVksOEJBQThCLENBQy9FLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzRixDQUFDO0NBQ0Y7QUEvSUQsd0NBK0lDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdjQgYXMgdXVpZFY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi8uLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uLy4uL3dhbGxldCc7XG5pbXBvcnQge1xuICBDcmVhdGVOZXR3b3JrQWxsb2NhdGlvblBhcmFtcyxcbiAgQ3JlYXRlTmV0d29ya0FsbG9jYXRpb25SZXNwb25zZSxcbiAgQ3JlYXRlTmV0d29ya0Nvbm5lY3Rpb25QYXJhbXMsXG4gIENyZWF0ZU5ldHdvcmtDb25uZWN0aW9uUmVzcG9uc2UsXG4gIENyZWF0ZU5ldHdvcmtEZWFsbG9jYXRpb25QYXJhbXMsXG4gIENyZWF0ZU5ldHdvcmtEZWFsbG9jYXRpb25SZXNwb25zZSxcbiAgR2V0TmV0d29ya0FsbG9jYXRpb25CeUlkUGFyYW1zLFxuICBHZXROZXR3b3JrQWxsb2NhdGlvbkJ5SWRSZXNwb25zZSxcbiAgR2V0TmV0d29ya0FsbG9jYXRpb25zUGFyYW1zLFxuICBHZXROZXR3b3JrQWxsb2NhdGlvbnNSZXNwb25zZSxcbiAgR2V0TmV0d29ya0JhbGFuY2VzUGFyYW1zLFxuICBHZXROZXR3b3JrQmFsYW5jZXNSZXNwb25zZSxcbiAgR2V0TmV0d29ya0Nvbm5lY3Rpb25CeUlkUGFyYW1zLFxuICBHZXROZXR3b3JrQ29ubmVjdGlvbkJ5SWRSZXNwb25zZSxcbiAgR2V0TmV0d29ya0Nvbm5lY3Rpb25zUGFyYW1zLFxuICBHZXROZXR3b3JrQ29ubmVjdGlvbnNSZXNwb25zZSxcbiAgR2V0TmV0d29ya1NldHRsZW1lbnRCeUlkUGFyYW1zLFxuICBHZXROZXR3b3JrU2V0dGxlbWVudEJ5SWRSZXNwb25zZSxcbiAgR2V0TmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlcnNQYXJhbXMsXG4gIEdldE5ldHdvcmtTZXR0bGVtZW50VHJhbnNmZXJzUmVzcG9uc2UsXG4gIEdldE5ldHdvcmtTZXR0bGVtZW50c1BhcmFtcyxcbiAgR2V0TmV0d29ya1NldHRsZW1lbnRzUmVzcG9uc2UsXG4gIEdldE5ldHdvcmtTdXBwb3J0ZWRDdXJyZW5jaWVzUGFyYW1zLFxuICBHZXROZXR3b3JrU3VwcG9ydGVkQ3VycmVuY2llc1Jlc3BvbnNlLFxuICBJVHJhZGluZ05ldHdvcmssXG4gIFByZXBhcmVOZXR3b3JrQWxsb2NhdGlvblBhcmFtcyxcbiAgVXBkYXRlTmV0d29ya0Nvbm5lY3Rpb25QYXJhbXMsXG4gIFVwZGF0ZU5ldHdvcmtDb25uZWN0aW9uUmVzcG9uc2UsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgVHJhZGluZ05ldHdvcmsgaW1wbGVtZW50cyBJVHJhZGluZ05ldHdvcmsge1xuICBwcml2YXRlIHJlYWRvbmx5IGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG5cbiAgcHVibGljIHdhbGxldDogSVdhbGxldDtcblxuICBjb25zdHJ1Y3RvcihlbnRlcnByaXNlSWQ6IHN0cmluZywgd2FsbGV0OiBJV2FsbGV0LCBiaXRnbzogQml0R29CYXNlKSB7XG4gICAgdGhpcy5lbnRlcnByaXNlSWQgPSBlbnRlcnByaXNlSWQ7XG4gICAgdGhpcy53YWxsZXQgPSB3YWxsZXQ7XG4gICAgdGhpcy5iaXRnbyA9IGJpdGdvO1xuICB9XG5cbiAgZ2V0QmFsYW5jZXMocGFyYW1zPzogR2V0TmV0d29ya0JhbGFuY2VzUGFyYW1zKTogUHJvbWlzZTxHZXROZXR3b3JrQmFsYW5jZXNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChgL2FwaS9uZXR3b3JrL3YxL2VudGVycHJpc2VzLyR7dGhpcy5lbnRlcnByaXNlSWR9L2NsaWVudHMvYmFsYW5jZXNgKTtcbiAgICByZXR1cm4gdGhpcy5iaXRnby5nZXQodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0U3VwcG9ydGVkQ3VycmVuY2llcyhwYXJhbXM6IEdldE5ldHdvcmtTdXBwb3J0ZWRDdXJyZW5jaWVzUGFyYW1zKTogUHJvbWlzZTxHZXROZXR3b3JrU3VwcG9ydGVkQ3VycmVuY2llc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vc3VwcG9ydGVkQ3VycmVuY2llc2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRDb25uZWN0aW9ucyhwYXJhbXM/OiBHZXROZXR3b3JrQ29ubmVjdGlvbnNQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtDb25uZWN0aW9uc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9jb25uZWN0aW9uc2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRDb25uZWN0aW9uQnlJZCh7XG4gICAgY29ubmVjdGlvbklkLFxuICAgIC4uLnBhcmFtc1xuICB9OiBHZXROZXR3b3JrQ29ubmVjdGlvbkJ5SWRQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtDb25uZWN0aW9uQnlJZFJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zLyR7Y29ubmVjdGlvbklkfWBcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBjcmVhdGVDb25uZWN0aW9uKHBhcmFtczogQ3JlYXRlTmV0d29ya0Nvbm5lY3Rpb25QYXJhbXMpOiBQcm9taXNlPENyZWF0ZU5ldHdvcmtDb25uZWN0aW9uUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zYCk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28ucG9zdCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICB1cGRhdGVDb25uZWN0aW9uKHtcbiAgICBjb25uZWN0aW9uSWQsXG4gICAgLi4ucGFyYW1zXG4gIH06IFVwZGF0ZU5ldHdvcmtDb25uZWN0aW9uUGFyYW1zKTogUHJvbWlzZTxVcGRhdGVOZXR3b3JrQ29ubmVjdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zLyR7Y29ubmVjdGlvbklkfWBcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLnB1dCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRBbGxvY2F0aW9ucyhwYXJhbXM/OiBHZXROZXR3b3JrQWxsb2NhdGlvbnNQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtBbGxvY2F0aW9uc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9hbGxvY2F0aW9uc2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRBbGxvY2F0aW9uQnlJZCh7XG4gICAgYWxsb2NhdGlvbklkLFxuICAgIC4uLnBhcmFtc1xuICB9OiBHZXROZXR3b3JrQWxsb2NhdGlvbkJ5SWRQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtBbGxvY2F0aW9uQnlJZFJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2FsbG9jYXRpb25zLyR7YWxsb2NhdGlvbklkfWBcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogUHJlcGFyZSBhbiBhbGxvY2F0aW9uIGZvciBzdWJtaXNzaW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB3YWxsZXRQYXNzcGhyYXNlIG9mYyB3YWxsZXQgcGFzc3BocmFzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29ubmVjdGlvbklkIGNvbm5lY3Rpb24gdG8gd2hvbSB0byBtYWtlIHRoZSBhbGxvY2F0aW9uIG9yIGRlYWxsb2NhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZz19IGNsaWVudEV4dGVybmFsSWQgb25lIHRpbWUgZ2VuZXJhdGVkIHV1aWQgdjRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbmN5IGN1cnJlbmN5IGZvciB3aGljaCB0aGUgYWxsb2NhdGlvbiBzaG91bGQgYmUgbWFkZS4gZS5nLiBidGMgLyB0YnRjXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBxdWFudGl0eSBiYXNlIGFtb3VudC4gZS5nLiAxMDAwMDAwMCAoMSBCVEMpXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBub3RlcyBQcml2YXRlIG5vdGUgdGhhdCB5b3UgY2FuIHZpZXcgYW5kIGVkaXRcbiAgICogQHBhcmFtIHtzdHJpbmc9fSBub25jZSBvbmUgdGltZSBnZW5lcmF0ZWQgc3RyaW5nIC5lLmcuIGNyeXB0by5yYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2hleCcpXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBhc3luYyBwcmVwYXJlQWxsb2NhdGlvbih7XG4gICAgd2FsbGV0UGFzc3BocmFzZSxcbiAgICAuLi5ib2R5XG4gIH06IFByZXBhcmVOZXR3b3JrQWxsb2NhdGlvblBhcmFtcyk6IFByb21pc2U8Q3JlYXRlTmV0d29ya0FsbG9jYXRpb25QYXJhbXM+IHtcbiAgICBpZiAoIWJvZHkuY2xpZW50RXh0ZXJuYWxJZCkge1xuICAgICAgYm9keS5jbGllbnRFeHRlcm5hbElkID0gdXVpZFY0KCk7XG4gICAgfVxuICAgIGlmICghYm9keS5ub25jZSkge1xuICAgICAgYm9keS5ub25jZSA9IGNyeXB0by5yYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2hleCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShib2R5KTtcblxuICAgIGNvbnN0IHBydiA9IGF3YWl0IHRoaXMud2FsbGV0LmdldFBydih7IHdhbGxldFBhc3NwaHJhc2UgfSk7XG4gICAgY29uc3Qgc2lnbmVkQnVmZmVyOiBCdWZmZXIgPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5zaWduTWVzc2FnZSh7IHBydiB9LCBwYXlsb2FkKTtcbiAgICBjb25zdCBzaWduYXR1cmUgPSBzaWduZWRCdWZmZXIudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJvZHksXG4gICAgICBwYXlsb2FkLFxuICAgICAgc2lnbmF0dXJlLFxuICAgIH07XG4gIH1cblxuICBjcmVhdGVBbGxvY2F0aW9uKHtcbiAgICBjb25uZWN0aW9uSWQsXG4gICAgLi4ucGFyYW1zXG4gIH06IENyZWF0ZU5ldHdvcmtBbGxvY2F0aW9uUGFyYW1zKTogUHJvbWlzZTxDcmVhdGVOZXR3b3JrQWxsb2NhdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zLyR7Y29ubmVjdGlvbklkfS9hbGxvY2F0aW9uc2BcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgY3JlYXRlRGVhbGxvY2F0aW9uKHtcbiAgICBjb25uZWN0aW9uSWQsXG4gICAgLi4ucGFyYW1zXG4gIH06IENyZWF0ZU5ldHdvcmtEZWFsbG9jYXRpb25QYXJhbXMpOiBQcm9taXNlPENyZWF0ZU5ldHdvcmtEZWFsbG9jYXRpb25SZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgIGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9jb25uZWN0aW9ucy8ke2Nvbm5lY3Rpb25JZH0vZGVhbGxvY2F0aW9uc2BcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0U2V0dGxlbWVudHMocGFyYW1zPzogR2V0TmV0d29ya1NldHRsZW1lbnRzUGFyYW1zKTogUHJvbWlzZTxHZXROZXR3b3JrU2V0dGxlbWVudHNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChgL2FwaS9uZXR3b3JrL3YxL2VudGVycHJpc2VzLyR7dGhpcy5lbnRlcnByaXNlSWR9L2NsaWVudHMvc2V0dGxlbWVudHNgKTtcbiAgICByZXR1cm4gdGhpcy5iaXRnby5nZXQodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0U2V0dGxlbWVudEJ5SWQoe1xuICAgIHNldHRsZW1lbnRJZCxcbiAgICAuLi5wYXJhbXNcbiAgfTogR2V0TmV0d29ya1NldHRsZW1lbnRCeUlkUGFyYW1zKTogUHJvbWlzZTxHZXROZXR3b3JrU2V0dGxlbWVudEJ5SWRSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgIGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9zZXR0bGVtZW50cy8ke3NldHRsZW1lbnRJZH1gXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5iaXRnby5nZXQodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0U2V0dGxlbWVudFRyYW5zZmVycyhwYXJhbXM/OiBHZXROZXR3b3JrU2V0dGxlbWVudFRyYW5zZmVyc1BhcmFtcyk6IFByb21pc2U8R2V0TmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlcnNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgIGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9zZXR0bGVtZW50VHJhbnNmZXJzYFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHVybCkuc2V0KCdlbnRlcnByaXNlLWlkJywgdGhpcy5lbnRlcnByaXNlSWQpLnNlbmQocGFyYW1zKS5yZXN1bHQoKTtcbiAgfVxufVxuIl19
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby90cmFkaW5nL25ldHdvcmsvbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQkFBb0M7QUFDcEMsb0RBQTRCO0FBb0M1QixNQUFhLGNBQWM7SUFNekIsWUFBWSxZQUFvQixFQUFFLE1BQWUsRUFBRSxLQUFnQjtRQUNqRSxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWlDO1FBQzNDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsK0JBQStCLElBQUksQ0FBQyxZQUFZLG1CQUFtQixDQUFDLENBQUM7UUFDN0csT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFpQztRQUMzQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLCtCQUErQixJQUFJLENBQUMsWUFBWSxXQUFXLENBQUMsQ0FBQztRQUNyRyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBMkM7UUFDaEUs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LFlBQVksd0JBQXdCLFlBQVksRUFBRSxDQUN2RixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVELHNCQUFzQixDQUFDLE1BQTRDO1FBQ2pFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQ3JDLCtCQUErQixJQUFJLENBQUMsWUFBWSw4QkFBOEIsQ0FDL0UsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNGLENBQUM7Q0FDRjtBQXBKRCx3Q0FvSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2NCBhcyB1dWlkVjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uLy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBJV2FsbGV0IH0gZnJvbSAnLi4vLi4vd2FsbGV0JztcbmltcG9ydCB7XG4gIENyZWF0ZU5ldHdvcmtBbGxvY2F0aW9uUGFyYW1zLFxuICBDcmVhdGVOZXR3b3JrQWxsb2NhdGlvblJlc3BvbnNlLFxuICBDcmVhdGVOZXR3b3JrQ29ubmVjdGlvblBhcmFtcyxcbiAgQ3JlYXRlTmV0d29ya0Nvbm5lY3Rpb25SZXNwb25zZSxcbiAgQ3JlYXRlTmV0d29ya0RlYWxsb2NhdGlvblBhcmFtcyxcbiAgQ3JlYXRlTmV0d29ya0RlYWxsb2NhdGlvblJlc3BvbnNlLFxuICBHZXROZXR3b3JrQWxsb2NhdGlvbkJ5SWRQYXJhbXMsXG4gIEdldE5ldHdvcmtBbGxvY2F0aW9uQnlJZFJlc3BvbnNlLFxuICBHZXROZXR3b3JrQWxsb2NhdGlvbnNQYXJhbXMsXG4gIEdldE5ldHdvcmtBbGxvY2F0aW9uc1Jlc3BvbnNlLFxuICBHZXROZXR3b3JrQmFsYW5jZXNQYXJhbXMsXG4gIEdldE5ldHdvcmtCYWxhbmNlc1Jlc3BvbnNlLFxuICBHZXROZXR3b3JrQ29ubmVjdGlvbkJ5SWRQYXJhbXMsXG4gIEdldE5ldHdvcmtDb25uZWN0aW9uQnlJZFJlc3BvbnNlLFxuICBHZXROZXR3b3JrQ29ubmVjdGlvbnNQYXJhbXMsXG4gIEdldE5ldHdvcmtDb25uZWN0aW9uc1Jlc3BvbnNlLFxuICBHZXROZXR3b3JrUGFydG5lcnNQYXJhbXMsXG4gIEdldE5ldHdvcmtQYXJ0bmVyc1Jlc3BvbnNlLFxuICBHZXROZXR3b3JrU2V0dGxlbWVudEJ5SWRQYXJhbXMsXG4gIEdldE5ldHdvcmtTZXR0bGVtZW50QnlJZFJlc3BvbnNlLFxuICBHZXROZXR3b3JrU2V0dGxlbWVudFRyYW5zZmVyc1BhcmFtcyxcbiAgR2V0TmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlcnNSZXNwb25zZSxcbiAgR2V0TmV0d29ya1NldHRsZW1lbnRzUGFyYW1zLFxuICBHZXROZXR3b3JrU2V0dGxlbWVudHNSZXNwb25zZSxcbiAgR2V0TmV0d29ya1N1cHBvcnRlZEN1cnJlbmNpZXNQYXJhbXMsXG4gIEdldE5ldHdvcmtTdXBwb3J0ZWRDdXJyZW5jaWVzUmVzcG9uc2UsXG4gIElUcmFkaW5nTmV0d29yayxcbiAgUHJlcGFyZU5ldHdvcmtBbGxvY2F0aW9uUGFyYW1zLFxuICBVcGRhdGVOZXR3b3JrQ29ubmVjdGlvblBhcmFtcyxcbiAgVXBkYXRlTmV0d29ya0Nvbm5lY3Rpb25SZXNwb25zZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFkaW5nTmV0d29yayBpbXBsZW1lbnRzIElUcmFkaW5nTmV0d29yayB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYml0Z286IEJpdEdvQmFzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbnRlcnByaXNlSWQ6IHN0cmluZztcblxuICBwdWJsaWMgd2FsbGV0OiBJV2FsbGV0O1xuXG4gIGNvbnN0cnVjdG9yKGVudGVycHJpc2VJZDogc3RyaW5nLCB3YWxsZXQ6IElXYWxsZXQsIGJpdGdvOiBCaXRHb0Jhc2UpIHtcbiAgICB0aGlzLmVudGVycHJpc2VJZCA9IGVudGVycHJpc2VJZDtcbiAgICB0aGlzLndhbGxldCA9IHdhbGxldDtcbiAgICB0aGlzLmJpdGdvID0gYml0Z287XG4gIH1cblxuICBnZXRCYWxhbmNlcyhwYXJhbXM/OiBHZXROZXR3b3JrQmFsYW5jZXNQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtCYWxhbmNlc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9iYWxhbmNlc2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRQYXJ0bmVycyhwYXJhbXM/OiBHZXROZXR3b3JrUGFydG5lcnNQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtQYXJ0bmVyc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vcGFydG5lcnNgKTtcbiAgICByZXR1cm4gdGhpcy5iaXRnby5nZXQodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0U3VwcG9ydGVkQ3VycmVuY2llcyhwYXJhbXM6IEdldE5ldHdvcmtTdXBwb3J0ZWRDdXJyZW5jaWVzUGFyYW1zKTogUHJvbWlzZTxHZXROZXR3b3JrU3VwcG9ydGVkQ3VycmVuY2llc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vc3VwcG9ydGVkQ3VycmVuY2llc2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRDb25uZWN0aW9ucyhwYXJhbXM/OiBHZXROZXR3b3JrQ29ubmVjdGlvbnNQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtDb25uZWN0aW9uc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9jb25uZWN0aW9uc2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRDb25uZWN0aW9uQnlJZCh7XG4gICAgY29ubmVjdGlvbklkLFxuICAgIC4uLnBhcmFtc1xuICB9OiBHZXROZXR3b3JrQ29ubmVjdGlvbkJ5SWRQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtDb25uZWN0aW9uQnlJZFJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zLyR7Y29ubmVjdGlvbklkfWBcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBjcmVhdGVDb25uZWN0aW9uKHBhcmFtczogQ3JlYXRlTmV0d29ya0Nvbm5lY3Rpb25QYXJhbXMpOiBQcm9taXNlPENyZWF0ZU5ldHdvcmtDb25uZWN0aW9uUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zYCk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28ucG9zdCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICB1cGRhdGVDb25uZWN0aW9uKHtcbiAgICBjb25uZWN0aW9uSWQsXG4gICAgLi4ucGFyYW1zXG4gIH06IFVwZGF0ZU5ldHdvcmtDb25uZWN0aW9uUGFyYW1zKTogUHJvbWlzZTxVcGRhdGVOZXR3b3JrQ29ubmVjdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zLyR7Y29ubmVjdGlvbklkfWBcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLnB1dCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRBbGxvY2F0aW9ucyhwYXJhbXM/OiBHZXROZXR3b3JrQWxsb2NhdGlvbnNQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtBbGxvY2F0aW9uc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9hbGxvY2F0aW9uc2ApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICBnZXRBbGxvY2F0aW9uQnlJZCh7XG4gICAgYWxsb2NhdGlvbklkLFxuICAgIC4uLnBhcmFtc1xuICB9OiBHZXROZXR3b3JrQWxsb2NhdGlvbkJ5SWRQYXJhbXMpOiBQcm9taXNlPEdldE5ldHdvcmtBbGxvY2F0aW9uQnlJZFJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2FsbG9jYXRpb25zLyR7YWxsb2NhdGlvbklkfWBcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLmdldCh1cmwpLnNldCgnZW50ZXJwcmlzZS1pZCcsIHRoaXMuZW50ZXJwcmlzZUlkKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogUHJlcGFyZSBhbiBhbGxvY2F0aW9uIGZvciBzdWJtaXNzaW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB3YWxsZXRQYXNzcGhyYXNlIG9mYyB3YWxsZXQgcGFzc3BocmFzZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29ubmVjdGlvbklkIGNvbm5lY3Rpb24gdG8gd2hvbSB0byBtYWtlIHRoZSBhbGxvY2F0aW9uIG9yIGRlYWxsb2NhdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZz19IGNsaWVudEV4dGVybmFsSWQgb25lIHRpbWUgZ2VuZXJhdGVkIHV1aWQgdjRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbmN5IGN1cnJlbmN5IGZvciB3aGljaCB0aGUgYWxsb2NhdGlvbiBzaG91bGQgYmUgbWFkZS4gZS5nLiBidGMgLyB0YnRjXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBxdWFudGl0eSBiYXNlIGFtb3VudC4gZS5nLiAxMDAwMDAwMCAoMSBCVEMpXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBub3RlcyBQcml2YXRlIG5vdGUgdGhhdCB5b3UgY2FuIHZpZXcgYW5kIGVkaXRcbiAgICogQHBhcmFtIHtzdHJpbmc9fSBub25jZSBvbmUgdGltZSBnZW5lcmF0ZWQgc3RyaW5nIC5lLmcuIGNyeXB0by5yYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2hleCcpXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBhc3luYyBwcmVwYXJlQWxsb2NhdGlvbih7XG4gICAgd2FsbGV0UGFzc3BocmFzZSxcbiAgICAuLi5ib2R5XG4gIH06IFByZXBhcmVOZXR3b3JrQWxsb2NhdGlvblBhcmFtcyk6IFByb21pc2U8Q3JlYXRlTmV0d29ya0FsbG9jYXRpb25QYXJhbXM+IHtcbiAgICBpZiAoIWJvZHkuY2xpZW50RXh0ZXJuYWxJZCkge1xuICAgICAgYm9keS5jbGllbnRFeHRlcm5hbElkID0gdXVpZFY0KCk7XG4gICAgfVxuICAgIGlmICghYm9keS5ub25jZSkge1xuICAgICAgYm9keS5ub25jZSA9IGNyeXB0by5yYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2hleCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShib2R5KTtcblxuICAgIGNvbnN0IHBydiA9IGF3YWl0IHRoaXMud2FsbGV0LmdldFBydih7IHdhbGxldFBhc3NwaHJhc2UgfSk7XG4gICAgY29uc3Qgc2lnbmVkQnVmZmVyOiBCdWZmZXIgPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5zaWduTWVzc2FnZSh7IHBydiB9LCBwYXlsb2FkKTtcbiAgICBjb25zdCBzaWduYXR1cmUgPSBzaWduZWRCdWZmZXIudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJvZHksXG4gICAgICBwYXlsb2FkLFxuICAgICAgc2lnbmF0dXJlLFxuICAgIH07XG4gIH1cblxuICBjcmVhdGVBbGxvY2F0aW9uKHtcbiAgICBjb25uZWN0aW9uSWQsXG4gICAgLi4ucGFyYW1zXG4gIH06IENyZWF0ZU5ldHdvcmtBbGxvY2F0aW9uUGFyYW1zKTogUHJvbWlzZTxDcmVhdGVOZXR3b3JrQWxsb2NhdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKFxuICAgICAgYC9hcGkvbmV0d29yay92MS9lbnRlcnByaXNlcy8ke3RoaXMuZW50ZXJwcmlzZUlkfS9jbGllbnRzL2Nvbm5lY3Rpb25zLyR7Y29ubmVjdGlvbklkfS9hbGxvY2F0aW9uc2BcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgY3JlYXRlRGVhbGxvY2F0aW9uKHtcbiAgICBjb25uZWN0aW9uSWQsXG4gICAgLi4ucGFyYW1zXG4gIH06IENyZWF0ZU5ldHdvcmtEZWFsbG9jYXRpb25QYXJhbXMpOiBQcm9taXNlPENyZWF0ZU5ldHdvcmtEZWFsbG9jYXRpb25SZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgIGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9jb25uZWN0aW9ucy8ke2Nvbm5lY3Rpb25JZH0vZGVhbGxvY2F0aW9uc2BcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0U2V0dGxlbWVudHMocGFyYW1zPzogR2V0TmV0d29ya1NldHRsZW1lbnRzUGFyYW1zKTogUHJvbWlzZTxHZXROZXR3b3JrU2V0dGxlbWVudHNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChgL2FwaS9uZXR3b3JrL3YxL2VudGVycHJpc2VzLyR7dGhpcy5lbnRlcnByaXNlSWR9L2NsaWVudHMvc2V0dGxlbWVudHNgKTtcbiAgICByZXR1cm4gdGhpcy5iaXRnby5nZXQodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0U2V0dGxlbWVudEJ5SWQoe1xuICAgIHNldHRsZW1lbnRJZCxcbiAgICAuLi5wYXJhbXNcbiAgfTogR2V0TmV0d29ya1NldHRsZW1lbnRCeUlkUGFyYW1zKTogUHJvbWlzZTxHZXROZXR3b3JrU2V0dGxlbWVudEJ5SWRSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgIGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9zZXR0bGVtZW50cy8ke3NldHRsZW1lbnRJZH1gXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5iaXRnby5nZXQodXJsKS5zZXQoJ2VudGVycHJpc2UtaWQnLCB0aGlzLmVudGVycHJpc2VJZCkuc2VuZChwYXJhbXMpLnJlc3VsdCgpO1xuICB9XG5cbiAgZ2V0U2V0dGxlbWVudFRyYW5zZmVycyhwYXJhbXM/OiBHZXROZXR3b3JrU2V0dGxlbWVudFRyYW5zZmVyc1BhcmFtcyk6IFByb21pc2U8R2V0TmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlcnNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgIGAvYXBpL25ldHdvcmsvdjEvZW50ZXJwcmlzZXMvJHt0aGlzLmVudGVycHJpc2VJZH0vY2xpZW50cy9zZXR0bGVtZW50VHJhbnNmZXJzYFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHVybCkuc2V0KCdlbnRlcnByaXNlLWlkJywgdGhpcy5lbnRlcnByaXNlSWQpLnNlbmQocGFyYW1zKS5yZXN1bHQoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export interface ITradingNetwork {
|
|
2
2
|
getBalances: (params?: GetNetworkBalancesParams) => Promise<GetNetworkBalancesResponse>;
|
|
3
|
+
getPartners: (params?: GetNetworkPartnersParams) => Promise<GetNetworkPartnersResponse>;
|
|
3
4
|
getSupportedCurrencies: (params: GetNetworkSupportedCurrenciesParams) => Promise<GetNetworkSupportedCurrenciesResponse>;
|
|
4
5
|
getConnections: (params?: GetNetworkConnectionsParams) => Promise<GetNetworkConnectionsResponse>;
|
|
5
6
|
getConnectionById: (params: GetNetworkConnectionByIdParams) => Promise<GetNetworkConnectionByIdResponse>;
|
|
@@ -22,6 +23,16 @@ export declare type GetNetworkBalancesResponse = {
|
|
|
22
23
|
balances: Record<string, NetworkAccountBalanceRecord>;
|
|
23
24
|
networkBalances: Record<string, NetworkBalance>;
|
|
24
25
|
};
|
|
26
|
+
export declare type GetNetworkPartnersParams = NetworkPaginationParams & {
|
|
27
|
+
ids?: string[];
|
|
28
|
+
names?: string[];
|
|
29
|
+
institutionIds?: string[];
|
|
30
|
+
institutionIdentifiers?: string[];
|
|
31
|
+
active?: boolean;
|
|
32
|
+
};
|
|
33
|
+
export declare type GetNetworkPartnersResponse = {
|
|
34
|
+
partners: NetworkPartner[];
|
|
35
|
+
};
|
|
25
36
|
export declare type GetNetworkSupportedCurrenciesParams = {
|
|
26
37
|
partnerIds: string[];
|
|
27
38
|
};
|
|
@@ -46,12 +57,12 @@ export declare type GetNetworkConnectionByIdResponse = {
|
|
|
46
57
|
connection: NetworkConnection;
|
|
47
58
|
};
|
|
48
59
|
export declare type CreateNetworkConnectionParams = {
|
|
49
|
-
payload: string;
|
|
50
|
-
signature: string;
|
|
51
60
|
partnerId: string;
|
|
52
61
|
name: string;
|
|
53
62
|
connectionKey: NetworkConnectionKey;
|
|
54
63
|
nonce: string;
|
|
64
|
+
payload: string;
|
|
65
|
+
signature: string;
|
|
55
66
|
};
|
|
56
67
|
export declare type CreateNetworkConnectionResponse = {
|
|
57
68
|
connection: NetworkConnection;
|
|
@@ -179,14 +190,22 @@ export declare type NetworkConnection = {
|
|
|
179
190
|
createdAt: string;
|
|
180
191
|
updatedAt: string;
|
|
181
192
|
};
|
|
182
|
-
export declare type NetworkConnectionKey =
|
|
193
|
+
export declare type NetworkConnectionKey = NetworkConnectionKeyToken | NetworkConnectionKeyTokenAndSignature | NetworkConnectionKeyApiKeyAndSecret;
|
|
194
|
+
export declare type NetworkConnectionKeyToken = {
|
|
183
195
|
schema: 'token';
|
|
184
196
|
connectionToken: string;
|
|
185
|
-
}
|
|
197
|
+
};
|
|
198
|
+
export declare type NetworkConnectionKeyTokenAndSignature = {
|
|
186
199
|
schema: 'tokenAndSignature';
|
|
187
200
|
connectionToken: string;
|
|
188
201
|
signature: string;
|
|
189
202
|
};
|
|
203
|
+
export declare type NetworkConnectionKeyApiKeyAndSecret = {
|
|
204
|
+
schema: 'apiKeyAndSecret';
|
|
205
|
+
apiKey: string;
|
|
206
|
+
apiSecret: string;
|
|
207
|
+
clientAccountId: string;
|
|
208
|
+
};
|
|
190
209
|
export declare type NetworkAllocationType = 'allocation' | 'deallocation';
|
|
191
210
|
export declare type NetworkAllocationStatus = 'cleared' | 'released' | 'reserved';
|
|
192
211
|
export declare type NetworkAllocation = {
|
|
@@ -240,5 +259,15 @@ export declare type NetworkSettlementTransfer = {
|
|
|
240
259
|
updatedAt: string;
|
|
241
260
|
};
|
|
242
261
|
export declare type NetworkSettlementStatus = 'failed' | 'completed' | 'pending';
|
|
262
|
+
export declare type ConnectionKeySchema = 'token' | 'tokenAndSignature' | 'apiKeyAndSecret';
|
|
263
|
+
export declare type NetworkPartner = {
|
|
264
|
+
id: string;
|
|
265
|
+
name: string;
|
|
266
|
+
institutionId: string;
|
|
267
|
+
institutionIdentifier: string;
|
|
268
|
+
connectionKeySchema: ConnectionKeySchema;
|
|
269
|
+
active: boolean;
|
|
270
|
+
publicKey?: string;
|
|
271
|
+
};
|
|
243
272
|
export {};
|
|
244
273
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACxF,sBAAsB,EAAE,CACtB,MAAM,EAAE,mCAAmC,KACxC,OAAO,CAAC,qCAAqC,CAAC,CAAC;IACpD,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,2BAA2B,KAAK,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACjG,iBAAiB,EAAE,CAAC,MAAM,EAAE,8BAA8B,KAAK,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACzG,gBAAgB,EAAE,CAAC,MAAM,EAAE,6BAA6B,KAAK,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACtG,gBAAgB,EAAE,CAAC,MAAM,EAAE,6BAA6B,KAAK,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACtG,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,2BAA2B,KAAK,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACjG,iBAAiB,EAAE,CAAC,MAAM,EAAE,8BAA8B,KAAK,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACzG,gBAAgB,EAAE,CAAC,MAAM,EAAE,6BAA6B,KAAK,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACtG,kBAAkB,EAAE,CAAC,MAAM,EAAE,+BAA+B,KAAK,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC5G,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,2BAA2B,KAAK,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACjG,iBAAiB,EAAE,CAAC,MAAM,EAAE,8BAA8B,KAAK,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACzG,sBAAsB,EAAE,CACtB,MAAM,CAAC,EAAE,mCAAmC,KACzC,OAAO,CAAC,qCAAqC,CAAC,CAAC;CACrD;AAID,oBAAY,wBAAwB,GAAG,uBAAuB,GAAG;IAC/D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,oBAAY,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IAEjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAEtD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACjD,CAAC;AAEF,oBAAY,mCAAmC,GAAG;IAChD,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,oBAAY,qCAAqC,GAAG;IAClD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,kBAAkB;AAElB,oBAAY,2BAA2B,GAAG,uBAAuB,GAAG;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,6BAA6B,GAAG;IAC1C,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC,CAAC;AAEF,oBAAY,8BAA8B,GAAG;IAC3C,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,gCAAgC,GAAG;IAC7C,UAAU,EAAE,iBAAiB,CAAC;CAC/B,CAAC;AAEF,oBAAY,6BAA6B,GAAG;IAC1C,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/types.ts"],"names":[],"mappings":"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"}
|