PlutusData.fromAddress constructor
PlutusData.fromAddress(
- ADAShellyAddress address
Constructs a PlutusData instance from an address.
Implementation
factory PlutusData.fromAddress(ADAShellyAddress address) {
PlutusData? stakeData;
if (address.addressType == ADAAddressType.base) {
stakeData = ConstrPlutusData(
alternative: BigInt.zero,
data: PlutusList([
PlutusData.fromStakeCredential(
(address as ADABaseAddress).stakeCredential),
]),
);
}
PlutusData? pointerData;
if (address is ADAPointerAddress) {
pointerData = PlutusData.fromPointer(address.pointer);
}
final PlutusData paymentData =
PlutusData.fromStakeCredential(address.paymentCredential);
final PlutusList data = PlutusList([
paymentData,
ConstrPlutusData(
alternative:
stakeData != null || pointerData != null ? BigInt.zero : BigInt.one,
data: PlutusList([
if (pointerData != null || stakeData != null)
pointerData ?? stakeData!,
]),
),
]);
return ConstrPlutusData(alternative: BigInt.zero, data: data);
}