Conversation
…e component styling\n- Update CSS styles for improved visual consistency\n- Add Spanish translations for settings updates
- Add aiAnalysis.sectionTitle to English and Spanish address translations
- Wrap AccountDisplay, ERC20Display, ERC721Display, ERC1155Display in page-with-analysis 2-column grid layout - Add AIAnalysis panel to each display with appropriate analysis type (account for EOA, contract for token displays) - Build context objects with address data, token metadata, and verification status per display type - Add onTransactionsChange callback to TransactionHistory to expose loaded transactions to AccountDisplay for richer AI context - Include recent transaction summaries (first 10 txs) in EOA context
- Thread app language through AIAnalysis -> useAIAnalysis -> AIService -> AIPromptTemplates - Add language instruction to all prompt templates so AI responds in the user's selected language (e.g., Spanish when app is set to es) - Default to English with no extra instruction for en locale
…once Use reth's eth_getTransactionBySenderAndNonce RPC method for O(N) sent transaction discovery on Ethereum mainnet (chain ID 1), where N is the address nonce. Falls back gracefully to existing binary search if the method is unavailable. - Add dedicated reth provider config with 3 public reth RPCs (race strategy) - Add NonceLookupService for batched nonce-to-tx lookups - Search gaps between sent tx blocks for received/internal txs using adaptive segmentation with exponential narrowing for large gaps - Progressive interleaved delivery: walk newest-to-oldest alternating gap searches and sent tx delivery for correct chronological order - Fix address case normalization for consistent cache hits Closes #211 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use @erc7730/sdk ClearSigner to decode transaction calldata into human-readable format (intent, formatted fields, security warnings) before sending context to the LLM.
Conditionally inject system prompt hint when erc7730Intent is present in the context, instructing the LLM to use decoded fields and highlight security warnings.
- Add 2-column layout with AI analysis panel on the right - Build rich context from tx data, decoded input, event logs, L2 fields, and ERC-7730 pre-analysis for LLM consumption - Add i18n keys for transaction AI analysis section (en + es)
feat(address): optimize tx search with eth_getTransactionBySenderAndNonce
ci(npm): Add missing alpha tag to publish config
Feat: AI analysis foundation
fix(ens): fix ENS lookup and address transaction receipt fetching
Aligns the UserSettings field name with the derived boolean exposed by SettingsContext, so consumers reading directly from settings and those using the context hook see the same identifier.
…thropic model Replace the hardcoded "groq" primaryAIProviderId in the Settings UI with AI_PROVIDER_ORDER[0] so the displayed primary card stays in sync if the priority order ever changes. Also updates the Anthropic default model from the outdated claude-sonnet-4-5-20250929 to claude-sonnet-4-6.
AIService.doFetch now uses an AbortController with a 30s hard timeout so a slow or unresponsive provider cannot hang the UI indefinitely. extractProtocolHints now strips filenames before pattern matching so only directory segments are tested, preventing contracts whose names happen to contain a protocol name (e.g. MyUniswapFork.sol) from producing false hints.
…oviders-power-user-prompt-versioning-and-swapping 222 feat enhance ai analyzer providers power user prompt versioning and swapping
Pin metadata package to @1.1.0-alpha.0 and update token data paths to include /evm/ segment, matching the new multi-chain directory structure in the metadata repository.
Replace bundled networks.json RPCs and Chainlist fetching with curated RPC endpoints from @openscan/metadata. RPCs are fetched from the metadata CDN on startup, cached in localStorage with 24h TTL, and color-coded in Settings by tracking/open-source status.
Move metadata RPC fetch into loadNetworkData so RPCs are resolved before the app finishes initializing (fixes empty RPC state on first load). Add clearMetadataRpcCache to the Settings clear-cache action.
Personal API key URLs now display as "Infura Personal" / "Alchemy Personal" with the yellow tracking-enabled tag color.
- Add OpenScanCubeLoader as the universal loading animation across all
loading states (Loader and Loading components)
- Convert cube animation from requestAnimationFrame to CSS keyframes,
removing all hooks from LoadingLogo.tsx
- Add cube-breathe-{right,left,top} and cube-rotate-{cw,ccw} keyframe
animations to components.css
- Remove deprecated CSS: .loader-spinner, @Keyframes spin (loader),
.loader-spinner-container, .wave-loading, .wave, @Keyframes wave,
.loading-spinner (both theme variants)
- Drop color prop from Loader component
- Show cube loader (size 18) inline in the Analyze button while loading - Show cube loader (size 60) in the panel content area while awaiting the AI response - Replace .ai-analysis-spinner CSS circle with .ai-analysis-loading flex container; remove @Keyframes ai-spin
Styles/repalce loading animation
Adds Polygon RPC endpoints to the metadata directory.
…ha.0 feat(metadata): replace Chainlist with metadata RPC directory
|
🚀 Preview: https://pr-233--openscan.netlify.app |
Split transaction detail rows into full-width sections for long hex values (hash, from, to) and a responsive two-column grid for shorter fields (status, block, gas, L2 fields), mirroring the Bitcoin TX layout.
Brighten tx labels, values, and badges for better dark mode visibility. Strengthen row borders, L2 backgrounds, and attribute chips. Align BTC and EVM grid dividers to use consistent color-primary-alpha-15 borders.
Move block hash from hidden "More Details" to a prominent full-width row at the top with LongString trimming. Split remaining fields into a two-column grid matching the transaction page layout.
Simplify the transactions page to show one block per page instead of scanning multiple blocks. This eliminates gaps where transactions could be lost between pages. URL param changes from ?fromBlock=N to ?block=N.
Add within-block pagination (100 txs/page) alongside existing block-level
navigation. URL scheme: /{slug}/txs?block=N&page=P. Fetches all block txs
once and slices client-side for page changes. Includes i18n for en/es,
new pagination CSS classes, and adapter support for getBlockTransactions.
… titles
Replace hardcoded "Bitcoin Blocks", "Latest Blocks", "Bitcoin Transactions",
and "Latest Transactions" with dynamic "{{network}} Blocks/Transactions"
using the network name from config. Fix EVM pages resolving network name
from raw URL param instead of numericNetworkId to support slug-based routes.
…o feat/ui-improvements
feat(ui): improve layout and pagination for blocks and transactions pages
Bump package version to 1.2.1-alpha
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
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.
No description provided.