Add sparkscan extension#20667
Conversation
- Fix: improves transaction display and data handling - chore: adds license and updates metadata - docs: adds initial README file - feat(transactions): enhances transaction view - update icons - remove lookup for now - latest txs and open in sparkscan - update logo - publish - add stats command - init - Initial commit
- refactor: isolate preferences type - chore: fmt - chore: add screenshots - feat: allow toggling details in latest tx - chore: fmt - chore: updates ai evals and format code - feat: adds sparkscan matching logic - chore: remove transaction tool - feat: add network statistics tool - feat: Adds UTM parameters to URLs - feat(core): adds user agent information
|
Congratulations on your new Raycast extension! 🚀 Due to our current reduced availability during summer, the initial review may take up to 10-15 business days. Once the PR is approved and merged, the extension will be available on our Store. |
There was a problem hiding this comment.
Greptile Summary
This PR introduces a new Sparkscan extension for exploring blockchain data on the Spark network, following the same pattern as other blockchain explorer extensions in the Raycast ecosystem. The extension provides three main capabilities:
-
Clipboard-based URL opening via the
open-in-sparkscan.tscommand that reads clipboard content and automatically opens the relevant Sparkscan page based on the detected data type (addresses, transactions, tokens, or public keys) -
AI-powered statistics retrieval through the
get-stats.tstool that fetches network metrics like total value locked, active accounts, and transaction counts from the Sparkscan API -
Intelligent input parsing using a matcher system with classes for different blockchain identifier types:
sparkAddress.ts- matches Spark addresses starting with 'sp' and determines network typepublicKey.ts- matches Bitcoin compressed public keys using regex validation- Additional matchers likely exist for transactions and tokens
The extension integrates well with Raycast's architecture by:
- Using the preferences system for user customization (network selection, transaction limits, detail display)
- Including proper AI evaluations in
ai.jsonfor testing the statistics tool - Following established patterns from similar blockchain explorer extensions
- Providing utility functions for formatting blockchain data (address truncation, timestamp formatting, transaction type labeling)
- Including proper TypeScript interfaces and error handling
The extension supports both MAINNET and REGTEST networks for the Spark blockchain, with UTM tracking for analytics when opening external URLs.
Confidence score: 4/5
- This PR appears safe to merge with well-structured code following established patterns
- The implementation includes proper error handling, TypeScript typing, and follows Raycast conventions
- The extension includes required AI evaluations and appears to have proper metadata structure
- Some minor improvements could be made to clipboard error handling in
open-in-sparkscan.ts
8 files reviewed, 1 comment
- chore: switch ai file to yaml - feat: add status ai tool - feat: adds stats menu bar item
pernielsentikaer
left a comment
There was a problem hiding this comment.
Hi 👋
Thanks for your contribution 💪
I have now tested your extension, and I have some feedback ready for you:
- Maybe it should be named
Open from Clipboard in Sparkscaninstead?
- I’m getting a lot of undefined in the menubar command which should be resolved
- How does this work, looks like I’m getting an error?
-
Add PublicKeyMatch to src/open-in-sparkscan.ts so compressed pubkeys are supported.
-
Seed matchSearch with getPreferenceValues().defaultNetwork instead of hardcoded "MAINNET" in src/open-in-sparkscan.ts.
-
Strip hyphens in TransactionMatch.path (like removeHyphens) to match Sparkscan routing in src/lib/matchers/tx.ts.
-
Add explicit generics to all useFetch calls and align initialData types (e.g., LatestNetworkTransactionItem[]) in src/latest-transactions.tsx, src/statistics.tsx, and src/menu-bar-stats-and-status.tsx.
-
Normalize Sparkscan URLs to a single host (avoid mixing https://sparkscan.io and https://www.sparkscan.io).
-
Do you need help fixing the CI errors mentioned here
I'm looking forward to testing this extension again 🔥
Request a new review when you are ready. Feel free to contact me here or at Slack if you have any questions.
|
Hey @Quantumlyy 👋 Can you address below feedback: I converted this PR into a draft until it's ready for the review, please press the button Feel free to contact me here or at Slack if you have any questions. |
|
This pull request has been automatically marked as stale because it did not have any recent activity. It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊 |
|
This pull request has been automatically closed due to inactivity. Feel free to comment in the thread when you're ready to continue working on it 🙂 You can also catch us in Slack if you want to discuss this. |



Description
Search and display information found on addresses, transactions, and tokens on Sparkscan.
The extension will attempt to read the clipboard and parse the input to open the correct page on the explorer.
Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder