@xyo-network/xl1-cli 4.0.1 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -183,7 +183,6 @@ Named **connections** describe where providers read/write state:
183
183
  | `chain-mongo` | `mongo` | MongoDB chain authority store |
184
184
  | `dlq-store` | `lmdb` / `mongo` | Dead-letter queue backing (dev: aliases to chain store when omitted) |
185
185
  | `mempool-store` | `lmdb` / `mongo` | Mempool backing (dev: aliases to chain store when omitted) |
186
- | `indexer-store` | `lmdb` / `mongo` | Indexer-local store when split from chain authority |
187
186
  | `default-rpc` | `rpc` | HTTP JSON-RPC to another XL1 API |
188
187
  | `default-evm-rpc` | `evm-rpc` | EVM JSON-RPC for staking/contracts |
189
188
  | `s3-finalized` / `s3-chain-state` / `s3-index` | `s3` | Object storage publish targets |
@@ -192,6 +191,15 @@ Named **connections** describe where providers read/write state:
192
191
 
193
192
  **providerBindings** map each provider moniker to a connection. When omitted, bindings are synthesized per connection name (chain monikers → `local-store` / `chain-mongo`, DLQ → `dlq-store` or dev-aliased chain store, mempool → `mempool-store` or dev-aliased chain store, viewers → `default-rpc` when present, EVM monikers → `default-evm-rpc` when declared, otherwise memory fallback at plan time).
194
193
 
194
+ **Index summaries** use two monikers (not one provider per family):
195
+
196
+ | Moniker | Typical connection | Role |
197
+ |---|---|---|
198
+ | `IndexViewer` | `rest-index` (CDN) or `memory` (local dev) | Read step-summary families: `balances`, `blocks`, `schemas`, `transfers` |
199
+ | `IndexPublishRunner` | `s3-index` | Publish those families to the index bucket |
200
+
201
+ Local dev omits `IndexViewer` — `AccountBalanceViewer` computes summaries on demand from `BlockViewer`. Bind `IndexViewer` → `memory` (`SimpleIndexViewer`) when you want in-process summary memoization without S3.
202
+
195
203
  **S3 write + REST read:** The finalizer writes finalized blocks and the chain-state head to S3 (`BlockPublishRunner`, `ChainStatePublishRunner`). The indexer reads the published head and blocks over REST (`ChainStateViewer`, `BlockViewer`) and writes the index bucket via `IndexPublishRunner` → `s3-index`. Because `BlockViewer` must stay on the authority store for finalization, use split per-actor configs ([Finalizer](#finalizer-per-actor) + [Indexer](#indexer-per-actor)) or override `providerBindings` explicitly as in [S3 write + REST read](#s3-write--rest-read).
196
204
 
197
205
  ## Development examples
@@ -637,6 +645,16 @@ Mongo store plus S3 publish connections for finalizer and indexer in one process
637
645
  "readUrl": "https://index.xl1.example"
638
646
  }
639
647
  },
648
+ "providerBindings": {
649
+ "BlockViewer": { "connection": "chain-mongo" },
650
+ "BlockPublishRunner": { "connection": "s3-finalized" },
651
+ "ChainStatePublishRunner": { "connection": "s3-chain-state" },
652
+ "ChainStateViewer": { "connection": "s3-chain-state" },
653
+ "FinalizationRunner": { "connection": "chain-mongo" },
654
+ "FinalizationViewer": { "connection": "chain-mongo" },
655
+ "IndexPublishRunner": { "connection": "s3-index" },
656
+ "MempoolViewer": { "connection": "chain-mongo" }
657
+ },
640
658
  "actors": [
641
659
  {
642
660
  "name": "producer",
@@ -1166,6 +1184,16 @@ Configure the buckets as named `connections` (`s3-finalized`, `s3-chain-state`,
1166
1184
  "s3-chain-state": { "type": "s3", "bucket": "xl1-chain-state", "readUrl": "https://chain-state.xl1.example" },
1167
1185
  "s3-index": { "type": "s3", "bucket": "xl1-index", "readUrl": "https://index.xl1.example" }
1168
1186
  },
1187
+ "providerBindings": {
1188
+ "BlockViewer": { "connection": "chain-mongo" },
1189
+ "BlockPublishRunner": { "connection": "s3-finalized" },
1190
+ "ChainStatePublishRunner": { "connection": "s3-chain-state" },
1191
+ "ChainStateViewer": { "connection": "s3-chain-state" },
1192
+ "FinalizationRunner": { "connection": "chain-mongo" },
1193
+ "FinalizationViewer": { "connection": "chain-mongo" },
1194
+ "IndexPublishRunner": { "connection": "s3-index" },
1195
+ "MempoolViewer": { "connection": "chain-mongo" }
1196
+ },
1169
1197
  "actors": [
1170
1198
  { "name": "producer", "heartbeatInterval": 1000 },
1171
1199
  { "name": "finalizer", "publishOnFinalize": true, "publishContentEncoding": "br" },