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