Skip to content

Conversation

@techraed
Copy link
Contributor

@techraed techraed commented Nov 21, 2025

  1. Introduces ReflectHash trait in a separate crate. It's intended to give the self-descriptive type information:
    • derive impl for the trait. The trait derive also allows defining #[reflect_hash(crate = .. )] attribute which points to the trait which exports ReflectHash. That's pretty same as for parity-scale-codec. ReflectHash derive impl requires exported from the crate keccak_const.
    • impl for known standard types (same as for TypeInfo)
  2. Introduces INTERFACE_ID const in ServiceMeta. The const is calculated in compile-time with keccak256. The spec for the calculation is given in a separate file in PR.

Main scope for a review:

  • rs/macros/core
  • rs/reflect-hash
    Everything else is just consequent changes. See snap files to understand changes made to macro service.

TODO:

  • Spec for hashing + ReflectHash impl

@techraed techraed self-assigned this Nov 21, 2025
@techraed techraed added A0-pleasereview run-benchmarks Enables running benchmarks in CI labels Nov 21, 2025
@github-actions
Copy link
Contributor

🔬 Benchmark Comparison

Benchmark Current Baseline Change Change % Status
compute 450_513_679_484 450_514_036_959 -357_475 -0.00%
alloc-0 563_780_574 564_376_739 -596_165 -0.11%
alloc-12 567_287_166 567_864_696 -577_530 -0.10%
alloc-143 726_655_761 727_298_127 -642_366 -0.09%
alloc-986 827_641_528 828_290_311 -648_783 -0.08%
alloc-10945 2_018_406_054 2_019_067_671 -661_617 -0.03%
alloc-46367 6_403_667_537 6_404_351_520 -683_983 -0.01%
alloc-121392 16_858_359_295 16_859_084_038 -724_743 -0.00%
alloc-317810 43_146_678_632 43_147_409_792 -731_160 -0.00%
counter_sync 677_722_229 678_859_589 -1_137_360 -0.17%
counter_async 850_345_413 851_480_134 -1_134_721 -0.13%
cross_program 2_433_337_984 2_436_719_419 -3_381_435 -0.14%
redirect 3_469_043_331 3_474_613_683 -5_570_352 -0.16%
stack_0 797_108_585 799_115_685 -2_007_100 -0.25%
stack_1 3_761_537_930 3_769_584_063 -8_046_133 -0.21%
stack_5 15_660_558_467 15_693_086_906 -32_528_439 -0.21%
stack_10 29_528_788_281 29_592_077_575 -63_289_294 -0.21%
stack_20 63_864_783_345 63_989_367_411 -124_584_066 -0.19%

Legend

  • 🚀 Significant improvement (>5% reduction)
  • 👍 Minor improvement (<5% reduction)
  • ✅ No significant change
  • ⚠️ Minor regression (<5% increase)
  • ❌ Significant regression (>5% increase)

🤖 This comment was automatically generated by the benchmark comparison workflow at 8230830.

@ukint-vs
Copy link
Member

@codex review

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@github-actions
Copy link
Contributor

🔬 Benchmark Comparison

Benchmark Current Baseline Change Change % Status
compute 450_513_682_804 450_514_036_959 -354_155 -0.00%
alloc-0 563_780_574 564_376_739 -596_165 -0.11%
alloc-12 567_287_166 567_864_696 -577_530 -0.10%
alloc-143 726_655_761 727_298_127 -642_366 -0.09%
alloc-986 827_641_528 828_290_311 -648_783 -0.08%
alloc-10945 2_018_406_054 2_019_067_671 -661_617 -0.03%
alloc-46367 6_403_667_537 6_404_351_520 -683_983 -0.01%
alloc-121392 16_858_359_295 16_859_084_038 -724_743 -0.00%
alloc-317810 43_146_678_632 43_147_409_792 -731_160 -0.00%
counter_sync 677_722_229 678_859_589 -1_137_360 -0.17%
counter_async 850_345_413 851_480_134 -1_134_721 -0.13%
cross_program 2_432_539_545 2_436_719_419 -4_179_874 -0.17%
redirect 3_467_822_198 3_474_613_683 -6_791_485 -0.20%
stack_0 797_105_265 799_115_685 -2_010_420 -0.25%
stack_1 3_761_524_650 3_769_584_063 -8_059_413 -0.21%
stack_5 15_660_505_347 15_693_086_906 -32_581_559 -0.21%
stack_10 29_528_685_361 29_592_077_575 -63_392_214 -0.21%
stack_20 63_864_580_825 63_989_367_411 -124_786_586 -0.20%

Legend

  • 🚀 Significant improvement (>5% reduction)
  • 👍 Minor improvement (<5% reduction)
  • ✅ No significant change
  • ⚠️ Minor regression (<5% increase)
  • ❌ Significant regression (>5% increase)

🤖 This comment was automatically generated by the benchmark comparison workflow at fd0bcc1.

@github-actions
Copy link
Contributor

🔬 Benchmark Comparison

