<!-- start pr-codex -->
## PR-Codex overview
This PR fixes the issue where the transaction button did not respect the theme prop in the `SponsoredTxPreview` component.
### Detailed summary
- Fixed transaction button theme prop issue in `SponsoredTxPreview`
- Added `isValidTheme` and `parseTheme` functions in `buttons.tsx`
- Updated `parseTheme` to validate theme and return default if invalid
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
### TL;DR
To prevent popups from Coinbase wallet being blocked in Safari, pre-connection actions have been added. Specifically, popups will be displayed immediately upon connection request and before transaction preprocessing.
### What changed?
1. Removed the `COINBASE` constant and its related connection flow.
2. Integrated `onConnectRequested` optional function for wallets.
3. Updated Coinbase wallet's `onConnectRequested` to show the popup immediately.
4. Added `onTransactionRequested` to show popup before transaction processing.
### How to test?
1. Initiate connection with Coinbase wallet and observe that the popup appears immediately.
2. Perform a transaction with Coinbase wallet and ensure the popup is not blocked.
3. Test across different browsers, focusing on Safari.
### Why make this change?
Safari has stricter rules regarding popups, and the previous delay in showing the popup led to it being blocked. This change ensures a smoother user experience for Coinbase wallet users on Safari by addressing the popup blocking issue.
---
<!-- start pr-codex -->
---
## PR-Codex overview
The focus of this PR is to enhance wallet connectivity and transaction handling in the application.
### Detailed summary
- Added `onConnectRequested` and `onTransactionRequested` functions to wallet interfaces
- Updated wallet connection and transaction handling logic
- Preloaded wallet providers for smoother user experience
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->