code: function TX(options) {
    if (!(this instanceof TX))
      return new TX(options);
  
    this.version = 1;
    this.inputs = [];
    this.outputs = [];
    this.locktime = 0;
  
    this.mutable = false;
  
    this._hash = null;
    this._hhash = null;
    this._whash = null;
  
    this._raw = null;
    this._size = -1;
    this._witness = -1;
    this._sigops = -1;
  
    this._hashPrevouts = null;
    this._hashSequence = null;
    this._hashOutputs = null;
  
    if (options)
      this.fromOptions(options);
  }
docs: A static transaction object.
  @alias module:primitives.TX
  @constructor
  @param {Object} options - Transaction fields.
  @property {Number} version - Transaction version. Note that WMCC_Core reads
  versions as unsigned even though they are signed at the protocol level.
  This value will never be negative.
  @property {Number} flag - Flag field for segregated witness.
  Always non-zero (1 if not present).
  @property {Input[]} inputs
  @property {Output[]} outputs
  @property {Number} locktime - nLockTime