-
Notifications
You must be signed in to change notification settings - Fork 5
Release/v1.2.0 a #195
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
Merged
Release/v1.2.0 a #195
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
- 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
- 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
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
- 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
|
🚀 Preview: https://pr-195--openscan.netlify.app |
- 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
- Change max-width from viewport-based calc(100vw - 80px) to 100% - Add width: 100% and overflow-x: hidden to parent container - Reduce URL max-width on small mobile (480px) from 150px to 120px Closes #193
chore: sync release/v1.2.0-a with dev
feat: add Super User Mode to show/hide advanced features
Hide the MetaMask button and RPC count badge on small devices (767px and below) to prevent overflow in the settings chain header. Also add min-width: 0 on RPC tags to allow them to shrink below content size.
Resolve merge conflicts in package.json (bump @openscan/network-connectors to ^1.3.0) and bun.lock.
fix(html): remove static preload content from root div
feat(search): auto-search recent transactions with exponential range finder
…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
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 dev, 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