PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/abstract-utxo/dist/src/descriptor/createWallet
Просмотр файла: createDescriptors.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultWsh2Of3 = void 0;
const NamedDescriptor_1 = require("../NamedDescriptor");
const builder_1 = require("../builder");
/**
* Create a pair of external and internal descriptors for a 2-of-3 multisig wallet.
* Overrides the path of the builder to use the external and internal derivation paths (0/* and 1/*).
*
* @param builder
* @param userKey
*/
function createExternalInternalPair(builder, userKey) {
if (userKey.isNeutered()) {
throw new Error('User key must be private');
}
const external = (0, NamedDescriptor_1.createNamedDescriptorWithSignature)(builder.name + '/external', (0, builder_1.getDescriptorFromBuilder)({ ...builder, path: '0/*' }), userKey);
const internal = (0, NamedDescriptor_1.createNamedDescriptorWithSignature)(builder.name + '/internal', (0, builder_1.getDescriptorFromBuilder)({ ...builder, path: '1/*' }), userKey);
if (external.value === internal.value) {
throw new Error('External and internal descriptors must be different. Make to use the path in descriptor.');
}
return [external, internal];
}
/**
* Create a pair of external and internal descriptors for a 2-of-3 multisig wallet.
*
* @param userKey
* @param cosigners
* @constructor
*/
const DefaultWsh2Of3 = (userKey, cosigners) => createExternalInternalPair({ name: 'Wsh2Of3', keys: [userKey.neutered(), ...cosigners], path: '' }, userKey);
exports.DefaultWsh2Of3 = DefaultWsh2Of3;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlRGVzY3JpcHRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9jcmVhdGVXYWxsZXQvY3JlYXRlRGVzY3JpcHRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsd0RBQXlGO0FBQ3pGLHdDQUF5RTtBQUl6RTs7Ozs7O0dBTUc7QUFDSCxTQUFTLDBCQUEwQixDQUNqQyxPQUEwQixFQUMxQixPQUF1QjtJQUV2QixJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBQSxvREFBa0MsRUFDakQsT0FBTyxDQUFDLElBQUksR0FBRyxXQUFXLEVBQzFCLElBQUEsa0NBQXdCLEVBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFDckQsT0FBTyxDQUNSLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRyxJQUFBLG9EQUFrQyxFQUNqRCxPQUFPLENBQUMsSUFBSSxHQUFHLFdBQVcsRUFDMUIsSUFBQSxrQ0FBd0IsRUFBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUNyRCxPQUFPLENBQ1IsQ0FBQztJQUNGLElBQUksUUFBUSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQywwRkFBMEYsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFDRCxPQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQzlCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSSxNQUFNLGNBQWMsR0FBdUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FDdkUsMEJBQTBCLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQURsRyxRQUFBLGNBQWMsa0JBQ29GIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQklQMzJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5pbXBvcnQgeyBjcmVhdGVOYW1lZERlc2NyaXB0b3JXaXRoU2lnbmF0dXJlLCBOYW1lZERlc2NyaXB0b3IgfSBmcm9tICcuLi9OYW1lZERlc2NyaXB0b3InO1xuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvckZyb21CdWlsZGVyLCBEZXNjcmlwdG9yQnVpbGRlciB9IGZyb20gJy4uL2J1aWxkZXInO1xuXG5leHBvcnQgdHlwZSBEZXNjcmlwdG9yRnJvbUtleXMgPSAodXNlcktleTogQklQMzJJbnRlcmZhY2UsIGNvc2lnbmVyczogQklQMzJJbnRlcmZhY2VbXSkgPT4gTmFtZWREZXNjcmlwdG9yW107XG5cbi8qKlxuICogQ3JlYXRlIGEgcGFpciBvZiBleHRlcm5hbCBhbmQgaW50ZXJuYWwgZGVzY3JpcHRvcnMgZm9yIGEgMi1vZi0zIG11bHRpc2lnIHdhbGxldC5cbiAqIE92ZXJyaWRlcyB0aGUgcGF0aCBvZiB0aGUgYnVpbGRlciB0byB1c2UgdGhlIGV4dGVybmFsIGFuZCBpbnRlcm5hbCBkZXJpdmF0aW9uIHBhdGhzICgwLyogYW5kIDEvKikuXG4gKlxuICogQHBhcmFtIGJ1aWxkZXJcbiAqIEBwYXJhbSB1c2VyS2V5XG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUV4dGVybmFsSW50ZXJuYWxQYWlyKFxuICBidWlsZGVyOiBEZXNjcmlwdG9yQnVpbGRlcixcbiAgdXNlcktleTogQklQMzJJbnRlcmZhY2Vcbik6IFtOYW1lZERlc2NyaXB0b3IsIE5hbWVkRGVzY3JpcHRvcl0ge1xuICBpZiAodXNlcktleS5pc05ldXRlcmVkKCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VzZXIga2V5IG11c3QgYmUgcHJpdmF0ZScpO1xuICB9XG4gIGNvbnN0IGV4dGVybmFsID0gY3JlYXRlTmFtZWREZXNjcmlwdG9yV2l0aFNpZ25hdHVyZShcbiAgICBidWlsZGVyLm5hbWUgKyAnL2V4dGVybmFsJyxcbiAgICBnZXREZXNjcmlwdG9yRnJvbUJ1aWxkZXIoeyAuLi5idWlsZGVyLCBwYXRoOiAnMC8qJyB9KSxcbiAgICB1c2VyS2V5XG4gICk7XG4gIGNvbnN0IGludGVybmFsID0gY3JlYXRlTmFtZWREZXNjcmlwdG9yV2l0aFNpZ25hdHVyZShcbiAgICBidWlsZGVyLm5hbWUgKyAnL2ludGVybmFsJyxcbiAgICBnZXREZXNjcmlwdG9yRnJvbUJ1aWxkZXIoeyAuLi5idWlsZGVyLCBwYXRoOiAnMS8qJyB9KSxcbiAgICB1c2VyS2V5XG4gICk7XG4gIGlmIChleHRlcm5hbC52YWx1ZSA9PT0gaW50ZXJuYWwudmFsdWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4dGVybmFsIGFuZCBpbnRlcm5hbCBkZXNjcmlwdG9ycyBtdXN0IGJlIGRpZmZlcmVudC4gTWFrZSB0byB1c2UgdGhlIHBhdGggaW4gZGVzY3JpcHRvci4nKTtcbiAgfVxuICByZXR1cm4gW2V4dGVybmFsLCBpbnRlcm5hbF07XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgcGFpciBvZiBleHRlcm5hbCBhbmQgaW50ZXJuYWwgZGVzY3JpcHRvcnMgZm9yIGEgMi1vZi0zIG11bHRpc2lnIHdhbGxldC5cbiAqXG4gKiBAcGFyYW0gdXNlcktleVxuICogQHBhcmFtIGNvc2lnbmVyc1xuICogQGNvbnN0cnVjdG9yXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0V3NoMk9mMzogRGVzY3JpcHRvckZyb21LZXlzID0gKHVzZXJLZXksIGNvc2lnbmVycykgPT5cbiAgY3JlYXRlRXh0ZXJuYWxJbnRlcm5hbFBhaXIoeyBuYW1lOiAnV3NoMk9mMycsIGtleXM6IFt1c2VyS2V5Lm5ldXRlcmVkKCksIC4uLmNvc2lnbmVyc10sIHBhdGg6ICcnIH0sIHVzZXJLZXkpO1xuIl19Выполнить команду
Для локальной разработки. Не используйте в интернете!