PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/sdk-coin-xrp/dist/src/lib

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

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WalletInitializationBuilder = void 0;
const sdk_core_1 = require("@bitgo/sdk-core");
const constants_1 = require("./constants");
const transactionBuilder_1 = require("./transactionBuilder");
const utils_1 = __importDefault(require("./utils"));
class WalletInitializationBuilder extends transactionBuilder_1.TransactionBuilder {
    constructor(_coinConfig) {
        super(_coinConfig);
        this._signerEntries = [];
    }
    get transactionType() {
        return sdk_core_1.TransactionType.WalletInitialization;
    }
    get xrpTransactionType() {
        return 'SignerListSet';
    }
    signerQuorum(quorum) {
        if (typeof quorum !== 'number' || quorum < 1) {
            throw new Error(`quorum must be a valid number greater than 0, got: ${quorum}`);
        }
        this._signerQuorum = quorum;
        return this;
    }
    signer(signer) {
        if (this._signerEntries.length > constants_1.MAX_SIGNERS) {
            throw new sdk_core_1.BuildTransactionError(`Cannot have more than ${constants_1.MAX_SIGNERS} signers`);
        }
        utils_1.default.validateSigner(signer);
        this._signerEntries.push({
            SignerEntry: { Account: signer.address, SignerWeight: signer.weight },
        });
        return this;
    }
    initBuilder(tx) {
        super.initBuilder(tx);
        const { signerEntries, signerQuorum } = tx.toJson();
        if (signerQuorum) {
            this.signerQuorum(signerQuorum);
        }
        if (signerEntries?.length) {
            signerEntries.forEach((signer) => this.signer({
                address: signer.SignerEntry.Account,
                weight: signer.SignerEntry.SignerWeight,
            }));
        }
    }
    /** @inheritdoc */
    async buildImplementation() {
        if (!this._sender) {
            throw new sdk_core_1.BuildTransactionError('Sender must be set before building the transaction');
        }
        if (!this._signerQuorum || this._signerQuorum < constants_1.MIN_SIGNER_QUORUM) {
            throw new sdk_core_1.BuildTransactionError('Signer quorum must be set before building the transaction');
        }
        if (!this._signerEntries) {
            throw new sdk_core_1.BuildTransactionError('Signers must be set before building the transaction');
        }
        if (this._signerEntries.length < constants_1.MIN_SIGNERS || this._signerEntries.length > constants_1.MAX_SIGNERS) {
            throw new sdk_core_1.BuildTransactionError(`Signers must be between ${constants_1.MIN_SIGNERS} and ${constants_1.MAX_SIGNERS}`);
        }
        this._specificFields = {
            TransactionType: this.xrpTransactionType,
            Account: this._sender,
            SignerQuorum: this._signerQuorum,
            SignerEntries: this._signerEntries,
        };
        return await super.buildImplementation();
    }
}
exports.WalletInitializationBuilder = WalletInitializationBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXlFO0FBR3pFLDJDQUEwRTtBQUcxRSw2REFBMEQ7QUFDMUQsb0RBQTRCO0FBRTVCLE1BQWEsMkJBQTRCLFNBQVEsdUNBQWtCO0lBR2pFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRlgsbUJBQWMsR0FBa0IsRUFBRSxDQUFDO0lBRzdDLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLG9CQUFvQixDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFjLGtCQUFrQjtRQUM5QixPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWM7UUFDekIsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbEYsQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFxQjtRQUMxQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLHVCQUFXLEVBQUUsQ0FBQztZQUM3QyxNQUFNLElBQUksZ0NBQXFCLENBQUMseUJBQXlCLHVCQUFXLFVBQVUsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFDRCxlQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFO1NBQ3RFLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEIsTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEQsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRCxJQUFJLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUMxQixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDVixPQUFPLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPO2dCQUNuQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxZQUFZO2FBQ3hDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLEdBQUcsNkJBQWlCLEVBQUUsQ0FBQztZQUNsRSxNQUFNLElBQUksZ0NBQXFCLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUMvRixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksZ0NBQXFCLENBQUMscURBQXFELENBQUMsQ0FBQztRQUN6RixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyx1QkFBVyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLHVCQUFXLEVBQUUsQ0FBQztZQUN6RixNQUFNLElBQUksZ0NBQXFCLENBQUMsMkJBQTJCLHVCQUFXLFFBQVEsdUJBQVcsRUFBRSxDQUFDLENBQUM7UUFDL0YsQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLEdBQUc7WUFDckIsZUFBZSxFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDeEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDbkMsQ0FBQztRQUNGLE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUE1RUQsa0VBNEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFNpZ25lckVudHJ5IH0gZnJvbSAneHJwbC9kaXN0L25wbS9tb2RlbHMvY29tbW9uJztcbmltcG9ydCB7IE1BWF9TSUdORVJTLCBNSU5fU0lHTkVSX1FVT1JVTSwgTUlOX1NJR05FUlMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTaWduZXJEZXRhaWxzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9zaWduZXJRdW9ydW06IG51bWJlcjtcbiAgcHJvdGVjdGVkIF9zaWduZXJFbnRyaWVzOiBTaWduZXJFbnRyeVtdID0gW107XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgeHJwVHJhbnNhY3Rpb25UeXBlKCk6ICdTaWduZXJMaXN0U2V0JyB7XG4gICAgcmV0dXJuICdTaWduZXJMaXN0U2V0JztcbiAgfVxuXG4gIHNpZ25lclF1b3J1bShxdW9ydW06IG51bWJlcik6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgaWYgKHR5cGVvZiBxdW9ydW0gIT09ICdudW1iZXInIHx8IHF1b3J1bSA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgcXVvcnVtIG11c3QgYmUgYSB2YWxpZCBudW1iZXIgZ3JlYXRlciB0aGFuIDAsIGdvdDogJHtxdW9ydW19YCk7XG4gICAgfVxuICAgIHRoaXMuX3NpZ25lclF1b3J1bSA9IHF1b3J1bTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNpZ25lcihzaWduZXI6IFNpZ25lckRldGFpbHMpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGlmICh0aGlzLl9zaWduZXJFbnRyaWVzLmxlbmd0aCA+IE1BWF9TSUdORVJTKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBDYW5ub3QgaGF2ZSBtb3JlIHRoYW4gJHtNQVhfU0lHTkVSU30gc2lnbmVyc2ApO1xuICAgIH1cbiAgICB1dGlscy52YWxpZGF0ZVNpZ25lcihzaWduZXIpO1xuICAgIHRoaXMuX3NpZ25lckVudHJpZXMucHVzaCh7XG4gICAgICBTaWduZXJFbnRyeTogeyBBY2NvdW50OiBzaWduZXIuYWRkcmVzcywgU2lnbmVyV2VpZ2h0OiBzaWduZXIud2VpZ2h0IH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG5cbiAgICBjb25zdCB7IHNpZ25lckVudHJpZXMsIHNpZ25lclF1b3J1bSB9ID0gdHgudG9Kc29uKCk7XG4gICAgaWYgKHNpZ25lclF1b3J1bSkge1xuICAgICAgdGhpcy5zaWduZXJRdW9ydW0oc2lnbmVyUXVvcnVtKTtcbiAgICB9XG5cbiAgICBpZiAoc2lnbmVyRW50cmllcz8ubGVuZ3RoKSB7XG4gICAgICBzaWduZXJFbnRyaWVzLmZvckVhY2goKHNpZ25lcikgPT5cbiAgICAgICAgdGhpcy5zaWduZXIoe1xuICAgICAgICAgIGFkZHJlc3M6IHNpZ25lci5TaWduZXJFbnRyeS5BY2NvdW50LFxuICAgICAgICAgIHdlaWdodDogc2lnbmVyLlNpZ25lckVudHJ5LlNpZ25lcldlaWdodCxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBpZiAoIXRoaXMuX3NlbmRlcikge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignU2VuZGVyIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9zaWduZXJRdW9ydW0gfHwgdGhpcy5fc2lnbmVyUXVvcnVtIDwgTUlOX1NJR05FUl9RVU9SVU0pIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1NpZ25lciBxdW9ydW0gbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3NpZ25lckVudHJpZXMpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1NpZ25lcnMgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9zaWduZXJFbnRyaWVzLmxlbmd0aCA8IE1JTl9TSUdORVJTIHx8IHRoaXMuX3NpZ25lckVudHJpZXMubGVuZ3RoID4gTUFYX1NJR05FUlMpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYFNpZ25lcnMgbXVzdCBiZSBiZXR3ZWVuICR7TUlOX1NJR05FUlN9IGFuZCAke01BWF9TSUdORVJTfWApO1xuICAgIH1cblxuICAgIHRoaXMuX3NwZWNpZmljRmllbGRzID0ge1xuICAgICAgVHJhbnNhY3Rpb25UeXBlOiB0aGlzLnhycFRyYW5zYWN0aW9uVHlwZSxcbiAgICAgIEFjY291bnQ6IHRoaXMuX3NlbmRlcixcbiAgICAgIFNpZ25lclF1b3J1bTogdGhpcy5fc2lnbmVyUXVvcnVtLFxuICAgICAgU2lnbmVyRW50cmllczogdGhpcy5fc2lnbmVyRW50cmllcyxcbiAgICB9O1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cbn1cbiJdfQ==

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


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