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(),
);
}
}