encodeAddress static method
String
encodeAddress({
- required List<
int> bytes, - required ZCashAddressType type,
- required ZCashNetwork network,
- List<
ZUnifiedReceiver> ? receivers,
Implementation
static String encodeAddress({
required List<int> bytes,
required ZCashAddressType type,
required ZCashNetwork network,
List<ZUnifiedReceiver>? receivers,
}) {
final config = ZcashConf().fromNetwork(network);
try {
switch (type) {
case ZCashAddressType.p2sh:
return encodeBase58Addresses(
bytes: bytes,
prefix: config.b58ScriptAddressPrefix,
type: type,
);
case ZCashAddressType.p2pkh:
return encodeBase58Addresses(
bytes: bytes,
prefix: config.b58PubkeyAddressPrefix,
type: type,
);
case ZCashAddressType.sprout:
return encodeBase58Addresses(
bytes: bytes,
prefix: config.b58SproutAddressPrefix,
type: type,
);
case ZCashAddressType.tex:
return encodeBech32Address(
bytes: bytes,
hrp: config.hrpTexAddress,
type: type,
);
case ZCashAddressType.sapling:
return encodeBech32Address(
bytes: bytes,
hrp: config.hrpSaplingPaymentAddress,
type: type,
);
case ZCashAddressType.unified:
return ZCashEncodingUtils.encodeUnifiedObject(
addressBytes: bytes,
hrp: config.hrpUnifiedAddress,
receivers: receivers,
mode: UnifiedReceiverMode.address,
);
}
} on AddressConverterException {
rethrow;
} on ZCashKeyEncodingError catch (e) {
throw AddressConverterException.addressValidationFailed(
details: e.details,
);
} catch (e) {
throw AddressConverterException.addressValidationFailed(
reason: e.toString(),
);
}
}