Repository navigation
Conversation
A consumer can keep the catalog a chunk was written with and pin the chunk to it, and that copy never changes. A copy made before struct members carried encodings rendered solana `transactionConfig.priorityFee` and evm `authorizationList[].nonce` as numbers where the reference writes decimal strings. The loader now takes each column's `encoding` and `members` from the catalog this release ships under the same name, where the copy stores the column as the same type. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Collaborator
Author
|
Closing without merging. Taking the rendering from catalogs built into the engine would make every new output rule wait for an engine release in every consumer. Catalogs are distributed by their provider so that a change of this kind needs no release, and the fix belongs there. See #79. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #79.
Summary
A consumer can keep the catalog a chunk was written with, and pin the chunk to it. That copy never changes. A copy made before a8f6e03 has no struct
members, so the engine rendered two fields as numbers where the reference writes decimal strings:transactions[].transactionConfig.priorityFeetransactions[].authorizationList[].noncesqd-metadatanow embeds the catalogs frommetadata/. Afterparse_dataset_descriptionloads a catalog, it takesencodingandmembersfrom the shipped catalog with the samename, for each column with the same name and the same stored type. Everything else in the copy is used as written: tables, columns, types, weights and column order. The strict loader checks keys against the document as written, and then applies the same rendering.A consumer needs no code change: a pin bump is enough.
Tests
test_a_copy_of_a_shipped_catalog_renders_as_shipped: the solana and evm catalogs with theirmembersremoved, and solana withfee's column encoding removed, render as shipped, through both loaders. A column stored as another type keeps its own rendering.make fmt,make lint,make spec-checkandmake testpass: 444 passed, 0 failed.solana_devnet/v1_transactionwith a stored copy of the solana catalog from before a8f6e03. Before:"priorityFee":5000. With this change:"priorityFee":"5000". With sorted keys, the whole answer (501 lines) is identical to the answer with the shipped catalog.Not in this PR
🤖 Generated with Claude Code