PHP WebShell

Текущая директория: /opt/BitGoJS/modules/sdk-coin-polygon/dist/src/lib

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

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TransactionBuilder = void 0;
const abstract_eth_1 = require("@bitgo/abstract-eth");
const sdk_core_1 = require("@bitgo/sdk-core");
const utils_1 = require("./utils");
const walletUtil_1 = require("./walletUtil");
const _1 = require("./");
class TransactionBuilder extends abstract_eth_1.TransactionBuilder {
    constructor(_coinConfig) {
        super(_coinConfig);
        this._signatures = [];
        this._common = (0, utils_1.getCommon)(this._coinConfig.network.type);
        this.transaction = new _1.Transaction(this._coinConfig, this._common);
        this._walletSimpleByteCode = walletUtil_1.walletSimpleByteCode;
    }
    /** @inheritdoc */
    transfer(data) {
        if (this._type !== sdk_core_1.TransactionType.Send) {
            throw new sdk_core_1.BuildTransactionError('Transfers can only be set for send transactions');
        }
        if (!this._transfer) {
            this._transfer = new _1.TransferBuilder(data);
        }
        return this._transfer;
    }
    /**
     * Add a signature to the transaction
     * @param publicKey - The public key associated with the signature
     * @param signature - The signature to add
     */
    addSignature(publicKey, signature) {
        // Method updated
        this._signatures.push({ publicKey: publicKey.toString(), signature: signature.toString('hex') });
    }
    /** @inheritdoc */
    coinUsesNonPackedEncodingForTxData() {
        // This is because the contracts which have been deployed for
        // polygon amoy testnet use non-packed encoding for tx data
        return this._common.chainIdBN().toString() === '80002' || this._walletVersion === 4;
    }
}
exports.TransactionBuilder = TransactionBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQXNGO0FBQ3RGLDhDQUFvRjtBQUdwRixtQ0FBb0M7QUFDcEMsNkNBQW9EO0FBQ3BELHlCQUFrRDtBQUVsRCxNQUFhLGtCQUFtQixTQUFRLGlDQUF5QjtJQUkvRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUhiLGdCQUFXLEdBQStDLEVBQUUsQ0FBQztRQUluRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUEsaUJBQVMsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksY0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxpQ0FBb0IsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFFBQVEsQ0FBQyxJQUFhO1FBQ3BCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSywwQkFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxrQkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsU0FBb0IsRUFBRSxTQUFpQjtRQUNsRCxpQkFBaUI7UUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsa0NBQWtDO1FBQ3ZDLDZEQUE2RDtRQUM3RCwyREFBMkQ7UUFDM0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0NBQ0Y7QUF0Q0QsZ0RBc0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIGFzIEV0aExpa2VUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICdAYml0Z28vYWJzdHJhY3QtZXRoJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgUHVibGljS2V5LCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuaW1wb3J0IHsgZ2V0Q29tbW9uIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyB3YWxsZXRTaW1wbGVCeXRlQ29kZSB9IGZyb20gJy4vd2FsbGV0VXRpbCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi8nO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgRXRoTGlrZVRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfdHJhbnNmZXI6IFRyYW5zZmVyQnVpbGRlcjtcbiAgcHJpdmF0ZSBfc2lnbmF0dXJlczogeyBwdWJsaWNLZXk6IHN0cmluZzsgc2lnbmF0dXJlOiBzdHJpbmcgfVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX2NvbW1vbiA9IGdldENvbW1vbih0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnLCB0aGlzLl9jb21tb24pO1xuICAgIHRoaXMuX3dhbGxldFNpbXBsZUJ5dGVDb2RlID0gd2FsbGV0U2ltcGxlQnl0ZUNvZGU7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdHJhbnNmZXIoZGF0YT86IHN0cmluZyk6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgaWYgKHRoaXMuX3R5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5TZW5kKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2ZlcnMgY2FuIG9ubHkgYmUgc2V0IGZvciBzZW5kIHRyYW5zYWN0aW9ucycpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3RyYW5zZmVyKSB7XG4gICAgICB0aGlzLl90cmFuc2ZlciA9IG5ldyBUcmFuc2ZlckJ1aWxkZXIoZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl90cmFuc2ZlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBzaWduYXR1cmUgdG8gdGhlIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBwdWJsaWNLZXkgLSBUaGUgcHVibGljIGtleSBhc3NvY2lhdGVkIHdpdGggdGhlIHNpZ25hdHVyZVxuICAgKiBAcGFyYW0gc2lnbmF0dXJlIC0gVGhlIHNpZ25hdHVyZSB0byBhZGRcbiAgICovXG4gIGFkZFNpZ25hdHVyZShwdWJsaWNLZXk6IFB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICAvLyBNZXRob2QgdXBkYXRlZFxuICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaCh7IHB1YmxpY0tleTogcHVibGljS2V5LnRvU3RyaW5nKCksIHNpZ25hdHVyZTogc2lnbmF0dXJlLnRvU3RyaW5nKCdoZXgnKSB9KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgY29pblVzZXNOb25QYWNrZWRFbmNvZGluZ0ZvclR4RGF0YSgpOiBib29sZWFuIHtcbiAgICAvLyBUaGlzIGlzIGJlY2F1c2UgdGhlIGNvbnRyYWN0cyB3aGljaCBoYXZlIGJlZW4gZGVwbG95ZWQgZm9yXG4gICAgLy8gcG9seWdvbiBhbW95IHRlc3RuZXQgdXNlIG5vbi1wYWNrZWQgZW5jb2RpbmcgZm9yIHR4IGRhdGFcbiAgICByZXR1cm4gdGhpcy5fY29tbW9uLmNoYWluSWRCTigpLnRvU3RyaW5nKCkgPT09ICc4MDAwMicgfHwgdGhpcy5fd2FsbGV0VmVyc2lvbiA9PT0gNDtcbiAgfVxufVxuIl19

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


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