PHP WebShell

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

Просмотр файла: stakingWithdrawBuilder.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;
    };
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.StakingWithdrawBuilder = void 0;
const sdk_core_1 = require("@bitgo/sdk-core");
const bignumber_js_1 = __importDefault(require("bignumber.js"));
const NearAPI = __importStar(require("near-api-js"));
const assert_1 = __importDefault(require("assert"));
const bn_js_1 = __importDefault(require("bn.js"));
const contractCallWrapper_1 = require("./contractCallWrapper");
const transactionBuilder_1 = require("./transactionBuilder");
const constants_1 = require("./constants");
class StakingWithdrawBuilder extends transactionBuilder_1.TransactionBuilder {
    constructor(_coinConfig) {
        super(_coinConfig);
        this.contractCallWrapper = new contractCallWrapper_1.ContractCallWrapper();
        this.contractCallWrapper.methodName = constants_1.StakingContractMethodNames.Withdraw;
        this.contractCallWrapper.deposit = '0';
    }
    get transactionType() {
        return sdk_core_1.TransactionType.StakingWithdraw;
    }
    /**
     * Initialize the transaction builder fields using the decoded transaction data
     *
     * @param {Transaction} tx the transaction data
     */
    initBuilder(tx) {
        super.initBuilder(tx);
        const functionCall = tx.nearTransaction.actions[0].functionCall;
        this.contractCallWrapper.args = JSON.parse(Buffer.from(functionCall.args).toString());
        this.contractCallWrapper.gas = functionCall.gas.toString();
    }
    /**
     * Sets the gas of this transaction.
     *
     * @param {string} value the gas of this transaction
     * @returns {TransactionBuilder} This transaction builder
     */
    gas(gas) {
        this.validateValue(new bignumber_js_1.default(gas));
        this.contractCallWrapper.gas = gas;
        return this;
    }
    /**
     * Sets the amount of this transaction.
     *
     * @param {string} value the amount in the minimum unit (1 Near = 1e24 yoctos) of this transaction
     * @returns {TransactionBuilder} This transaction builder
     */
    amount(amount) {
        this.validateValue(new bignumber_js_1.default(amount));
        this.contractCallWrapper.args = { amount: amount };
        return this;
    }
    /** @inheritdoc */
    async buildImplementation() {
        const { methodName, args, gas, deposit } = this.contractCallWrapper.getParams();
        (0, assert_1.default)(gas, new sdk_core_1.BuildTransactionError('gas is required before building staking withdraw'));
        (0, assert_1.default)(args?.amount, new sdk_core_1.BuildTransactionError('amount is required before building staking withdraw'));
        super.actions([NearAPI.transactions.functionCall(methodName, args, new bn_js_1.default(gas), new bn_js_1.default(deposit))]);
        const tx = await super.buildImplementation();
        tx.setTransactionType(sdk_core_1.TransactionType.StakingWithdraw);
        return tx;
    }
}
exports.StakingWithdrawBuilder = StakingWithdrawBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ1dpdGhkcmF3QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc3Rha2luZ1dpdGhkcmF3QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSw4Q0FBeUU7QUFFekUsZ0VBQXFDO0FBQ3JDLHFEQUF1QztBQUN2QyxvREFBNEI7QUFDNUIsa0RBQXVCO0FBRXZCLCtEQUE0RDtBQUM1RCw2REFBMEQ7QUFDMUQsMkNBQXlEO0FBRXpELE1BQWEsc0JBQXVCLFNBQVEsdUNBQWtCO0lBRzVELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLHlDQUFtQixFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxzQ0FBMEIsQ0FBQyxRQUFRLENBQUM7UUFDMUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDekMsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsZUFBZSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDaEUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEdBQUcsQ0FBQyxHQUFXO1FBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsTUFBYztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksc0JBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDbkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hGLElBQUEsZ0JBQU0sRUFBQyxHQUFHLEVBQUUsSUFBSSxnQ0FBcUIsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDLENBQUM7UUFDM0YsSUFBQSxnQkFBTSxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxnQ0FBcUIsQ0FBQyxxREFBcUQsQ0FBQyxDQUFDLENBQUM7UUFFdkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxlQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxlQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkcsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QyxFQUFFLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRjtBQTdERCx3REE2REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCAqIGFzIE5lYXJBUEkgZnJvbSAnbmVhci1hcGktanMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IEJOIGZyb20gJ2JuLmpzJztcblxuaW1wb3J0IHsgQ29udHJhY3RDYWxsV3JhcHBlciB9IGZyb20gJy4vY29udHJhY3RDYWxsV3JhcHBlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nQ29udHJhY3RNZXRob2ROYW1lcyB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIGNvbnRyYWN0Q2FsbFdyYXBwZXI6IENvbnRyYWN0Q2FsbFdyYXBwZXI7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlciA9IG5ldyBDb250cmFjdENhbGxXcmFwcGVyKCk7XG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLm1ldGhvZE5hbWUgPSBTdGFraW5nQ29udHJhY3RNZXRob2ROYW1lcy5XaXRoZHJhdztcbiAgICB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuZGVwb3NpdCA9ICcwJztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXc7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIGNvbnN0IGZ1bmN0aW9uQ2FsbCA9IHR4Lm5lYXJUcmFuc2FjdGlvbi5hY3Rpb25zWzBdLmZ1bmN0aW9uQ2FsbDtcbiAgICB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuYXJncyA9IEpTT04ucGFyc2UoQnVmZmVyLmZyb20oZnVuY3Rpb25DYWxsLmFyZ3MpLnRvU3RyaW5nKCkpO1xuICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlci5nYXMgPSBmdW5jdGlvbkNhbGwuZ2FzLnRvU3RyaW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZ2FzIG9mIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSB0aGUgZ2FzIG9mIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBwdWJsaWMgZ2FzKGdhczogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIoZ2FzKSk7XG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLmdhcyA9IGdhcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhbW91bnQgb2YgdGhpcyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIHRoZSBhbW91bnQgaW4gdGhlIG1pbmltdW0gdW5pdCAoMSBOZWFyID0gMWUyNCB5b2N0b3MpIG9mIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBwdWJsaWMgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIoYW1vdW50KSk7XG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLmFyZ3MgPSB7IGFtb3VudDogYW1vdW50IH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHsgbWV0aG9kTmFtZSwgYXJncywgZ2FzLCBkZXBvc2l0IH0gPSB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuZ2V0UGFyYW1zKCk7XG4gICAgYXNzZXJ0KGdhcywgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignZ2FzIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZyBzdGFraW5nIHdpdGhkcmF3JykpO1xuICAgIGFzc2VydChhcmdzPy5hbW91bnQsIG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2Ftb3VudCBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcgc3Rha2luZyB3aXRoZHJhdycpKTtcblxuICAgIHN1cGVyLmFjdGlvbnMoW05lYXJBUEkudHJhbnNhY3Rpb25zLmZ1bmN0aW9uQ2FsbChtZXRob2ROYW1lLCBhcmdzLCBuZXcgQk4oZ2FzKSwgbmV3IEJOKGRlcG9zaXQpKV0pO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICAgIHR4LnNldFRyYW5zYWN0aW9uVHlwZShUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3KTtcbiAgICByZXR1cm4gdHg7XG4gIH1cbn1cbiJdfQ==

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


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