Skip to content

Conversation

@denis-chernov-smartcontract
Copy link

@denis-chernov-smartcontract denis-chernov-smartcontract commented Jan 2, 2026

Closes #DS-1420

Description

Readme parser

The in-memory cache is accessed from two sides: from Redcon when the JS adapter stores data, and from the server when a client retrieves it. Redcon uses canonical parameters such as base and quote. All DS clients are configured to use aliases such as from and to. This script creates a map to find the canonical parameter name for a given alias. The script is executed during the Docker image build and generates a JSON mapping that is used later in runtime.

Dockerfile

  • Additional part to build streams adapter binary
  • Supervisord CMD

Supervisord

Starts JS + Streams adapters or original JS adapter apps based on the CACHE_TYPE env var value.

Cache fix

Store values in uppercase instead of lowercase. Critical for cfbenchmarks adapter.

@changeset-bot
Copy link

changeset-bot bot commented Jan 2, 2026

⚠️ No Changeset found

Latest commit: 38e7851

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link

@ro-tex ro-tex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see any issues with the code, aside from it being very complicated to follow, especially without any guidance comments which explain what the master plan is.

In order to make sure this works, I'd advise to add at least a couple of unit tests, ensuring that the state machine works fine for:

  1. Valid input.
  2. Truncated input. It should error out with an appropriate message and not spit out a partial/broken description.
  3. Invalid input, i.e. a free-form README, as potentially written by someone who doesn't know that there are certain expectations.

I must say that parsing README files sounds incredibly fragile and questionable but I assume this has been already discussed and it has been determined that this is the best way forward.

Copy link

@ro-tex ro-tex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

I realise it must feel quite redundant to add all those descriptions but they are super helpful to new readers.
Thank you for going the extra mile there!

@denis-chernov-smartcontract denis-chernov-smartcontract merged commit ccadef9 into streams-adapters Jan 15, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants