PHP WebShell

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

Просмотр файла: stakingActivateBuilder.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.StakingActivateBuilder = 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 StakingActivateBuilder extends transactionBuilder_1.TransactionBuilder {
    constructor(_coinConfig) {
        super(_coinConfig);
        this.contractCallWrapper = new contractCallWrapper_1.ContractCallWrapper();
        this.contractCallWrapper.methodName = constants_1.StakingContractMethodNames.DepositAndStake;
        this.contractCallWrapper.args = {}; // on staking activate, the amount is on the deposit field.
    }
    get transactionType() {
        return sdk_core_1.TransactionType.StakingActivate;
    }
    /**
     * 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.deposit = functionCall.deposit.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));
        // In the staking contract call the amount must be on deposit instead of being a arg param.
        this.contractCallWrapper.deposit = 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 activate'));
        (0, assert_1.default)(deposit, new sdk_core_1.BuildTransactionError('amount is required before building staking activate'));
        super.actions([NearAPI.transactions.functionCall(methodName, args, new bn_js_1.default(gas), new bn_js_1.default(deposit, 10))]);
        const tx = await super.buildImplementation();
        tx.setTransactionType(sdk_core_1.TransactionType.StakingActivate);
        return tx;
    }
}
exports.StakingActivateBuilder = StakingActivateBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0FjdGl2YXRlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc3Rha2luZ0FjdGl2YXRlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSw4Q0FBeUU7QUFFekUsZ0VBQXFDO0FBQ3JDLHFEQUF1QztBQUN2QyxvREFBNEI7QUFDNUIsa0RBQXVCO0FBRXZCLCtEQUE0RDtBQUM1RCw2REFBMEQ7QUFDMUQsMkNBQXlEO0FBRXpELE1BQWEsc0JBQXVCLFNBQVEsdUNBQWtCO0lBRzVELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLHlDQUFtQixFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxzQ0FBMEIsQ0FBQyxlQUFlLENBQUM7UUFDakYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQywyREFBMkQ7SUFDakcsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsZUFBZSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDaEUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25FLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxHQUFHLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksc0JBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQWM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMxQywyRkFBMkY7UUFDM0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hGLElBQUEsZ0JBQU0sRUFBQyxHQUFHLEVBQUUsSUFBSSxnQ0FBcUIsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDLENBQUM7UUFDM0YsSUFBQSxnQkFBTSxFQUFDLE9BQU8sRUFBRSxJQUFJLGdDQUFxQixDQUFDLHFEQUFxRCxDQUFDLENBQUMsQ0FBQztRQUVsRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLGVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLGVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkcsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QyxFQUFFLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRjtBQTlERCx3REE4REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCAqIGFzIE5lYXJBUEkgZnJvbSAnbmVhci1hcGktanMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IEJOIGZyb20gJ2JuLmpzJztcblxuaW1wb3J0IHsgQ29udHJhY3RDYWxsV3JhcHBlciB9IGZyb20gJy4vY29udHJhY3RDYWxsV3JhcHBlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nQ29udHJhY3RNZXRob2ROYW1lcyB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIGNvbnRyYWN0Q2FsbFdyYXBwZXI6IENvbnRyYWN0Q2FsbFdyYXBwZXI7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuY29udHJhY3RDYWxsV3JhcHBlciA9IG5ldyBDb250cmFjdENhbGxXcmFwcGVyKCk7XG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLm1ldGhvZE5hbWUgPSBTdGFraW5nQ29udHJhY3RNZXRob2ROYW1lcy5EZXBvc2l0QW5kU3Rha2U7XG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLmFyZ3MgPSB7fTsgLy8gb24gc3Rha2luZyBhY3RpdmF0ZSwgdGhlIGFtb3VudCBpcyBvbiB0aGUgZGVwb3NpdCBmaWVsZC5cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciBmaWVsZHMgdXNpbmcgdGhlIGRlY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0eCB0aGUgdHJhbnNhY3Rpb24gZGF0YVxuICAgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIGNvbnN0IGZ1bmN0aW9uQ2FsbCA9IHR4Lm5lYXJUcmFuc2FjdGlvbi5hY3Rpb25zWzBdLmZ1bmN0aW9uQ2FsbDtcbiAgICB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuZGVwb3NpdCA9IGZ1bmN0aW9uQ2FsbC5kZXBvc2l0LnRvU3RyaW5nKCk7XG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLmdhcyA9IGZ1bmN0aW9uQ2FsbC5nYXMudG9TdHJpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBnYXMgb2YgdGhpcyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIHRoZSBnYXMgb2YgdGhpcyB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHB1YmxpYyBnYXMoZ2FzOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihnYXMpKTtcbiAgICB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuZ2FzID0gZ2FzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFtb3VudCBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgdGhlIGFtb3VudCBpbiB0aGUgbWluaW11bSB1bml0ICgxIE5lYXIgPSAxZTI0IHlvY3Rvcykgb2YgdGhpcyB0cmFuc2FjdGlvblxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIHB1YmxpYyBhbW91bnQoYW1vdW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihhbW91bnQpKTtcbiAgICAvLyBJbiB0aGUgc3Rha2luZyBjb250cmFjdCBjYWxsIHRoZSBhbW91bnQgbXVzdCBiZSBvbiBkZXBvc2l0IGluc3RlYWQgb2YgYmVpbmcgYSBhcmcgcGFyYW0uXG4gICAgdGhpcy5jb250cmFjdENhbGxXcmFwcGVyLmRlcG9zaXQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHsgbWV0aG9kTmFtZSwgYXJncywgZ2FzLCBkZXBvc2l0IH0gPSB0aGlzLmNvbnRyYWN0Q2FsbFdyYXBwZXIuZ2V0UGFyYW1zKCk7XG4gICAgYXNzZXJ0KGdhcywgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignZ2FzIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZyBzdGFraW5nIGFjdGl2YXRlJykpO1xuICAgIGFzc2VydChkZXBvc2l0LCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdhbW91bnQgaXMgcmVxdWlyZWQgYmVmb3JlIGJ1aWxkaW5nIHN0YWtpbmcgYWN0aXZhdGUnKSk7XG5cbiAgICBzdXBlci5hY3Rpb25zKFtOZWFyQVBJLnRyYW5zYWN0aW9ucy5mdW5jdGlvbkNhbGwobWV0aG9kTmFtZSwgYXJncywgbmV3IEJOKGdhcyksIG5ldyBCTihkZXBvc2l0LCAxMCkpXSk7XG4gICAgY29uc3QgdHggPSBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gICAgdHguc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGUpO1xuICAgIHJldHVybiB0eDtcbiAgfVxufVxuIl19

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


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