Benchmark Current Baseline Change Change % Status
compute 450_513_682_804 450_514_036_959 -354_155 -0.00%
alloc-0 563_780_574 564_376_739 -596_165 -0.11%
alloc-12 567_287_166 567_864_696 -577_530 -0.10%
alloc-143 726_655_761 727_298_127 -642_366 -0.09%
alloc-986 827_641_528 828_290_311 -648_783 -0.08%
alloc-10945 2_018_406_054 2_019_067_671 -661_617 -0.03%
alloc-46367 6_403_667_537 6_404_351_520 -683_983 -0.01%
alloc-121392 16_858_359_295 16_859_084_038 -724_743 -0.00%
alloc-317810 43_146_678_632 43_147_409_792 -731_160 -0.00%
counter_sync 677_722_229 678_859_589 -1_137_360 -0.17%
counter_async 850_345_413 851_480_134 -1_134_721 -0.13%
cross_program 2_432_539_545 2_436_719_419 -4_179_874 -0.17%
redirect 3_467_822_198 3_474_613_683 -6_791_485 -0.20%
stack_0 797_105_265 799_115_685 -2_010_420 -0.25%
stack_1 3_761_524_650 3_769_584_063 -8_059_413 -0.21%
stack_5 15_660_505_347 15_693_086_906 -32_581_559 -0.21%
stack_10 29_528_685_361 29_592_077_575 -63_392_214 -0.21%
stack_20 63_864_580_825 63_989_367_411 -124_786_586 -0.20%

Legend

  • 🚀 Significant improvement (>5% reduction)
  • 👍 Minor improvement (<5% reduction)
  • ✅ No significant change
  • ⚠️ Minor regression (<5% increase)
  • ❌ Significant regression (>5% increase)

🤖 This comment was automatically generated by the benchmark comparison workflow at 093eca8.

@github-actions
Copy link
Contributor

🔬 Benchmark Comparison

Benchmark Current Baseline Change Change % Status
compute 450_513_682_804 450_514_036_959 -354_155 -0.00%
alloc-0 563_780_574 564_376_739 -596_165 -0.11%
alloc-12 567_287_166 567_864_696 -577_530 -0.10%
alloc-143 726_655_761 727_298_127 -642_366 -0.09%
alloc-986 827_641_528 828_290_311 -648_783 -0.08%
alloc-10945 2_018_406_054 2_019_067_671 -661_617 -0.03%
alloc-46367 6_403_667_537 6_404_351_520 -683_983 -0.01%
alloc-121392 16_858_359_295 16_859_084_038 -724_743 -0.00%
alloc-317810 43_146_678_632 43_147_409_792 -731_160 -0.00%
counter_sync 677_722_229 678_859_589 -1_137_360 -0.17%
counter_async 850_345_413 851_480_134 -1_134_721 -0.13%
cross_program 2_432_539_545 2_436_719_419 -4_179_874 -0.17%
redirect 3_467_822_198 3_474_613_683 -6_791_485 -0.20%
stack_0 797_105_265 799_115_685 -2_010_420 -0.25%
stack_1 3_761_524_650 3_769_584_063 -8_059_413 -0.21%
stack_5 15_660_505_347 15_693_086_906 -32_581_559 -0.21%
stack_10 29_528_685_361 29_592_077_575 -63_392_214 -0.21%
stack_20 63_864_580_825 63_989_367_411 -124_786_586 -0.20%

Legend

  • 🚀 Significant improvement (>5% reduction)
  • 👍 Minor improvement (<5% reduction)
  • ✅ No significant change
  • ⚠️ Minor regression (<5% increase)
  • ❌ Significant regression (>5% increase)

🤖 This comment was automatically generated by the benchmark comparison workflow at bbb1f26.

@techraed techraed removed the run-benchmarks Enables running benchmarks in CI label Nov 24, 2025
@github-actions
Copy link
Contributor

🔬 Benchmark Comparison

Benchmark Current Baseline Change Change % Status
compute 450_513_682_804 450_514_036_959 -354_155 -0.00%
alloc-0 563_780_574 564_376_739 -596_165 -0.11%
alloc-12 567_287_166 567_864_696 -577_530 -0.10%
alloc-143 726_655_761 727_298_127 -642_366 -0.09%
alloc-986 827_641_528 828_290_311 -648_783 -0.08%
alloc-10945 2_018_406_054 2_019_067_671 -661_617 -0.03%
alloc-46367 6_403_667_537 6_404_351_520 -683_983 -0.01%
alloc-121392 16_858_359_295 16_859_084_038 -724_743 -0.00%
alloc-317810 43_146_678_632 43_147_409_792 -731_160 -0.00%
counter_sync 677_722_229 678_859_589 -1_137_360 -0.17%
counter_async 850_345_413 851_480_134 -1_134_721 -0.13%
cross_program 2_432_539_545 2_436_719_419 -4_179_874 -0.17%
redirect 3_467_822_198 3_474_613_683 -6_791_485 -0.20%
stack_0 797_105_265 799_115_685 -2_010_420 -0.25%
stack_1 3_761_524_650 3_769_584_063 -8_059_413 -0.21%
stack_5 15_660_505_347 15_693_086_906 -32_581_559 -0.21%
stack_10 29_528_685_361 29_592_077_575 -63_392_214 -0.21%
stack_20 63_864_580_825 63_989_367_411 -124_786_586 -0.20%

Legend

  • 🚀 Significant improvement (>5% reduction)
  • 👍 Minor improvement (<5% reduction)
  • ✅ No significant change
  • ⚠️ Minor regression (<5% increase)
  • ❌ Significant regression (>5% increase)

🤖 This comment was automatically generated by the benchmark comparison workflow at 63b6200.

@techraed techraed merged commit 1daf379 into master-idl-v2 Dec 3, 2025
3 checks passed
@techraed techraed deleted the st-interface-ids branch December 3, 2025 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants