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Выполнить команду
Для локальной разработки. Не используйте в интернете!