Skip to content

Compatibility fixes for transaction executor#87

Merged
bvscd merged 1 commit into
release/node/v0.6.0from
fix_executor
Apr 13, 2026
Merged

Compatibility fixes for transaction executor#87
bvscd merged 1 commit into
release/node/v0.6.0from
fix_executor

Conversation

@bvscd
Copy link
Copy Markdown
Collaborator

@bvscd bvscd commented Apr 13, 2026

No description provided.

Copilot AI review requested due to automatic review settings April 13, 2026 19:16
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the transaction execution and block parsing code to be more compatible with real-world serialized data (including stricter canonical encodings), refreshes executor test vectors/fixtures accordingly, and adds a “build all” mode for collator test bundle generation.

Changes:

  • Add skip()-based parsing for messages/actions and enforce canonical VarUInteger encodings (reject leading-zero representations).
  • Adjust transaction executor logic, fees/fines calculations, and update/extend tests + .boc fixtures to match the new behavior.
  • Add build_all support for collator test bundle generation and refactor bundle spawning in the validator fabric.

Reviewed changes

Copilot reviewed 20 out of 81 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/node/src/validator/fabric.rs Refactors and extends test bundle building (including “build all” on success).
src/node/src/validator/collator.rs Adjusts logging and finalization debug output.
src/node/src/config.rs Adds build_all option to collator test bundle config and updates enablement logic.
src/executor/src/transaction_executor.rs Switches preprocessing to OutAction::skip, tweaks error handling/logging, adjusts fine/fee logic, and library mode bit handling.
src/executor/src/tests/test_transaction_executor_with_real_data.rs Updates config fixture path usage, renames a test, adds new replay tests.
src/executor/src/tests/test_tr_phases.rs Updates gas expectation values.
src/executor/src/tests/test_tick_tock_transaction.rs Updates expected gas limit.
src/executor/src/tests/test_random_gen.rs Updates special account ID used in tests.
src/executor/src/tests/test_ordinary_libs_and_code.rs Updates library tests to assert private/public library semantics; adjusts imports/comments.
src/executor/src/tests/test_currency_collections.rs Updates fee/coin expectations to match new fee/fine behavior.
src/executor/src/tests/test_bounced_action_phase.rs Updates bounce fee/gas/value expectations.
src/executor/src/tests/common/mod.rs Switches default config boc used by tests; reorders transaction comparison assertions.
src/executor/real_boc/* Adds/updates many .boc fixtures used for replay-based executor tests.
src/emulator/src/tests/test_emulator.rs Uses JSON-provided now/lt/rand_seed instead of hardcoded values.
src/block/src/types.rs Adds skip() implementations and enforces non-canonical VarUInteger detection.
src/block/src/tests/test_out_actions.rs Adds coverage for non-canonical coin encodings producing OutActionError.
src/block/src/out_actions.rs Improves ChangeLibrary error wrapping; adds OutAction::skip implementation.
src/block/src/messages.rs Adds skip() implementations for several message/address/header types + Message::skip.
src/block/src/lib.rs Adds Option<T>::skip.
src/block/src/cell/slice.rs Improves underflow error messages for reference/bit access.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/block/src/out_actions.rs
Comment thread src/block/src/types.rs
Comment thread src/executor/src/transaction_executor.rs
@bvscd bvscd merged commit 010e1c7 into release/node/v0.6.0 Apr 13, 2026
9 checks passed
@bvscd bvscd deleted the fix_executor branch April 13, 2026 23:10
@bvscd bvscd restored the fix_executor branch April 21, 2026 13:08
@bvscd bvscd deleted the fix_executor branch April 21, 2026 13:08
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