UNPKG

airgap-coin-lib

Version:

The airgap-coin-lib is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.

58 lines 3.6 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var unsigned_transaction_serializer_1 = require("../unsigned-transaction.serializer"); var toBuffer_1 = require("../utils/toBuffer"); var EthereumUnsignedTransactionSerializer = /** @class */ (function (_super) { __extends(EthereumUnsignedTransactionSerializer, _super); function EthereumUnsignedTransactionSerializer() { return _super !== null && _super.apply(this, arguments) || this; } EthereumUnsignedTransactionSerializer.prototype.serialize = function (transaction) { var serializedTx = toBuffer_1.toBuffer([ [ transaction.transaction.nonce, transaction.transaction.gasPrice, transaction.transaction.gasLimit, transaction.transaction.to, transaction.transaction.value, transaction.transaction.chainId, transaction.transaction.data ? transaction.transaction.data : '0x' // data is optional, include empty if necessary ], transaction.publicKey, transaction.callback ? transaction.callback : 'airgap-wallet://?d=' // callback-scheme ]); return serializedTx; }; EthereumUnsignedTransactionSerializer.prototype.deserialize = function (serializedTx) { var unsignedEthereumTx = { publicKey: serializedTx[unsigned_transaction_serializer_1.SyncProtocolUnsignedTransactionKeys.PUBLIC_KEY].toString(), transaction: { nonce: serializedTx[unsigned_transaction_serializer_1.SyncProtocolUnsignedTransactionKeys.UNSIGNED_TRANSACTION][0].toString(), gasPrice: serializedTx[unsigned_transaction_serializer_1.SyncProtocolUnsignedTransactionKeys.UNSIGNED_TRANSACTION][1].toString(), gasLimit: serializedTx[unsigned_transaction_serializer_1.SyncProtocolUnsignedTransactionKeys.UNSIGNED_TRANSACTION][2].toString(), to: serializedTx[unsigned_transaction_serializer_1.SyncProtocolUnsignedTransactionKeys.UNSIGNED_TRANSACTION][3].toString(), value: serializedTx[unsigned_transaction_serializer_1.SyncProtocolUnsignedTransactionKeys.UNSIGNED_TRANSACTION][4].toString(), chainId: parseInt(serializedTx[unsigned_transaction_serializer_1.SyncProtocolUnsignedTransactionKeys.UNSIGNED_TRANSACTION][5].toString(), 10), data: serializedTx[unsigned_transaction_serializer_1.SyncProtocolUnsignedTransactionKeys.UNSIGNED_TRANSACTION][6].toString() }, callback: serializedTx[unsigned_transaction_serializer_1.SyncProtocolUnsignedTransactionKeys.CALLBACK].toString() }; return unsignedEthereumTx; }; return EthereumUnsignedTransactionSerializer; }(unsigned_transaction_serializer_1.UnsignedTransactionSerializer)); exports.EthereumUnsignedTransactionSerializer = EthereumUnsignedTransactionSerializer; //# sourceMappingURL=ethereum-transactions.serializer.js.map