PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/sdk-coin-apt/dist/src/lib/transactionBuilder

Просмотр файла: fungibleAssetTransferBuilder.js

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FungibleAssetTransferBuilder = void 0;
const transactionBuilder_1 = require("./transactionBuilder");
const fungibleAssetTransfer_1 = require("../transaction/fungibleAssetTransfer");
const sdk_core_1 = require("@bitgo/sdk-core");
const utils_1 = __importDefault(require("../utils"));
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
const constants_1 = require("../constants");
class FungibleAssetTransferBuilder extends transactionBuilder_1.TransactionBuilder {
    constructor(_coinConfig) {
        super(_coinConfig);
        this._transaction = new fungibleAssetTransfer_1.FungibleAssetTransfer(_coinConfig);
    }
    get transactionType() {
        return sdk_core_1.TransactionType.SendToken;
    }
    //TODO: Ticket: COIN-2941 : Check Statics based asset validation and if possible, implement it
    assetId(assetId) {
        this.validateAddress({ address: assetId });
        this.transaction.assetId = assetId;
        return this;
    }
    /** @inheritdoc */
    validateTransaction(transaction) {
        if (!transaction) {
            throw new Error('fungible asset transaction not defined');
        }
        super.validateTransaction(transaction);
        this.validateAddress({ address: transaction.assetId });
    }
    isValidTransactionPayload(payload) {
        try {
            if (!this.isValidPayload(payload)) {
                console.error('invalid transaction payload');
                return false;
            }
            const entryFunction = payload.entryFunction;
            const fungibleTokenAddress = entryFunction.args[0].toString();
            const addressArg = entryFunction.args[1];
            const amountArg = entryFunction.args[2];
            return (utils_1.default.isValidAddress(fungibleTokenAddress) && utils_1.default.fetchAndValidateRecipients(addressArg, amountArg).isValid);
        }
        catch (e) {
            console.error('invalid transaction payload', e);
            return false;
        }
    }
    isValidPayload(payload) {
        return (payload instanceof ts_sdk_1.TransactionPayloadEntryFunction &&
            payload.entryFunction.args.length === 3 &&
            (payload.entryFunction.type_args.length === 0 ||
                (payload.entryFunction.type_args.length === 1 &&
                    constants_1.FUNGIBLE_ASSET_TYPE_ARGUMENT === payload.entryFunction.type_args[0].toString())));
    }
}
exports.FungibleAssetTransferBuilder = FungibleAssetTransferBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZ2libGVBc3NldFRyYW5zZmVyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyL2Z1bmdpYmxlQXNzZXRUcmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkRBQTBEO0FBRTFELGdGQUE2RTtBQUM3RSw4Q0FBa0Q7QUFDbEQscURBQTZCO0FBQzdCLCtDQUF5RjtBQUN6Riw0Q0FBNEQ7QUFFNUQsTUFBYSw0QkFBNkIsU0FBUSx1Q0FBa0I7SUFDbEUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLDZDQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsOEZBQThGO0lBQzlGLE9BQU8sQ0FBQyxPQUFlO1FBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLG1CQUFtQixDQUFDLFdBQW1DO1FBQ3JELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFUyx5QkFBeUIsQ0FBQyxPQUEyQjtRQUM3RCxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQzdDLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE1BQU0sYUFBYSxHQUFJLE9BQTJDLENBQUMsYUFBYSxDQUFDO1lBQ2pGLE1BQU0sb0JBQW9CLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5RCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsT0FBTyxDQUNMLGVBQUssQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxlQUFLLENBQUMsMEJBQTBCLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FDOUcsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNoRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQTJCO1FBQ2hELE9BQU8sQ0FDTCxPQUFPLFlBQVksd0NBQStCO1lBQ2xELE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3ZDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQzNDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7b0JBQzNDLHdDQUE0QixLQUFLLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FDckYsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXJERCxvRUFxREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgRnVuZ2libGVBc3NldFRyYW5zZmVyIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24vZnVuZ2libGVBc3NldFRyYW5zZmVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25QYXlsb2FkLCBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uIH0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7IEZVTkdJQkxFX0FTU0VUX1RZUEVfQVJHVU1FTlQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgRnVuZ2libGVBc3NldFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBGdW5naWJsZUFzc2V0VHJhbnNmZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmRUb2tlbjtcbiAgfVxuICAvL1RPRE86IFRpY2tldDogQ09JTi0yOTQxIDogQ2hlY2sgU3RhdGljcyBiYXNlZCBhc3NldCB2YWxpZGF0aW9uIGFuZCBpZiBwb3NzaWJsZSwgaW1wbGVtZW50IGl0XG4gIGFzc2V0SWQoYXNzZXRJZDogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IGFzc2V0SWQgfSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5hc3NldElkID0gYXNzZXRJZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uPzogRnVuZ2libGVBc3NldFRyYW5zZmVyKTogdm9pZCB7XG4gICAgaWYgKCF0cmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmdW5naWJsZSBhc3NldCB0cmFuc2FjdGlvbiBub3QgZGVmaW5lZCcpO1xuICAgIH1cbiAgICBzdXBlci52YWxpZGF0ZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKTtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6IHRyYW5zYWN0aW9uLmFzc2V0SWQgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNWYWxpZFRyYW5zYWN0aW9uUGF5bG9hZChwYXlsb2FkOiBUcmFuc2FjdGlvblBheWxvYWQpIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCF0aGlzLmlzVmFsaWRQYXlsb2FkKHBheWxvYWQpKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgdHJhbnNhY3Rpb24gcGF5bG9hZCcpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBjb25zdCBlbnRyeUZ1bmN0aW9uID0gKHBheWxvYWQgYXMgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbikuZW50cnlGdW5jdGlvbjtcbiAgICAgIGNvbnN0IGZ1bmdpYmxlVG9rZW5BZGRyZXNzID0gZW50cnlGdW5jdGlvbi5hcmdzWzBdLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCBhZGRyZXNzQXJnID0gZW50cnlGdW5jdGlvbi5hcmdzWzFdO1xuICAgICAgY29uc3QgYW1vdW50QXJnID0gZW50cnlGdW5jdGlvbi5hcmdzWzJdO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdXRpbHMuaXNWYWxpZEFkZHJlc3MoZnVuZ2libGVUb2tlbkFkZHJlc3MpICYmIHV0aWxzLmZldGNoQW5kVmFsaWRhdGVSZWNpcGllbnRzKGFkZHJlc3NBcmcsIGFtb3VudEFyZykuaXNWYWxpZFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdpbnZhbGlkIHRyYW5zYWN0aW9uIHBheWxvYWQnLCBlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzVmFsaWRQYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCkge1xuICAgIHJldHVybiAoXG4gICAgICBwYXlsb2FkIGluc3RhbmNlb2YgVHJhbnNhY3Rpb25QYXlsb2FkRW50cnlGdW5jdGlvbiAmJlxuICAgICAgcGF5bG9hZC5lbnRyeUZ1bmN0aW9uLmFyZ3MubGVuZ3RoID09PSAzICYmXG4gICAgICAocGF5bG9hZC5lbnRyeUZ1bmN0aW9uLnR5cGVfYXJncy5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgKHBheWxvYWQuZW50cnlGdW5jdGlvbi50eXBlX2FyZ3MubGVuZ3RoID09PSAxICYmXG4gICAgICAgICAgRlVOR0lCTEVfQVNTRVRfVFlQRV9BUkdVTUVOVCA9PT0gcGF5bG9hZC5lbnRyeUZ1bmN0aW9uLnR5cGVfYXJnc1swXS50b1N0cmluZygpKSlcbiAgICApO1xuICB9XG59XG4iXX0=

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


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