code: function Transaction (network = networks.bitcoin) {
    this.version = 1
    this.locktime = 0
    this.ins = []
    this.outs = []
    this.network = network
    if (coins.isZcash(network)) {
      // ZCash version >= 2
      this.joinsplits = []
      this.joinsplitPubkey = []
      this.joinsplitSig = []
      // ZCash version >= 3
      this.overwintered = 0  // 1 if the transaction is post overwinter upgrade, 0 otherwise
      this.versionGroupId = 0  // 0x03C48270 (63210096) for overwinter and 0x892F2085 (2301567109) for sapling
      this.expiryHeight = 0  // Block height after which this transactions will expire, or 0 to disable expiry
      // ZCash version >= 4
      this.valueBalance = 0
      this.vShieldedSpend = []
      this.vShieldedOutput = []
      this.bindingSig = 0
    }
    if (coins.isDash(network)) {
      // Dash version = 3
      this.type = 0
      this.extraPayload = Buffer.alloc(0)
    }
  }
docs: By default, assume is a bitcoin transaction