Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ Please see our [security policy](/.github/SECURITY.md).
4. If the current tests don't cover your changes, add new ones!

5. [Create a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) for your changes.

- Clearly explain the problem that you're solving.

Link related issues to inform interested parties and future contributors about your change.
Expand All @@ -70,7 +69,6 @@ Please see our [security policy](/.github/SECURITY.md).
6. Do not expect your pull request to be reviewed immediately.

Following this checklist will make the process smoother for everyone:

- [ ] Fixes an [idea approved](https://github.com/blocksense-network/blocksense/labels/idea%20approved) issue
- [ ] Add new tests if necessary and make sure all existing pass
- [ ] Update relevant documentation/readme files
Expand Down Expand Up @@ -142,7 +140,6 @@ Before committing, **format your code** using:
- **Scope:** The part of the project the change affects _(optional)_
- **Subject:** A brief description of the change
- **Body** is a long form explanation of the change. It should answer the following questions:

- Why have I made these changes? / Why the change was needed?
- What you did, what effect have my changes made?
- Bad example: Change `div` class `a` to `b`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,17 @@ The `initial-feeds-config` module is responsible for generating the initial data
The `apps/data-feeds-config-generator/scripts/generate-initial-feeds-config.ts` script orchestrates the entire process of generating the initial feeds configuration. Below is a step-by-step breakdown of the process:

1. **Collect Raw Data from Chainlink**:

- Gather all public information about Chainlink data feeds.

2. **Process Raw Data**:

- **Aggregate Network Information**: Process Chainlink’s raw data into a more suitable format for further processing.
- **Remove Specific Feeds**: Exclude irrelevant or unsupported feeds.
- **Transform Raw Data into a Semi-Final Blocksense Format**: Extract only the necessary information and convert it into a semi-final Blocksense config format that can be further processed.

3. **Generate Feed Configuration**:

- The `generateFeedConfig` function is at the heart of the script. It processes the collected raw data, applies necessary transformations, and outputs the final configuration in a format compatible with Blocksense.

Key steps in the function include:

- **Get Chainlink Feeds on Mainnet**: Collect data from Chainlink’s mainnet feeds.
- **Get Unique Data Feeds**: Filter out duplicates.
- **Remove Unsupported Feed Types**: Exclude feed types that are not supported by Blocksense.
Expand Down
2 changes: 0 additions & 2 deletions apps/e2e-tests/src/test-scenarios/wit/environment-setup.nix
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ let
in
asInts;

root = ../../../../..;

availablePorts =
let
filePath = "${config.devenv.root}/config/generated/process-compose/e2e-wit/available-ports";
Expand Down
8 changes: 0 additions & 8 deletions docs/spec/ADFSIndexerService.md
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,6 @@ WHERE (fl.block_number, fl.log_index, fl.rb_index)
```

- Indexes supporting day-1 queries:

- `feed_latest_point_lookup_idx(chain_id, feed_id, stride)`.
- `feed_updates_range_q_idx(chain_id, feed_id, stride, block_number, log_index) WHERE status = 'confirmed'` (partial index).
- `ring_buffer_updates_slot_latest_idx(chain_id, table_index, block_number DESC, log_index DESC) WHERE status = 'confirmed'` (partial index).
Expand Down Expand Up @@ -593,37 +592,30 @@ Per-chain `alertsConfig` values supply the expected update cadence: `noEventsSec
## 12) Runbooks (Excerpt)

1. **RPC Outage**

- Symptoms: rising `adfs_indexer_rpc_errors_total{chain}`, queue growth, backfill stalls.
- Actions: switch provider URL, reduce backfill range, restart worker; ensure WS reconnects.

2. **DB Saturation**

- Symptoms: elevated `adfs_indexer_db_latency_ms_bucket{chain}` (p99), queue depth increases.
- Actions: tune `db.write.batchRows`, scale DB resources, consider per-chain deployment, add missing indices.

3. **Stuck Backfill**

- Symptoms: `adfs_indexer_backfill_progress{chain}` flat for >10 minutes.
- Actions: inspect RPC rate limits, narrow block ranges, restart targeted backfill.

4. **Unknown Implementation / Version Pause**

- Symptoms: `adfs_indexer_version_paused{chain}` remains 1, alerts firing, ingestion halted for that chain.
- Actions: inspect `proxy_versions` to identify new implementation; update `implVersionMap`, `versions`, and `topicNames` in config (including optional `bytecodeHash`), redeploy/restart service (no hot-reload) to resume ingestion; verify `adfs_indexer_version_paused{chain}` returns to 0.

5. **Queue Overflow Pause**

- Symptoms: `adfs_indexer_queue_overflow_total{chain}` increments, ingestion auto-paused for that chain, catch-up backfill scheduled from `overflowBackfillWindow`.
- Actions: confirm RPC health and consumer load, adjust `queue.maxItems` or throughput if necessary, monitor backfill completion, then resume ingestion once backlog clears.

6. **Guardrail Drop (feeds/calldata)**

- Symptoms: `adfs_indexer_guard_dropped_total{chain,reason}` increments, chain auto-paused, backfill scheduled from `guardBackfillWindow`.
- Actions: inspect offending transactions, adjust guard thresholds if appropriate, confirm auto backfill completion before resuming ingestion; treat as P1.

7. **Stale Advisory Lock**

- Symptoms: `adfs_indexer_lock_age_seconds{chain,lock}` exceeds threshold, and `pg_stat_activity` shows idle holder.
- Actions: investigate stuck worker, restart if necessary, and use `locks release --chain` admin command (invokes `pg_advisory_unlock`) to free the lock when safe.

Expand Down
1 change: 0 additions & 1 deletion docs/spellbook.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,6 @@ Command Breakdown:
> ```

Easy to copy examples for crafting the data parameter:

- `getLatestSingleData` operation with stride 0 and id 42

```javascript
Expand Down
Loading
Loading