Tip Received!
      
        You received a tip of {renderAmount(tipStatus.amount)}{" "}
        from  
        {tipStatus.merchantOrigin}.
      
      
        The tip is handled by the exchange{" "}
        {tipStatus.exchangeUrl}. This exchange will charge fees
        of {renderAmount(tipStatus.totalFees)} for this
        operation.
      
      
     
  );
}
async function main() {
  try {
    const url = new URL(document.location.href);
    const talerTipUri = url.searchParams.get("talerTipUri");
    if (typeof talerTipUri !== "string") {
      throw Error("talerTipUri must be a string");
    }
    ReactDOM.render(