feat: validators page, cache busting, and tx detail fixes#38
Closed
Cordtus wants to merge 137 commits into
Closed
Conversation
Handles HTTP 300 (function overload during schema cache reload), 502, 503, 504 with exponential backoff (3 retries, 500ms base delay).
fix: add retry logic for transient PostgREST errors
fix: Select empty value error on governance page
feat: add governance proposal details to transaction view
- Fix Collapsible/Dialog onOpenChange type mismatch with Ark UI - Fix Checkbox id prop and onCheckedChange callback types - Fix Button cloneElement type issue for asChild prop - Add styled-system path alias to vite.config.ts - Remove unused tailwind.config.ts and react-router.config.ts - Migrate remaining Tailwind classes in EVMTransactionCard, EVMLogsCard, MessageDetails, JsonViewer, and AddressChip to Panda CSS - Ignore styled-system folder in ESLint config - Remove plan file
- Fix gas_usage_distribution field name (gas_range not range) - Remove non-existent get_active_addresses_daily RPC - Remove non-existent compute_proposal_tally RPC - Add getDenomMetadata endpoint for denomination resolution - Add requestEvmDecode RPC for EVM transaction decoding - Update ActiveAddressesChart to use chain_stats instead of non-existent RPC
- Add API methods for evm_contracts, evm_tokens, evm_token_transfers, validators, and ibc_channels endpoints - Create EVM Contracts page with empty state handling - Create EVM Tokens page with token type formatting - Add EVM sub-navigation component for switching between pages - Add EVM routes to main.tsx - Add EVM link to header navigation
- Replace Vite with Bun HTML bundler for dev/build - Replace ESLint with Biome for linting - Add runtime config system (src/lib/env.ts) replacing env vars - Fix Panda CSS generation with cssgen for utility classes - Update package.json scripts for Bun - Remove yarn.lock, add bun.lock
- Fix PostCSS config to use Panda CSS plugin - Fix Select component state management for dropdown - Fix grid template columns in analytics and home pages - Fix route links to match router paths - Update CSS import path in main.tsx
- Add build.ts for production builds with Bun.build() - Add dev.ts for dev server with file watching - Use programmatic PostCSS for CSS processing - Remove Vite and related dependencies - Simplify package.json scripts
refactor: use Panda CSS pattern utilities for cleaner styling
Remove automatic database reset functionality that could wipe production data when chain restart is detected. This feature posed a security risk by allowing unauthenticated database truncation. Removed: - scripts/chain-reset-guard.sh - auto-truncate script - scripts/full-reset.sh - reset wrapper script - src/components/common/reset-notice.tsx - UI banner component - Docker chain-reset-guard service - resetNotice config and RESET_GUARD_* env vars - Related documentation
fix: remove chain reset guard feature
… support - Add SDK_FRAMEWORK_EVENTS set to distinguish framework dispatch events (message, tx, coin_spent, etc.) from application events using italic styling and (sdk) suffix label - Register Republic custom modules (computevalidation, reputation, slashingplus) in chain configs for all three Republic chain IDs - Add Republic module detection to isChainSpecificMessage()
- Add API types and client methods for compute validation, reputation, and slashing modules (PostgREST RPC endpoints) - Add MessageDetails rendering for 10 Republic message types with themed icons and color-coded borders - Add Compute page with stats, jobs/benchmarks tabs, filters, pagination - Add Compute job detail page with address chips and tx links - Add Network page with validator IPFS addresses and slashing records - Add Compute and Network nav items to header - Add SDK framework event visual distinction on transaction detail - Register Republic custom modules in chain configs
- Footer links now match republic-points-webapp (Getting Started, Validator Quickstart, Client Quickstart, Block Explorer, etc.) - Update tagline to "Layer 1 blockchain backed by compute." - Update X link to @republicfdn - Remove icons from nav items to prevent overflow into search bar - Reduce nav gap spacing
feat: SDK event type visual distinction + Republic module config
feat: Republic protocol custom module support (UI)
- Add Validator, DelegationEvent, ValidatorStats types and API methods - Add validators list page with stats, search, filters, sortable table - Add validator detail page with info, commission, delegation events - Add Validators nav item to header, register routes in main.tsx
feat: add validators list and detail pages
- Remove Network page and route - Move Validator IPFS Addresses section to validators list page - Remove slashing records (unused evidence module) - Remove SlashingRecord type and getSlashingRecords from API client
- Use dynamic bech32 prefix from chain config instead of hardcoded 'republic' (now 'rai' for Republic chains) - Add bech32Prefix field to ChainConfig and ChainInfo - Pass both cosmos and EVM address forms to backend for tx lookups - Fix evm_contracts verified field: is_verified matches DB column - Balance stat card padding (pt -> py) on compute and validators pages
feat: validators pages, address linking, and UI fixes
…sums - Eagerly initialize chain info in DenomProvider for bech32 prefix - Add getChainDecimals/getChainBaseDenom/getChainDisplayDenom accessors - Format validator token amounts with proper 18-decimal conversion - Add fixBech32Address to re-encode addresses with valid checksums - Apply denom formatting to delegation event amounts
Convert Cosmos SDK Dec format (10^18) commission values to 0-1 decimal range. Remove standalone IPFS panel, add IPFS peer ID column to the main validators table. Show IPFS info on validator detail page sidebar.
Entry JS and CSS filenames now include content hashes (e.g. main-abc123.js, styles-def456.css). index.html is generated dynamically referencing the hashed filenames. nginx explicitly sets no-cache on index.html and config.json so browsers always revalidate and pick up new hashed assets on deploy.
getEventAttribute() now filters by msg_index to avoid returning fee transfer amounts instead of actual message transfer amounts.
Cordtus
added a commit
that referenced
this pull request
Feb 5, 2026
- Add wallet connection support for Keplr (Cosmos) and EVM wallets - Create unified useStaking hook that routes transactions based on wallet type - Add EVM staking precompile interface for delegate/undelegate/redelegate - Add Cosmos SDK staking transaction builders for Keplr - Create DelegationsPage to view and manage user delegations - Add staking modals: Delegate, Undelegate, Redelegate, ClaimRewards, SetWithdrawAddress - Add staking actions to validator detail page - Update navigation with "My Staking" link - Add delegator API methods for fetching user staking data
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.
Summary
Test plan