Skip to content

fix(engine)!: hard limit on template binary size - #1640

Merged
sdbondi merged 1 commit into
tari-project:developmentfrom
sdbondi:transaction-limit-binary-size
Nov 11, 2025
Merged

fix(engine)!: hard limit on template binary size#1640
sdbondi merged 1 commit into
tari-project:developmentfrom
sdbondi:transaction-limit-binary-size

fix(engine)!: hard limit on template binary size

96f785a
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / Test Results (CI) failed Nov 11, 2025 in 0s

1 fail, 141 pass in 26m 52s

142 tests   141 ✅  26m 52s ⏱️
 21 suites    0 💤
  1 files      1 ❌

Results for commit 96f785a.

Annotations

Check warning on line 0 in tari_engine::publish_template

See this annotation in the file changed.

@github-actions github-actions / Test Results (CI)

publish_template_too_big_binary (tari_engine::publish_template) failed

artifacts/test-results/junit.xml [took 3s]
Raw output
thread 'publish_template_too_big_binary' (87245) panicked at crates/engine/tests/publish_template.rs:86:61:
called `Result::unwrap()` on an `Err` value: ()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

running 1 test
test publish_template_too_big_binary ... FAILED

failures:

failures:
    publish_template_too_big_binary

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2 filtered out; finished in 3.07s
START Transaction id = "cece1d1ad8abcfe842b189d2dfc69def6a9613de908247f4501adbfba409b06f"
DEBUG: Withdrawing 250000 coins from faucet
Finished Transaction "cece1d1ad8abcfe842b189d2dfc69def6a9613de908247f4501adbfba409b06f" in 68.00ns

State changes:
DOWN substate: vault_0102030000000000000000000000000000000000000000000000000000000001
UP substate: vault_0102030000000000000000000000000000000000000000000000000000000001
UP substate: vault_17a5a14bd3f6b6cb021cf2302ae581753bf4485a74777a6a782c8c9c4d3d34d2
UP substate: component_17a5a14bd3f6b6cb021cf2302ae581753bf4485a2a90d8b0f4125bfd1f279204
UP substate: txreceipt_cece1d1ad8abcfe842b189d2dfc69def6a9613de908247f4501adbfba409b06f


thread 'publish_template_too_big_binary' (87245) panicked at crates/engine/tests/publish_template.rs:86:61:
called `Result::unwrap()` on an `Err` value: ()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Test Results (CI)

142 tests found

