## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds `onPurchaseSuccess` callback to various components and hooks in the codebase, triggering when a user completes a purchase using thirdweb pay.
### Detailed summary
- Added `onPurchaseSuccess` callback to `PayEmbed`, `ConnectButton`, `TransactionButton`, and `useSendTransaction`
- Updated props in multiple components to include `onSuccess` callback parameter
- Added type definitions for `BuyWithCryptoStatus` and `BuyWithFiatStatus`
- Implemented logic to call `onSuccess` callback upon successful purchase completion
> The following files were skipped due to too many changes: `packages/thirdweb/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
The focus of this PR is to fix the wallet app not opening when using `ConnectButton` inside an iframe.
### Detailed summary
- Updated `WalletConnectConnection.tsx` to handle opening wallet app inside iframes
- Modified `openWindow.ts` to address issues with `window.open` on iOS and WebViews
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
The focus of this PR is to update TypeScript versions across multiple packages to `5.5.2` and adjust some configurations accordingly.
### Detailed summary
- Updated `typescript` to version `5.5.2` in multiple `package.json` files
- Adjusted `typescript.tsdk` setting in `vscode/settings.json`
- Modified function in `resolve-abi.ts` for explicit typing
> The following files were skipped due to too many changes: `packages/thirdweb/package.json`, `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->