PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/sdk-coin-polyx/dist/src/lib
Просмотр файла: preApproveAssetBuilder.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PreApproveAssetBuilder = void 0;
const sdk_core_1 = require("@bitgo/sdk-core");
const txwrapper_core_1 = require("@substrate/txwrapper-core");
const baseBuilder_1 = require("./baseBuilder");
const iface_1 = require("./iface");
const txnSchema_1 = require("./txnSchema");
const transaction_1 = require("./transaction");
class PreApproveAssetBuilder extends baseBuilder_1.PolyxBaseBuilder {
constructor(_coinConfig) {
super(_coinConfig);
this._transaction = new transaction_1.Transaction(_coinConfig);
}
get transactionType() {
return sdk_core_1.TransactionType.TrustLine;
}
buildTransaction() {
const baseTxInfo = this.createBaseTxInfo();
return this.preApproveAsset({
assetId: this._assetId,
}, baseTxInfo);
}
/**
* Sets the asset ID for the pre-approval transaction.
*
* @param {string} assetId - The ID of the asset to be pre-approved.
* @returns {this} The current instance of the builder.
*/
assetId(assetId) {
this._assetId = assetId;
return this;
}
/** @inheritdoc */
fromImplementation(rawTransaction) {
const tx = super.fromImplementation(rawTransaction);
if (this._method?.name === iface_1.MethodNames.PreApproveAsset) {
const txMethod = this._method.args;
this.assetId(txMethod.assetId);
}
else {
throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected preApproveAsset`);
}
return tx;
}
/** @inheritdoc */
validateDecodedTransaction(decodedTxn, rawTransaction) {
if (decodedTxn.method?.name === iface_1.MethodNames.PreApproveAsset) {
const txMethod = decodedTxn.method.args;
const assetId = txMethod.assetId;
const validationResult = txnSchema_1.PreApproveAssetTransactionSchema.validate({ assetId });
if (!validationResult) {
throw new sdk_core_1.InvalidTransactionError('Invalid transaction: assetId is required');
}
}
}
/**
* Construct a transaction to pre-approve an asset
*
* @param {PreApproveAssetArgs} args Arguments to be passed to the preApproveAsset method
* @param {Interface.CreateBaseTxInfo} info Base txn info required to construct the pre-approve asset txn
* @returns {UnsignedTransaction} an unsigned transaction for asset pre-approval
*/
preApproveAsset(args, info) {
console.log(`PreApproveAssetBuilder: preApproveAsset called with args: ${JSON.stringify(args)}`);
return (0, txwrapper_core_1.defineMethod)({
method: {
args,
name: 'preApproveAsset',
pallet: 'asset',
},
...info.baseTxInfo,
}, info.options);
}
}
exports.PreApproveAssetBuilder = PreApproveAssetBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlQXBwcm92ZUFzc2V0QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcHJlQXBwcm92ZUFzc2V0QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBMkU7QUFFM0UsOERBQXNIO0FBRXRILCtDQUFpRDtBQUNqRCxtQ0FBcUU7QUFDckUsMkNBQStEO0FBQy9ELCtDQUE0QztBQUU1QyxNQUFhLHNCQUF1QixTQUFRLDhCQUF1QztJQUlqRixZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQ3pCO1lBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3ZCLEVBQ0QsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBMkIsQ0FBQztZQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyw2QkFBNkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLDRCQUE0QixDQUFDLENBQUM7UUFDakgsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGtCQUFrQjtJQUNsQiwwQkFBMEIsQ0FBQyxVQUFtRCxFQUFFLGNBQXVCO1FBQ3JHLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLEtBQUssbUJBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1RCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQTJCLENBQUM7WUFDL0QsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUVqQyxNQUFNLGdCQUFnQixHQUFHLDRDQUFnQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1lBQ2hGLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGVBQWUsQ0FBQyxJQUF5QixFQUFFLElBQWdDO1FBQ2pGLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkRBQTZELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pHLE9BQU8sSUFBQSw2QkFBWSxFQUNqQjtZQUNFLE1BQU0sRUFBRTtnQkFDTixJQUFJO2dCQUNKLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLE1BQU0sRUFBRSxPQUFPO2FBQ2hCO1lBQ0QsR0FBRyxJQUFJLENBQUMsVUFBVTtTQUNuQixFQUNELElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWhGRCx3REFnRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgZGVmaW5lTWV0aG9kLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28vYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB7IFBvbHl4QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2Jhc2VCdWlsZGVyJztcbmltcG9ydCB7IFR4TWV0aG9kLCBQcmVBcHByb3ZlQXNzZXRBcmdzLCBNZXRob2ROYW1lcyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgUHJlQXBwcm92ZUFzc2V0VHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgUHJlQXBwcm92ZUFzc2V0QnVpbGRlciBleHRlbmRzIFBvbHl4QmFzZUJ1aWxkZXI8VHhNZXRob2QsIFRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBfYXNzZXRJZDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX21ldGhvZDogVHhNZXRob2Q7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5UcnVzdExpbmU7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMucHJlQXBwcm92ZUFzc2V0KFxuICAgICAge1xuICAgICAgICBhc3NldElkOiB0aGlzLl9hc3NldElkLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm9cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFzc2V0IElEIGZvciB0aGUgcHJlLWFwcHJvdmFsIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXNzZXRJZCAtIFRoZSBJRCBvZiB0aGUgYXNzZXQgdG8gYmUgcHJlLWFwcHJvdmVkLlxuICAgKiBAcmV0dXJucyB7dGhpc30gVGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAqL1xuICBhc3NldElkKGFzc2V0SWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2Fzc2V0SWQgPSBhc3NldElkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUHJlQXBwcm92ZUFzc2V0KSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIFByZUFwcHJvdmVBc3NldEFyZ3M7XG4gICAgICB0aGlzLmFzc2V0SWQodHhNZXRob2QuYXNzZXRJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIHByZUFwcHJvdmVBc3NldGApO1xuICAgIH1cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4LCByYXdUcmFuc2FjdGlvbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUHJlQXBwcm92ZUFzc2V0KSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgUHJlQXBwcm92ZUFzc2V0QXJncztcbiAgICAgIGNvbnN0IGFzc2V0SWQgPSB0eE1ldGhvZC5hc3NldElkO1xuXG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gUHJlQXBwcm92ZUFzc2V0VHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyBhc3NldElkIH0pO1xuICAgICAgaWYgKCF2YWxpZGF0aW9uUmVzdWx0KSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogYXNzZXRJZCBpcyByZXF1aXJlZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSB0cmFuc2FjdGlvbiB0byBwcmUtYXBwcm92ZSBhbiBhc3NldFxuICAgKlxuICAgKiBAcGFyYW0ge1ByZUFwcHJvdmVBc3NldEFyZ3N9IGFyZ3MgQXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgcHJlQXBwcm92ZUFzc2V0IG1ldGhvZFxuICAgKiBAcGFyYW0ge0ludGVyZmFjZS5DcmVhdGVCYXNlVHhJbmZvfSBpbmZvIEJhc2UgdHhuIGluZm8gcmVxdWlyZWQgdG8gY29uc3RydWN0IHRoZSBwcmUtYXBwcm92ZSBhc3NldCB0eG5cbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIHRyYW5zYWN0aW9uIGZvciBhc3NldCBwcmUtYXBwcm92YWxcbiAgICovXG4gIHByaXZhdGUgcHJlQXBwcm92ZUFzc2V0KGFyZ3M6IFByZUFwcHJvdmVBc3NldEFyZ3MsIGluZm86IEludGVyZmFjZS5DcmVhdGVCYXNlVHhJbmZvKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc29sZS5sb2coYFByZUFwcHJvdmVBc3NldEJ1aWxkZXI6IHByZUFwcHJvdmVBc3NldCBjYWxsZWQgd2l0aCBhcmdzOiAke0pTT04uc3RyaW5naWZ5KGFyZ3MpfWApO1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ3ByZUFwcHJvdmVBc3NldCcsXG4gICAgICAgICAgcGFsbGV0OiAnYXNzZXQnLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19Выполнить команду
Для локальной разработки. Не используйте в интернете!