encodeUnifiedIncomingViewKey method

String encodeUnifiedIncomingViewKey()

Encodes this unified incoming viewing key (UIVK) as a unified string.

Implementation

String encodeUnifiedIncomingViewKey() {
  final sapling = this.sapling?.publicKey.incomingViewingKey(context);
  final orchard = this.orchard?.publicKey.incomingViewingKey(context);
  final transparent = this.transparent;
  return ZCashEncodingUtils.encodeUnifiedObject(
    hrp: config.coinConfig.hrpUnifiedIvk,
    mode: UnifiedReceiverMode.fvk,
    receivers: [
      if (sapling != null)
        ReceiverSapling(
          data: sapling.toBytes(),
          mode: UnifiedReceiverMode.ivk,
        ),
      if (orchard != null)
        ReceiverOrchard(
          data: orchard.toBytes(),
          mode: UnifiedReceiverMode.ivk,
        ),
      if (transparent != null)
        ReceiverP2pkh(
          data: ZCashEncodingUtils.encodeBip44Fvk(transparent),
          mode: UnifiedReceiverMode.ivk,
        ),
    ],
  );
}