UnifiedAddressRequest constructor
UnifiedAddressRequest({
- bool? transparent,
- bool? sapling,
- bool? orchard,
- PubKeyModes? transparentPubKeyMode,
- List<
int> ? transparentScriptHash, - TransparentAddressRequestType transparentAddressType = TransparentAddressRequestType.p2pkh,
Implementation
factory UnifiedAddressRequest({
bool? transparent,
bool? sapling,
bool? orchard,
PubKeyModes? transparentPubKeyMode,
List<int>? transparentScriptHash,
TransparentAddressRequestType transparentAddressType =
TransparentAddressRequestType.p2pkh,
}) {
switch (transparentAddressType) {
case TransparentAddressRequestType.p2pkh:
if (transparentScriptHash != null) {
throw ArgumentException.invalidOperationArguments(
"UnifiedAddressRequest",
reason: "P2PKH addresses cannot include a script hash.",
);
}
break;
case TransparentAddressRequestType.p2sh:
if (transparentPubKeyMode != null &&
transparentPubKeyMode != PubKeyModes.compressed) {
throw ArgumentException.invalidOperationArguments(
"UnifiedAddressRequest",
reason: "P2SH addresses require a compressed public key mode.",
);
}
break;
}
return UnifiedAddressRequest._(
transparent: transparent,
sapling: sapling,
orchard: orchard,
transparentAddressType: transparentAddressType,
transparentScriptHash: transparentScriptHash,
transparentPubKeyMode: transparentPubKeyMode ?? PubKeyModes.compressed,
);
}