PHP WebShell

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

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

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FungibleAssetTransfer = void 0;
const transaction_1 = require("./transaction");
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
const sdk_core_1 = require("@bitgo/sdk-core");
const constants_1 = require("../constants");
const utils_1 = __importDefault(require("../utils"));
class FungibleAssetTransfer extends transaction_1.Transaction {
    constructor(coinConfig) {
        super(coinConfig);
        this.faTransferAbi = {
            typeParameters: [{ constraints: [] }],
            parameters: [(0, ts_sdk_1.parseTypeTag)(constants_1.FUNBIGLE_ASSET_TYPE_TAG), new ts_sdk_1.TypeTagAddress(), new ts_sdk_1.TypeTagU64()],
        };
        this.batchFaTransferAbi = {
            typeParameters: [],
            parameters: [
                (0, ts_sdk_1.parseTypeTag)(constants_1.BATCH_FUNGIBLE_ASSET_TYPE_TAG),
                new ts_sdk_1.TypeTagVector(new ts_sdk_1.TypeTagAddress()),
                new ts_sdk_1.TypeTagVector(new ts_sdk_1.TypeTagU64()),
            ],
        };
        this._type = sdk_core_1.TransactionType.SendToken;
    }
    parseTransactionPayload(payload) {
        if (!this.isValidPayload(payload)) {
            throw new sdk_core_1.InvalidTransactionError('Invalid transaction payload');
        }
        const entryFunction = payload.entryFunction;
        this._assetId = entryFunction.args[0].toString();
        const addressArg = entryFunction.args[1];
        const amountArg = entryFunction.args[2];
        this.recipients = utils_1.default.parseRecipients(addressArg, amountArg);
    }
    getTransactionPayloadData() {
        const fungibleTokenAddress = this._assetId;
        if (this.recipients.length > 1) {
            return {
                function: constants_1.FUNGIBLE_ASSET_BATCH_TRANSFER_FUNCTION,
                typeArguments: [],
                functionArguments: [
                    fungibleTokenAddress,
                    this.recipients.map((recipient) => ts_sdk_1.AccountAddress.fromString(recipient.address)),
                    this.recipients.map((recipient) => recipient.amount),
                ],
                abi: this.batchFaTransferAbi,
            };
        }
        return {
            function: constants_1.FUNGIBLE_ASSET_TRANSFER_FUNCTION,
            typeArguments: [constants_1.FUNGIBLE_ASSET_TYPE_ARGUMENT],
            functionArguments: [
                fungibleTokenAddress,
                ts_sdk_1.AccountAddress.fromString(this.recipients[0].address),
                this.recipients[0].amount,
            ],
            abi: this.faTransferAbi,
        };
    }
    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.FungibleAssetTransfer = FungibleAssetTransfer;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZ2libGVBc3NldFRyYW5zZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbi9mdW5naWJsZUFzc2V0VHJhbnNmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsK0NBQTRDO0FBQzVDLCtDQVU0QjtBQUM1Qiw4Q0FBMkU7QUFFM0UsNENBTXNCO0FBQ3RCLHFEQUE2QjtBQUU3QixNQUFhLHFCQUFzQixTQUFRLHlCQUFXO0lBQ3BELFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBbURaLGtCQUFhLEdBQXFCO1lBQ3hDLGNBQWMsRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLFVBQVUsRUFBRSxDQUFDLElBQUEscUJBQVksRUFBQyxtQ0FBdUIsQ0FBQyxFQUFFLElBQUksdUJBQWMsRUFBRSxFQUFFLElBQUksbUJBQVUsRUFBRSxDQUFDO1NBQzVGLENBQUM7UUFFTSx1QkFBa0IsR0FBcUI7WUFDN0MsY0FBYyxFQUFFLEVBQUU7WUFDbEIsVUFBVSxFQUFFO2dCQUNWLElBQUEscUJBQVksRUFBQyx5Q0FBNkIsQ0FBQztnQkFDM0MsSUFBSSxzQkFBYSxDQUFDLElBQUksdUJBQWMsRUFBRSxDQUFDO2dCQUN2QyxJQUFJLHNCQUFhLENBQUMsSUFBSSxtQkFBVSxFQUFFLENBQUM7YUFDcEM7U0FDRixDQUFDO1FBOURBLElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQWUsQ0FBQyxTQUFTLENBQUM7SUFDekMsQ0FBQztJQUVTLHVCQUF1QixDQUFDLE9BQTJCO1FBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFJLE9BQTJDLENBQUMsYUFBYSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFLLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRVMseUJBQXlCO1FBQ2pDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUUzQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9CLE9BQU87Z0JBQ0wsUUFBUSxFQUFFLGtEQUFzQztnQkFDaEQsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLGlCQUFpQixFQUFFO29CQUNqQixvQkFBb0I7b0JBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyx1QkFBYyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ2hGLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2lCQUNyRDtnQkFDRCxHQUFHLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjthQUM3QixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU87WUFDTCxRQUFRLEVBQUUsNENBQWdDO1lBQzFDLGFBQWEsRUFBRSxDQUFDLHdDQUE0QixDQUFDO1lBQzdDLGlCQUFpQixFQUFFO2dCQUNqQixvQkFBb0I7Z0JBQ3BCLHVCQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07YUFDMUI7WUFDRCxHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDeEIsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjLENBQUMsT0FBMkI7UUFDaEQsT0FBTyxDQUNMLE9BQU8sWUFBWSx3Q0FBK0I7WUFDbEQsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDdkMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDM0MsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztvQkFDM0Msd0NBQTRCLEtBQUssT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUNyRixDQUFDO0lBQ0osQ0FBQztDQWNGO0FBbEVELHNEQWtFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBBY2NvdW50QWRkcmVzcyxcbiAgRW50cnlGdW5jdGlvbkFCSSxcbiAgSW5wdXRHZW5lcmF0ZVRyYW5zYWN0aW9uUGF5bG9hZERhdGEsXG4gIHBhcnNlVHlwZVRhZyxcbiAgVHJhbnNhY3Rpb25QYXlsb2FkLFxuICBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uLFxuICBUeXBlVGFnQWRkcmVzcyxcbiAgVHlwZVRhZ1U2NCxcbiAgVHlwZVRhZ1ZlY3Rvcixcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7XG4gIEZVTkdJQkxFX0FTU0VUX1RZUEVfQVJHVU1FTlQsXG4gIEZVTkdJQkxFX0FTU0VUX1RSQU5TRkVSX0ZVTkNUSU9OLFxuICBGVU5HSUJMRV9BU1NFVF9CQVRDSF9UUkFOU0ZFUl9GVU5DVElPTixcbiAgRlVOQklHTEVfQVNTRVRfVFlQRV9UQUcsXG4gIEJBVENIX0ZVTkdJQkxFX0FTU0VUX1RZUEVfVEFHLFxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEZ1bmdpYmxlQXNzZXRUcmFuc2ZlciBleHRlbmRzIFRyYW5zYWN0aW9uIHtcbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLlNlbmRUb2tlbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZVRyYW5zYWN0aW9uUGF5bG9hZChwYXlsb2FkOiBUcmFuc2FjdGlvblBheWxvYWQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZFBheWxvYWQocGF5bG9hZCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbiBwYXlsb2FkJyk7XG4gICAgfVxuICAgIGNvbnN0IGVudHJ5RnVuY3Rpb24gPSAocGF5bG9hZCBhcyBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uKS5lbnRyeUZ1bmN0aW9uO1xuICAgIHRoaXMuX2Fzc2V0SWQgPSBlbnRyeUZ1bmN0aW9uLmFyZ3NbMF0udG9TdHJpbmcoKTtcbiAgICBjb25zdCBhZGRyZXNzQXJnID0gZW50cnlGdW5jdGlvbi5hcmdzWzFdO1xuICAgIGNvbnN0IGFtb3VudEFyZyA9IGVudHJ5RnVuY3Rpb24uYXJnc1syXTtcbiAgICB0aGlzLnJlY2lwaWVudHMgPSB1dGlscy5wYXJzZVJlY2lwaWVudHMoYWRkcmVzc0FyZywgYW1vdW50QXJnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUcmFuc2FjdGlvblBheWxvYWREYXRhKCk6IElucHV0R2VuZXJhdGVUcmFuc2FjdGlvblBheWxvYWREYXRhIHtcbiAgICBjb25zdCBmdW5naWJsZVRva2VuQWRkcmVzcyA9IHRoaXMuX2Fzc2V0SWQ7XG5cbiAgICBpZiAodGhpcy5yZWNpcGllbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZ1bmN0aW9uOiBGVU5HSUJMRV9BU1NFVF9CQVRDSF9UUkFOU0ZFUl9GVU5DVElPTixcbiAgICAgICAgdHlwZUFyZ3VtZW50czogW10sXG4gICAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiBbXG4gICAgICAgICAgZnVuZ2libGVUb2tlbkFkZHJlc3MsXG4gICAgICAgICAgdGhpcy5yZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiBBY2NvdW50QWRkcmVzcy5mcm9tU3RyaW5nKHJlY2lwaWVudC5hZGRyZXNzKSksXG4gICAgICAgICAgdGhpcy5yZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiByZWNpcGllbnQuYW1vdW50KSxcbiAgICAgICAgXSxcbiAgICAgICAgYWJpOiB0aGlzLmJhdGNoRmFUcmFuc2ZlckFiaSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBmdW5jdGlvbjogRlVOR0lCTEVfQVNTRVRfVFJBTlNGRVJfRlVOQ1RJT04sXG4gICAgICB0eXBlQXJndW1lbnRzOiBbRlVOR0lCTEVfQVNTRVRfVFlQRV9BUkdVTUVOVF0sXG4gICAgICBmdW5jdGlvbkFyZ3VtZW50czogW1xuICAgICAgICBmdW5naWJsZVRva2VuQWRkcmVzcyxcbiAgICAgICAgQWNjb3VudEFkZHJlc3MuZnJvbVN0cmluZyh0aGlzLnJlY2lwaWVudHNbMF0uYWRkcmVzcyksXG4gICAgICAgIHRoaXMucmVjaXBpZW50c1swXS5hbW91bnQsXG4gICAgICBdLFxuICAgICAgYWJpOiB0aGlzLmZhVHJhbnNmZXJBYmksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaXNWYWxpZFBheWxvYWQocGF5bG9hZDogVHJhbnNhY3Rpb25QYXlsb2FkKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBheWxvYWQgaW5zdGFuY2VvZiBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uICYmXG4gICAgICBwYXlsb2FkLmVudHJ5RnVuY3Rpb24uYXJncy5sZW5ndGggPT09IDMgJiZcbiAgICAgIChwYXlsb2FkLmVudHJ5RnVuY3Rpb24udHlwZV9hcmdzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgICAocGF5bG9hZC5lbnRyeUZ1bmN0aW9uLnR5cGVfYXJncy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICBGVU5HSUJMRV9BU1NFVF9UWVBFX0FSR1VNRU5UID09PSBwYXlsb2FkLmVudHJ5RnVuY3Rpb24udHlwZV9hcmdzWzBdLnRvU3RyaW5nKCkpKVxuICAgICk7XG4gIH1cbiAgcHJpdmF0ZSBmYVRyYW5zZmVyQWJpOiBFbnRyeUZ1bmN0aW9uQUJJID0ge1xuICAgIHR5cGVQYXJhbWV0ZXJzOiBbeyBjb25zdHJhaW50czogW10gfV0sXG4gICAgcGFyYW1ldGVyczogW3BhcnNlVHlwZVRhZyhGVU5CSUdMRV9BU1NFVF9UWVBFX1RBRyksIG5ldyBUeXBlVGFnQWRkcmVzcygpLCBuZXcgVHlwZVRhZ1U2NCgpXSxcbiAgfTtcblxuICBwcml2YXRlIGJhdGNoRmFUcmFuc2ZlckFiaTogRW50cnlGdW5jdGlvbkFCSSA9IHtcbiAgICB0eXBlUGFyYW1ldGVyczogW10sXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAgcGFyc2VUeXBlVGFnKEJBVENIX0ZVTkdJQkxFX0FTU0VUX1RZUEVfVEFHKSxcbiAgICAgIG5ldyBUeXBlVGFnVmVjdG9yKG5ldyBUeXBlVGFnQWRkcmVzcygpKSxcbiAgICAgIG5ldyBUeXBlVGFnVmVjdG9yKG5ldyBUeXBlVGFnVTY0KCkpLFxuICAgIF0sXG4gIH07XG59XG4iXX0=

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


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