PHP WebShell

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

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

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TransferTransaction = void 0;
const transaction_1 = require("./transaction");
const sdk_core_1 = require("@bitgo/sdk-core");
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
const constants_1 = require("../constants");
const utils_1 = __importDefault(require("../utils"));
class TransferTransaction extends transaction_1.Transaction {
    constructor(coinConfig) {
        super(coinConfig);
        this.coinTransferAbi = {
            typeParameters: [{ constraints: [] }],
            parameters: [new ts_sdk_1.TypeTagAddress(), new ts_sdk_1.TypeTagU64()],
        };
        this.batchCoinTransferAbi = {
            typeParameters: [{ constraints: [] }],
            parameters: [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.Send;
        this._assetId = constants_1.APTOS_COIN;
    }
    parseTransactionPayload(payload) {
        if (!this.isValidPayload(payload)) {
            throw new sdk_core_1.InvalidTransactionError('Invalid transaction payload');
        }
        const entryFunction = payload.entryFunction;
        this._assetId = entryFunction.type_args[0].toString();
        const addressArg = entryFunction.args[0];
        const amountArg = entryFunction.args[1];
        this.recipients = utils_1.default.parseRecipients(addressArg, amountArg);
    }
    getTransactionPayloadData() {
        if (this.recipients.length > 1) {
            return {
                function: constants_1.COIN_BATCH_TRANSFER_FUNCTION,
                typeArguments: [this.assetId],
                functionArguments: [
                    this.recipients.map((recipient) => ts_sdk_1.AccountAddress.fromString(recipient.address)),
                    this.recipients.map((recipient) => recipient.amount),
                ],
                abi: this.batchCoinTransferAbi,
            };
        }
        return {
            function: constants_1.COIN_TRANSFER_FUNCTION,
            typeArguments: [this.assetId],
            functionArguments: [ts_sdk_1.AccountAddress.fromString(this.recipients[0].address), this.recipients[0].amount],
            abi: this.coinTransferAbi,
        };
    }
    isValidPayload(payload) {
        return (payload instanceof ts_sdk_1.TransactionPayloadEntryFunction &&
            payload.entryFunction.args.length === 2 &&
            payload.entryFunction.type_args.length === 1 &&
            payload.entryFunction.type_args[0].toString().length > 0);
    }
}
exports.TransferTransaction = TransferTransaction;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJUcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb24vdHJhbnNmZXJUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQ0FBNEM7QUFDNUMsOENBQTJFO0FBQzNFLCtDQVM0QjtBQUc1Qiw0Q0FBZ0c7QUFDaEcscURBQTZCO0FBRTdCLE1BQWEsbUJBQW9CLFNBQVEseUJBQVc7SUFDbEQsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUE2Q1osb0JBQWUsR0FBcUI7WUFDMUMsY0FBYyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDckMsVUFBVSxFQUFFLENBQUMsSUFBSSx1QkFBYyxFQUFFLEVBQUUsSUFBSSxtQkFBVSxFQUFFLENBQUM7U0FDckQsQ0FBQztRQUVNLHlCQUFvQixHQUFxQjtZQUMvQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNyQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLHNCQUFhLENBQUMsSUFBSSx1QkFBYyxFQUFFLENBQUMsRUFBRSxJQUFJLHNCQUFhLENBQUMsSUFBSSxtQkFBVSxFQUFFLENBQUMsQ0FBQztTQUMzRixDQUFDO1FBcERBLElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQWUsQ0FBQyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxzQkFBVSxDQUFDO0lBQzdCLENBQUM7SUFFUyx1QkFBdUIsQ0FBQyxPQUEyQjtRQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxNQUFNLGFBQWEsR0FBSSxPQUEyQyxDQUFDLGFBQWEsQ0FBQztRQUNqRixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEQsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QyxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxVQUFVLEdBQUcsZUFBSyxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVTLHlCQUF5QjtRQUNqQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9CLE9BQU87Z0JBQ0wsUUFBUSxFQUFFLHdDQUE0QjtnQkFDdEMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDN0IsaUJBQWlCLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyx1QkFBYyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ2hGLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2lCQUNyRDtnQkFDRCxHQUFHLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjthQUMvQixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU87WUFDTCxRQUFRLEVBQUUsa0NBQXNCO1lBQ2hDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDN0IsaUJBQWlCLEVBQUUsQ0FBQyx1QkFBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3JHLEdBQUcsRUFBRSxJQUFJLENBQUMsZUFBZTtTQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUEyQjtRQUNoRCxPQUFPLENBQ0wsT0FBTyxZQUFZLHdDQUErQjtZQUNsRCxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN2QyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUM1QyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUN6RCxDQUFDO0lBQ0osQ0FBQztDQVdGO0FBeERELGtEQXdEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIEFjY291bnRBZGRyZXNzLFxuICBFbnRyeUZ1bmN0aW9uQUJJLFxuICBJbnB1dEdlbmVyYXRlVHJhbnNhY3Rpb25QYXlsb2FkRGF0YSxcbiAgVHJhbnNhY3Rpb25QYXlsb2FkLFxuICBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uLFxuICBUeXBlVGFnQWRkcmVzcyxcbiAgVHlwZVRhZ1U2NCxcbiAgVHlwZVRhZ1ZlY3Rvcixcbn0gZnJvbSAnQGFwdG9zLWxhYnMvdHMtc2RrJztcblxuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEFQVE9TX0NPSU4sIENPSU5fQkFUQ0hfVFJBTlNGRVJfRlVOQ1RJT04sIENPSU5fVFJBTlNGRVJfRlVOQ1RJT04gfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyVHJhbnNhY3Rpb24gZXh0ZW5kcyBUcmFuc2FjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICAgIHRoaXMuX2Fzc2V0SWQgPSBBUFRPU19DT0lOO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlVHJhbnNhY3Rpb25QYXlsb2FkKHBheWxvYWQ6IFRyYW5zYWN0aW9uUGF5bG9hZCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkUGF5bG9hZChwYXlsb2FkKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uIHBheWxvYWQnKTtcbiAgICB9XG4gICAgY29uc3QgZW50cnlGdW5jdGlvbiA9IChwYXlsb2FkIGFzIFRyYW5zYWN0aW9uUGF5bG9hZEVudHJ5RnVuY3Rpb24pLmVudHJ5RnVuY3Rpb247XG4gICAgdGhpcy5fYXNzZXRJZCA9IGVudHJ5RnVuY3Rpb24udHlwZV9hcmdzWzBdLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgYWRkcmVzc0FyZyA9IGVudHJ5RnVuY3Rpb24uYXJnc1swXTtcbiAgICBjb25zdCBhbW91bnRBcmcgPSBlbnRyeUZ1bmN0aW9uLmFyZ3NbMV07XG4gICAgdGhpcy5yZWNpcGllbnRzID0gdXRpbHMucGFyc2VSZWNpcGllbnRzKGFkZHJlc3NBcmcsIGFtb3VudEFyZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VHJhbnNhY3Rpb25QYXlsb2FkRGF0YSgpOiBJbnB1dEdlbmVyYXRlVHJhbnNhY3Rpb25QYXlsb2FkRGF0YSB7XG4gICAgaWYgKHRoaXMucmVjaXBpZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmdW5jdGlvbjogQ09JTl9CQVRDSF9UUkFOU0ZFUl9GVU5DVElPTixcbiAgICAgICAgdHlwZUFyZ3VtZW50czogW3RoaXMuYXNzZXRJZF0sXG4gICAgICAgIGZ1bmN0aW9uQXJndW1lbnRzOiBbXG4gICAgICAgICAgdGhpcy5yZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiBBY2NvdW50QWRkcmVzcy5mcm9tU3RyaW5nKHJlY2lwaWVudC5hZGRyZXNzKSksXG4gICAgICAgICAgdGhpcy5yZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiByZWNpcGllbnQuYW1vdW50KSxcbiAgICAgICAgXSxcbiAgICAgICAgYWJpOiB0aGlzLmJhdGNoQ29pblRyYW5zZmVyQWJpLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGZ1bmN0aW9uOiBDT0lOX1RSQU5TRkVSX0ZVTkNUSU9OLFxuICAgICAgdHlwZUFyZ3VtZW50czogW3RoaXMuYXNzZXRJZF0sXG4gICAgICBmdW5jdGlvbkFyZ3VtZW50czogW0FjY291bnRBZGRyZXNzLmZyb21TdHJpbmcodGhpcy5yZWNpcGllbnRzWzBdLmFkZHJlc3MpLCB0aGlzLnJlY2lwaWVudHNbMF0uYW1vdW50XSxcbiAgICAgIGFiaTogdGhpcy5jb2luVHJhbnNmZXJBYmksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaXNWYWxpZFBheWxvYWQocGF5bG9hZDogVHJhbnNhY3Rpb25QYXlsb2FkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBheWxvYWQgaW5zdGFuY2VvZiBUcmFuc2FjdGlvblBheWxvYWRFbnRyeUZ1bmN0aW9uICYmXG4gICAgICBwYXlsb2FkLmVudHJ5RnVuY3Rpb24uYXJncy5sZW5ndGggPT09IDIgJiZcbiAgICAgIHBheWxvYWQuZW50cnlGdW5jdGlvbi50eXBlX2FyZ3MubGVuZ3RoID09PSAxICYmXG4gICAgICBwYXlsb2FkLmVudHJ5RnVuY3Rpb24udHlwZV9hcmdzWzBdLnRvU3RyaW5nKCkubGVuZ3RoID4gMFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNvaW5UcmFuc2ZlckFiaTogRW50cnlGdW5jdGlvbkFCSSA9IHtcbiAgICB0eXBlUGFyYW1ldGVyczogW3sgY29uc3RyYWludHM6IFtdIH1dLFxuICAgIHBhcmFtZXRlcnM6IFtuZXcgVHlwZVRhZ0FkZHJlc3MoKSwgbmV3IFR5cGVUYWdVNjQoKV0sXG4gIH07XG5cbiAgcHJpdmF0ZSBiYXRjaENvaW5UcmFuc2ZlckFiaTogRW50cnlGdW5jdGlvbkFCSSA9IHtcbiAgICB0eXBlUGFyYW1ldGVyczogW3sgY29uc3RyYWludHM6IFtdIH1dLFxuICAgIHBhcmFtZXRlcnM6IFtuZXcgVHlwZVRhZ1ZlY3RvcihuZXcgVHlwZVRhZ0FkZHJlc3MoKSksIG5ldyBUeXBlVGFnVmVjdG9yKG5ldyBUeXBlVGFnVTY0KCkpXSxcbiAgfTtcbn1cbiJdfQ==

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


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