There are 142 tests, see "Raw output" for the full list of tests.
Raw output
consensus_tests ‑ consensus::epoch_change
consensus_tests ‑ consensus::foreign_block_distribution
consensus_tests ‑ consensus::foreign_shard_group_decides_to_abort
consensus_tests ‑ consensus::multi_shard_propose_blocks_with_new_transactions_until_all_committed
consensus_tests ‑ consensus::multi_shard_single_transaction
consensus_tests ‑ consensus::multi_validator_propose_blocks_with_new_transactions_until_all_committed
consensus_tests ‑ consensus::multishard_inputs_from_previous_outputs
consensus_tests ‑ consensus::multishard_local_inputs_and_outputs_foreign_outputs
consensus_tests ‑ consensus::multishard_local_inputs_foreign_outputs
consensus_tests ‑ consensus::multishard_local_inputs_foreign_outputs_abort
consensus_tests ‑ consensus::multishard_output_conflict_abort
consensus_tests ‑ consensus::multishard_publish_template
consensus_tests ‑ consensus::multishard_unversioned_input_conflict
consensus_tests ‑ consensus::multishard_unversioned_input_conflict_delay_prepare
consensus_tests ‑ consensus::multishard_validator_fee_claim
consensus_tests ‑ consensus::node_requests_missing_transaction_from_local_leader
consensus_tests ‑ consensus::propose_blocks_with_new_transactions_until_all_committed
consensus_tests ‑ consensus::propose_blocks_with_queued_up_transactions_until_all_committed
consensus_tests ‑ consensus::single_shard_input_conflict
consensus_tests ‑ consensus::single_shard_inputs_from_previous_outputs
consensus_tests ‑ consensus::single_shard_unversioned_inputs
consensus_tests ‑ consensus::single_transaction
consensus_tests ‑ consensus::single_transaction_abort
consensus_tests ‑ consensus::single_transaction_multi_vn
consensus_tests ‑ dummy_blocks::dummy_blocks
consensus_tests ‑ dummy_blocks::last_matches_generated_using_real_data
consensus_tests ‑ eviction_proof::it_produces_a_summarized_header_that_hashes_to_the_original
consensus_tests ‑ leader_failure::multi_shard_node_goes_down
consensus_tests ‑ leader_failure::single_shard_neighbour_nodes_go_down
consensus_tests ‑ leader_failure::single_shard_node_goes_down
consensus_tests ‑ leader_failure::single_shard_node_goes_down_and_gets_evicted
consensus_tests ‑ state_tree::check_state_transitions
consensus_tests ‑ substate_store::it_allows_down_then_up
consensus_tests ‑ substate_store::it_allows_requesting_the_same_lock_within_one_transaction
consensus_tests ‑ substate_store::it_allows_substate_up_for_v0
consensus_tests ‑ substate_store::it_disallows_more_than_one_write_lock_non_local_only
consensus_tests ‑ substate_store::it_fails_if_previous_version_is_not_down
consensus_tests ‑ support::helpers::tests::random_substate_address_range::it_generates_a_random_address_in_shard_group
consensus_tests ‑ support::table::test::renders_rows_with_titles
consensus_tests ‑ support::table::test::renders_titles
libp2p-messaging ‑ behaviour::tests::cycle_once_works
state_store_tests ‑ block_diffs::block_diffs_rocksdb
state_store_tests ‑ blocks::basic_block_operations::basic_block_operations_rocksdb
state_store_tests ‑ blocks::block_parent_operations::block_parent_operations_rocksdb
state_store_tests ‑ blocks::block_query_operations::block_query_operations_rocksdb
state_store_tests ‑ foreign_parked_proposals::rocksdb
state_store_tests ‑ foreign_proposals::foreign_proposals_rocksdb
state_store_tests ‑ foreign_substate_pledges::foreign_substate_pledges_rocksdb
state_store_tests ‑ misc::miscellaneous_rocksdb
state_store_tests ‑ missing_transactions::missing_transactions_rocksdb
state_store_tests ‑ quorum_certificates::quorum_certificates_rocksdb
state_store_tests ‑ state_transitions::rocksdb
state_store_tests ‑ state_tree::state_tree_rocksdb
state_store_tests ‑ state_tree_diff::pending_state_tree_diff_rocksdb
state_store_tests ‑ substate_locks::rocksdb
state_store_tests ‑ substates::rocksdb
state_store_tests ‑ transactions::confirm_all_transitions::it_sets_pending_stage_to_stage_rocksdb
state_store_tests ‑ transactions::transaction_execution_operations::transaction_execution_operations_rocksdb
state_store_tests ‑ transactions::transaction_operations::transaction_operations_rocksdb
tari_bor ‑ json_encoding::tests::decode_encode
tari_bor ‑ tag::tests::decoding
tari_bor ‑ tag::tests::encoding
tari_consensus ‑ hotstuff::block_change_set::tests::check_max_mem_usage
tari_consensus ‑ hotstuff::commit_proofs::tests::it_hashes_the_header_identically_to_sidechain_header
tari_engine ‑ runtime::workspace::tests::tuples
tari_engine ‑ wasm::version::tests::it_accepts_compatible_versions
tari_engine ‑ wasm::version::tests::it_rejects_incompatible_versions
tari_engine::access_rules ‑ component_access_rules::it_allows_owner_to_update_component_access_rules
tari_engine::access_rules ‑ component_access_rules::it_prevents_access_rule_modification_if_owner_is_none
tari_engine::access_rules ‑ component_access_rules::it_restricts_component_methods
tari_engine::access_rules ‑ resource_access_rules::it_allows_access_for_proofs_by_amount
tari_engine::access_rules ‑ resource_access_rules::it_allows_resource_access_with_badge_then_recall
tari_engine::access_rules ‑ resource_access_rules::it_allows_resource_actions_if_auth_hook_passes
tari_engine::access_rules ‑ resource_access_rules::it_creates_a_proof_from_bucket
tari_engine::access_rules ‑ resource_access_rules::it_denies_actions_on_resource
tari_engine::access_rules ‑ resource_access_rules::it_denies_recall_for_owner
tari_engine::access_rules ‑ resource_access_rules::it_denies_resource_actions_if_auth_hook_fails
tari_engine::access_rules ‑ resource_access_rules::it_disallows_hook_that_attempts_mutable_call_to_another_component_in_the_transaction
tari_engine::access_rules ‑ resource_access_rules::it_disallows_hook_that_attempts_mutable_call_to_caller
tari_engine::access_rules ‑ resource_access_rules::it_disallows_hook_that_writes_to_caller_component
tari_engine::access_rules ‑ resource_access_rules::it_fails_if_auth_hook_is_invalid
tari_engine::access_rules ‑ resource_access_rules::it_locks_resources_used_in_proofs
tari_engine::access_rules ‑ resource_access_rules::it_permits_cross_template_calls_using_proofs
tari_engine::access_rules ‑ resource_access_rules::it_restricts_resource_actions_to_component
tari_engine::account ‑ attempt_to_overwrite_account
tari_engine::account ‑ basic_faucet_transfer
tari_engine::account ‑ custom_access_rules
tari_engine::account ‑ gasless
tari_engine::account ‑ take_from_bucket
tari_engine::account ‑ withdraw_from_account_prevented
tari_engine::address_allocation ‑ it_allocates_addresses_in_template_code
tari_engine::address_allocation ‑ it_allocates_an_address_using_instructions
tari_engine::address_allocation ‑ it_allows_calls_to_component_using_the_allocated_address
tari_engine::address_allocation ‑ it_fails_if_address_allocation_is_not_used
tari_engine::address_allocation ‑ it_fails_if_instruction_allocated_addresses_are_not_used
tari_engine::airdrop ‑ airdrop
tari_engine::asserts ‑ it_fails_with_invalid_amount
tari_engine::asserts ‑ it_fails_with_invalid_bucket
tari_engine::asserts ‑ it_fails_with_invalid_resource
tari_engine::asserts ‑ it_fails_with_invalid_workspace_key
tari_engine::asserts ‑ successful_assert
tari_engine::burn ‑ it_burns_all_resource_types
tari_engine::composability ‑ it_allows_function_to_function_calls
tari_engine::composability ‑ it_allows_function_to_method_calls
tari_engine::composability ‑ it_allows_method_to_function_calls
tari_engine::composability ‑ it_allows_method_to_method_calls
tari_engine::composability ‑ it_allows_multiple_recursion_levels
tari_engine::composability ‑ it_does_not_propagate_permissions
tari_engine::composability ‑ it_fails_on_invalid_calls
tari_engine::composability ‑ it_fails_when_surpassing_recursion_limit
tari_engine::confidential ‑ attempt_to_reveal_with_unbalanced_proof
tari_engine::confidential ‑ mint_and_transfer_revealed
tari_engine::confidential ‑ mint_initial_commitment
tari_engine::confidential ‑ mint_more_later
tari_engine::confidential ‑ mint_revealed_with_invalid_proof
tari_engine::confidential ‑ mint_with_view_key
tari_engine::confidential ‑ multi_commitment_join
tari_engine::confidential ‑ reveal_confidential_and_transfer
tari_engine::confidential ‑ transfer_confidential_amounts_between_accounts
tari_engine::confidential ‑ transfer_confidential_fails_with_invalid_balance
tari_engine::events ‑ basic_emit_event
tari_engine::events ‑ builtin_vault_events
tari_engine::events ‑ cannot_use_standard_topic
tari_engine::fees ‑ another_account_pays_partially_for_fees
tari_engine::fees ‑ dangling_bucket_pay_fees
tari_engine::fees ‑ deducts_fees_from_payments_and_refunds_the_rest
tari_engine::fees ‑ deducts_fees_when_transaction_fails
tari_engine::fees ‑ deposit_from_faucet_then_pay
tari_engine::fees ‑ fail_partial_paid_fees
tari_engine::fees ‑ fail_pay_less_fees_than_fee_transaction
tari_engine::fees ‑ fail_pay_too_little_no_fee_instruction
tari_engine::fees ‑ failed_fee_transaction
tari_engine::fees ‑ success_pay_fee_in_main_instructions
tari_engine::freeze ‑ it_freezes_vaults_containing_a_freezable_resource
tari_engine::fungible ‑ it_does_not_overflow_when_minting_a_huge_initial_supply
tari_engine::fungible ‑ it_does_not_overflow_when_minting_more_then_amount_max_confidential_tokens
tari_engine::fungible ‑ it_does_not_overflow_when_minting_more_then_amount_max_fungible_tokens
tari_engine::limits ‑ practical_limit
tari_engine::no_std ‑ it_compiles_when_using_no_std
tari_engine::publish_template ‑ publish_template_invalid_binary
tari_engine::publish_template ‑ publish_template_success
tari_engine::publish_template ‑ publish_template_too_big_binary