Skip to content
Merged
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
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.12.0] - 2026-08-30

### Added
- ROLLCALL is decoded from the wire.

### Fixed
- The MariaDB connector moves to 3.5.3, closing three high-severity advisories against the pinned 3.5.2.
- RPC faults keep their identity, and tuning environment variables go through the shared validator.
- A halt the service cannot record no longer passes unnoticed.

### Changed
- Service logging routes through the shared log shim, one line per console call.

## [0.11.0] - 2026-08-25

### Added
Expand Down
18 changes: 17 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# XChain Platform Decoder

<p align="center">
<img src="https://img.shields.io/badge/version-1.11.16-blue" alt="Version">
<img src="https://img.shields.io/badge/version-0.11.0-blue" alt="Version">
<img src="https://img.shields.io/badge/tests-1300%2B%20passing-brightgreen" alt="Tests">
<img src="https://img.shields.io/badge/node-%3E%3D22-green" alt="Node">
<img src="https://img.shields.io/badge/license-AGPL--3.0--or--later-blue" alt="License">
Expand Down Expand Up @@ -90,6 +90,22 @@ The module is vendored byte-identically from xchain-hub. Edit it there and
re-run `xchain-hub/bin/sync-observability.sh`; a local edit fails the parity
check CI runs across the vendored copies.

### Shim controls, and the defaults in force

These four names configure the shim itself. The fleet deploy path carries them
into the container: `xchain-node` forwards any of them set in the module config
store or in the deploy host's environment (`ModuleService.resolveObservabilityEnv`),
and the validator compose files under `claude/deploy/testnet-validators/` name
them outright. Nothing is fabricated when neither source sets one, so these
defaults hold on an unconfigured box:

| Variable | Default | Effect |
|---|---|---|
| `LOG_LEVEL` | `info` | Lowest level emitted. `debug` \| `info` \| `warn` \| `error`; an unrecognised value falls back to `info`. |
| `LOG_FORMAT` | `text` | `text` emits `<iso-ts> <level> [<service>] <msg> key=value`; `json` emits one NDJSON record per line. |
| `METRICS_ENABLED` | `false` | Registers the `/metrics` route. The counter registry is built either way, so counters are collected whether or not the route is exposed. |
| `XCHAIN_LOG_PATCH` | `1` | Routes bare `console.*` calls through the shim so they carry the level and service prefix. `0` leaves `console` untouched, which is what the test bootstrap sets. |

## Scripts

| Command | Description |
Expand Down
29 changes: 16 additions & 13 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "xchain-decoder",
"description": "xchain-decoder decodes XChain platform transactions from a given blockchain and populates a database with the decoded data.",
"version": "0.11.0",
"version": "0.12.0",
"license": "AGPL-3.0-or-later",
"repository": {
"type": "git",
Expand All @@ -23,7 +23,7 @@
"helmet": "^8.2.0",
"leveldown": "^6.1.1",
"levelup": "^5.1.1",
"mariadb": "3.5.2",
"mariadb": "3.5.3",
"memdown": "^6.1.1",
"tiny-secp256k1": "2.2.4"
},
Expand Down
Loading
Loading