validateReceiverEncoding static method
List<int>
validateReceiverEncoding({
- required List<
int> data, - required Typecode typecode,
- required UnifiedReceiverMode mode,
Implementation
static List<int> validateReceiverEncoding({
required List<int> data,
required Typecode typecode,
required UnifiedReceiverMode mode,
}) {
final len = typecode.getLength(mode);
if (len != null && data.length != len) {
throw ZCashKeyEncodingError.invalidUnifiedBytes(mode);
}
switch (mode) {
case UnifiedReceiverMode.address:
return data;
case UnifiedReceiverMode.fvk:
case UnifiedReceiverMode.ivk:
if (typecode == Typecode.p2sh) {
throw ZCashKeyEncodingError.invalidUnifiedTypeCode(mode);
}
return data;
case UnifiedReceiverMode.sk:
if (typecode == Typecode.p2sh || typecode == Typecode.unknown) {
throw ZCashKeyEncodingError.invalidUnifiedTypeCode(mode);
}
return data;
}
}