Skip to content

Conversation

@mateuszsikora
Copy link
Contributor

No description provided.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 24, 2025

📝 Walkthrough

Summary by CodeRabbit

  • Tests
    • Updated test reference configuration
    • Added seven new test vector entries to ignore lists

✏️ Tip: You can customize this high-level summary in your review settings.

Walkthrough

This PR updates test infrastructure configuration by revising a test vector commit reference in the load-test-ref.sh script and adding seven test vector entries to the ignore list in jam-conformance-072.ts. No logic changes, control flow modifications, or error handling updates are present—these are maintenance updates to align test references and exclude specific test vectors from conformance test runs.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested reviewers

  • tomusdrw
  • skoszuta

Poem

🐰 A hop through the vectors, a ref here, a ref there,
Test entries ignored with meticulous care,
The conformance suite bends to our will,
With hashes and lists and a code reviewer's thrill!

Pre-merge checks and finishing touches

❌ Failed checks (2 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'Update christmas batch' is vague and uses a non-descriptive term 'batch' without explaining what specific changes or updates are being made to the codebase. Use a more descriptive title that clearly indicates the nature of the update, such as 'Update test vectors and reference SHA in load-test-ref.sh' or 'Update JAM conformance test ignore lists'.
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to assess whether the author's intent aligns with the changeset. Add a description explaining why these test vectors are being ignored and what the reference SHA update accomplishes.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ms-update-christmas-batch

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6a64d40 and b819fee.

📒 Files selected for processing (2)
  • .github/scripts/load-test-ref.sh
  • bin/test-runner/jam-conformance-072.ts
🧰 Additional context used
📓 Path-based instructions (1)
**/*.ts

⚙️ CodeRabbit configuration file

**/*.ts: rules from ./CODESTYLE.md should be adhered to.

**/*.ts: Any function whose documentation mention it must not be used in production code,
can be safely used in *.test.ts files. Other usage should be carefuly reviewed
and the comment must explain why it's safe to use there.

**/*.ts: as conversions must not be used. Suggest using tryAs conversion methods.

**/*.ts: Classes with static Codec field must have private constructor and static create method.

**/*.ts: Casting a bigint (or U64) using Number(x) must have an explanation comment why
it is safe.

**/*.ts: When making changes to code with comments containing links (in classes, constants, methods, etc.)
to graypaper.fluffylabs.dev, ensure those links point to the current version for this update.

Files:

  • bin/test-runner/jam-conformance-072.ts
⏰ Context from checks skipped due to timeout of 120000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Setup test vectors cache
  • GitHub Check: benchmarks (22.x)
  • GitHub Check: test (22.x)
  • GitHub Check: e2e (22.x)
🔇 Additional comments (4)
bin/test-runner/jam-conformance-072.ts (3)

42-48: LGTM! Clear categorization of rejected blocks and unspecified behavior.

The new ignored test vectors are well-documented with clear explanatory comments:

  • Block rejection case is explicitly flagged
  • Work result errors with "output_oversize" are noted as unspecified behavior

This follows the existing pattern and provides good context for future maintainers.


53-54: LGTM! Additions align with existing ignore categories.

The three new ignored test vectors are appropriately categorized:

  • Two under "Rejecting for WorkItemsCount: valid behavior"
  • One under "Rejecting for invalid ticket attempt: valid behavior"

The additions maintain consistency with the existing ignore list structure.

Also applies to: 59-59


25-26: The two new test vectors are correctly categorized under "Guarantees: invalid signatures" and follow the existing pattern.

Lines 25-26 add "1766479507_2200/00000229.json" and "1766479507_5115/00000087.json" to the ignored list, which is appropriately positioned alongside related invalid signature entries. The file structure is clean and follows TypeScript guidelines.

.github/scripts/load-test-ref.sh (1)

2-2: Verify the test vector commit reference is valid.

The commit SHA has been updated to 60a59343b614eac547b7375fab4e684b19c0d55e. Ensure this commit exists in the w3f/jamtestvectors repository and includes the newly ignored test vector files referenced in jam-conformance-072.ts. This verification requires access to the external test vectors repository.


Comment @coderabbitai help to get the list of available commands and usage tips.

@mateuszsikora mateuszsikora self-assigned this Dec 24, 2025
@github-actions
Copy link

View all
File Benchmark Ops
bytes/hex-to.ts[0] number toString + padding 92285.27 ±0.14% fastest ✅
bytes/hex-to.ts[1] manual 7451.42 ±0.44% 91.93% slower
bytes/hex-from.ts[0] parse hex using Number with NaN checking 51450.13 ±0.23% 88.82% slower
bytes/hex-from.ts[1] parse hex from char codes 460303.28 ±0.31% fastest ✅
bytes/hex-from.ts[2] parse hex from string nibbles 243974.16 ±0.25% 47% slower
codec/bigint.decode.ts[0] decode custom 72612989.44 ±3.06% fastest ✅
codec/bigint.decode.ts[1] decode bigint 43020586.23 ±1.79% 40.75% slower
codec/decoding.ts[0] manual decode 9601268.93 ±0.68% 86.03% slower
codec/decoding.ts[1] int32array decode 68709634.92 ±3.34% fastest ✅
codec/decoding.ts[2] dataview decode 65863706.84 ±3.51% 4.14% slower
codec/encoding.ts[0] manual encode 1014326.48 ±0.58% 13.2% slower
codec/encoding.ts[1] int32array encode 1168572.99 ±0.3% fastest ✅
codec/encoding.ts[2] dataview encode 1164450.34 ±0.21% 0.35% slower
codec/bigint.compare.ts[0] compare custom 93841414.67 ±5.89% 6.75% slower
codec/bigint.compare.ts[1] compare bigint 100630028.54 ±4.45% fastest ✅
collections/map-set.ts[0] 2 gets + conditional set 86609.33 ±0.09% fastest ✅
collections/map-set.ts[1] 1 get 1 set 49239.57 ±0.06% 43.15% slower
hash/index.ts[0] hash with numeric representation 71.52 ±0.12% 28.87% slower
hash/index.ts[1] hash with string representation 39.34 ±0.15% 60.88% slower
hash/index.ts[2] hash with symbol representation 69.48 ±0.1% 30.9% slower
hash/index.ts[3] hash with uint8 representation 68.49 ±0.06% 31.88% slower
hash/index.ts[4] hash with packed representation 100.55 ±0.58% fastest ✅
hash/index.ts[5] hash with bigint representation 71.57 ±1.03% 28.82% slower
hash/index.ts[6] hash with uint32 representation 80.99 ±0.31% 19.45% slower
math/switch.ts[0] switch 99456215.53 ±5.06% fastest ✅
math/switch.ts[1] if 99258772.29 ±4.76% 0.2% slower
math/mul_overflow.ts[0] multiply and bring back to u32 100254648.18 ±5.12% fastest ✅
math/mul_overflow.ts[1] multiply and take modulus 99612341.43 ±4.56% 0.64% slower
logger/index.ts[0] console.log with string concat 5081399.97 ±28.19% fastest ✅
logger/index.ts[1] console.log with args 1126264.53 ±91.29% 77.84% slower
math/add_one_overflow.ts[0] add and take modulus 99382909.91 ±5.36% fastest ✅
math/add_one_overflow.ts[1] condition before calculation 96338717.24 ±5.21% 3.06% slower
math/count-bits-u32.ts[0] standard method 40367208.14 ±2.06% 57.14% slower
math/count-bits-u32.ts[1] magic 94180605.26 ±4.82% fastest ✅
math/count-bits-u64.ts[0] standard method 403384.29 ±0.35% 83.33% slower
math/count-bits-u64.ts[1] magic 2419680.06 ±0.55% fastest ✅
codec/view_vs_object.ts[0] Get the first field from Decoded 184214.82 ±0.49% fastest ✅
codec/view_vs_object.ts[1] Get the first field from View 45927.96 ±0.53% 75.07% slower
codec/view_vs_object.ts[2] Get the first field as view from View 45810.82 ±0.47% 75.13% slower
codec/view_vs_object.ts[3] Get two fields from Decoded 183137.93 ±0.55% 0.58% slower
codec/view_vs_object.ts[4] Get two fields from View 36237.16 ±0.49% 80.33% slower
codec/view_vs_object.ts[5] Get two fields from materialized from View 73794.63 ±0.53% 59.94% slower
codec/view_vs_object.ts[6] Get two fields as views from View 36279.36 ±0.49% 80.31% slower
codec/view_vs_object.ts[7] Get only third field from Decoded 182674.03 ±0.52% 0.84% slower
codec/view_vs_object.ts[8] Get only third field from View 45245.67 ±0.5% 75.44% slower
codec/view_vs_object.ts[9] Get only third field as view from View 45208.18 ±0.5% 75.46% slower
codec/view_vs_collection.ts[0] Get first element from Decoded 10817.91 ±0.42% 59.09% slower
codec/view_vs_collection.ts[1] Get first element from View 26441.28 ±0.71% fastest ✅
codec/view_vs_collection.ts[2] Get 50th element from Decoded 12183.6 ±0.28% 53.92% slower
codec/view_vs_collection.ts[3] Get 50th element from View 14278.95 ±0.55% 46% slower
codec/view_vs_collection.ts[4] Get last element from Decoded 12162.26 ±0.31% 54% slower
codec/view_vs_collection.ts[5] Get last element from View 9863.39 ±0.24% 62.7% slower
collections/hash-dict-vs-blob-dict_set.ts[0] StringHashDictionary 1616.34 ±0.49% fastest ✅
collections/hash-dict-vs-blob-dict_set.ts[1] BlobDictionary(1) 1598.15 ±0.34% 1.13% slower
collections/hash-dict-vs-blob-dict_set.ts[2] BlobDictionary(2) 869.84 ±88.47% 46.18% slower
collections/hash-dict-vs-blob-dict_set.ts[3] BlobDictionary(3) 1314.49 ±3.69% 18.67% slower
collections/hash-dict-vs-blob-dict_set.ts[4] BlobDictionary(4) 1613.47 ±0.5% 0.18% slower
collections/hash-dict-vs-blob-dict_set.ts[5] BlobDictionary(5) 1595.18 ±0.53% 1.31% slower
collections/hash-dict-vs-blob-dict_get.ts[0] StringHashDictionary 1681.5 ±0.66% 2.98% slower
collections/hash-dict-vs-blob-dict_get.ts[1] BlobDictionary(1) 1733.17 ±0.43% fastest ✅
collections/hash-dict-vs-blob-dict_get.ts[2] BlobDictionary(2) 1724.82 ±0.4% 0.48% slower
collections/hash-dict-vs-blob-dict_get.ts[3] BlobDictionary(3) 1732.86 ±0.19% 0.02% slower
collections/hash-dict-vs-blob-dict_get.ts[4] BlobDictionary(4) 1727.32 ±0.53% 0.34% slower
collections/hash-dict-vs-blob-dict_get.ts[5] BlobDictionary(5) 1731.25 ±0.2% 0.11% slower
collections/hash-dict-vs-blob-dict_delete.ts[0] StringHashDictionary 2127.34 ±0.27% 0.3% slower
collections/hash-dict-vs-blob-dict_delete.ts[1] BlobDictionary(1) 2133.69 ±0.31% fastest ✅
collections/hash-dict-vs-blob-dict_delete.ts[2] BlobDictionary(2) 1996.01 ±0.67% 6.45% slower
collections/hash-dict-vs-blob-dict_delete.ts[3] BlobDictionary(3) 1977.67 ±0.62% 7.31% slower
collections/hash-dict-vs-blob-dict_delete.ts[4] BlobDictionary(4) 1963.96 ±0.65% 7.95% slower
collections/hash-dict-vs-blob-dict_delete.ts[5] BlobDictionary(5) 2021.34 ±0.92% 5.27% slower
collections/map_vs_sorted.ts[0] Map 131331.44 ±0.05% fastest ✅
collections/map_vs_sorted.ts[1] Map-array 46550.14 ±0.12% 64.56% slower
collections/map_vs_sorted.ts[2] Array 28503.63 ±4% 78.3% slower
collections/map_vs_sorted.ts[3] SortedArray 83273.64 ±0.12% 36.59% slower
bytes/compare.ts[0] Comparing Uint32 bytes 10337.5 ±0.6% fastest ✅
bytes/compare.ts[1] Comparing raw bytes 10126.12 ±1.83% 2.04% slower
bytes/bytes-to-number.ts[0] Conversion with bitops 3555.87 ±5.48% 5.82% slower
bytes/bytes-to-number.ts[1] Conversion without bitops 3775.7 ±5.56% fastest ✅
hash/blake2b.ts[0] our hasher 1.13 ±0.16% fastest ✅
hash/blake2b.ts[1] blake2b js 0.03 ±0.09% 97.35% slower
crypto/ed25519.ts[0] native crypto 3.825 ±20.89% fastest ✅
crypto/ed25519.ts[1] wasm lib 2.163 ±0.26% 43.45% slower
crypto/ed25519.ts[2] wasm lib batch 2.157 ±0.25% 43.61% slower

Benchmarks summary: 83/83 OK ✅

@tomusdrw tomusdrw added this pull request to the merge queue Dec 25, 2025
Merged via the queue into main with commit 8cdbecc Dec 25, 2025
17 checks passed
@tomusdrw tomusdrw deleted the ms-update-christmas-batch branch December 25, 2025 08:58
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.

3 participants