Commit b5f7f10
authored
feat: forester dashboard + compression improvements (#2310)
* fix: update account data handling to strip discriminator prefix and include discriminator length
* chore: update photon subproject and refactor account data handling to remove discriminator length
* chore: update photon subproject to latest commit
* chore: update photon subproject to latest commit
* chore: update photon subproject to latest commit
* feat: add --helius-rpc cli flag
feat: add support for getProgramAccounts standard rpc calls for compression
feat: structured error logging
* feat: enhance compressible data tracking
- Introduced `forester_api_urls` argument in `DashboardArgs` for specifying multiple API base URLs.
- Enhanced `EpochManager` to handle non-retryable registration errors gracefully.
- Implemented `CompressibleTrackerHandles` struct to manage multiple trackers for compressible data.
- Refactored `initialize_compressible_trackers` to streamline tracker initialization and bootstrap processes.
- Updated `run_pipeline_with_run_id` to accept preconfigured tracker handles, improving modularity.
- Modified `main` function to initialize compressible trackers and manage shutdown signals effectively.
* fix: improve transaction handling in compressors
- Enhanced error handling in `CTokenCompressor`, `MintCompressor`, and `PdaCompressor` to manage pending states more effectively.
- Added checks to ensure accounts are marked as pending during transaction processing.
chore: update epoch manager to check eligibility for compression
- Modified `dispatch_compression`, `dispatch_pda_compression`, and `dispatch_mint_compression` to include eligibility checks based on the current light slot.
refactor: improve account tracking with atomic counters
- Introduced `compressed_count` and `pending` sets in account trackers for better management of compression states.
- Updated `CompressibleTracker` trait to include methods for managing pending accounts and counting compressed accounts.
fix: ensure proper handling of closed accounts in trackers
- Added logic to remove closed accounts from trackers in `CTokenAccountTracker`, `MintAccountTracker`, and `PdaAccountTracker`.
feat: add usePhotonStats hook for fetching photon statistics
- Implemented a new hook `usePhotonStats` using SWR for fetching photon statistics from the API.
- Introduced error handling for API responses.
refactor: enhance utility functions for address exploration
- Added `explorerUrl` function to generate Solana explorer URLs based on the current network.
- Improved `formatSlotCountdown` to handle additional parameters for better status reporting.
feat: extend forester types with new statistics
- Updated `AggregateQueueStats`, `ForesterStatus`, and related interfaces to include new fields for batch processing statistics.
- Introduced `PhotonStats` interface for tracking photon-related metrics.
* fix: improve error handling and method consistency in compressors and state management
* feat: add transaction verification to compressors and refactor MintAccountTracker initialization
* fix: improve transaction confirmation handling and error reporting in compressors
* fix: remove unnecessary pubkey collection before marking accounts as pending
* chore: update subproject commit for photon dependency
* fix: implement retry logic for transaction status verification
* refactor transaction handling1 parent a44b61f commit b5f7f10
60 files changed
Lines changed: 4620 additions & 1456 deletions
File tree
- external
- forester
- dashboard
- src
- app
- api
- [...path]
- photon-stats
- compressible
- metrics
- trees
- components
- hooks
- lib
- types
- src
- compressible
- ctoken
- mint
- pda
- processor
- v1
- v2
- tests
- legacy
- sdk-libs
- client/src/rpc
- macros/src/light_pdas/program
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
- Cargo.lock+3
- Cargo.toml+3
- src/api/method/get_compressed_accounts_by_owner/v1.rs+1-1
- src/api/method/get_compressed_accounts_by_owner/v2.rs+1-1
- src/api/method/get_multiple_compressed_accounts.rs+10-1
- src/api/method/interface/get_account_interface.rs+1-1
- src/api/method/interface/get_multiple_account_interfaces.rs+14-2
- src/api/method/interface/racing.rs+725-173
- src/api/method/utils.rs+18
- src/api/rpc_server.rs+6-1
- src/common/typedefs/account/context.rs+7-17
- src/common/typedefs/account/v1.rs+7-17
- src/common/typedefs/account/v2.rs+7-17
- src/dao/generated/accounts.rs+3-1
- src/ingester/fetchers/grpc.rs+19-6
- src/ingester/parser/indexer_events.rs+3-3
- src/ingester/persist/mod.rs+6-1
- src/ingester/startup_cleanup.rs+13-24
- src/main.rs+14-2
- src/migration/migrations/standard/m20260201_000001_add_discriminator_blob.rs+8-385
- src/migration/migrations/standard/m20260220_000001_add_discriminator_bytes.rs+35
- src/migration/migrations/standard/mod.rs+2
- src/migration/model/table.rs+1
- src/monitor/queue_monitor.rs+17-11
- src/monitor/tree_metadata_sync.rs+4-4
- src/snapshot/mod.rs+36-8
- src/snapshot/s3_utils/multipart_upload.rs+19-8
- tests/data/blocks/index_compress_and_close_with_tlv/443787702+1
- tests/data/transactions/index_compress_and_close_with_tlv/5rqnqJKFbBDwbLeX5Dv2q9LQNQUJWMP4wMRmbHoCA5F13nRvWFU8XRVzZKaZV1meXtmfbqF5uvaTndXMaxpQ4tBB+1
- tests/integration_tests/e2e_tests.rs+130
- tests/integration_tests/mock_tests.rs+1-1
- tests/integration_tests/utils.rs+6-6
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| 20 | + | |
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | 2 | | |
4 | 3 | | |
5 | 4 | | |
| |||
14 | 13 | | |
15 | 14 | | |
16 | 15 | | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
| 16 | + | |
| 17 | + | |
22 | 18 | | |
23 | 19 | | |
24 | 20 | | |
| |||
This file was deleted.
0 commit comments