decode method Null safety

XdrContractID decode(
  1. XdrDataInputStream stream
)

Implementation

static XdrContractID decode(XdrDataInputStream stream) {
  XdrContractID decoded = XdrContractID(XdrContractIDType.decode(stream));
  switch (decoded.discriminant) {
    case XdrContractIDType.CONTRACT_ID_FROM_SOURCE_ACCOUNT:
      decoded.salt = XdrUint256.decode(stream);
      break;
    case XdrContractIDType.CONTRACT_ID_FROM_ED25519_PUBLIC_KEY:
      decoded.fromEd25519PublicKey = XdrFromEd25519PublicKey.decode(stream);
      break;
    case XdrContractIDType.CONTRACT_ID_FROM_ASSET:
      decoded.asset = XdrAsset.decode(stream);
      break;
  }
  return decoded;
}