PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/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 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;
        if (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} gas 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} amount 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, BigInt(gas), BigInt(deposit))]);
        const tx = await super.buildImplementation();
        tx.setTransactionType(sdk_core_1.TransactionType.StakingWithdraw);
        return tx;
    }
}
exports.StakingWithdrawBuilder = StakingWithdrawBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ1dpdGhkcmF3QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc3Rha2luZ1dpdGhkcmF3QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSw4Q0FBeUU7QUFFekUsZ0VBQXFDO0FBQ3JDLHFEQUF1QztBQUN2QyxvREFBNEI7QUFFNUIsK0RBQTREO0FBQzVELDZEQUEwRDtBQUMxRCwyQ0FBeUQ7QUFFekQsTUFBYSxzQkFBdUIsU0FBUSx1Q0FBa0I7SUFHNUQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUkseUNBQW1CLEVBQUUsQ0FBQztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxHQUFHLHNDQUEwQixDQUFDLFFBQVEsQ0FBQztRQUMxRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxlQUFlLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNoRSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3RGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksR0FBRyxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxNQUFjO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNuRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEYsSUFBQSxnQkFBTSxFQUFDLEdBQUcsRUFBRSxJQUFJLGdDQUFxQixDQUFDLGtEQUFrRCxDQUFDLENBQUMsQ0FBQztRQUMzRixJQUFBLGdCQUFNLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLGdDQUFxQixDQUFDLHFEQUFxRCxDQUFDLENBQUMsQ0FBQztRQUV2RyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25HLE1BQU0sRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0MsRUFBRSxDQUFDLGtCQUFrQixDQUFDLDBCQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0Y7QUEvREQsd0RBK0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgKiBhcyBOZWFyQVBJIGZyb20gJ25lYXItYXBpLWpzJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgQ29udHJhY3RDYWxsV3JhcHBlciB9IGZyb20gJy4vY29udHJhY3RDYWxsV3JhcHBlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nQ29udHJhY3RNZXRob2ROYW1lcyB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIGNvbnRyYWN0Q2FsbFdyYXBwZXI6IENvbnRyYWN0Q2FsbFdyYXBwZXI7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlciA9IG5ldyBDb250cmFjdENhbGxXcmFwcGVyKCk7XG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLm1ldGhvZE5hbWUgPSBTdGFraW5nQ29udHJhY3RNZXRob2ROYW1lcy5XaXRoZHJhdztcbiAgICB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuZGVwb3NpdCA9ICcwJztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXc7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIGNvbnN0IGZ1bmN0aW9uQ2FsbCA9IHR4Lm5lYXJUcmFuc2FjdGlvbi5hY3Rpb25zWzBdLmZ1bmN0aW9uQ2FsbDtcbiAgICBpZiAoZnVuY3Rpb25DYWxsKSB7XG4gICAgICB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuYXJncyA9IEpTT04ucGFyc2UoQnVmZmVyLmZyb20oZnVuY3Rpb25DYWxsLmFyZ3MpLnRvU3RyaW5nKCkpO1xuICAgICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLmdhcyA9IGZ1bmN0aW9uQ2FsbC5nYXMudG9TdHJpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZ2FzIG9mIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBnYXMgdGhlIGdhcyBvZiB0aGlzIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgcHVibGljIGdhcyhnYXM6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGdhcykpO1xuICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlci5nYXMgPSBnYXM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYW1vdW50IG9mIHRoaXMgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhbW91bnQgdGhlIGFtb3VudCBpbiB0aGUgbWluaW11bSB1bml0ICgxIE5lYXIgPSAxZTI0IHlvY3Rvcykgb2YgdGhpcyB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHB1YmxpYyBhbW91bnQoYW1vdW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihhbW91bnQpKTtcbiAgICB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuYXJncyA9IHsgYW1vdW50OiBhbW91bnQgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgeyBtZXRob2ROYW1lLCBhcmdzLCBnYXMsIGRlcG9zaXQgfSA9IHRoaXMuY29udHJhY3RDYWxsV3JhcHBlci5nZXRQYXJhbXMoKTtcbiAgICBhc3NlcnQoZ2FzLCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdnYXMgaXMgcmVxdWlyZWQgYmVmb3JlIGJ1aWxkaW5nIHN0YWtpbmcgd2l0aGRyYXcnKSk7XG4gICAgYXNzZXJ0KGFyZ3M/LmFtb3VudCwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignYW1vdW50IGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZyBzdGFraW5nIHdpdGhkcmF3JykpO1xuXG4gICAgc3VwZXIuYWN0aW9ucyhbTmVhckFQSS50cmFuc2FjdGlvbnMuZnVuY3Rpb25DYWxsKG1ldGhvZE5hbWUsIGFyZ3MsIEJpZ0ludChnYXMpLCBCaWdJbnQoZGVwb3NpdCkpXSk7XG4gICAgY29uc3QgdHggPSBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gICAgdHguc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXcpO1xuICAgIHJldHVybiB0eDtcbiAgfVxufVxuIl19

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


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