-
Notifications
You must be signed in to change notification settings - Fork 5
v1.2.0-alpha #210
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
v1.2.0-alpha #210
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sync dev with main
- Add Bitcoin network integration (Phase 1 - Dashboard only)
- New BitcoinAdapter for JSON-RPC communication
- Bitcoin dashboard with network stats and recent blocks
- useBitcoinDashboard hook with 60s refresh interval
- NetworkRouter component for network type routing
- Migrate from chainId to networkId (CAIP-2 format)
- RPC storage now uses networkId as keys (e.g., "eip155:1")
- Add networkResolver utility for network resolution
- Extract chainId from networkId for EVM networks
- Update settings page to use networkId-based storage
- Bump RPC storage version to V3
- Add NetworkType and slug support
- Networks now have "type" field ("evm" | "bitcoin")
- Add "slug" field for URL routing (e.g., "btc", "eth")
- getNetworkUrlPath prefers chainId for EVMs, slug for others
- Update all components to use networkId for RPC lookups
- Address pages, token displays, contract interactions
- Network dashboard, block indicator, devtools
Publish using OIDC and set npm registry for github acation
- Add BitcoinBlockDisplay/Page with navigation, stats, and tx list - Add BitcoinTransactionDisplay/Page with inputs/outputs two-column layout - Add BitcoinAddressDisplay/Page with balance and UTXO display - Add BTC price fetching via WBTC pools on Ethereum - Add fee estimates (fast/medium/slow) to dashboard - Add USD values alongside BTC values in transaction display - Add mempool transaction support with multiple RPC fallbacks - Add Bitcoin address/txid pattern recognition in search - Update navbar to hide blocks/txs links on Bitcoin networks - Center search bar in navbar using absolute positioning - Simplify dashboard stats to show only price, mempool, and fees - Unify Bitcoin page styling with EVM pages (block-display-card)
- Add network dropdown for all networks (including Bitcoin) with links to network home, blocks, transactions, and OpenScan home - Remove BLOCKS and TRANSACTIONS links from navbar (now in dropdown) - Move search bar to left side next to network logo - Move search button inside input with smaller icon - Fix dropdown hover gap issue with padding approach - Clean up duplicate CSS styles and unused code
- Add BitcoinBlocksPage for /btc/blocks route with pagination - Add BitcoinTransactionsPage for /btc/txs route showing recent txs - Add BlocksPageRouter and TxsPageRouter for network-aware routing - Fix navbar dropdown links to use getNetworkUrlPath for correct URLs
Upgrade to v1.3.0 which includes the RaceStrategy implementation using Promise.any() for first-resolved RPC provider selection. Closes #192 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add race mode that queries all RPC endpoints simultaneously and returns the first successful response, optimizing for latency. Changes: - Add "race" to RPCStrategy type, UserSettings, and RPCMetadata - Extend DataService constructor to accept "race" strategy - Apply maxParallelRequests limit for race mode in useDataService - Add "Race (Fastest)" option to Settings UI with description - Show max parallel requests control when race mode is active - Update RPCIndicator with lightning bolt badge, winner highlight, response time sorting, and race-specific footer note Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fix two issues with transaction status on the address page: 1. Handle both "0x1"/"0x0" and "1"/"0" receipt status formats in TransactionHistory and AddressDetails components. 2. Add sequential retry for failed receipt fetches in AddressTransactionSearch. When using race/parallel strategies, the high concurrent request volume (batch_size × providers) can trigger RPC rate limiting, causing some receipts to fail. Failed receipts are retried one-at-a-time with delays to avoid the burst that caused the initial failure. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
chore: bump version to 1.2.0-alpha
- Create bitcoinFormatters.ts with formatting functions - Create bitcoinUtils.ts with business logic functions - Create bitcoinConstants.ts with shared constants - Update all Bitcoin components to use shared utilities - Remove ~230 lines of duplicated code
- Add explicit /btc/* routes before :networkId catch-all - Remove NetworkRouter component (no longer needed) - EVM routes use LazyChain directly
- Add Bitcoin Testnet4 network configuration (slug: tbtc) - Add /tbtc/* routes for testnet4 pages - Update Bitcoin page components to extract network slug from URL path instead of useParams (required since routes don't have :networkId param) - Add Mempool link to navbar dropdown for Bitcoin networks
- Add BitcoinMempoolPage component showing pending transactions - Add getMempoolSummary and getMempoolTransactions methods to BitcoinAdapter - Paginate by 100 transactions per page for faster loading - Fetch transaction details in parallel for current page only - Show page indicator in header and clean pagination controls - Auto-refresh every 30 seconds - Add pagination-info CSS class
feat: implement race (first-resolved) RPC strategy
- Fix NetworkAwareRouters to extract network from URL path segment instead of only useParams (which was undefined for /btc/* routes) - Fetch block header in parallel with block data for reliable nTx count - Use header's nTx as primary source with fallbacks
…utes - Remove NetworkAwareRouters.tsx - no longer needed - Use lazy components directly in App.tsx routes - Bitcoin routes (btc/*, tbtc/*) use Bitcoin-specific components - EVM routes (:networkId/*) use EVM components - Simpler and more explicit routing
- Move EVM-specific pages to pages/evm/: address, block, blocks, tx, txs, network, gastracker, tokenDetails, mempool - Update all imports in LazyComponents.tsx - Fix relative imports in moved files - Keep shared pages (about, contact, home, etc.) at pages/ root - Mirrors existing pages/bitcoin/ organization
- Add fixture data with real mainnet blocks, transactions, and addresses - Test different eras: Genesis, SegWit (481824), Taproot (709632) - Test all address types: Legacy (P2PKH), P2SH, SegWit (P2WPKH), Taproot (P2TR) - Test transaction types: coinbase, legacy, SegWit, Taproot, OP_RETURN - Add page object models for Bitcoin block, transaction, and address pages - Add wait helpers for Bitcoin page content
- Create e2e-bitcoin.yml to run Bitcoin tests independently - Update e2e.yml to exclude Bitcoin tests (--ignore-pattern)
Prevents 'No transactions found' flash while transactions are still loading
Update all Bitcoin pages to use truncateBlockHash for block hashes
- Add superUserMode setting to UserSettings with default false - Add isSuperUser and toggleSuperUserMode to SettingsContext - Add terminal icon toggle button in navbar (desktop and mobile) - Conditionally render DevTools based on super user mode - Add active state styling for toggle button - Hide build warning icon in development environment Closes #187
…ructure-with-react-i18next 130 feat implement i18n infrastructure with react i18next
- Create src/utils/logger.ts with debug, info, warn, error methods - Environment-based filtering (dev: all, staging: info+, prod: warn+) - Add unit tests for all log levels and environments - Export logger from utils/index.ts - Add pure_funcs to vite.config.ts to strip console.log in production Closes #186
Replace console.log/warn/error with logger methods in utility files: - artifactsStorage.ts - devArtifacts.ts - erc1155Metadata.ts - erc721Metadata.ts - rpcStorage.ts - web3Security.ts
Replace console.log/warn/error with logger methods in: - MetadataService.ts - AddressTransactionSearch.ts - All network adapters (EVM, Arbitrum, Optimism, Base, Polygon, BNB, Bitcoin) - NetworkAdapter.ts
Replace console.log/warn/error with logger methods in: - useENS.ts - useProviderSelection.ts - useSelectedData.ts - useSourcify.ts - useZipJsonReader.tsx
Replace console.warn/error with logger methods in: - AppContext.tsx - SettingsContext.tsx
Replace console.log/warn/error with logger methods in: - ErrorBoundary.tsx - LazyComponents.tsx - NetworkBlockIndicator.tsx - Address pages and displays - Block/Transaction pages - Token detail pages - Bitcoin pages - Settings page - About page
Replace console.log with logger.debug in networks.ts
Add Logger Utility section to patterns.md with: - Usage examples - Log level guidelines - Environment filtering table - Build-time safety notes
…ity-with-environment-aware-log-levels feat: Implement logging utility with environment aware log levels
I18n fixes
Release/v1.2.0 a
|
🚀 Preview: https://pr-210--openscan.netlify.app |
MatiasOS
approved these changes
Feb 9, 2026
Member
MatiasOS
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚢
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR merges release v1.2.0-alpha into main, bringing major new features and improvements.
Type of Change
Changes Made
Bitcoin Network Support
NetworkId Migration (CAIP-2)
Auto-Search Recent Transactions
Internationalization (i18n)
Logger Utility
Super User Mode
SEO & Metadata
E2E Test Improvements
UI/UX Improvements
Checklist
npm run format:fixnpm run lint:fixnpm run typecheck