PHP WebShell

Текущая директория: /opt/BitGoJS/modules/sdk-core/dist/src/bitgo/enterprise

Просмотр файла: enterprises.js

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.Enterprises = void 0;
/**
 * @prettier
 */
const _ = __importStar(require("lodash"));
const enterprise_1 = require("./enterprise");
class Enterprises {
    constructor(bitgo, baseCoin) {
        this.bitgo = bitgo;
        this.baseCoin = baseCoin;
    }
    /**
     * List all enterprises available to the current user
     * @param params unused
     */
    async list(params = {}) {
        const response = (await this.bitgo.get(this.bitgo.url('/enterprise')).result());
        return response.enterprises.map((e) => {
            // instantiate a new object for each enterprise
            return new enterprise_1.Enterprise(this.bitgo, this.baseCoin, e);
        });
    }
    /**
     * Fetch an enterprise from BitGo
     * @param params
     */
    async get(params = {}) {
        const enterpriseId = params.id;
        if (_.isUndefined(enterpriseId)) {
            throw new Error('id must not be empty');
        }
        if (!_.isString(enterpriseId)) {
            throw new Error('id must be hexadecimal enterprise ID');
        }
        const enterpriseData = (await this.bitgo.get(this.bitgo.url(`/enterprise/${enterpriseId}`)).result());
        return new enterprise_1.Enterprise(this.bitgo, this.baseCoin, enterpriseData);
    }
    /**
     * Create a new enterprise
     * @param params
     */
    // TODO: (CT-686) Flesh out params object with valid enterprise creation parameters
    async create(params = {}) {
        const enterpriseData = (await this.bitgo.post(this.bitgo.url(`/enterprise`)).send(params).result());
        return new enterprise_1.Enterprise(this.bitgo, this.baseCoin, enterpriseData);
    }
    /**
     * Resign TSS configs of all enterprises belonging to the user with a
     * new user password / ecdh keychain
     */
    async resignTssConfigsForEnterprises(oldEcdhKeypair, newEcdhKeypair) {
        const enterpriseTssConfigsForUser = await this.bitgo
            .get(this.bitgo.url('/tssconfigs/ecdsa', 2))
            .query({
            createdBy: 'me',
        })
            .send()
            .result();
        const resigningPromises = enterpriseTssConfigsForUser.map(async (enterpriseTssConfig) => {
            const enterprise = new enterprise_1.Enterprise(this.bitgo, this.bitgo.coin('tbtc'), {
                id: enterpriseTssConfig.enterpriseId,
                name: '',
            });
            const enterpriseChallenge = enterpriseTssConfig.ecdsa.challenge?.enterprise;
            const bitgoNitroChallenge = enterpriseTssConfig.ecdsa.challenge?.bitgoNitroHsm;
            const bitgoInstChallenge = enterpriseTssConfig.ecdsa.challenge
                ?.bitgoInstitutionalHsm;
            await enterprise.resignEnterpriseChallenges(oldEcdhKeypair, newEcdhKeypair, enterpriseChallenge, bitgoInstChallenge, bitgoNitroChallenge);
        });
        await Promise.all(resigningPromises);
    }
}
exports.Enterprises = Enterprises;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50ZXJwcmlzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vZW50ZXJwcmlzZS9lbnRlcnByaXNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILDBDQUE0QjtBQUc1Qiw2Q0FBMEM7QUFLMUMsTUFBYSxXQUFXO0lBSXRCLFlBQVksS0FBZ0IsRUFBRSxRQUFtQjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFnQyxFQUFFO1FBQ2xELE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFRLENBQUM7UUFDdkYsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3BDLCtDQUErQztZQUMvQyxPQUFPLElBQUksdUJBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUErQixFQUFFO1FBQ2hELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBRUQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGVBQWUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFRLENBQUM7UUFDN0csT0FBTyxJQUFJLHVCQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7O09BR0c7SUFDSCxtRkFBbUY7SUFDNUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFjLEVBQUU7UUFDbEMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFRLENBQUM7UUFDM0csT0FBTyxJQUFJLHVCQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsOEJBQThCLENBQ3pDLGNBQWtDLEVBQ2xDLGNBQWtDO1FBRWxDLE1BQU0sMkJBQTJCLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSzthQUNqRCxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDM0MsS0FBSyxDQUFDO1lBQ0wsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQzthQUNELElBQUksRUFBRTthQUNOLE1BQU0sRUFBRSxDQUFDO1FBRVosTUFBTSxpQkFBaUIsR0FBRywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLG1CQUFtQixFQUFFLEVBQUU7WUFDdEYsTUFBTSxVQUFVLEdBQUcsSUFBSSx1QkFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3JFLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxZQUFZO2dCQUNwQyxJQUFJLEVBQUUsRUFBRTthQUNULENBQUMsQ0FBQztZQUNILE1BQU0sbUJBQW1CLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxVQUEyQyxDQUFDO1lBQzdHLE1BQU0sbUJBQW1CLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxhQUE4QyxDQUFDO1lBQ2hILE1BQU0sa0JBQWtCLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFNBQVM7Z0JBQzVELEVBQUUscUJBQXNELENBQUM7WUFDM0QsTUFBTSxVQUFVLENBQUMsMEJBQTBCLENBQ3pDLGNBQWMsRUFDZCxjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixtQkFBbUIsQ0FDcEIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBcEZELGtDQW9GQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IElCYXNlQ29pbiB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBFbnRlcnByaXNlIH0gZnJvbSAnLi9lbnRlcnByaXNlJztcbmltcG9ydCB7IEdldEVudGVycHJpc2VPcHRpb25zLCBJRW50ZXJwcmlzZXMgfSBmcm9tICcuL2lFbnRlcnByaXNlcyc7XG5pbXBvcnQgeyBFY2RoRGVyaXZlZEtleXBhaXIgfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBTZXJpYWxpemVkTnRpbGRlV2l0aFZlcmlmaWVycyB9IGZyb20gJy4uL3V0aWxzL3Rzcy9lY2RzYSc7XG5cbmV4cG9ydCBjbGFzcyBFbnRlcnByaXNlcyBpbXBsZW1lbnRzIElFbnRlcnByaXNlcyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYml0Z286IEJpdEdvQmFzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBiYXNlQ29pbjogSUJhc2VDb2luO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIGJhc2VDb2luOiBJQmFzZUNvaW4pIHtcbiAgICB0aGlzLmJpdGdvID0gYml0Z287XG4gICAgdGhpcy5iYXNlQ29pbiA9IGJhc2VDb2luO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3QgYWxsIGVudGVycHJpc2VzIGF2YWlsYWJsZSB0byB0aGUgY3VycmVudCB1c2VyXG4gICAqIEBwYXJhbSBwYXJhbXMgdW51c2VkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbGlzdChwYXJhbXM6IFJlY29yZDxzdHJpbmcsIG5ldmVyPiA9IHt9KTogUHJvbWlzZTxFbnRlcnByaXNlW10+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCB0aGlzLmJpdGdvLmdldCh0aGlzLmJpdGdvLnVybCgnL2VudGVycHJpc2UnKSkucmVzdWx0KCkpIGFzIGFueTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZW50ZXJwcmlzZXMubWFwKChlKSA9PiB7XG4gICAgICAvLyBpbnN0YW50aWF0ZSBhIG5ldyBvYmplY3QgZm9yIGVhY2ggZW50ZXJwcmlzZVxuICAgICAgcmV0dXJuIG5ldyBFbnRlcnByaXNlKHRoaXMuYml0Z28sIHRoaXMuYmFzZUNvaW4sIGUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIGFuIGVudGVycHJpc2UgZnJvbSBCaXRHb1xuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0KHBhcmFtczogR2V0RW50ZXJwcmlzZU9wdGlvbnMgPSB7fSk6IFByb21pc2U8RW50ZXJwcmlzZT4ge1xuICAgIGNvbnN0IGVudGVycHJpc2VJZCA9IHBhcmFtcy5pZDtcbiAgICBpZiAoXy5pc1VuZGVmaW5lZChlbnRlcnByaXNlSWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2lkIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuICAgIGlmICghXy5pc1N0cmluZyhlbnRlcnByaXNlSWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2lkIG11c3QgYmUgaGV4YWRlY2ltYWwgZW50ZXJwcmlzZSBJRCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGVudGVycHJpc2VEYXRhID0gKGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMuYml0Z28udXJsKGAvZW50ZXJwcmlzZS8ke2VudGVycHJpc2VJZH1gKSkucmVzdWx0KCkpIGFzIGFueTtcbiAgICByZXR1cm4gbmV3IEVudGVycHJpc2UodGhpcy5iaXRnbywgdGhpcy5iYXNlQ29pbiwgZW50ZXJwcmlzZURhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBlbnRlcnByaXNlXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIC8vIFRPRE86IChDVC02ODYpIEZsZXNoIG91dCBwYXJhbXMgb2JqZWN0IHdpdGggdmFsaWQgZW50ZXJwcmlzZSBjcmVhdGlvbiBwYXJhbWV0ZXJzXG4gIHB1YmxpYyBhc3luYyBjcmVhdGUocGFyYW1zOiBhbnkgPSB7fSk6IFByb21pc2U8RW50ZXJwcmlzZT4ge1xuICAgIGNvbnN0IGVudGVycHJpc2VEYXRhID0gKGF3YWl0IHRoaXMuYml0Z28ucG9zdCh0aGlzLmJpdGdvLnVybChgL2VudGVycHJpc2VgKSkuc2VuZChwYXJhbXMpLnJlc3VsdCgpKSBhcyBhbnk7XG4gICAgcmV0dXJuIG5ldyBFbnRlcnByaXNlKHRoaXMuYml0Z28sIHRoaXMuYmFzZUNvaW4sIGVudGVycHJpc2VEYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNpZ24gVFNTIGNvbmZpZ3Mgb2YgYWxsIGVudGVycHJpc2VzIGJlbG9uZ2luZyB0byB0aGUgdXNlciB3aXRoIGFcbiAgICogbmV3IHVzZXIgcGFzc3dvcmQgLyBlY2RoIGtleWNoYWluXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVzaWduVHNzQ29uZmlnc0ZvckVudGVycHJpc2VzKFxuICAgIG9sZEVjZGhLZXlwYWlyOiBFY2RoRGVyaXZlZEtleXBhaXIsXG4gICAgbmV3RWNkaEtleXBhaXI6IEVjZGhEZXJpdmVkS2V5cGFpclxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBlbnRlcnByaXNlVHNzQ29uZmlnc0ZvclVzZXIgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAuZ2V0KHRoaXMuYml0Z28udXJsKCcvdHNzY29uZmlncy9lY2RzYScsIDIpKVxuICAgICAgLnF1ZXJ5KHtcbiAgICAgICAgY3JlYXRlZEJ5OiAnbWUnLFxuICAgICAgfSlcbiAgICAgIC5zZW5kKClcbiAgICAgIC5yZXN1bHQoKTtcblxuICAgIGNvbnN0IHJlc2lnbmluZ1Byb21pc2VzID0gZW50ZXJwcmlzZVRzc0NvbmZpZ3NGb3JVc2VyLm1hcChhc3luYyAoZW50ZXJwcmlzZVRzc0NvbmZpZykgPT4ge1xuICAgICAgY29uc3QgZW50ZXJwcmlzZSA9IG5ldyBFbnRlcnByaXNlKHRoaXMuYml0Z28sIHRoaXMuYml0Z28uY29pbigndGJ0YycpLCB7XG4gICAgICAgIGlkOiBlbnRlcnByaXNlVHNzQ29uZmlnLmVudGVycHJpc2VJZCxcbiAgICAgICAgbmFtZTogJycsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGVudGVycHJpc2VDaGFsbGVuZ2UgPSBlbnRlcnByaXNlVHNzQ29uZmlnLmVjZHNhLmNoYWxsZW5nZT8uZW50ZXJwcmlzZSBhcyBTZXJpYWxpemVkTnRpbGRlV2l0aFZlcmlmaWVycztcbiAgICAgIGNvbnN0IGJpdGdvTml0cm9DaGFsbGVuZ2UgPSBlbnRlcnByaXNlVHNzQ29uZmlnLmVjZHNhLmNoYWxsZW5nZT8uYml0Z29OaXRyb0hzbSBhcyBTZXJpYWxpemVkTnRpbGRlV2l0aFZlcmlmaWVycztcbiAgICAgIGNvbnN0IGJpdGdvSW5zdENoYWxsZW5nZSA9IGVudGVycHJpc2VUc3NDb25maWcuZWNkc2EuY2hhbGxlbmdlXG4gICAgICAgID8uYml0Z29JbnN0aXR1dGlvbmFsSHNtIGFzIFNlcmlhbGl6ZWROdGlsZGVXaXRoVmVyaWZpZXJzO1xuICAgICAgYXdhaXQgZW50ZXJwcmlzZS5yZXNpZ25FbnRlcnByaXNlQ2hhbGxlbmdlcyhcbiAgICAgICAgb2xkRWNkaEtleXBhaXIsXG4gICAgICAgIG5ld0VjZGhLZXlwYWlyLFxuICAgICAgICBlbnRlcnByaXNlQ2hhbGxlbmdlLFxuICAgICAgICBiaXRnb0luc3RDaGFsbGVuZ2UsXG4gICAgICAgIGJpdGdvTml0cm9DaGFsbGVuZ2VcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChyZXNpZ25pbmdQcm9taXNlcyk7XG4gIH1cbn1cbiJdfQ==

Выполнить команду


Для локальной разработки. Не используйте в интернете!