PHP WebShell

Текущая директория: /opt/BitGoJS/modules/sdk-coin-sol/dist/src/lib

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

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.StakingAuthorizeBuilder = void 0;
const sdk_core_1 = require("@bitgo/sdk-core");
const transactionBuilder_1 = require("./transactionBuilder");
const constants_1 = require("./constants");
const assert_1 = __importDefault(require("assert"));
const utils_1 = require("./utils");
class StakingAuthorizeBuilder extends transactionBuilder_1.TransactionBuilder {
    constructor(_coinConfig) {
        super(_coinConfig);
    }
    get transactionType() {
        return sdk_core_1.TransactionType.StakingAuthorize;
    }
    /** @inheritdoc */
    initBuilder(tx) {
        super.initBuilder(tx);
        for (const instruction of this._instructionsData) {
            if (instruction.type === constants_1.InstructionBuilderTypes.StakingAuthorize) {
                const AuthorizeInstruction = instruction;
                this.stakingAddress(AuthorizeInstruction.params.stakingAddress);
                this.newAuthorizedAddress(AuthorizeInstruction.params.newAuthorizeAddress);
                this.oldAuthorizedAddress(AuthorizeInstruction.params.oldAuthorizeAddress);
            }
        }
    }
    /**
     * The address of the staking account.
     *
     * @param {string} stakingAddress public address of the staking account.
     * @returns {StakeBuilder} This staking builder.
     *
     * @see https://docs.solana.com/staking/stake-accounts#account-address
     */
    stakingAddress(stakingAddress) {
        (0, utils_1.validateAddress)(stakingAddress, 'stakingAddress');
        this._stakingAddress = stakingAddress;
        return this;
    }
    /**
     * The address of the new staking account authorization.
     *
     * @param {string} stakingAddress public address of the staking account.
     * @returns {StakeBuilder} This staking builder.
     *
     * @see https://docs.solana.com/staking/stake-accounts#account-address
     */
    newAuthorizedAddress(newAuthorizedAddress) {
        (0, utils_1.validateAddress)(newAuthorizedAddress, 'newAuthorizedAddress');
        this._newAuthorizedAddress = newAuthorizedAddress;
        return this;
    }
    /**
     * The address of the new staking account authorization.
     *
     * @param {string} stakingAddress public address of the staking account.
     * @returns {StakeBuilder} This staking builder.
     *
     * @see https://docs.solana.com/staking/stake-accounts#account-address
     */
    oldAuthorizedAddress(oldAuthorizedAddress) {
        (0, utils_1.validateAddress)(oldAuthorizedAddress, 'oldAuthorizedAddress');
        this._oldAuthorizedAddress = oldAuthorizedAddress;
        return this;
    }
    /** @inheritdoc */
    async buildImplementation() {
        (0, assert_1.default)(this._stakingAddress, 'Staking Address must be set before building the transaction');
        (0, assert_1.default)(this._newAuthorizedAddress, 'new authorized Address must be set before building the transaction');
        (0, assert_1.default)(this._oldAuthorizedAddress, 'old authorized Address must be set before building the transaction');
        const stakingAccountData = {
            type: constants_1.InstructionBuilderTypes.StakingAuthorize,
            params: {
                stakingAddress: this._stakingAddress,
                newWithdrawAddress: this._newAuthorizedAddress,
                newAuthorizeAddress: this._newAuthorizedAddress,
                oldAuthorizeAddress: this._oldAuthorizedAddress,
            },
        };
        this._instructionsData = [stakingAccountData];
        return await super.buildImplementation();
    }
}
exports.StakingAuthorizeBuilder = StakingAuthorizeBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0F1dGhvcml6ZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3N0YWtpbmdBdXRob3JpemVCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDhDQUFrRDtBQUVsRCw2REFBMEQ7QUFDMUQsMkNBQXNEO0FBRXRELG9EQUE0QjtBQUU1QixtQ0FBMEM7QUFFMUMsTUFBYSx1QkFBd0IsU0FBUSx1Q0FBa0I7SUFLN0QsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsZ0JBQWdCLENBQUM7SUFDMUMsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLEtBQUssTUFBTSxXQUFXLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDakQsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLG1DQUF1QixDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ2xFLE1BQU0sb0JBQW9CLEdBQXFCLFdBQVcsQ0FBQztnQkFDM0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDM0UsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQzdFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxjQUFjLENBQUMsY0FBc0I7UUFDbkMsSUFBQSx1QkFBZSxFQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxvQkFBb0IsQ0FBQyxvQkFBNEI7UUFDL0MsSUFBQSx1QkFBZSxFQUFDLG9CQUFvQixFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLG9CQUFvQixDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxvQkFBb0IsQ0FBQyxvQkFBNEI7UUFDL0MsSUFBQSx1QkFBZSxFQUFDLG9CQUFvQixFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLG9CQUFvQixDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsSUFBQSxnQkFBTSxFQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsNkRBQTZELENBQUMsQ0FBQztRQUM1RixJQUFBLGdCQUFNLEVBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLG9FQUFvRSxDQUFDLENBQUM7UUFDekcsSUFBQSxnQkFBTSxFQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxvRUFBb0UsQ0FBQyxDQUFDO1FBRXpHLE1BQU0sa0JBQWtCLEdBQXFCO1lBQzNDLElBQUksRUFBRSxtQ0FBdUIsQ0FBQyxnQkFBZ0I7WUFDOUMsTUFBTSxFQUFFO2dCQUNOLGNBQWMsRUFBRSxJQUFJLENBQUMsZUFBZTtnQkFDcEMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtnQkFDOUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtnQkFDL0MsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjthQUNoRDtTQUNGLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTlDLE9BQU8sTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUF2RkQsMERBdUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IFN0YWtpbmdBdXRob3JpemUgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IHZhbGlkYXRlQWRkcmVzcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgU3Rha2luZ0F1dGhvcml6ZUJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3N0YWtpbmdBZGRyZXNzOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfbmV3QXV0aG9yaXplZEFkZHJlc3M6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9vbGRBdXRob3JpemVkQWRkcmVzczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQXV0aG9yaXplO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIHRoaXMuX2luc3RydWN0aW9uc0RhdGEpIHtcbiAgICAgIGlmIChpbnN0cnVjdGlvbi50eXBlID09PSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5TdGFraW5nQXV0aG9yaXplKSB7XG4gICAgICAgIGNvbnN0IEF1dGhvcml6ZUluc3RydWN0aW9uOiBTdGFraW5nQXV0aG9yaXplID0gaW5zdHJ1Y3Rpb247XG4gICAgICAgIHRoaXMuc3Rha2luZ0FkZHJlc3MoQXV0aG9yaXplSW5zdHJ1Y3Rpb24ucGFyYW1zLnN0YWtpbmdBZGRyZXNzKTtcbiAgICAgICAgdGhpcy5uZXdBdXRob3JpemVkQWRkcmVzcyhBdXRob3JpemVJbnN0cnVjdGlvbi5wYXJhbXMubmV3QXV0aG9yaXplQWRkcmVzcyk7XG4gICAgICAgIHRoaXMub2xkQXV0aG9yaXplZEFkZHJlc3MoQXV0aG9yaXplSW5zdHJ1Y3Rpb24ucGFyYW1zLm9sZEF1dGhvcml6ZUFkZHJlc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYWRkcmVzcyBvZiB0aGUgc3Rha2luZyBhY2NvdW50LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3Rha2luZ0FkZHJlc3MgcHVibGljIGFkZHJlc3Mgb2YgdGhlIHN0YWtpbmcgYWNjb3VudC5cbiAgICogQHJldHVybnMge1N0YWtlQnVpbGRlcn0gVGhpcyBzdGFraW5nIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLnNvbGFuYS5jb20vc3Rha2luZy9zdGFrZS1hY2NvdW50cyNhY2NvdW50LWFkZHJlc3NcbiAgICovXG4gIHN0YWtpbmdBZGRyZXNzKHN0YWtpbmdBZGRyZXNzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB2YWxpZGF0ZUFkZHJlc3Moc3Rha2luZ0FkZHJlc3MsICdzdGFraW5nQWRkcmVzcycpO1xuICAgIHRoaXMuX3N0YWtpbmdBZGRyZXNzID0gc3Rha2luZ0FkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGFkZHJlc3Mgb2YgdGhlIG5ldyBzdGFraW5nIGFjY291bnQgYXV0aG9yaXphdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0YWtpbmdBZGRyZXNzIHB1YmxpYyBhZGRyZXNzIG9mIHRoZSBzdGFraW5nIGFjY291bnQuXG4gICAqIEByZXR1cm5zIHtTdGFrZUJ1aWxkZXJ9IFRoaXMgc3Rha2luZyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5zb2xhbmEuY29tL3N0YWtpbmcvc3Rha2UtYWNjb3VudHMjYWNjb3VudC1hZGRyZXNzXG4gICAqL1xuICBuZXdBdXRob3JpemVkQWRkcmVzcyhuZXdBdXRob3JpemVkQWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdmFsaWRhdGVBZGRyZXNzKG5ld0F1dGhvcml6ZWRBZGRyZXNzLCAnbmV3QXV0aG9yaXplZEFkZHJlc3MnKTtcbiAgICB0aGlzLl9uZXdBdXRob3JpemVkQWRkcmVzcyA9IG5ld0F1dGhvcml6ZWRBZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhZGRyZXNzIG9mIHRoZSBuZXcgc3Rha2luZyBhY2NvdW50IGF1dGhvcml6YXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdGFraW5nQWRkcmVzcyBwdWJsaWMgYWRkcmVzcyBvZiB0aGUgc3Rha2luZyBhY2NvdW50LlxuICAgKiBAcmV0dXJucyB7U3Rha2VCdWlsZGVyfSBUaGlzIHN0YWtpbmcgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3Muc29sYW5hLmNvbS9zdGFraW5nL3N0YWtlLWFjY291bnRzI2FjY291bnQtYWRkcmVzc1xuICAgKi9cbiAgb2xkQXV0aG9yaXplZEFkZHJlc3Mob2xkQXV0aG9yaXplZEFkZHJlc3M6IHN0cmluZyk6IHRoaXMge1xuICAgIHZhbGlkYXRlQWRkcmVzcyhvbGRBdXRob3JpemVkQWRkcmVzcywgJ29sZEF1dGhvcml6ZWRBZGRyZXNzJyk7XG4gICAgdGhpcy5fb2xkQXV0aG9yaXplZEFkZHJlc3MgPSBvbGRBdXRob3JpemVkQWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgYXNzZXJ0KHRoaXMuX3N0YWtpbmdBZGRyZXNzLCAnU3Rha2luZyBBZGRyZXNzIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcbiAgICBhc3NlcnQodGhpcy5fbmV3QXV0aG9yaXplZEFkZHJlc3MsICduZXcgYXV0aG9yaXplZCBBZGRyZXNzIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcbiAgICBhc3NlcnQodGhpcy5fb2xkQXV0aG9yaXplZEFkZHJlc3MsICdvbGQgYXV0aG9yaXplZCBBZGRyZXNzIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgdHJhbnNhY3Rpb24nKTtcblxuICAgIGNvbnN0IHN0YWtpbmdBY2NvdW50RGF0YTogU3Rha2luZ0F1dGhvcml6ZSA9IHtcbiAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlN0YWtpbmdBdXRob3JpemUsXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgc3Rha2luZ0FkZHJlc3M6IHRoaXMuX3N0YWtpbmdBZGRyZXNzLFxuICAgICAgICBuZXdXaXRoZHJhd0FkZHJlc3M6IHRoaXMuX25ld0F1dGhvcml6ZWRBZGRyZXNzLFxuICAgICAgICBuZXdBdXRob3JpemVBZGRyZXNzOiB0aGlzLl9uZXdBdXRob3JpemVkQWRkcmVzcyxcbiAgICAgICAgb2xkQXV0aG9yaXplQWRkcmVzczogdGhpcy5fb2xkQXV0aG9yaXplZEFkZHJlc3MsXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5faW5zdHJ1Y3Rpb25zRGF0YSA9IFtzdGFraW5nQWNjb3VudERhdGFdO1xuXG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJ1aWxkSW1wbGVtZW50YXRpb24oKTtcbiAgfVxufVxuIl19

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


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